text:
Tag Archives: Transgenders
After Conquering the Boy Scouts, What's Next?
The epitaph of the Boy Scouts of America (BSA) is being written by cowardly corporations, spineless politicians, politically correct adults afraid to say anything, and of course the liberal media. The Washington Post and The New York Times have been on the front lines of the "progressive" movement that now seeks to abolish the differences between the sexes by using our children as guinea pigs in the latest version of their sick social experiment.
The BSA is near death, thanks to the most recent decision by the BSA leadership to admit girls who want to be boys. This lunacy is endorsed by the Post, which praises the BSA for adapting "in an era of rapid culture change." In an editorial, "Welcoming Transgender Boy Scouts," the Times declares that "The Boy Scouts are recognizing transgender boys for what they genuinely are: boys." This is nonsense, of course. They are not boys. They are girls.
Homosexuals and others were always free to start their own organizations. Instead, however, they sought to dominate and destroy organizations training young people in the context of traditional values. Too many morally corrupted and compromised conservatives did not resist.
Conservatives who have done their homework will recognize the BSA takeover as the Gramsci strategy of marching through the institutions, named after the Italian Communist Antonio Gramsci. If they can conquer the Boy Scouts, there's not much left. The churches and the religious believers who attend them constitute one possible last line of defense.
William A. Donohue recognized what was happening as far back as 1993, in his booklet, "On the Front Line of the Culture War: Recent Attacks on the Boy Scouts of America," which was updated in 1996. The rest, as they say, is history.
In terms of organizations, the key group leading the legal assault on the Boy Scouts was the ACLU. Corporations like Levi Strauss and Wells Fargo also played roles by yanking funding.
Overall, in the society at large, Donohue cited the influence of the "new class," the "modern liberals" who were "usually educated at America's elite colleges and universities, who work in the media, the academy, government, and other non-profit sectors of the economy." These people, he noted, were ideologically alienated from "bourgeois" society but were "strategically placed" in New York, Washington, D.C., Hollywood, and "on the faculties of most college campuses…"
This "new class," he wrote, espouses "politically correct" thinking, consisting of "the view that any departure from the modem liberal agenda is racist, sexist or homophobic, and thus beyond the pale in modern society."
Although the "new class" has conquered the Boy Scouts, there is some hope.
Senator Ted Cruz (R-TX) is planning to introduce the First Amendment Defense Act (FADA), in order to protect the rights of people to associate with like-minded people opposed to sexual immorality and perversion. The proposed legislation specifically says that people can hire and fire based on their religious belief or moral conviction that marriage is, or should be, recognized as the union of one man and one woman, and that sexual relations are properly reserved to such a marriage.
Campaigning for office, Trump said, "If I am elected president and Congress passes the First Amendment Defense Act, I will sign it to protect the deeply held religious beliefs of Catholics and the beliefs of Americans of all faiths."
Trump will be under enormous pressure to backtrack. Under the influence of his daughter Ivanka and her husband, he has already succumbed to pressure to keep President Obama's executive order affirming special rights for homosexuals and transgendered people.
This insidious movement that has high-level supporters in the Trump White House and the media can only succeed by distorting the clear meaning of words and creating "fake news" about so-called progressive cultural change.
Consider what it means to be "morally straight," which is a phrase in the Scout oath. As Donohue's booklet notes, the Official Boy Scout Handbook once explained the meaning of "morally straight" in the Boy Scout Oath in these terms: "[w]hen you live up to the trust of fatherhood your sex life will fit into God's wonderful plan of creation. Fuller understanding of wholesome sex behavior can bring you lifelong happiness."
This has been reinterpreted. The BSA now says, "You stay morally straight when you do the right thing and live your life with honesty."
The new politically correct language cannot disguise what is happening here. Children have become guinea pigs in social experimentation that is endorsed by the "new class."
Commenting on the BSA decision to admit girls who claim to be boys, John Stemberger, Chairman of the Board of Trail Life USA, a pro-morality alternative to BSA, said it was simply stunning. He explained, "…knowing that boys and biological girls will be showering, dressing and camping in tents together create a clear child protection issue which is being ignored."
The decision of the BSA is indeed stunning. But it's worse than stunning for adults to participate in this fundamental transformation of America's youth. It's morally disgraceful and corrupt. They are permitting children to be taken away from their parents and used as cannon fodder for the next phase of the Cultural Revolution. The children are being encouraged to use dangerous chemicals and surgeries in order to impersonate members of the opposite sex. The inevitable results will be mental and physical suffering, suicide and death.
In order to disguise the truly evil nature of what is happening, media like the Post and Times accept and promote "fake news" that girls are boys. It is fake news of the worst order, since the term distorts the nature of human sexuality and threatens the health and welfare of children and young people.
Next stop: the churches and religious believers. Will Trump buckle on that fight, too?
Cliff Kincaid
Cliff Kincaid is the Director of the AIM Center for Investigative Journalism and can be contacted at [email protected]View the complete archives from Cliff Kincaid.
Posted in Politics	| Tagged AIM, Boy Scouts, Cliff Kincaid, Gays, Politics, Transgenders	| 1 Comment
Obama's Legacy of Endless Wars and Transgender Soldiers
Left-wing Democrat Norman Solomon says fellow Democrats are "more interested in playing to the press gallery than speaking directly to the economic distress of voters in the Rust Belt and elsewhere who handed the presidency" to Donald J. Trump. Democrats should spend some time learning "how they've lost touch with working-class voters," he says.
He is referring to how Democrats are saying what the media want to hear—that Trump was elected because of Vladimir Putin and the Russians. This was the claim first advanced by President Obama's CIA in leaks to The Washington Post and The New York Times.
But this is not just a political dispute involving Democrats failing to understand why they lost to Trump. Solomon says "the emerging incendiary rhetoric against Russia is extremely dangerous" and "could lead to a military confrontation between two countries that each has thousands of nuclear weapons," and which could trigger a "nuclear holocaust."
Solomon, a former Democratic congressional candidate, says that Democrats, by "teaming up with the likes of Republican Senators John McCain (AZ) and Lindsey Graham (SC) to exert bipartisan pressure for escalation," could help "stampede the Trump administration in reckless directions" and provoke Russia into a war.
There is no evidence that the Trump administration could be "stampeded" in that way. Trump has said repeatedly that he is not interested in a confrontation with Russia. What seems to be consuming the attention of the incoming Trump administration are the no-win wars with ISIS and al-Qaeda that Obama will leave behind, and the corruption in the Intelligence Community that has been responsible for claims that the U.S. is winning the war against radical Islam.
Trump's new CIA director, Rep. Mike Pompeo (R-KS), is a member of the House Intelligence Committee and participated in a congressional joint task force that documented in a report how U.S. Central Command (CENTCOM) manipulated intelligence to downplay the threat from ISIS. Three months after Pompeo and his colleagues issued their report, he said that those responsible for downplaying the threat from ISIS had not yet been held accountable.
Pompeo said the manipulation of intelligence resulted from "an administration-wide understanding that bad news from Iraq and Syria was not welcomed." He added, "Claims that ISIS was the 'JV team' and that al-Qaeda was 'on the run' were both a result—and a cause—of the politicization of intelligence at CENTCOM. This intelligence manipulation provided space for both ISIS and al-Qaeda to grow and it put America at risk."
Obama, of course, was responsible for the claims that ISIS was the "JV team" and that al-Qaeda was "on the run." He lied to the American people about progress in the war on terror.
Obama's Defense Secretary Ashton Carter said on December 15 that ISIS was "failing" and that "the campaign to defeat the terror group in Iraq and Syria is on track." Five days earlier, Carter had announced that 200 additional American special operations troops would be heading to Syria to liberate Raqqa, ISIS' de facto capital in Syria. That will bring the total number of U.S. troops in Syria to 500.
Obama's war in Syria has never been authorized by Congress.
Meanwhile, Foreign Affairs magazine has published an article demonstrating that, after a defeat and a loss of territory, "ISIS members don't simply give up their cause or switch their allegiance; they merely change their tactics," reforming into small units conducting insurgency campaigns.
According to the article, these terrorists operate under different flags. The authors cite the case of an ex-Iraqi policeman who fought for al-Qaeda and later emerged under the ISIS banner. It is possible, the authors say, that "insurgent group numbers will only continue to increase, as will their power." The authors say there is little room for optimism that the Baghdad regime being supported by the U.S. will address the sectarian grievances that fuel the conflict.
ISIS has expanded into Afghanistan, where a counterterrorism official says the terrorist group is "present in at least 11 of Afghanistan's 34 provinces."
Reflecting the deteriorating situation, Obama's decision that the U.S. would draw down to 5,500 troops in the country has been changed. Now, approximately 8,400 military personnel will remain at the time that Trump takes office.
Fighting terrorists isn't the only item on the agenda. American sailors deployed in Afghanistan underwent Transgender Policy Training in Kabul on November 24. According to an official press release, sailors were told about the policy that took effect on October 1, whereby they could "begin the process to officially change their gender in the Navy administrative systems following DoD policy and in accordance to the standards delineated."
A website reflecting the views of Christian military officers described the training this way: "The US Navy began teaching its Sailors about women thinking they're men, and vice versa, even as they're deployed in Afghanistan—a nation, incidentally, in which transgenders would probably be tossed in jail or executed."
Not to worry. The official Pentagon spokesman says the Afghanistan mission also remains "on track."
Cliff Kincaid is the Director of the AIM Center for Investigative Journalism and can be contacted at [email protected] View the complete archives from Cliff Kincaid.
Posted in Military, Politics	| Tagged AIM, Barack Obama, Cliff Kincaid, Democrats, Donald Trump, Media, Military, Politics, Russia, Transgenders, War	| 1 Comment
The Fundamental Transformation of the Armed Forces
When men dress as women and serve openly in the U.S. military, there are bound to be problems identifying these people. But don't worry. The National Lesbian & Gay Journalists Association (NLGJA) has come to the rescue. This special interest group, backed financially by all the major media organizations, has issued special guidance in the form of an "open letter" to the media on how the "transgendered" are supposed to be covered.
For example, it says that referring to "transgender woman" or "transgender man" is acceptable on first reference, but that subsequent references should refer to a transgender woman as a "woman" or a transgender man as a "man."
In other words, forget about someone's DNA, the scientific and objective measure of one's gender and sexual identity. The "open letter" makes that clear, noting that someone's sex "assigned at birth" is not relevant to one's "gender identity."
We are told that the term "transvestite" is an "antiquated term" and should be avoided.
Transvestite or cross-dresser are terms that used to refer to Corporal Klinger wearing dresses and women's hats as a character on the comedy show M*A*S*H. It was his attempt to get discharged. Today, in real life, Obama's Defense Secretary Ash Carter hasannounced the transgendered can serve openly without fear of being discharged.
Under the Constitution, the Congress is supposed to make the rules and regulations for the Armed Forces. Article I, Section 8, clause 14 says, "The Congress shall have Power To …make Rules for the Government and Regulation of the land and naval Forces…."
Our media reported the policy change without explaining on what basis, legal or constitutional, the change was made.
CNN simply said Carter had removed "one of the last barriers to military service by any individual," and that he "had been studying the issue for almost a year."
The New York Times said, "The decision pushes forward a transformation of the military that Mr. Carter has accelerated in the last year with the opening of all combat roles to women and the appointment of the first openly gay Army secretary."
On what basis, however, can Carter or his boss Obama "transform" the military? The original ban on homosexuals in the military was changed through congressional action. There has been no congressional lifting of the ban on the transgendered.
Columnist and radio commentator Bryan Fischer noted that "President Obama and the Pentagon have violated the Constitution and committed an impeachable offense by unilaterally admitting transgenders, transvestites, and transexuals into the military."
Tony Perkins of the Family Research Council noted that the enormously unpopular and disruptive policy is being implemented "without Congress's approval." Such a move has constitutional and legal implications.
House Committee on Armed Services Chairman Mac Thornberry (R-TX) issued a statement questioning the change, but did not assert the constitutional requirement that the new policy be approved by Congress before taking effect. Once again, Congress has abdicated its responsibility.
This is, of course, no concern to the NLGJA, which monitors the media to make sure not that the Constitution is followed but that the demands of the gay lobby be met.
Thornberry says that "when we learned DOD was looking at new policies on the service of transgender individuals, the Committee posed a number of questions to DOD. In particular, there are readiness challenges that first must be addressed, such as the extent to which such individuals would be medically non-deployable. Almost a year has passed with no answer to our questions from Secretary Carter."
How's that for an executive branch out of control and showing complete disdain for Congress?
Senator Jim Inhofe (R-OK), senior member of the Senate Armed Services Committee,called for hearings, saying that the military "is facing historic readiness shortfalls, putting our service members' lives at greater risk." Instead of addressing these problems, Inhofe noted that the Obama administration is "forcing their social agenda" through the Department of Defense.
Inhofe did not question the legal or constitutional basis of what Obama and Carter had done.
Perhaps a hearing will attempt to answer the questions posed by Roger Severino of The Heritage Foundation:
Will biological males who identify as female be subject to physical fitness requirements for men or women?
Will they be required to do 35 pushups or 13 pushups to pass basic training?
Will American taxpayers be required to pay for expensive "sex reassignment" surgeries, including breast implants in men and shaving down Adam's apples when that money can be spent on better weapons or more training?
Will service members who have addressed an officer as "sir" for years be booted out of the military if they refuse to address him as "ma'am?"
Wouldn't the loss and impact on recruiting offset any supposed gains of allowing a relatively few transgender troops the ability to dress according to their chosen identity?
One of these questions has already been answered. Carter said that by October 1, 2016, DOD will "create and distribute a commanders' training handbook, medical protocol and guidance for changing a service member's gender in the Defense Eligibility Enrollment System (DEERS)," and that the services "will be required to provide medically necessary care and treatment to transgender service members."
At a briefing, Carter said, "The transgender individual, like all other service members, will get all medical care their doctors deem necessary."
None of this is a controversy for the major media, which finance the NLGJA and do not dare question this radical sexual agenda. As reported extensively by Accuracy in Media, the NLGJA holds conferences and fundraisers on a regular basis that are sponsored by all of the major news organizations.
A benefit for the NLGJA in New York featured what the group itself called "some of the biggest names in media." They included:
Don Lemon of CNN
Tamron Hall of NBC
Simon Hobbs of CNBC
Alisyn Camerota of CNN
Christine Romans of CNN
Poppy Harlow of CNN
Harris Faulkner of Fox News
A more recent benefit event for the NLGJA in Los Angeles was sponsored by Comcast/NBC Universal and CBS News.
If members of Congress challenge this "transformation" of the military and assert their legislative powers, they would be going up against two of the most powerful interest groups in the country—the gay lobby and the major media.
So they take the easy way out by asking a few questions and meekly requesting hearings.
It's difficult to know which is declining at a more rapid rate — the morality of the country or the relevance of the U.S. Constitution. Perhaps they are both hitting rock bottom at the same time.
Posted in Military, Politics	| Tagged AIM, Ash Carter, Barack Obama, Bryan Fischer, Cliff Kincaid, Congress, Constitution, DEERS, DOD, Family Research Council, Heritage Foundation, Impeachment, Jim Inhofe, Legal, Mac Thornberry, Media, Military, NLGJA, Pentagon, Politics, Roger Severino, Senate Armed Services Committee, Tony Perkins, Transexuals, Transgenders, Transvestites	|
Corporal Klinger Reporting for Duty
President Obama's determination to eliminate any notion of sexual deviance or perversion in American society continues at a rapid pace. He just released a video announcement of his designation of a gay bar, the Stonewall Inn in New York City, as a national monument.
Obama's video made it seem as if the homosexuals at the formerly Mafia-controlled facility were giving their lives for the greater good of the nation. The place had been raided in 1969 because it was a location for men known as chicken hawks wanting sex with underage boys. Homosexuals rioted in response, injuring several policemen.
Commentator and filmmaker Eric Holmberg says Obama's decision to memorialize and celebrate a homosexual riot "came laden with historical revisionism and stolen valor" that included comparing homosexuals to the firefighters of 9/11 and soldiers who have risked their lives in Afghanistan.
The White House boasts that Obama has also issued a presidential memorandum that "directs all federal agencies engaged abroad to ensure that U.S. diplomacy and foreign assistance promote and protect the human rights of LGBT persons."
As if to add insult to injury, the Department of Defense will lift its ban on transgenders on July 1.
We predicted this development back in 2010. "The MASH television spectacle of Corporal Klinger wearing women's dresses to get out of the military may now give way to the Pentagon actually permitting transgendered male soldiers to openly wear women's military uniforms," we said. "This is what repeal of 'Don't Ask, Don't Tell,' could mean." The "Don't Ask, Don't Tell" policy was designed to keep active and open homosexuals out of the military services.
These developments prove that the "fundamental transformation" of America promised by Obama has been most evident in the cultural rather than economic sphere. His communist mentor, Frank Marshall Davis, was a pedophile.
All of this has been helped along by the major media.
Going forward, Comcast Corporation is sponsoring "Equality Forum," a gay rights event scheduled to take place during this year's Democratic National Convention, which takes place from July 25 to 28. The giant media company is also donating airtime valued at $1.5 million for the broadcast of a 30-second public service announcement promoting the event.
A "Future of the Movement" panel discussion features former MSNBC host Melissa Harris-Perry, the Maya Angelou Presidential Chair at Wake Forest University, and former Obama official Kevin Jennings, who said his career of homosexual activism was inspired by communist Harry Hay.
The forum links to an LGBT history month webpage highlighting Charles Blow of The New York Times and Malcolm Forbes, the late publisher of Forbes magazine, as "gay icons."
Comcast owns in whole or part the following media companies:
NBC television network
Many employees of CNN, MSNBC, CNBC, Fox News, and other news organizations belong to or raise money for the National Lesbian & Gay Journalists Association (NLGJA), which has promoted sympathetic coverage of homosexuality in the name of "diversity." Jeffrey Toobin of CNN was honored by the group as pro-gay journalist of the year in 2015. Earlier that year, a male stripper was featured at the NLGJA's New York fundraiser.
Just recently, on June 17, the umbrella group known as "Journalists for Diversity" held its2016 Diversity Caucus in Washington, D.C.
In addition to NLGJA, the caucus included members from the following organizations:
Asian American Journalists Association
Native American Journalists Association
American Society of News Editors
Association of Alternative Newsmedia
ESPN's The Undefeated
Fox News Latino
Gannett/USA Today Network
Medill School of Journalism
Missouri School of Journalism
National Association of Black Journalists
National Association of Hispanic Journalists
National Press Photographers Association
Radio Television Digital News Association/Foundation
Society of American Business Editors and Writers
Even "conservative" media organizations seem to be going gay, with Breitbart News hiring and vigorously promoting campus and other appearances by Milo Yiannopoulos, a so-called "gay conservative." His literary contributions to the site include such titles as "Trannies for Trump," which is about transgenders supporting the presumptive Republican presidential nominee.
Breitbart has been highlighting his "Dangerous Faggot Tour," with the next stop being the Republican National Convention.
Posted in Politics	| Tagged AIM, Barack Obama, Breitbart, Cliff Kincaid, Comcast, Gays, Media, Politics, Transgenders	|
America Takes the "Barack Walk" on the Wild Side
"America seems to be stuck in the toilet," says Alveda King, commenting on the Obama administration's war with North Carolina over sexually confused people getting access to the bathrooms of their choice. The pro-life leader notes that while there are real problems the administration could tackle, it has instead decided that access to public bathrooms by a new sexual minority has suddenly become a high priority under federal civil rights laws. As a result, the country is "headed for disaster," King says.
This is not an accident. Cultural Marxism, the subject of the new book, The Devil's Pleasure Palace, explains the grip that this fanatical ideology has on so many elites in America today. If you doubt how pervasive this has become, watch or read the remarks of Attorney General Loretta Lynch on how transgenderism has suddenly become the wave of the future. Describing the North Carolina bathroom bill, which restricts restroom access by objective measures of DNA and biology, Lynch said, "This is not the first time that we have seen discriminatory responses to historic moments of progress for our nation."
She added, "This action is about a great deal more than just bathrooms. This is about the dignity and respect we accord our fellow citizens and the laws that we, as a people and as a country, have enacted to protect them—indeed, to protect all of us. And it's about the founding ideals that have led this country—haltingly but inexorably—in the direction of fairness, inclusion and equality for all Americans."
Posted in Politics	| Tagged Accuracy in Media, AIM, Cliff Kincaid, Donald Trump, Founding Fathers, Homosexuality, Marxism, The Devil's Pleasure Palace, Transgenders	|
NC Officials Enable Male Reporter Posing as Sexual Predator to Use Female Bathrooms
Posted in Politics	| Tagged North Carolina, Predators, Transgenders	|
The accused pedophile behind the 'bathroom bills'
Terry Bean with Clintons via San Francisco Chronicle
Accused pedophile, "mega-Obama-bundler" and long-time prominent fixture of the radical left, Terry Bean, is responsible for the bathroom bills sweeping America. If not for Bean's "affluenza," it is quite likely that the 68-year-old would be in prison today for allegedly having sex with a 15-year-old boy in an Oregon hotel room in 2013 with his then-lover Kiah Lawson, who was 25 at the time. As reported at Oregonlive, Bean "had offered the boy at least $200,000 to settle the case."
Terry Bean is the co-founder of several radical groups posing as civil rights organizations. One of these organizations, the Human Rights Campaign (HRC), created the template for the bathroom bill ordinances sweeping the nation.
Terry Bean on Air Force One via wweek.com
While Pastors in Houston famously brought much-needed publicity to the ordinance after Houston Mayor Annise Parker subpoenaed them for copies of their sermons back in 2014, an abundance of similar laws have quietly passed in towns all over America.
Posted in Politics	| Tagged Bathroom Bills, Pedophile, Politics, Renee Nal, Transgenders	|
I'm Just a Bill (Transgender Schoolhouse Rock Parody!)
You just gotta love Steven Crowder! He just broke the Internet with this video. Heh.
Posted in Politics	| Tagged Bathroom Law, Politics, Steven Crowder, Transgenders	| 2 Comments
The Real One Percent Strikes Again
By: Cliff Kincaid – Accuracy in Media
The real one percent, as opposed to the fake one percent touted by Bernie Sanders (I-VT), raised its ugly head in Georgia on Monday, when "conservative" Republican Governor Nathan Deal collapsed under pressure. He vetoed a bill respecting the freedom and rights of Christians and other religious believers who oppose the gay-rights agenda. Big media, Hollywood and other big businesses threatened to pull their operations out of the state if Deal signed the common-sense piece of legislation that reaffirmed First Amendment rights of freedom-of-religion expression.
The legislation would have ensured that pastors could not be forced to perform homosexual marriages.
The media blackmailing the cowardly governor included Viacom, 21st Century Fox, Lionsgate, CBS, Starz, AMC Networks, Netflix, Time Warner, CBS, The Weinstein Company, Sony, Comcast NBCUniversal, MGM, STX Entertainment and Open Road Films.
It turns out the "corporate media," which are usually demonized as conservative right-wing businesses, are in the back pockets of the homosexual lobby.
Posted in Politics	| Tagged AIM, Cliff Kincaid, Gays, Georgia, Homosexuals, Media, Politics, Transgenders	|
Celebrate the 4th: Impeach Kagan and Ginsburg
Justice Antonin Scalia said in his dissent in the same-sex marriage case that the ruling was a threat to our democratic form of government and constitutes a "judicial Putsch," or secret power grab. He didn't just say the majority was wrong or misguided; he essentially said they had conspired to overthrow our form of government. His position on the Court may have made it impossible to supply specifics. But one possible explanation of what he meant is that he saw a conflict-of-interest on the part of members of the majority, which required their recusal from the case.
Rather than investigate what Scalia is hinting at, our media have opened fire on Scalia for blowing the whistle on judicial corruption.
In fact, the push for gay marriage has been tainted by lies from the beginning. As Professor Paul Kengor notes, Obama himself was caught lying by his own adviser, David Axelrod, who now admits Obama favored gay marriage when he was publicly opposing it to get elected. "According to Axelrod," Kengor told WorldNetDaily, "Obama supported gay marriage as far back as the mid-1990s, when he was an aspiring Chicago politician. He publicly suggested otherwise, however, in order to get votes, especially from African-Americans who rejected gay marriage in higher numbers than white Americans."
Kengor, author of Takedown: From Communists to Progressives, How the Left Has Sabotaged Family and Marriage, said he believes Obama was influenced in favor of "a more open view toward sexuality" by his communist mentor, Frank Marshall Davis, a pornographer and pedophile. But Obama was careful to sound conservative and Christian on these issues when he ran for president.
What's more, as AIM has documented on numerous occasions, media "coverage" of the issue has been non-stop propaganda, much of it emanating from a group called the National Lesbian & Gay Journalists Association. Most people haven't heard of the group, which is the way they want it. The nature of gay pride parades has even been censored, prohibiting the public from understanding that the homosexual movement celebrates crude displays of nudity and vulgarity.
Politically, it would be one thing if Scalia had responded that there was an honest disagreement over the meaning of certain words in the Constitution. Instead, he said the majority subverted the Constitution by reading into it something that does not exist—the "right" to force government at all levels to recognize gay marriage. By inventing this "right," Scalia and the other dissenters said, the Court has put our actual rights of freedom of religion and expression in grave jeopardy. This seems to be the nature of the "putsch" Scalia is talking about. He could very well be referring to behind-the-scenes pressures put on the Justices by homosexual elite forces, the financially powerful one to two percent, who seem to have so much sway over the media, academia and the corporate world. These people are now attempting to suppress a new film, "An Open Secret," about pedophilia in Hollywood.
Whatever the reason for the putsch, our form of government has been overthrown and another put in its place—a judicial dictatorship that is devoted to elevating to protected status a sexual minority seeking the abolition of traditional values. Left unchecked in its drive for power over others, this cabal threatens not only our heritage but America's standing in the world as a superpower. It appears the Obama administration wants to spend more money on Pentagon gay pride events and climate change than actual weapons systems to defend America.
As we get ready to celebrate Independence Day, however, we can rest assured that the American people remember enough about the founding of their country that they cannot and will not accept a judicial tyranny. That would make a complete mockery of what July 4th is all about and what millions of Americans have sacrificed for.
The critical part of the law in the gay marriage case is Title 28, Part I, Chapter 21, Section 455 of the U.S. Code, which is applicable to judges and courts. It says, "Any justice, judge, or magistrate judge of the United States shall disqualify himself in any proceeding in which his impartiality might reasonably be questioned." These disqualifications include cases in which "he has a personal bias or prejudice concerning a party…"
Our media didn't treat it as a big deal, but Justices Elena Kagan and Ruth Bader Ginsburg had both officiated at gay weddings. Groups such as the National Organization for Marriage, the American Family Association, the Coalition of African American Pastors, and the Foundation for Moral Law had called for Kagan and Ginsburg to withdraw from the case.
Matthew Kidd, executive director of the Foundation for Moral Law, told Accuracy in Media that the failure by Kagan and Ginsburg to withdraw from the case leaves them open to impeachment and removal from the bench.
But will Congress act?
According to the Supreme Court website, the only Justice to be impeached was Associate Justice Samuel Chase in 1805. It says the House of Representatives passed Articles of Impeachment against him; however, he was acquitted by the Senate. A majority is required for impeachment in the House but a two-thirds vote is required for conviction.
In the case of Kagan, an Obama appointee, she may have had a personal conflict-of-interest. This is a sensitive matter, but various reports indicated that Kagan was a known lesbian before she was nominated to the Court by President Obama. For example, the gay blog QueerTY had identified her as a lesbian. That would mean she was compromised on homosexual issues prior to her ascension to the bench and after she was confirmed. This is a conflict of interest that cannot be tolerated.
Whether the reports of her lesbianism are true or not, we know that Kagan had an extremely radical record as Dean of Harvard Law School (2003 to 2009) where she promoted homosexuality and transgenderism. Nevertheless, she was confirmed to the Supreme Court in a 63 to 37 vote.
Kagan "avoided the sort of scrutiny that some nominees have faced," The Washington Post noted at the time.
We now see the evidence of what happens when the media and Congress fail to do their jobs.
Congress, however, can try to undo some of the damage by holding hearings into the possible impeachment of Justices Kagan and Ginsburg. This would be one way of getting to the bottom of Scalia's sensational charge that America's democratic system has been subverted and stolen from the American people.
We are bound to hear that impeachment would be difficult and conviction impossible. There's always an excuse for not taking bold action in Washington, D.C. But a congressional failure to act, in the wake of Scalia's extraordinary charge of a judicial Putsch, would suggest that celebrating July 4th means fireworks and nothing more.
I think enough Americans are sufficiently concerned about this matter that they want to see some real fireworks, in the form of Congress exposing the lies, corruption and conflicts of interest that went into the sick and tyrannical gay marriage ruling.
Members of Congress taking up this cause will not get sympathetic headlines in the media. But it is something that has to be done if Independence Day is going to have any meaning left at all.
Posted in Constitution, Politics, Survival	| Tagged AIM, America, Antonin Scalia, Barack Obama, Chicago, Christians, Cliff Kincaid, Communists, Conflict of Interest, Congress, Conservatives, Constitution, Corruption, David Axelrod, Elections, Elena Kagan, Elites, Foundation for Moral Law, Frank Marshall Davis, Gay Marriage, Gays, History, Homosexual Movement, Impeachment, Independence Day, Judicial Putsch, Law, Left, Lesbians, Marxists, Matthew Kidd, Media, Paul Kengor, Pedophiles, Politics, Pornography, Progressives, Propaganda, Queerty, Ruth Bader Ginsburg, Samuel Chase, Senate, Supreme Court, Transgenders, Tyranny, Votes	|


text:
An overly Throney Emmys
(AP/Timothy D. Easley)
Kim Davis breaks from Democrats, declares herself Republican mere hours before a Family Research Council gala in her honor
To the shock of absolutely no one, the Kentucky homophobe elected to join the party of likeminded souls
Check out this article! https://www.salon.com/2015/09/25/kim_davis_breaks_from_democrats_declares_herself_republican_mere_hours_before_a_family_research_council_gala_in_her_honor/
Scott Eric Kaufman
September 25, 2015 10:13PM (UTC)
Rowan County, Kentucky Clerk and professional opportunist Kim Davis announced on Friday that she was switching her party affiliation to the GOP because, in her words, "the Democratic Party left us a long time ago."
Davis is correct, inasmuch as her views on same-sex marriage stopped developing when she embraced evangelicalism a few years/husbands ago, whereas from President Barack Obama down, the Democratic Party's position has continued to evolve.
"My husband and I had talked about it for quite a while and we came to the conclusion that the Democratic Party left us a long time ago, so why were we hanging on?" she asked Reuters' Emily Stephenson in Washington D.C., where she is preparing to be celebrated at a Family Research Council event Friday night.
Davis -- who was jailed for refusing to issue marriage licenses and who, since her release, has allowed altered marriage licenses of dubious legality to be issued -- said that she does not believe she is violating the order issued by U.S. District Judge David Bunning.
"I don't think there should be much of an issue and the judge didn't have any problem accepting the licenses that were issued when I was incarcerated, which had been altered, so I don't see that there should be an issue," Davis added.
She did tell Stephenson that she is willing to return to jail should Judge Bunning find her alterations of marriage licenses to be in violation of the conditions of her release.
Scott Eric Kaufman is an assistant editor at Salon. He taught at a university, but then thought better of it. Follow him at @scottekaufman or email him at skaufman@salon.com.
MORE FROM Scott Eric Kaufman • FOLLOW scottekaufman • LIKE Scott Eric Kaufman
Gop Homophobia Kim Davis Lgbtq Rights Republican Party Same-sex Marriage
Thank God for Pete Buttigieg!
Homophobic chants yelled at Mayor Pete
Is Sinema the Manchin of the West?
GOP only has two choices going into 2020
Last chance for impeachment
Are you watching "Love Island"?
Deadbeat Don: Trump stiffs many cities
Trump's mental state is an "emergency"

redpajama_set_name: RedPajamaCommonCrawl


text:
You are here: Home Page > Social Sciences > Politics > Indian Politics > Patching Development
6 1/8 x 9 1/4 inches
This book is available as part of Oxford Scholarship Online - view abstracts and keywords at book and chapter level.
Patching Development
Information Politics and Social Change in India
Rajesh Veeraraghavan
Modern South Asia
Shows how the National Rural Employment Guarantee program in India has confronted last mile problems in implementation
Casts new light on the challenges and benefits of using information and technology to implement development programs
Includes a rare ethnographic study of a developmental program that illuminates the multilevel contestation of bureaucrats, politicians, and social movements
Borrows the term "patching" from tech to systemically think about addressing problems in socioeconomic development
Diving into an original and unusually positive case study from India, Patching Development shows how development programs can be designed to work.
How can development programs deliver benefits to marginalized citizens in ways that expand their rights and freedoms? Political will and good policy design are critical but often insufficient due to resistance from entrenched local power systems. In Patching Development, Rajesh Veeraraghavan presents an ethnography of one of the largest development programs in the world, the Indian National Rural Employment Guarantee Act (NREGA), and examines NREGA's implementation in the South Indian state of Andhra Pradesh. He finds that the local system of power is extremely difficult to transform, not because of inertia, but because of coercive counter strategy from actors at the last mile and their ability to exploit information asymmetries. Upper-level NREGA bureaucrats in Andhra Pradesh do not possess the capacity to change the power axis through direct confrontation with local elites, but instead have relied on a continuous series of responses that react to local implementation and information, a process of patching development. "Patching development" is a top-down, fine-grained, iterative socio-technical process that makes local information about implementation visible through technology and enlists participation from marginalized citizens through social audits. These processes are neither neat nor orderly and have led to a contentious sphere where the exercise of power over documents, institutions and technology is intricate, fluid and highly situated. A highly original account with global significance, this book casts new light on the challenges and benefits of using information and technology in novel ways to implement development programs.
Chapter 2. The Genesis of Rights-Based Governance
Chapter 3. Patching Technologies of Control
Chapter 4. Patching Institutions
Chapter 5. Public Meetings at the Last Mile
Chapter 6. Reading and Writing the State Records
Chapter 7. Caste, Class, and Audits
Chapter 8. Conclusion: Patching the Power at the Last Mile
Appendix 1. Methodology: Using Ethnography to Study Political Economy of Information
Appendix 2. Explanatory Note on Comparing NREGA Performance across States
Rajesh Veeraraghavan is an Assistant Professor at Georgetown University. He received his Ph.D from the University of California, Berkeley in 2015. He has been researching and writing about the politics of data and technology and its role in improving the lives of marginalized citizens for the last 15 years.
Honorable Mention, 2022 American Sociology Association's Section on the Sociology of Development
"How do you get cash payments for labor to the rural poor in the world's largest anti-poverty program? From the commanding heights of the bureaucracy to the front-lines of the village, from sophisticated software to grass roots social audits, Patching Development brilliantly shows us how the National Rural Employment Guarantee program in India has confronted the infamous problems of the last mile. The challenges and conflicts of implementing public policies to fight poverty have never been illuminated in such detail and with such analytic power." -- Patrick Heller, Professor of Sociology and International and Public Affairs, Brown University
"Brilliant! In Patching Development, Veeraraghavan offers an innovative solution to bureaucratic hierarchy that is unable to respond to clients as it faces off against local power structures." -- Michael Burawoy, Professor of Sociology, University of California, Berkeley
"Peppered with exhilarating stories from in-depth research among tribal communities, village councils, social activists, and state officials, Patching Development illuminates a rare case where a combination of political will and digital technology enables democratically accountable socio-economic transformation." -- Kentaro Toyama, W.K. Kellogg Professor of Community Information, University of Michigan
"Veeraraghavan provides an excellent sectional analysis of social audit as patching—a mechanism to check misuse of money and authority in MGNREGA, a massive Indian public works programme. An important addition to systemic research on poverty and unemployment, Patching Development enriches the discussion on the challenges and potential of this emergent process." -- Aruna Roy, Mazdoor Kisan Shakti Sangathan
"Development theory needs fresh thinking to move forward. Patching Development answers the call. The multilevel contestation of public officials, local politicians, and social movements is dissected together with the possibilities and limits of information technology to create a synthetic, original vision of how the needs of the poor might be better served." -- Peter Evans, Professor of Sociology Emeritus, University of California, Berkeley
The Man Who Remade India
Vinay Sitapati
Pluralism and Democracy in India
Wendy Doniger and Martha C. Nussbaum
The Ways of the World
Dispossession without Development
Michael Levien
A More Perfect Military
Diane H. Mazur
Understanding Namibia
Henning Melber
Communism in India
Bidyut Chakrabarty
Justice and Natural Resources
Insecure Gulf
Kristian Coates Ulrichsen
Gambling with Violence
Yelena Biberman
Politics and State-Society Relations in India
James Manor
Religion in Liberal Political Philosophy
Cecile Laborde and Aurelia Bardon
The Left Divided
Social Sciences > Politics > Indian Politics
Social Sciences > Politics
Social Sciences > Politics > Political Economy


text:
Q: Replace the JSON object after updating using javascript This is a follow up quesstion for JSON replacement
 where I was not able to get a proper response. Hence I'm posting this question with a better example.
var beforeReplacement=[
    {
        "Name": "app1",
        "id": "1",
        "groups": [
            {
                "id": "test1",
                "name": "test grp45",
                "desc": "this is a test group"
            },
            {
                "id": "test2",
                "name": "test group 2",
                "desc": "this is another test group"
            }
        ]
    },
    {
        "Name": "app2",
        "id": "2",
        "groups": [
            {
                "id": "test3",
                "name": "test group 4",
                "desc": "this is a test group"
            },
            {
                "id": "test4",
                "name": "test group 4",
                "desc": "this is another test group"
            }
        ]
    }
]

changed object:
 [
        {
            "Name": "app2",
            "id": "2",
            "groups": [
                {
                    "id": "test3",
                    "name": "changed test group 4",
                    "desc": "this is a test group"
                }

            ]
        }
    ]

 var afterReplacement=[
        {
            "Name": "app1",
            "id": "1",
            "groups": [
                {
                    "id": "test1",
                    "name": "test grp45",
                    "desc": "this is a test group"
                },
                {
                    "id": "test2",
                    "name": "test group 2",
                    "desc": "this is another test group"
                }
            ]
        },
        {
            "Name": "app2",
            "id": "2",
            "groups": [
                {
                    "id": "test3",
                    "name": "changed test group 4",
                    "desc": "this is a test group"
                },
                {
                    "id": "test4",
                    "name": "test group 4",
                    "desc": "this is another test group"
                }
            ]
        }
    ]

I have changed the name in var beforeReplacement and have mentioned the modified object that I will be receiving after the changes. How can I efficiently replace this changed object in the beforeReplacement so that the resultant object will be like var afterReplacement

A: var afterReplacement = beforeReplacement.map(function (af) {
    for(var i in changed) {
        if (changed[i].id != af.id) continue;

        af = changed[i];
        break;
    }
    return af;
});

redpajama_set_name: RedPajamaStackExchange


terrasse exterieur moderne. Good day dear visitor. In todays modern era, all information regarding the growth and development of technology is very easy to grab. You could find a number of reports, ideas, articles, from any location within a few moments. And also specifics about your favorite luxury home might be accessed from lots of free sources online.
The same as right now, you are searching for details about terrasse exterieur moderne, arent you? Just sit in front of your beloved laptop or computer which is linked to the Net, you may get various helpful new thoughts and you could apply it for your purposes.
Do you know The thought of terrasse exterieur moderne we give you in this post is related to the request record about terrasse exterieur moderne. We found that lots of people look terrasse exterieur moderne on search engines like google. We decide to present a most relevant photo for you.
Even though inside our opinion, which weve presented the perfect terrasse exterieur moderne graphic, but your opinion could be little bit different with us. Okay, You can use it as your reference material only. And terrasse exterieur moderne has been submitted by admin in category field.


text:
#include "RobotWorldCanvas.hpp"
#include "Logger.hpp"
#include "RectangleShape.hpp"
#include "LineShape.hpp"
#include "RobotShape.hpp"
#include "Robot.hpp"
#include "WayPointShape.hpp"
#include "WayPoint.hpp"
#include "GoalShape.hpp"
#include "Goal.hpp"
#include "WallShape.hpp"
#include "Wall.hpp"
#include "RobotWorld.hpp"
#include "NotificationEvent.hpp"
#include <algorithm>

enum
{
	ID_ABOUT,
	ID_ADD_ROBOT,
	ID_EDIT_ROBOT,
	ID_DELETE_ROBOT,
	ID_ADD_WAYPOINT,
	ID_EDIT_WAYPOINT,
	ID_DELETE_WAYPOINT,
	ID_ADD_GOAL,
	ID_EDIT_GOAL,
	ID_DELETE_GOAL,
	ID_ADD_WALL,
	ID_EDIT_WALL,
	ID_DELETE_WALL,
	ID_SHAPE_INFO
};

/**
 *
 */
RobotWorldCanvas::RobotWorldCanvas( Window* anOwner) :
				ScrolledCanvas( anOwner, DEFAULT_ID),
				popupPoint( DefaultPosition),
				startActionPoint( DefaultPosition),
				endActionPoint( DefaultPosition),
				actionOffset( DefaultPosition),
				startActionSize( DefaultSize),
				startActionShape( NULL),
				endActionShape( NULL),
				selectedShape( NULL),
				activationEnabled( false),
				selectionEnabled( false),
				menuItemEnabled( false),
				dandEnabled( true),
				notificationHandler( NULL)
{
	initialise();
}

/**
 *
 */
RobotWorldCanvas::RobotWorldCanvas( Window* anOwner,
                                    ModelObjectPtr aModelObject) :

					ScrolledCanvas( anOwner, DEFAULT_ID),
					ViewObject(aModelObject),
					popupPoint( DefaultPosition),
					startActionPoint( DefaultPosition),
					endActionPoint( DefaultPosition),
					actionOffset( DefaultPosition),
					startActionSize( DefaultSize),
					startActionShape( NULL),
					endActionShape( NULL),
					selectedShape( NULL),
					activationEnabled( false),
					selectionEnabled( false),
					menuItemEnabled( false),
					dandEnabled( true),
					notificationHandler( NULL)
{
	initialise();
}
/**
 *
 */
RobotWorldCanvas::~RobotWorldCanvas()
{
	shapes.clear();

	PopEventHandler();

	if (notificationHandler)
	{
		delete notificationHandler;
	}
}
/**
 *
 */
Point RobotWorldCanvas::devicePointFor( const Point& aScreenPoint) const
{
	Point devicePoint;
	/*owner->getCanvas()->*/CalcUnscrolledPosition( aScreenPoint.x, aScreenPoint.y, &devicePoint.x, &devicePoint.y);
	return devicePoint;
}
/**
 *
 */
Point RobotWorldCanvas::screenPointFor( const Point& aDevicePoint) const
{
	Point screenPoint;
	/*owner->getCanvas()->*/CalcScrolledPosition( aDevicePoint.x, aDevicePoint.y, &screenPoint.x, &screenPoint.y);
	return screenPoint;
}
/**
 *
 */
void RobotWorldCanvas::enableHandlePaint( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_PAINT, wxPaintEventHandler( RobotWorldCanvas::OnPaint));
	} else
	{
		Disconnect( wxEVT_PAINT, wxPaintEventHandler( RobotWorldCanvas::OnPaint));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableHandleSize( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_SIZE, SizeEventHandler( RobotWorldCanvas::OnSize));
	} else
	{
		Disconnect( wxEVT_SIZE, SizeEventHandler( RobotWorldCanvas::OnSize));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableLeftDownHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( RobotWorldCanvas::OnLeftDown));
	} else
	{
		Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( RobotWorldCanvas::OnLeftDown));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableLeftUpHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_LEFT_UP, wxMouseEventHandler( RobotWorldCanvas::OnLeftUp));
	} else
	{
		Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( RobotWorldCanvas::OnLeftUp));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableLeftDClickHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( RobotWorldCanvas::OnLeftDClick));
	} else
	{
		Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( RobotWorldCanvas::OnLeftDClick));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableMiddleDownHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( RobotWorldCanvas::OnMiddleDown));
	} else
	{
		Disconnect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( RobotWorldCanvas::OnMiddleDown));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableMiddleUpHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler( RobotWorldCanvas::OnMiddleUp));
	} else
	{
		Disconnect( wxEVT_MIDDLE_UP, wxMouseEventHandler( RobotWorldCanvas::OnMiddleUp));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableMiddleDClickHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( RobotWorldCanvas::OnMiddleDClick));
	} else
	{
		Disconnect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( RobotWorldCanvas::OnMiddleDClick));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableRightDownHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( RobotWorldCanvas::OnRightDown));
	} else
	{
		Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( RobotWorldCanvas::OnRightDown));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableRightUpHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( RobotWorldCanvas::OnRightUp));
	} else
	{
		Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( RobotWorldCanvas::OnRightUp));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableRightDClickHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( RobotWorldCanvas::OnRightDClick));
	} else
	{
		Disconnect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( RobotWorldCanvas::OnRightDClick));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableMouseMotionHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_MOTION, wxMouseEventHandler( RobotWorldCanvas::OnMouseMotion));
	} else
	{
		Disconnect( wxEVT_MOTION, wxMouseEventHandler( RobotWorldCanvas::OnMouseMotion));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableKeyHandling( bool enable /* = true */)
{
	if (enable == true)
	{
		Connect( wxEVT_KEY_DOWN, KeyEventHandler(RobotWorldCanvas::OnKeyDown));
		Connect( wxEVT_CHAR, wxCharEventHandler( RobotWorldCanvas::OnCharDown));
	} else
	{
		Disconnect( wxEVT_KEY_DOWN, KeyEventHandler(RobotWorldCanvas::OnKeyDown));
		Disconnect( wxEVT_CHAR, wxCharEventHandler( RobotWorldCanvas::OnCharDown));
	}
}
/**
 *
 */
void RobotWorldCanvas::enableActivationHandling( bool enable /* = true */)
{
	activationEnabled = enable;
}
/**
 *
 */
void RobotWorldCanvas::enableSelectionHandling( bool enable /* = true */)
{
	selectionEnabled = enable;
}
/**
 *
 */
void RobotWorldCanvas::enableItemMenuHandling( bool enable /* = true */)
{
	menuItemEnabled = enable;
}
/**
 *
 */
void RobotWorldCanvas::enableDragAndDropHandling( bool enable /*= true*/)
{
	dandEnabled = enable;
}
/**
 *
 */
bool RobotWorldCanvas::isShapeSelected() const
{
	return selectedShape != NULL;
}
/**
 *
 */
ShapePtr RobotWorldCanvas::getSelectedShape() const
{
	return selectedShape;
}
/**
 *
 */
void RobotWorldCanvas::setSelectedShape( ShapePtr aSelectedShape)
{
	ShapePtr previousSelectedShape = selectedShape;
	selectedShape = NULL;

	// No de-selection if there is no previous or new shape
	// and no re-selection of the current shape
	if (previousSelectedShape && aSelectedShape && previousSelectedShape->getObjectId() != aSelectedShape->getObjectId())
	{
		previousSelectedShape->setSelected( false);
		if (selectionEnabled)
		{
			previousSelectedShape->handleSelection();
		}
	}

	selectedShape = aSelectedShape;

	if (selectedShape)
	{
		selectedShape->setSelected();
		if (selectionEnabled)
		{
			selectedShape->handleSelection();
		}
	}
}
/**
 *
 */
bool RobotWorldCanvas::isShapeAt( const Point& aPoint) const
{
	for (ShapePtr shape : shapes)
	{
		if (shape->occupies( aPoint))
		{
			return true;
		}
	}
	return false;
}
/**
 *
 */
ShapePtr RobotWorldCanvas::getShapeAt( const Point& aPoint) const
{
	for (ShapePtr shape : shapes)
	{
		if (shape->occupies( aPoint))
		{
			return shape;
		}
	}
	return NULL;
}
/**
 *
 */
bool RobotWorldCanvas::selectShapeAt( const Point& aPoint)
{
	for (ShapePtr shape : shapes)
	{
		if (shape->occupies( aPoint))
		{
			setSelectedShape( shape);
			return true;
		}
	}
	return false;
}
/**
 *
 */
RobotWorldPtr RobotWorldCanvas::getRobotWorld() const
{
	return std::dynamic_pointer_cast<RobotWorld>(getModelObject());
}
/**
 *
 */
void RobotWorldCanvas::setRobotWorld( RobotWorldPtr aRobotWorld)
{
	setModelObject(std::dynamic_pointer_cast<ModelObject>(aRobotWorld));
}
/**
 *
 */
void RobotWorldCanvas::handleNotification()
{
	handleBackGroundNotification();
}
/**
 *
 */
void RobotWorldCanvas::handleBackGroundNotification()
{
	// Posting the message will put the notification event in the applications
	// message loop, hence making sure it is handled in the main thread.
	NotifyEvent event( wxEVT_NOTIFICATIONEVENT, 1000);
	wxPostEvent( notificationHandler, event);
	//notificationHandler->ProcessEvent(event);
}

/**
 *
 */
void RobotWorldCanvas::populate( int aNumberOfWalls /*= 2*/)
{
	RobotWorld::getRobotWorld().populate(aNumberOfWalls);
}
/**
 *
 */
void RobotWorldCanvas::unpopulate()
{
	shapes.clear();
	RobotWorld::getRobotWorld().unpopulate();
}

/**
 *
 */
void RobotWorldCanvas::initialise()
{
	SetMinSize( Size( 500, 500));

	notificationHandler = new NotificationHandler< std::function< void( NotifyEvent&) > >( [this](NotifyEvent& anEvent){this->OnNotificationEvent(anEvent);});
	PushEventHandler( notificationHandler);

	Connect( wxEVT_PAINT, wxPaintEventHandler( RobotWorldCanvas::OnPaint));
	Connect( wxEVT_SIZE, SizeEventHandler( RobotWorldCanvas::OnSize));

	SetBackgroundColour( WXSTRING( "WHITE"));
	SetFocus();

	enableHandlePaint();
	enableHandleSize();

	enableLeftDownHandling();
	enableLeftUpHandling();
	enableLeftDClickHandling();

	enableMiddleDownHandling();
	enableMiddleUpHandling();
	enableMiddleDClickHandling();

	enableRightDownHandling();
	enableRightUpHandling();
	enableRightDClickHandling();

	enableMouseMotionHandling();

	enableKeyHandling();

	enableActivationHandling();
	enableSelectionHandling();

	enableItemMenuHandling();

	handleNotificationsFor( RobotWorld::getRobotWorld());
}
/**
 *
 */
void RobotWorldCanvas::render( wxDC& dc)
{
	for (ShapePtr shape : shapes)
	{
//		Logger::log("Drawing shape: " + shape->asString());
		shape->draw( dc);
//		Logger::log("Done drawing shape: " + shape->asString());
	}
	if (startActionShape != NULL && actionStatus == DRAWING)
	{
		dc.SetPen( wxPen( wxColor( 0, 0, 0), 1)); // black line, 1 pixels thick
		dc.DrawLine( startActionShape->getCentre().x, startActionShape->getCentre().y, endActionPoint.x, endActionPoint.y);
	}
}
/**
 *
 */
void RobotWorldCanvas::handlePaint( PaintEvent& UNUSEDPARAM(event))
{
	wxPaintDC dc( this);
	render( dc);
}
/**
 *
 */
void RobotWorldCanvas::handleSize( SizeEvent& event)
{
//	wxClientDC dc(const_cast<RobotWorldCanvas*>(this));
//	timeTextSize = dc.GetTextExtent( _T("00:00"));
//	Refresh();
	event.Skip();
}
/**
 *
 */
void RobotWorldCanvas::handleLeftDown( MouseEvent& event)
{
	Logger::log( __PRETTY_FUNCTION__);

	Point screenPoint = event.GetPosition();

	startActionPoint = screenPoint;
	endActionPoint = startActionPoint;
	actionStatus = IDLE;

	if (selectShapeAt( screenPoint))
	{
		ShapePtr shape = getSelectedShape();

		WallShapePtr wall = std::dynamic_pointer_cast<WallShape>( shape);
		if (wall)
		{
			Logger::log( "Wall" + wall->asString());
			RectangleShapePtr wallEndPoint = wall->hasEndPointAt( screenPoint);
			if (wallEndPoint)
			{
				setSelectedShape( wallEndPoint);
				shape = getSelectedShape();
			}
		}else
		{
			Logger::log( "Nope, no wall???");
		}

		if (shape)
		{
			startActionShape = shape;
			endActionShape = NULL;
			actionOffset = shape->getCentre() - startActionPoint;

			if (event.ControlDown())
			{
				actionStatus = DRAWING;
			} else
			{
				actionStatus = DRAGGING;
			}
		}
	}else
	{
		Logger::log( "Nothing selected...");
	}

	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleLeftUp( MouseEvent& event)
{
	Logger::log( __PRETTY_FUNCTION__);

	RectangleShapePtr startRectangleShape = std::dynamic_pointer_cast<RectangleShape>( startActionShape);
	RectangleShapePtr endRectangeShape = std::dynamic_pointer_cast<RectangleShape>( getShapeAt( event.GetPosition()));

	switch (actionStatus)
	{
		case IDLE:
		{
			break;
		}
		case DRAWING:
		{
			if (startRectangleShape && endRectangeShape)
			{
				ShapePtr lineShape( new LineShape( startRectangleShape, endRectangeShape));
				shapes.push_back( lineShape);
			}
			break;
		}
		case RESIZING:
		{
			break;
		}
		case STARTDRAGGING:
		{
			break;
		}
		case DRAGGING:
		{
			if (dandEnabled && startActionPoint != endActionPoint)
			{
				handleEndDrag( selectedShape);
			}
			break;
		}
		default:
		{
			break;
		}
	}
	startActionPoint = DefaultPosition;
	endActionPoint = DefaultPosition;

	startActionShape = NULL;
	endActionShape = NULL;
	actionStatus = IDLE;

	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleLeftDClick( MouseEvent& event)
{
	Logger::log( __PRETTY_FUNCTION__);

	Point screenPoint = event.GetPosition();
	if (isShapeAt( screenPoint))
	{
		ShapePtr shape = getShapeAt( screenPoint);
		if (shape && activationEnabled)
		{
			shape->handleActivated();
		}
	}
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleMiddleDown( MouseEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	// We must set the focus or any keyboard events will get lost
	//SetFocus();

	//Point devicePoint = devicePointFor(event.GetPosition());
}
/**
 *
 */
void RobotWorldCanvas::handleMiddleUp( MouseEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);
}
/**
 *
 */
void RobotWorldCanvas::handleMiddleDClick( MouseEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);
}
/**
 *
 */
void RobotWorldCanvas::handleRightDown( MouseEvent& event)
{
	Logger::log( __PRETTY_FUNCTION__);

	// We must set the focus or any keyboard events will get lost
	SetFocus();
	Point screenPoint = event.GetPosition();
	actionStatus = IDLE;

	if (selectShapeAt( screenPoint))
	{
	}
	Refresh();

}
/**
 *
 */
void RobotWorldCanvas::handleRightUp( MouseEvent& event)
{
	Logger::log( __PRETTY_FUNCTION__);

	actionStatus = IDLE;

	if (menuItemEnabled)
	{
		popupPoint = event.GetPosition();
		if (isShapeAt( popupPoint))
		{
			handleItemMenu( getShapeAt( popupPoint), popupPoint);
			return;
		}
		if (!isShapeAt( popupPoint))
		{
			handleMenu( popupPoint);
			return;
		}
	}
}
/**
 *
 */
void RobotWorldCanvas::handleRightDClick( MouseEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);
}
/**
 *
 */
void RobotWorldCanvas::handleMouseMotion( MouseEvent& event)
{
	if (event.Moving() == true && event.Dragging() == false)
	{
		return;
	}
	if (event.Moving() == false && event.Dragging() == true && startActionShape != NULL)
	{
		int tolerance = 2;
		int dx = std::abs( event.GetPosition().x - startActionPoint.x);
		int dy = std::abs( event.GetPosition().y - startActionPoint.y);
		if (dx <= tolerance && dy <= tolerance)
		{
			return;
		}

		switch (actionStatus)
		{
			case RESIZING:
			{
				Logger::log( "Dragging to resize");

//				Size size = startActionSize;
//
//				Point mousePosition = ScreenToClient(wxGetMousePosition());
//				int dx = mousePosition.x - startActionPoint.x;
//				int dy = mousePosition.y - startActionPoint.y;
//				if( mousePosition.x < startActionShape->getCentre().x)
//				{
//					dx = -dx;
//				}
//				if( mousePosition.y < startActionShape->getCentre().y)
//				{
//					dy = -dy;
//				}
//
//				size.x += 2*dx;
//				size.y += 2*dy;
//
//				startActionShape->setSize(size);
				Refresh();
				break;
			}
			case DRAGGING:
			{
				startActionShape->setCentre( event.GetPosition() + actionOffset);
				endActionPoint = event.GetPosition();
				Refresh();
				break;
			}
			case DRAWING:
			{
				endActionPoint = event.GetPosition();
				Refresh();
				break;
			}
			default:
			{
				Logger::log( "Just moving, nothing to see...");
			}
		}
	}
}
/**
 *
 */
void RobotWorldCanvas::handleKey( KeyEvent& event)
{
	Logger::log( __PRETTY_FUNCTION__);

	switch (event.GetKeyCode())
	{
		case WXK_DELETE:
		case WXK_NUMPAD_DELETE:
		{
			break;
		}
		case WXK_ESCAPE:
		{
			switch (actionStatus)
			{
				case DRAWING:
				{
					actionStatus = CANCELDRAWING;
					break;
				}
				case RESIZING:
				{
					actionStatus = CANCELRESIZING;
					break;
				}
				case DRAGGING:
				{
					actionStatus = CANCELDRAGGING;
					break;
				}
				default:
				{
					break;
				}
			}
			break;
		}
		default:
		{
			break;
		}
	}
}
/**
 *
 */
void RobotWorldCanvas::handleBeginLeftDrag( ShapePtr aShape)
{
	aShape->handleBeginLeftDrag();
}
/**
 *
 */
void RobotWorldCanvas::handleEndDrag( ShapePtr aShape)
{
	Logger::log( __PRETTY_FUNCTION__ + aShape->asDebugString());

	RobotShapePtr robotShape = std::dynamic_pointer_cast<RobotShape>(aShape);
	if (robotShape)
	{
		robotShape->getRobot()->setPosition( robotShape->getCentre(), false);
		return;
	}
	// Handles both WayPoint and Goal
	WayPointShapePtr wayPointShape = std::dynamic_pointer_cast<WayPointShape>(aShape);
	if (wayPointShape)
	{
		wayPointShape->getWayPoint()->setPosition( wayPointShape->getCentre(), false);
		return;
	}
	// Handle the RectangleShapes that are part of a wall
	RectangleShapePtr rectangleShape = std::dynamic_pointer_cast<RectangleShape>(aShape);
	if (rectangleShape)
	{
		for (ShapePtr shape : shapes)
		{
			WallShapePtr wall = std::dynamic_pointer_cast<WallShape>( shape);
			if (wall)
			{
				if (wall->hasEndPoint( rectangleShape))
				{
					wall->updateEndPoint( rectangleShape);
					return;
				}
			}
		}
	}
	/*aShape->handleEndDrag();*/
}
/**
 *
 */
void RobotWorldCanvas::handleAddRobot( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	ShapePtr robot( new RobotShape( RobotWorld::getRobotWorld().newRobot( "Thijs", popupPoint), this));
	shapes.push_back( robot);

	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleEditRobot( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	RobotShapePtr shape = std::dynamic_pointer_cast<RobotShape>( getSelectedShape());
	if (shape)
	{
		std::string name = GetTextFromUser( "The new Robot name:", "Enter a new name");

		if (name != "" && name != shape->getRobot()->getName())
		{
			shape->setTitle( name);
			shape->getRobot()->setName( name);
		}
	}
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleDeleteRobot( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	RobotShapePtr shape = std::dynamic_pointer_cast<RobotShape>( getSelectedShape());
	if (shape)
	{
		deleteShape( shape);
	}
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleAddWayPoint( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	ShapePtr wayPoint( new WayPointShape( RobotWorld::getRobotWorld().newWayPoint( "Joost", popupPoint)));
	shapes.push_back( wayPoint);
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleEditWayPoint( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	WayPointShapePtr shape = std::dynamic_pointer_cast<WayPointShape>( getSelectedShape());
	if (shape)
	{
		std::string name = GetTextFromUser( "The new WayPoint name:", "Enter a new name");

		if (name != "" && name != shape->getWayPoint()->getName())
		{
			shape->setTitle( name);
			shape->getWayPoint()->setName( name);
		}
	}
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleDeleteWayPoint( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	WayPointShapePtr shape = std::dynamic_pointer_cast<WayPointShape>( getSelectedShape());
	if (shape)
	{
		deleteShape( shape);
	}
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleAddGoal( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	ShapePtr goal( new GoalShape( RobotWorld::getRobotWorld().newGoal( "Leon", popupPoint)));
	shapes.push_back( goal);
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleEditGoal( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	GoalShapePtr shape = std::dynamic_pointer_cast<GoalShape>( getSelectedShape());
	if (shape)
	{
		std::string name = GetTextFromUser( "The new Goal name:", "Enter a new name");

		if (name != "" && name != shape->getGoal()->getName())
		{
			shape->setTitle( name);
			shape->getGoal()->setName( name);
		}
	}
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleDeleteGoal( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	GoalShapePtr shape = std::dynamic_pointer_cast<GoalShape>( getSelectedShape());
	if (shape)
	{
		deleteShape( shape);
	}
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleAddWall( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	RectangleShapePtr start( new RectangleShape( popupPoint));
	RectangleShapePtr end( new RectangleShape( popupPoint + Point( 50, 50)));

	ShapePtr wall( new WallShape( RobotWorld::getRobotWorld().newWall( start->getCentre(), end->getCentre(),false), start, end));

	shapes.push_back( wall);
	shapes.push_back( start);
	shapes.push_back( end);

	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleEditWall( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);
}
/**
 *
 */
void RobotWorldCanvas::handleDeleteWall( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	WallShapePtr shape = std::dynamic_pointer_cast<WallShape>( getSelectedShape());
	if (shape)
	{
		deleteShape( shape);
	}
	Refresh();
}
/**
 *
 */
void RobotWorldCanvas::handleShapeInfo( CommandEvent& UNUSEDPARAM(event))
{
	Logger::log( __PRETTY_FUNCTION__);

	if (isShapeSelected())
	{
		Logger::log( getSelectedShape()->asDebugString());
	}
}
void RobotWorldCanvas::handleNotification( NotifyEvent& UNUSEDPARAM(aNotifyEvent))
{
	//	Logger::log(__PRETTY_FUNCTION__);

		const std::vector< RobotPtr >& robots = RobotWorld::getRobotWorld().getRobots();
		for(RobotPtr robot : robots)
		{
			auto result = std::find_if(	shapes.begin(),
			                           	shapes.end(),
			                           	[robot](ShapePtr aShape)
			                           	{
											if(aShape->getModelObject())
											{
												return aShape->getModelObject()->getObjectId() == robot->getObjectId();
			                           		}
											return false;
			                           	});
			if( result == shapes.end())
			{
				ShapePtr shape(new RobotShape(robot,this));
				shapes.push_back(shape);
			}
		}

		const std::vector< WayPointPtr >& wayPoints = RobotWorld::getRobotWorld().getWayPoints();
		for(WayPointPtr waypoint : wayPoints)
		{
			auto result = std::find_if(	shapes.begin(),
			                           	shapes.end(),
			                           	[waypoint](ShapePtr aShape)
			                           	{
											if(aShape->getModelObject())
											{
												return aShape->getModelObject()->getObjectId() == waypoint->getObjectId();
											}
											return false;
			                           	});
			if( result == shapes.end())
			{
				ShapePtr shape(new WayPointShape(waypoint));
				shapes.push_back(shape);
			}
		}

		const std::vector< GoalPtr >& goals = RobotWorld::getRobotWorld().getGoals();
		for(GoalPtr goal : goals)
		{
			auto result = std::find_if(	shapes.begin(),
			                           	shapes.end(),
			                           	[goal](ShapePtr aShape)
			                           	{
											if(aShape->getModelObject())
											{
												return aShape->getModelObject()->getObjectId() == goal->getObjectId();
											}
											return false;
			                           	});
			if( result == shapes.end())
			{
				ShapePtr shape(new GoalShape(goal));
				shapes.push_back(shape);
			}
		}

		const std::vector< WallPtr >& walls = RobotWorld::getRobotWorld().getWalls();
		for(WallPtr wall : walls)
		{
			auto result = std::find_if(	shapes.begin(),
			                           	shapes.end(),
			                           	[wall](ShapePtr aShape)
			                           	{
											if(aShape->getModelObject())
											{
												return aShape->getModelObject()->getObjectId() == wall->getObjectId();
											}
											return false;
			                           	});
			if( result == shapes.end())
			{
				RectangleShapePtr point1( new RectangleShape( wall->getPoint1()));
				RectangleShapePtr point2( new RectangleShape( wall->getPoint2()));
				ShapePtr shape(new WallShape(wall,point1,point2));
				shapes.push_back(std::dynamic_pointer_cast<Shape>(point1));
				shapes.push_back(std::dynamic_pointer_cast<Shape>(point2));
				shapes.push_back(shape);
			}
		}

		Refresh();

}
/**
 *
 */
void RobotWorldCanvas::handleActivation( ShapePtr aShape)
{
	aShape->handleActivated();
}
/**
 *
 */
void RobotWorldCanvas::handleSelection( ShapePtr aShape)
{
	aShape->handleSelection();
}
/**
 *
 */
void RobotWorldCanvas::handleMenu( const Point& UNUSEDPARAM(aScreenPoint))
{
	Menu popupMenu;

	popupMenu.Append( ID_ADD_ROBOT, _T( "Add robot"), _T( "ID_ADD_ROBOT2"));
	Connect( ID_ADD_ROBOT, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnAddRobot));

	popupMenu.Append( ID_ADD_WAYPOINT, _T( "Add waypoint"), _T( "ID_ADD_WAYPOINT2"));
	Connect( ID_ADD_WAYPOINT, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnAddWayPoint));

	popupMenu.Append( ID_ADD_GOAL, _T( "Add goal"), _T( "ID_ADD_GOAL2"));
	Connect( ID_ADD_GOAL, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnAddGoal));

	popupMenu.Append( ID_ADD_WALL, _T( "Add wall"), _T( "ID_ADD_WALL2"));
	Connect( ID_ADD_WALL, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnAddWall));

	popupMenu.Append( wxID_ABOUT, _T( "About"), _T( "Show about dialog"));
	PopupMenu( &popupMenu);
}
/**
 *
 */
void RobotWorldCanvas::handleItemMenu( 	ShapePtr aSelectedShape,
										const Point& UNUSEDPARAM(aPoint))
{
	Menu popupMenu;

	if(std::dynamic_pointer_cast<RobotShape>(aSelectedShape))
	{
		popupMenu.Append( ID_EDIT_ROBOT, _T( "Edit robot"), _T( "ID_EDIT_ROBOT"));
		Connect( ID_EDIT_ROBOT, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnEditRobot));
		popupMenu.Append( ID_DELETE_ROBOT, _T( "Delete robot"), _T( "ID_DELETE_ROBOT"));
		Connect( ID_DELETE_ROBOT, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnDeleteRobot));
	} else if(std::dynamic_pointer_cast<GoalShape>(aSelectedShape))
	{
		popupMenu.Append( ID_EDIT_GOAL, _T( "Edit goal"), _T( "ID_EDIT_GOAL"));
		Connect( ID_EDIT_GOAL, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnEditGoal));
		popupMenu.Append( ID_DELETE_GOAL, _T( "Delete goal"), _T( "ID_DELETE_GOAL"));
		Connect( ID_DELETE_GOAL, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnDeleteGoal));
	} else if(std::dynamic_pointer_cast<WayPointShape>(aSelectedShape))
	{
		popupMenu.Append( ID_EDIT_WAYPOINT, _T( "Edit waypoint"), _T( "ID_EDIT_WAYPOINT"));
		Connect( ID_EDIT_WAYPOINT, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnEditWayPoint));
		popupMenu.Append( ID_DELETE_WAYPOINT, _T( "Delete waypoint"), _T( "ID_DELETE_WAYPOINT"));
		Connect( ID_DELETE_WAYPOINT, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnDeleteWayPoint));
	} else if(std::dynamic_pointer_cast<WallShape>(aSelectedShape))
	{
		popupMenu.Append( ID_DELETE_WALL, _T( "Delete wall"), _T( "ID_DELETE_WALL"));
		Connect( ID_DELETE_WALL, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnDeleteWall));
	} else
	{
		Logger::log( "Huh?: " + aSelectedShape->asDebugString());
	}

	popupMenu.Append( ID_SHAPE_INFO, _T( "Show info"), _T( "ID_SHAPE_INFO"));
	Connect( ID_SHAPE_INFO, wxEVT_COMMAND_MENU_SELECTED, CommandEventHandler(RobotWorldCanvas::OnShapeInfo));

	popupMenu.Append( wxID_ABOUT, _T( "About"), _T( "Show about dialog"));
	PopupMenu( &popupMenu);
}
/**
 *
 */
void RobotWorldCanvas::deleteShape( RobotShapePtr aRobotShape)
{
	aRobotShape->stopHandlingNotificationsFor( *aRobotShape->getRobot());
	RobotWorld::getRobotWorld().deleteRobot( aRobotShape->getRobot(), false);
	deleteGenericShape( aRobotShape);

}
/**
 *
 */
void RobotWorldCanvas::deleteShape( GoalShapePtr aGoalShape)
{
	aGoalShape->stopHandlingNotificationsFor( *aGoalShape->getGoal());
	RobotWorld::getRobotWorld().deleteGoal( aGoalShape->getGoal(), false);
	deleteGenericShape( aGoalShape);
}
/**
 *
 */
void RobotWorldCanvas::deleteShape( WayPointShapePtr aWayPointShape)
{
	aWayPointShape->stopHandlingNotificationsFor( *aWayPointShape->getWayPoint());
	RobotWorld::getRobotWorld().deleteWayPoint( aWayPointShape->getWayPoint(), false);
	deleteGenericShape( aWayPointShape);
}
/**
 *
 */
void RobotWorldCanvas::deleteShape( WallShapePtr aWallShape)
{
	RectangleShapePtr start = aWallShape->hasEndPointAt( aWallShape->getBegin());
	RectangleShapePtr end = aWallShape->hasEndPointAt( aWallShape->getEnd());
	RobotWorld::getRobotWorld().deleteWall( aWallShape->getWall(), false);
	deleteGenericShape( aWallShape);
	deleteGenericShape( start);
	deleteGenericShape( end);
}
/**
 *
 */
void RobotWorldCanvas::deleteGenericShape( ShapePtr aShape)
{
	if (isShapeSelected() && aShape->getObjectId() == getSelectedShape()->getObjectId())
	{
		setSelectedShape( NULL);
	}
	shapes.erase( std::find_if( shapes.begin(), shapes.end(), [aShape](ShapePtr s)
	{
		return aShape->getObjectId() == s->getObjectId();
	}));
}
/**
 *
 */
void RobotWorldCanvas::OnPaint( PaintEvent& event)
{
	handlePaint( event);
}
/**
 *
 */
void RobotWorldCanvas::OnSize( SizeEvent& event)
{
	handleSize( event);
}
/**
 *
 */
void RobotWorldCanvas::OnLeftDown( MouseEvent& event)
{
	handleLeftDown( event);
}
/**
 *
 */
void RobotWorldCanvas::OnLeftUp( MouseEvent& event)
{
	handleLeftUp( event);
}
/**
 *
 */
void RobotWorldCanvas::OnLeftDClick( MouseEvent& event)
{
	handleLeftDClick( event);
}
/**
 *
 */
void RobotWorldCanvas::OnMiddleDown( MouseEvent& event)
{
	handleMiddleDown( event);
}
/**
 *
 */
void RobotWorldCanvas::OnMiddleUp( MouseEvent& event)
{
	handleMiddleUp( event);
}
/**
 *
 */
void RobotWorldCanvas::OnMiddleDClick( MouseEvent& event)
{
	handleMiddleDClick( event);
}
/**
 *
 */
void RobotWorldCanvas::OnRightDown( MouseEvent& event)
{
	handleRightDown( event);
}
/**
 *
 */
void RobotWorldCanvas::OnRightUp( MouseEvent& event)
{
	handleRightUp( event);
}
/**
 *
 */
void RobotWorldCanvas::OnRightDClick( MouseEvent& event)
{
	handleRightDClick( event);
}
/**
 *
 */
void RobotWorldCanvas::OnMouseMotion( MouseEvent& event)
{
	handleMouseMotion( event);
}
/**
 *
 */
void RobotWorldCanvas::OnKeyDown( KeyEvent& event)
{
	handleKey( event);
}
/**
 *
 */
void RobotWorldCanvas::OnCharDown( KeyEvent& event)
{
	handleKey( event);
}
/**
 *
 */
void RobotWorldCanvas::OnAddRobot( CommandEvent& event)
{
	handleAddRobot( event);
}
/**
 *
 */
void RobotWorldCanvas::OnEditRobot( CommandEvent& event)
{
	handleEditRobot( event);
}
/**
 *
 */
void RobotWorldCanvas::OnDeleteRobot( CommandEvent& event)
{
	handleDeleteRobot( event);
}
/**
 *
 */
void RobotWorldCanvas::OnAddWayPoint( CommandEvent& event)
{
	handleAddWayPoint( event);
}
/**
 *
 */
void RobotWorldCanvas::OnEditWayPoint( CommandEvent& event)
{
	handleEditWayPoint( event);
}
/**
 *
 */
void RobotWorldCanvas::OnDeleteWayPoint( CommandEvent& event)
{
	handleDeleteWayPoint( event);
}
/**
 *
 */
void RobotWorldCanvas::OnAddGoal( CommandEvent& event)
{
	handleAddGoal( event);
}
/**
 *
 */
void RobotWorldCanvas::OnEditGoal( CommandEvent& event)
{
	handleEditGoal( event);
}
/**
 *
 */
void RobotWorldCanvas::OnDeleteGoal( CommandEvent& event)
{
	handleDeleteGoal( event);
}
/**
 *
 */
void RobotWorldCanvas::OnAddWall( CommandEvent& event)
{
	handleAddWall( event);
}
/**
 *
 */
void RobotWorldCanvas::OnEditWall( CommandEvent& UNUSEDPARAM(event))
{

}
/**
 *
 */
void RobotWorldCanvas::OnDeleteWall( CommandEvent& event)
{
	handleDeleteWall( event);
}
/**
 *
 */
void RobotWorldCanvas::OnShapeInfo( CommandEvent& event)
{
	handleShapeInfo( event);
}
/**
 *
 */
void RobotWorldCanvas::OnNotificationEvent( NotifyEvent& aNotifyEvent)
{
	handleNotification(aNotifyEvent);
}

redpajama_set_name: RedPajamaGithub


Methods for the rapid separation and estimation of the major lipids of arteries and other tissues by thin-layer chromatography on small plates followed by microchemical assays.
Early dietary experience influences ontogeny of intestine in response to dietary lipid changes in later life.
Preferential oxidation of triacylglyceride-derived fatty acids in heart is augmented by the nuclear receptor PPARalpha.
Accelerated triacylglycerol turnover kinetics in hearts of diabetic rats include evidence for compartmented lipid storage.
Effects of TA-3090, a new calcium channel blocker, on myocardial substrate utilization in ischemic and nonischemic isolated working fatty acid-perfused rat hearts.
Glucose and palmitate oxidation in isolated working rat hearts reperfused after a period of transient global ischemia.
Metabolism of palmitate in isolated working hearts from spontaneously diabetic "BB" Wistar rats.
Protection by verapamil of mitochondrial glutathione equilibrium and phospholipid changes during reperfusion of ischemic canine myocardium.


City's MSc Health Management provides business skills for managers and leaders in healthcare, pharma, and management consultancy; this course has an international and cross-sector outlook.
For any queries regarding international qualifications, please email international@city.ac.uk for assistance.
Your personal statement together with your CV should demonstrate your readiness, capability and future plans for the programme.
IELTS score or booking confirmation if you require a Tier 4 visa, or have not studied at degree level in an English speaking country as defined by UK Visas and Immigration.
Three decades developing leaders in international health management.
Internationalisation, management consultancy, health sector placements.
The average age of our MHM students is 33 years old.
Dr Yiannis Kyratsis introduces City's MSc Health Management programme; designed for managers and leaders in the international healthcare sector looking for a globally recognised qualification to take their career to next level.
The MSc Health Management has an extensive internship programme. Internships are programme opportunities and subject to application. The application process takes into account your performance on the programme, then the internship depends on a suitable match with employer requirements. Internships with participating organisations can last from two months up to five months, and you would work for two days a week.
These are a unique opportunity to build your CV and experience whilst studying, and improve your employability, or move in a new career direction.
The MSc Health Management is based in City's Franklin building, close to the School of Health Sciences, Cass Business School and major centres of medical leadership.
As an international city and global health centre, London is an outstanding location for health management studies. Major international corporations are headquartered in London, as well as healthcare think tanks, and policy institutes. It is the centre of the national health service (NHS) for England, and the largest strategic health authority in the United Kingdom. This reflects in the range of placements, projects, and internships available on the course.
Teaching is provided by leading academics in the fields of business and the health care sector as well as respected guest speakers from the health industry and scientific community who join us to share experiences, and insights on future trends across the health sector.
The MSc Health Management emphasises practical and applied business skills and insights from across the global health sector. The course comprises seven modules and a 12-15,000 word health sector dissertation.
The curriculum is designed to focus in-depth on the essential skills that are the building blocks of management and leadership proficiency, and organisational leadership. It encompasses a wide range of disciplines. There is the diversity and different perspectives of those you will be studying with, as well as the insights of the expert guest speakers.
The learning process emphasises leadership development and personal leadership effectiveness. It encourages self-development, and builds capabilities to deliver results through others and the ability to drive through change.
Strategic management insight is essential for leaders to plan long term goals, and align organisational resources with activities. This module includes practical project-based work on a wide range of international organisations, profit, not-for-profit, healthcare, pharma, medical devices, humanitarian and development organisations.
Leadership is key to fostering innovation, facilitating change and achieving results in complex and competitive circumstances. This module emphasises applied leadership with expert guest speakers. The further employability agenda ensures leaders in charge of their own career development, with the necessary insights for facilitating the career development of others.
Innovation entails change, however not all change is innovation. The module considers the facilitators and barriers to innovation, and how organisation leadership translates innovation or change into action, and transforms organisational cultures. Expert guest speakers add to the diversity and international cross-sector perspectives.
Organisations need managers who understand the financial implications of their decisions. This module examines how business strategy reflects in financial statements, how to prepare budgets that reflect activities and explain variances, and make a business case for a new initiative. These are financial skills every manager should have.
The application of economic analysis to health and health care has grown rapidly. This module provides insight into economic evaluation methods, and an overview of competition and stakeholder dynamics in established and emerging pharma sectors globally, and the value chain of the pharma sector from initial research to final distribution and economic evaluation.
First-hand experience provides the most meaningful learning environment for management consultancy. This module allows you to develop consultancy skills on a live consultancy project. This includes project management, mastering a client brief, information gathering, problem-solving, team dynamics, managing client relationships, presenting the solutions.
Evaluating performance with surveys and statistical analysis, or qualitative interviews is the foundation for quality improvement, organisation development, and effective marketing. This module provides the insights for managers to interact effectively with organisational development practitioners, evaluate improvement initiatives, and appraise marketing effectiveness.
You will also write a final 12-15,000 word business studies or health-related dissertation, on a topic of your choice.
Healthcare and pharmaceutical companies value skills in strategy, innovation and change leadership, management consultancy, and economic evaluation. The average salary of MHM graduates is £50,000.