text:
Kirk Caldwell's Legacy As Honolulu Mayor Is Marred By Rail And Homelessness - Honolulu Civil Beat
Nonprofit News Powered By Amefil Agbayani Steven Levinson Carol Ohta Katharine Owen Carrie Ann Shirota Readers Like You
Kirk Caldwell's Legacy As Honolulu Mayor Is Marred By Rail And Homelessness
As the city's top official leaves office, we look back at the ups and downs of the Caldwell era.
By Christina Jedra / December 29, 2020
Reading time: 16 minutes.
When Mayor Kirk Caldwell was running for mayor in 2012, he promised to help the homeless, "build rail better" and be a dependable leader for Honolulu.
Eight years later, as the mayor eyes a run for governor, the island is in much the same place as it was when Caldwell took office, political observers say.
Some areas have gotten better. There are fewer potholes and sewage spills, for instance. Honolulu also gained bike lanes and finally took action on illegal short-term rentals, which neighbors had complained about for years.
But Caldwell's leadership did not cause the island to make a quantum leap. Honolulu has not been transformed by his efforts.
And some areas have gotten much worse – most notably two that Caldwell promised to improve: the rail project and homelessness.
"He tends to try to do so much at the same time instead of being singularly focused on big things and accomplishing those big things," said outgoing Honolulu Councilwoman Kym Pine.
Mayor Kirk Caldwell loved the nuts and bolts of the job.
Of course, the island is also in the throes of the COVID-19 pandemic to which the mayor has delivered a mixed performance.
While the island fared much better than many mainland jurisdictions in terms of case counts and deaths, many people found the mayor's pandemic response to be chaotic and, at times, ill-conceived.
People who worked with Caldwell throughout his term said he was a dedicated, hardworking and hands-on mayor who genuinely loved the nuts and bolts of the job.
They said he cared deeply about how his decisions would impact people, that he was an attentive and encouraging boss who advocated for his staff and that he took criticism seriously, sometimes personally.
Caldwell is handing off a lot of unresolved issues to Mayor-Elect Rick Blangiardi.
In the end, Caldwell is handing off a lot of big problems to Mayor-Elect Rick Blangiardi, who will be sworn in on Saturday. The retired television executive, who has never held elected office, will be tasked with picking up where Caldwell left off.
That includes pursuing the long delayed and far over-budget rail project, addressing homelessness that worsened under Caldwell and is only expected to increase, and rebuilding Oahu's economy while also keeping people safe from COVID-19.
While Caldwell started his tenure with relatively high approval ratings above 50%, they sank to around 30% in 2017 and have stayed there.
Caldwell recently sat down with Civil Beat for an interview to talk about his tenure as mayor.
In his view, his administration embraced change.
"We have not played it safe," he said. "We have not looked for parades and then got behind the parade that is marching in front of us."
'Build Rail Better'?
When history judges the Caldwell era, all other issues may be eclipsed by the rail, according to Colleen Hanabusa, the former congresswoman and Caldwell appointee to the Honolulu Authority for Rapid Transportation.
"For an elected official, as far as the people are concerned, the bucks stops there," she said.
Caldwell was former Mayor Mufi Hannemann's managing director in 2009 when the project took off prematurely, according to a state audit released last year, costing millions of dollars in cost overruns.
And when Caldwell ran for mayor in 2012, he pledged to "build rail better." At the time, rail was projected to cost about $5 billion, less than half the current estimate.
Honolulu residents will probably always associate Caldwell with the beleaguered rail project.
Caldwell now says his promise to "build rail better" wasn't realistic.
"After getting over here and living through the ups and downs, it became clear that it's very difficult for me to actually build rail better," Caldwell said.
Today, he often says that the mayor has all of the responsibility but none of the authority for rail, which lies with HART. Beyond appointing board members to oversee HART, Caldwell said all he can do is make his opinion known.
He said he doesn't have influence over HART's decision-making or even access to its inside information. Several times, HART has given him information that turned out to be wrong, he said.
"So the trust has disappeared," he said. "Every number they've said has been too low and every schedule they've given has not been met."
As the mayor's confidence in HART has declined, so has the public's confidence in the mayor, who has gone from rail's biggest cheerleader to backing out of the public private partnership that was supposed to get it built.
Natalie Iwasa, a Hawaii Kai resident and city watchdog, said Caldwell should've been more candid about the project's problems earlier.
"He kept telling people, 'We're not going to have any debt when this is done,'" she said. "It sounded like it was all hunky dory. It was only in the last year or so he's been bringing up concerns about the cost."
Even now, Caldwell said he doesn't regret his support of the rail project.
As the city's managing director under Hannemann, Caldwell supported the creation of HART to "get politics out of it." If he could do it over, he said he would have kept rail under the city's Department of Transportation Services. And if he had a third term as mayor, he said he would try to dissolve HART.
Ernie Martin, an adversary of Caldwell as chair of the City Council, had advocated for dissolving HART years ago. He said the mayor should have gotten on board.
"If we were more closely aligned back then, we would be in a better position," he said.
Now the project has an $11 billion price tag and an estimated completion date 13 years in the future – a timeline that would extend past even two consecutive Blangiardi terms.
Despite all the project's woes, Caldwell said that if he could do it all again, he would still pursue the rail.
"I think it's absolutely the right thing. If I didn't, I wouldn't be fighting for it my last three weeks, two weeks, one week, last day," he said.
"Every great city on this planet, it has a rail system and has grown inward instead of outward. And I believe for the sake of our island, for the sake of our state and our planet, we need to do that."
Homelessness Worsened Under Caldwell
Among Mayor Caldwell's most controversial stances was his criminalization of homelessness. As for its effectiveness, the data speaks for itself.
There are more people living on the streets of Honolulu today than there were when Caldwell took office.
In 2013, the beginning of Caldwell's first term, the annual point-in-time count identified 1,465 unsheltered people.
In January of this year, that number was 2,346 – a 60% increase. That does not match up with downward trends on homelessness nationally or on the neighbor islands.
The sweeping of homeless encampments was a signature Caldwell policy. It hasn't reduced homelessness.
Homelessness overall – both sheltered and unsheltered – is virtually unchanged since 2013: approximately 4,500 people.
"They have utterly failed at addressing homelessness on Oahu," said Mateo Caballero, an attorney with the American Civil Liberties Union, which sued the city over its homeless sweeps.
Throughout his tenure, the mayor supported the sweeping, or forced displacement, of homeless encampments – even during the pandemic, which the CDC advises against. His use of the term "compassionate disruption" for this practice struck many as Orwellian.
Caldwell also backed criminalization measures like the sit-lie ban and sidewalk nuisance laws through which unhoused people receive criminal citations that cycle them in and out of the criminal justice system.
To this day, he stands by that strategy despite academic evidence that it is counterproductive, criticism from advocates who say it is cruel and a Supreme Court decision that states it's unconstitutional to punish someone for being homeless if there's nowhere else to go.
Caldwell took office in 2013. Oahu's unsheltered homelessness has risen on his watch.
Caldwell noted that the city has acquired 2,508 housing units during his tenure for affordable housing and supported projects like Hale Mauliola Navigation Center, a transitional housing complex at Sand Island, and the Punawai Rest Stop in Iwilei where people can wash up, do laundry and get connected to services.
The Caldwell administration and the City Council also passed affordable housing legislation in 2017 to incentivize developers to build more affordable housing. Pine, who was the zoning chair at the time Bills 58 and 59 passed, said the legislation made a material difference in creating more units.
"If we had not done what we did, I think the numbers of homeless would be much greater," Caldwell said.
Caldwell did fund housing and homelessness resources in a way that previous Honolulu mayors did not. And Honolulu did make gains in housing families and veterans.
But it's clear that the city could have done much more.
When the Caldwell administration studied the results from its own Housing First program, it found that the overwhelming majority stay housed and were less likely to use drugs or alcohol, get arrested or visit emergency rooms for health care.
Caldwell embraced homeless criminalization measures.
Despite these encouraging results, Honolulu funds only 315 Housing First vouchers, enough to cover only 7% of Oahu's homeless population.
Overall, funding for housing and homelessness programs represent only a drop in the budget of the city's nearly $3 billion operating budget.
Caldwell-appointed Housing Director Marc Alexander has said that the city has done a lot to address homelessness but that the state needs to step up in the areas that the city, which lacks a health department, cannot: mental health and addiction treatment services.
Still, observers like Hawaii Sen. Stanley Chang, who chairs the Senate committee on housing, think the city could've done more.
"The solution is relatively clear: Building more housing and then subsidizing the homes for the people who can't afford it," he said.
Caldwell "did increase the amount of resources going into programs like Housing First, but not enough to reverse the trend of increasing homelessness."
Pine said the mayor also missed a big opportunity to use federal CARES funds to build thousands of tiny homes to shelter homeless people and an expected influx of those who lose their housing because of the pandemic.
That failure will have dire consequences when eviction moratoriums lift, she said.
"You're going to have entire families living out of their cars," she said.
'Living With The Virus'
Caldwell's last year in office has been dominated by the COVID-19 pandemic.
The results have been mixed.
The island shut down earlier than some other places, including the state of Hawaii, which appeared to pay off in the first half of the year when Oahu's reported cases were in the single digits for weeks in April, May and early June.
Caldwell has held frequent press conferences to update residents on virus case numbers.
In the absence of state leadership in the areas of testing, contact tracing and providing isolation and quarantine facilities, Caldwell stepped up.
Regarding testing, the mayor tried to strike a deal with a company called Everlywell. When that didn't work out, he partnered with the University of Hawaii to launch a new lab that is, after some delays, processing COVID-19 tests.
When a whistleblower revealed that Hawaii's contact tracing system was insufficient, Caldwell endeavored to hire his own with the city's CARES funds. He said a team of 130 city contact tracers is helping the state track the virus.
The mayor has also secured rooms in hotels and other buildings so that first responders, homeless people and anyone else can quarantine if they've been exposed, or isolate if they're COVID-19 positive.
"We took strong initiative," Caldwell said. "We fought hard. We didn't give up, and we got them in place. And I think it's made a difference."
Political observers, including doctors, agreed that Caldwell deserves credit for that.
"I am grateful that we had a mayor who saw it as his responsibility to stop the spread of the virus, especially when the state effort faltered," said Jonathan Dworkin, a clinical infectious diseases doctor who served on the mayor's advisory panel. "That saved a lot of lives."
HPD officers were riding around in new ATVs as residents struggled to access relief for rent, utility and child care payments.
However, many of the mayor's pandemic rules felt nonsensical to the public and to scientists.
At one point, public outdoor spaces – beaches, parks and hiking trails – were shut down. But indoor businesses including retail stores, restaurants and gyms that provide more person-to-person contact and less ventilation were open.
Public health experts said the absurdity of it all eroded public trust, an essential element in any public health response.
To enforce his mandates, Caldwell used the same approach on the general public that he had used on the island's homeless population for years: He had the Honolulu Police Department cite people for minor infractions.
It didn't go well.
The ticketing spree put an added emotional burden on thousands of people and in the end, the city had nothing to show for it. Prosecutors dismissed tens of thousands of citations.
Meanwhile, HPD officers have raked in thousands of dollars in overtime, a situation that resulted in some officers being criminally investigated.
Notably, Caldwell allocated more federal money to the police than to providing relief to struggling individuals and families in the form of rent, utility and child care payments.
While HPD officers now have brand new ATVs and trucks, as of mid-December, the city had not distributed all $25 million in the Household Hardship Relief Fund.
Overall, Caldwell said he made an effort to prioritize public health over all else, even if it meant tickets from the police or keeping businesses shut down.
"Yes, there is this feeling of, we've got to take care of the economy," he said. "But if you do it without a lot of forethought, you end up in the same place, and you end up in a worse place. We had 350 cases in one day."
In recent months, the mayor assembled a panel of medical experts. Along with the Department of Health, they helped him establish the existing tier system in which the island's restrictions are predetermined based on the number of COVID-19 cases and the test positivity rate.
The system, while imperfect, has brought some level of stability and predictability to the island's pandemic response.
"I think the model we have actually is working because we are living with the virus now," Caldwell said. "The public is, for the most part, compliant and being careful."
Caldwell's Next Chapter
Caldwell leaves a lot of work unfinished, but there were notable positive developments on his watch too.
The administration has paved 2,176 miles of roadway, according to the city.
When the mayor came into office, road maintenance was a top complaint of residents. Chang recalls someone with a bumper sticker that said: "I'm not drunk, just dodging potholes."
Caldwell said he is proud of the infrastructure improvements completed on his watch.
"Today, road maintenance is not one of the top issues we get," Chang said.
At the beginning of the mayor's tenure, Honolulu had over 100 sewage spills a year, he said. Last year, there were 31, according to the mayor.
His administration restored bus routes that had been cut and began the process of converting the bus fleet to all-electric vehicles to reduce the city's reliance on fossil fuels. He added protected bike lanes – despite much controversy – and partnered with Biki to provide accessible bike rentals on city streets.
"There is no doubt that we've dreamed big in this administration," Caldwell said.
The mayor never raised property taxes on single family homeowners and he is leaving the city with a strong bond rating. Under his leadership, the Honolulu Zoo got reaccredited, the city gained a nationally certified medical examiner and the police department got its first female chief.
The city also cracked down on an issue that was, for many years, politically untouchable: short-term vacation rentals. Caldwell signed a new law last year that aims to return what were in-home hotels to the local housing stock.
"Things that we've done, at times, were very unpopular," Caldwell said. "But I think it's for the long-term future of our island, our city, our country and our planet."
In his final weeks in office, Mayor Caldwell said he doesn't want to leave. He wishes he could have a third term as Honolulu's mayor, but the law limits him to two.
"For me, I think the job of being mayor is probably the greatest job you can do in public service," Caldwell said. "You can make a difference quickly and have lasting impact. I wish I could keep doing it. It's a bittersweet time."
Former Council Chair Ikaika Anderson, a close friend of the mayor, said Caldwell did the best job he could.
"Like anyone else he has faults," Anderson said. "But when people ask for help and he's able to help, he does."
The outgoing mayor said he doesn't have a job lined up, but he'll stay busy.
The outgoing mayor is considering writing some books, teaching, and possibly running for governor in two years.
He will continue to serve as a paid member of the board of Territorial Savings Bank. The mayor's side gig has been a point of contention and ethical concern over the years, but he says it just gave him an opportunity to stay sharp in the area of banking and finance, which used to be part of his law practice.
"It's a break from everything else I do," he said.
He's thought about writing a book or two. One idea is a book about the rail project.
"Large infrastructure projects are something I'm very passionate about," he said.
Caldwell is also thinking about writing a book that would highlight "people showing incredible courage during the pandemic."
The mayor has considered teaching too, either at the University of Hawaii law school or college-level public policy courses. He may also return to the island of Hawaii, where he grew up, to visit with his brother and sister and camp and fish at South Point. He also wants to fly to Maui to see friends and hike.
He also has unfinished business at his home, which he shares with his wife Donna Tanoue. And of course, he's considering that run for governor in 2022.
"But first, I'm going to decompress. Take a breath," he said. "We'll see. One step at a time."
Civil Beat readership has more than doubled in the past nine months. That's incredible growth for which we're so grateful.
But for a small nonprofit newsroom that provides free content with no paywall, readership growth alone can't sustain our journalism. The truth is that less than 1% of our monthly readers are financial supporters.
To remain a viable business model for local news, we need a higher percentage of readers-turned-donors.
Will you consider becoming a new donor today?
Christina Jedra
Christina Jedra is a reporter covering the City and County of Honolulu for Civil Beat. You can reach her by email at cjedra@civilbeat.org or follow her on Twitter at @christinajedra.
Use the RSS feed to subscribe to Christina Jedra's posts today
Support Nonprofit Journalism in Hawaii
Sorry. The minimumum donation amount is $5.00
One-Time Monthly Yearly
Getting Consent From Seniors Poses Barrier To COVID-19 Vaccine Rollout
Hawaii 'Proud Boy' Told To Stay Away From DC Or Face Another Arrest
Congresswoman Concerned About Hawaii Pandemic Response Got No Answers From Ige
Courtesy Unlimited Construction
Lee Cataluna: How One Company Is Going The Extra Mile To Help Its Working Parents


text:
Q: about Lagrange multipliers For the real numbers $a, b, c$ and $d$ such that: $a+b+c+d=4$    and $a^2+b^2+c^2+d^2=s \ge \frac {28}{3}$, I have to find the maximum value of the product $abcd$ in terms of $s.$ We may use the Lagrange multipliers, that means if $f(a,b,c,d)=abcd, g(a,b,c,d)=a+b+c+d-4$ and $h(a,b,c,d)=a^2+b^2+c^2+d^2-s,$ then
$bcd+λ_1+λ_2 a=0,$
$acd+λ_1+λ_2 b=0,$
$abd+λ_1+λ_2 c=0,$
$abc+λ_1+λ_2 d=0,$
or
$ \frac {f}{a}+λ_1+λ_2 a=0,$
$\frac {f}{b}+λ_1+λ_2 b=0,$
$\frac {f}{c}+λ_1+λ_2 c=0,$
$\frac {f}{d}+λ_1+λ_2 d=0.$
By adding them, we have: $f=-(λ_1+\frac{s λ_2}{4} )$ and I can't go further. On the other hand, I have a second thought:
$\sqrt {\frac{a^2+b^2+c^2+d^2}{4}} \ge \sqrt[4]{|a| |b| |c| |d|}=\sqrt[4]{|a b c d|}$
or
$\frac{s^2}{16} \ge |a b c d| \ge abcd$
Am I right?

A: You can end it after writing
$$abcd+\lambda_1a+2\lambda_2a^2=abcd+\lambda_1b+2\lambda_2b^2=abcd+\lambda_1c+2\lambda_2c^2=abcd+\lambda_1d+2\lambda_2d^2=0,$$ which gives
$$\lambda_1a+2\lambda_2a^2=\lambda_1b+2\lambda_2b^2=\lambda_1c+2\lambda_2c^2=\lambda_1d+2\lambda_2d^2$$ and from here
$$(a-b)(\lambda_1+2\lambda_2(a+b))=(a-c)(\lambda_1+2\lambda_2(a+c))=(a-d)(\lambda_1+2\lambda_2(a+d))=$$
$$=(b-c)(\lambda_1+2\lambda_2(b+c))=(b-d)(\lambda_1+2\lambda_2(b+d))=(c-d)(\lambda_1+2\lambda_2(c+d)).$$
Now, easy to get all critical points and the answer $\frac{(s-8)^2}{16}.$
I like the following way.
We can assume that $abcd>0$, which gives two cases.

*

*$a>0$, $b>0$, $c<0$ and $d<0$.
We rewrite $c$ as $-c$ and $d$ as $-d$.

Thus, $c>0$ and $d>0$.
Now, let $a+b=4+c+d=k$.
Thus, by C-S  $$s\geq\frac{1}{2}(a+b)^2+\frac{1}{2}(c+d)^2=\frac{1}{2}(k^2+(k-4)^2)=k^2-4k+8.$$
Also, by AM-GM
$$abcd\leq\left(\frac{a+b}{2}\right)^2\left(\frac{c+d}{2}\right)^2=\frac{k^2}{4}\cdot\frac{(k-4)^2}{4}=\frac{(k^2-4k)^2}{16}\leq\frac{(s-8)^2}{16}.$$
The equality occurs for $a=b$, $c=d$ and $k^2-4k+8=s,$ which is possible for $s\geq\frac{28}{3}.$
The second case, when all variables are positives, for you.

redpajama_set_name: RedPajamaStackExchange


text:
package org.spongepowered.common.mixin.core.entity.player;

import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.spongepowered.common.entity.CombatHelper.getNewTracker;

import com.flowpowered.math.vector.Vector3d;
import com.google.common.collect.Sets;
import net.minecraft.block.state.IBlockState;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.ai.attributes.ServersideAttributeMap;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.network.NetHandlerPlayServer;
import net.minecraft.network.Packet;
import net.minecraft.network.play.client.C15PacketClientSettings;
import net.minecraft.network.play.server.S02PacketChat;
import net.minecraft.network.play.server.S05PacketSpawnPosition;
import net.minecraft.network.play.server.S23PacketBlockChange;
import net.minecraft.network.play.server.S29PacketSoundEffect;
import net.minecraft.network.play.server.S48PacketResourcePackSend;
import net.minecraft.scoreboard.IScoreObjectiveCriteria;
import net.minecraft.scoreboard.Score;
import net.minecraft.scoreboard.ScoreObjective;
import net.minecraft.scoreboard.Team;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.management.ItemInWorldManager;
import net.minecraft.stats.StatBase;
import net.minecraft.stats.StatList;
import net.minecraft.util.BlockPos;
import net.minecraft.util.DamageSource;
import net.minecraft.util.FoodStats;
import net.minecraft.util.IChatComponent;
import net.minecraft.world.GameRules;
import net.minecraft.world.WorldSettings;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.block.BlockState;
import org.spongepowered.api.command.CommandSource;
import org.spongepowered.api.data.key.Keys;
import org.spongepowered.api.data.manipulator.DataManipulator;
import org.spongepowered.api.data.manipulator.mutable.entity.GameModeData;
import org.spongepowered.api.data.manipulator.mutable.entity.JoinData;
import org.spongepowered.api.data.type.SkinPart;
import org.spongepowered.api.data.value.mutable.Value;
import org.spongepowered.api.effect.particle.ParticleEffect;
import org.spongepowered.api.effect.sound.SoundType;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.entity.living.player.User;
import org.spongepowered.api.entity.living.player.gamemode.GameMode;
import org.spongepowered.api.entity.living.player.tab.TabList;
import org.spongepowered.api.event.SpongeEventFactory;
import org.spongepowered.api.event.cause.Cause;
import org.spongepowered.api.event.cause.NamedCause;
import org.spongepowered.api.event.entity.living.humanoid.ChangeGameModeEvent;
import org.spongepowered.api.event.entity.living.humanoid.player.PlayerChangeClientSettingsEvent;
import org.spongepowered.api.item.inventory.Carrier;
import org.spongepowered.api.item.inventory.type.CarriedInventory;
import org.spongepowered.api.network.PlayerConnection;
import org.spongepowered.api.profile.GameProfile;
import org.spongepowered.api.resourcepack.ResourcePack;
import org.spongepowered.api.scoreboard.Scoreboard;
import org.spongepowered.api.service.user.UserStorageService;
import org.spongepowered.api.text.BookView;
import org.spongepowered.api.text.Text;
import org.spongepowered.api.text.channel.MessageChannel;
import org.spongepowered.api.text.chat.ChatType;
import org.spongepowered.api.text.chat.ChatTypes;
import org.spongepowered.api.text.chat.ChatVisibility;
import org.spongepowered.api.text.title.Title;
import org.spongepowered.api.util.Tristate;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.common.SpongeImpl;
import org.spongepowered.common.data.manipulator.mutable.entity.SpongeGameModeData;
import org.spongepowered.common.data.manipulator.mutable.entity.SpongeJoinData;
import org.spongepowered.common.data.util.DataConstants;
import org.spongepowered.common.data.value.mutable.SpongeValue;
import org.spongepowered.common.effect.particle.SpongeParticleEffect;
import org.spongepowered.common.effect.particle.SpongeParticleHelper;
import org.spongepowered.common.entity.living.human.EntityHuman;
import org.spongepowered.common.entity.player.PlayerKickHelper;
import org.spongepowered.common.entity.player.tab.SpongeTabList;
import org.spongepowered.common.event.CauseTracker;
import org.spongepowered.common.event.SpongeCommonEventFactory;
import org.spongepowered.common.interfaces.IMixinCommandSender;
import org.spongepowered.common.interfaces.IMixinCommandSource;
import org.spongepowered.common.interfaces.IMixinEntityPlayerMP;
import org.spongepowered.common.interfaces.IMixinPacketResourcePackSend;
import org.spongepowered.common.interfaces.IMixinServerScoreboard;
import org.spongepowered.common.interfaces.IMixinSubject;
import org.spongepowered.common.interfaces.IMixinTeam;
import org.spongepowered.common.interfaces.text.IMixinTitle;
import org.spongepowered.common.interfaces.world.IMixinWorld;
import org.spongepowered.common.text.SpongeTexts;
import org.spongepowered.common.text.chat.SpongeChatType;
import org.spongepowered.common.util.BookFaker;
import org.spongepowered.common.util.LanguageUtil;
import org.spongepowered.common.util.SkinUtil;
import org.spongepowered.common.util.VecHelper;
import org.spongepowered.common.world.storage.SpongePlayerDataHandler;

import java.time.Instant;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
import java.util.Optional;
import java.util.Set;

import javax.annotation.Nullable;

@Mixin(EntityPlayerMP.class)
public abstract class MixinEntityPlayerMP extends MixinEntityPlayer implements Player, IMixinSubject, IMixinEntityPlayerMP, IMixinCommandSender,
        IMixinCommandSource {

    public int newExperience = 0;
    public int newLevel = 0;
    public int newTotalExperience = 0;
    public boolean keepsLevel = false;
    private boolean sleepingIgnored;

    private final User user = SpongeImpl.getGame().getServiceManager().provideUnchecked(UserStorageService.class).getOrCreate((GameProfile) getGameProfile());

    @Shadow @Final public MinecraftServer mcServer;
    @Shadow @Final public ItemInWorldManager theItemInWorldManager;
    @Shadow private String translator;
    @Shadow public NetHandlerPlayServer playerNetServerHandler;
    @Shadow public int lastExperience;
    @Shadow private EntityPlayer.EnumChatVisibility chatVisibility = EntityPlayer.EnumChatVisibility.FULL;
    @Shadow private boolean chatColours;

    @Shadow public abstract void setSpectatingEntity(Entity entityToSpectate);
    @Shadow public abstract void sendPlayerAbilities();
    @Shadow public abstract void func_175145_a(StatBase p_175145_1_);

    private Set<SkinPart> skinParts = Sets.newHashSet();
    private int viewDistance;
    private TabList tabList = new SpongeTabList((EntityPlayerMP) (Object) this);

    private WorldSettings.GameType pendingGameType;

    private Scoreboard spongeScoreboard = Sponge.getGame().getServer().getServerScoreboard().get();

    @Nullable private Vector3d velocityOverride = null;

    @Inject(method = "removeEntity", at = @At(value = "INVOKE",
            target = "Lnet/minecraft/network/NetHandlerPlayServer;sendPacket(Lnet/minecraft/network/Packet;)V"))
    private void onRemoveEntity(Entity entityIn, CallbackInfo ci) {
        if (entityIn instanceof EntityHuman) {
            ((EntityHuman) entityIn).onRemovedFrom((EntityPlayerMP) (Object) this);
        }
    }

    @SuppressWarnings("rawtypes")
    @Redirect(method = "onDeath", at = @At(value = "INVOKE", target = "Lnet/minecraft/scoreboard/Scoreboard;getObjectivesFromCriteria(Lnet/minecraft/scoreboard/IScoreObjectiveCriteria;)Ljava/util/Collection;"))
    public Collection onGetObjectivesFromCriteria(net.minecraft.scoreboard.Scoreboard this$0, IScoreObjectiveCriteria criteria) {
        return this.getWorldScoreboard().getObjectivesFromCriteria(criteria);
    }

    /**
     * @author blood - May 12th, 2016
     *
     * @reason SpongeForge requires an overwrite so we do it here instead. This handles player death events.
     */
    @Overwrite
    public void onDeath(DamageSource cause) {
        if (SpongeCommonEventFactory.callDestructEntityEventDeath((EntityLivingBase)(Object) this, cause) == null) {
            return;
        }

        if (this.worldObj.getGameRules().getBoolean("showDeathMessages")) {
            Team team = this.getTeam();

            if (team != null && team.getDeathMessageVisibility() != Team.EnumVisible.ALWAYS) {
                if (team.getDeathMessageVisibility() == Team.EnumVisible.HIDE_FOR_OTHER_TEAMS) {
                    this.mcServer.getConfigurationManager().sendMessageToAllTeamMembers((EntityPlayerMP)(Object) this, this.getCombatTracker().getDeathMessage());
                } else if (team.getDeathMessageVisibility() == Team.EnumVisible.HIDE_FOR_OWN_TEAM) {
                    this.mcServer.getConfigurationManager().sendMessageToTeamOrEvryPlayer((EntityPlayerMP)(Object) this, this.getCombatTracker().getDeathMessage());
                }
            } else {
                this.mcServer.getConfigurationManager().sendChatMsg(this.getCombatTracker().getDeathMessage());
            }
        }

        if (!this.worldObj.getGameRules().getBoolean("keepInventory")) {
            this.captureItemDrops = true;
            this.capturedItemDrops.clear();

            this.inventory.dropAllItems();

            this.captureItemDrops = false;
            if (this.capturedItemDrops.size() > 0) {
                IMixinWorld spongeWorld = (IMixinWorld) this.worldObj;
                final CauseTracker causeTracker = spongeWorld.getCauseTracker();
                causeTracker.setIgnoreSpawnEvents(true);;
                if (!SpongeCommonEventFactory.callDropItemEventDestruct((EntityPlayerMP)(Object) this, cause, this.capturedItemDrops).isCancelled()) {
                    for (net.minecraft.entity.item.EntityItem item : this.capturedItemDrops) {
                        joinEntityItemWithWorld(item);
                    }
                }
                causeTracker.setIgnoreSpawnEvents(false);
            }
        }

        for (ScoreObjective scoreobjective : this.worldObj.getScoreboard().getObjectivesFromCriteria(IScoreObjectiveCriteria.deathCount)) {
            Score score = this.getWorldScoreboard().getValueFromObjective(this.getName(), scoreobjective);
            score.func_96648_a();
        }

        EntityLivingBase entitylivingbase = this.getAttackingEntity();

        if (entitylivingbase != null) {
            EntityList.EntityEggInfo entitylist$entityegginfo = (EntityList.EntityEggInfo)EntityList.entityEggs.get(Integer.valueOf(EntityList.getEntityID(entitylivingbase)));

            if (entitylist$entityegginfo != null) {
                this.triggerAchievement(entitylist$entityegginfo.field_151513_e);
            }

            entitylivingbase.addToPlayerScore((EntityPlayerMP)(Object) this, this.scoreValue);
        }

        this.triggerAchievement(StatList.deathsStat);
        this.func_175145_a(StatList.timeSinceDeathStat);
        this.getCombatTracker().reset();
    }

    @Override
    public GameProfile getProfile() {
        return this.user.getProfile();
    }

    @Override
    public boolean isOnline() {
        return this.user.isOnline();
    }

    @Override
    public Optional<Player> getPlayer() {
        return this.user.getPlayer();
    }

    @Override
    public User getUserObject() {
        return this.user;
    }

    // Post before the player values are updated
    @Inject(method = "handleClientSettings", at = @At("HEAD"))
    public void processClientSettingsEvent(C15PacketClientSettings packet, CallbackInfo ci) {
        PlayerChangeClientSettingsEvent event = SpongeEventFactory.createPlayerChangeClientSettingsEvent(Cause.of(NamedCause.source(this)),
                (ChatVisibility) (Object) packet.getChatVisibility(), SkinUtil.fromFlags(packet.getModelPartFlags()),
                LanguageUtil.LOCALE_CACHE.getUnchecked(packet.getLang()), this, packet.isColorsEnabled(), packet.view);
        SpongeImpl.postEvent(event);
    }

    @Inject(method = "handleClientSettings", at = @At("RETURN"))
    public void processClientSettings(C15PacketClientSettings packet, CallbackInfo ci) {
        this.skinParts = SkinUtil.fromFlags(packet.getModelPartFlags()); // Returned set is immutable
        this.viewDistance = packet.view;
    }

    @Override
    public Locale getLocale() {
        return LanguageUtil.LOCALE_CACHE.getUnchecked(this.translator);
    }

    @Override
    public int getViewDistance() {
        return this.viewDistance;
    }

    @Override
    public ChatVisibility getChatVisibility() {
        return (ChatVisibility) (Object) this.chatVisibility;
    }

    @Override
    public boolean isChatColorsEnabled() {
        return this.chatColours;
    }

    @Override
    public Set<SkinPart> getDisplayedSkinParts() {
        return this.skinParts;
    }

    @Override
    public void sendMessage(ChatType type, Text message) {
        checkNotNull(type, "type");
        checkNotNull(message, "message");

        IChatComponent component = SpongeTexts.toComponent(message);
        if (type == ChatTypes.ACTION_BAR) {
            component = SpongeTexts.fixActionBarFormatting(component);
        }

        this.playerNetServerHandler.sendPacket(new S02PacketChat(component, ((SpongeChatType) type).getByteId()));
    }

    @Override
    public void sendBookView(BookView bookView) {
        BookFaker.fakeBookView(bookView, this);
    }

    @Override
    public void sendTitle(Title title) {
        ((IMixinTitle) (Object) title).send((EntityPlayerMP) (Object) this);
    }

    @Override
    public void spawnParticles(ParticleEffect particleEffect, Vector3d position) {
        this.spawnParticles(particleEffect, position, Integer.MAX_VALUE);
    }

    @Override
    public void spawnParticles(ParticleEffect particleEffect, Vector3d position, int radius) {
        checkNotNull(particleEffect, "The particle effect cannot be null!");
        checkNotNull(position, "The position cannot be null");
        checkArgument(radius > 0, "The radius has to be greater then zero!");

        List<Packet<?>> packets = SpongeParticleHelper.toPackets((SpongeParticleEffect) particleEffect, position);

        if (!packets.isEmpty()) {
            if (position.sub(this.posX, this.posY, this.posZ).lengthSquared() < (long) radius * (long) radius) {
                for (Packet<?> packet : packets) {
                    this.playerNetServerHandler.sendPacket(packet);
                }
            }
        }
    }

    @Override
    public PlayerConnection getConnection() {
        return (PlayerConnection) this.playerNetServerHandler;
    }

    // this needs to be overridden from EntityPlayer so we can force a resend of the experience level
    @Override
    public void setLevel(int level) {
        super.experienceLevel = level;
        this.lastExperience = -1;
    }

    @Override
    public String getSubjectCollectionIdentifier() {
        return ((IMixinSubject) this.user).getSubjectCollectionIdentifier();
    }

    @Override
    public String getIdentifier() {
        return this.user.getIdentifier();
    }

    @Override
    public Tristate permDefault(String permission) {
        return ((IMixinSubject) this.user).permDefault(permission);
    }

    @Override
    public void reset() {
        float experience = 0;
        boolean keepInventory = this.worldObj.getGameRules().getBoolean("keepInventory");

        if (this.keepsLevel || keepInventory) {
            experience = this.experience;
            this.newTotalExperience = this.experienceTotal;
            this.newLevel = this.experienceLevel;
        }

        this.clearActivePotions();
        this._combatTracker = getNewTracker(this);
        this.deathTime = 0;
        this.experience = 0;
        this.experienceLevel = this.newLevel;
        this.experienceTotal = this.newTotalExperience;
        this.fire = 0;
        this.fallDistance = 0;
        this.foodStats = new FoodStats();
        this.potionsNeedUpdate = true;
        this.openContainer = this.inventoryContainer;
        this.attackingPlayer = null;
        this.entityLivingToAttack = null;
        this.lastExperience = -1;
        this.setHealth(this.getMaxHealth());

        if (this.keepsLevel || keepInventory) {
            this.experience = experience;
        } else {
            this.addExperience(this.newExperience);
        }

        this.keepsLevel = false;
    }

    @Override
    public boolean isViewingInventory() {
        return this.openContainer != null;
    }

    @Override
    public void setScoreboard(Scoreboard scoreboard) {
        if (scoreboard == null) {
            scoreboard = Sponge.getGame().getServer().getServerScoreboard().get();
        }
        ((IMixinServerScoreboard) this.spongeScoreboard).removePlayer((EntityPlayerMP) (Object) this);
        this.spongeScoreboard = scoreboard;
        ((IMixinServerScoreboard) this.spongeScoreboard).addPlayer((EntityPlayerMP) (Object) this);
    }

    @Override
    public void initScoreboard() {
        ((IMixinServerScoreboard) this.spongeScoreboard).addPlayer((EntityPlayerMP) (Object) this);
    }

    @Override
    public Text getTeamRepresentation() {
        return Text.of(this.getName());
    }

    @Override
    public MessageChannel getDeathMessageChannel() {
        EntityPlayerMP player = (EntityPlayerMP) (Object) this;
        if (player.worldObj.getGameRules().getBoolean("showDeathMessages")) {
            @Nullable Team team = player.getTeam();

            if (team != null && team.getDeathMessageVisibility() != Team.EnumVisible.ALWAYS) {
                if (team.getDeathMessageVisibility() == Team.EnumVisible.HIDE_FOR_OTHER_TEAMS) {
                    return ((IMixinTeam) team).getTeamChannel(player);
                } else if (team.getDeathMessageVisibility() == Team.EnumVisible.HIDE_FOR_OWN_TEAM) {
                    return ((IMixinTeam) team).getNonTeamChannel();
                }
            } else {
                return this.getMessageChannel();
            }
        }

        return MessageChannel.TO_NONE;
    }

    @Override
    public net.minecraft.scoreboard.Scoreboard getWorldScoreboard() {
        return (net.minecraft.scoreboard.Scoreboard) this.spongeScoreboard;
    }

    @Override
    public Scoreboard getScoreboard() {
        return this.spongeScoreboard;
    }

    @Override
    public void kick() {
        kick(Text.of(SpongeImpl.getGame().getRegistry().getTranslationById("disconnect.disconnected").get()));
    }

    @Override
    public void kick(Text message) {
        final IChatComponent component = SpongeTexts.toComponent(message);
        PlayerKickHelper.kickPlayer((EntityPlayerMP) (Object) this, component);
    }

    @Override
    public void playSound(SoundType sound, Vector3d position, double volume) {
        this.playSound(sound, position, volume, 1);
    }

    @Override
    public void playSound(SoundType sound, Vector3d position, double volume, double pitch) {
        this.playSound(sound, position, volume, pitch, 0);
    }

    @Override
    public void playSound(SoundType sound, Vector3d position, double volume, double pitch, double minVolume) {
        this.playerNetServerHandler.sendPacket(new S29PacketSoundEffect(sound.getId(), position.getX(), position.getY(), position.getZ(),
                (float) Math.max(minVolume, volume), (float) pitch));
    }

    @Override
    public void sendResourcePack(ResourcePack pack) {
        S48PacketResourcePackSend packet = new S48PacketResourcePackSend();
        ((IMixinPacketResourcePackSend) packet).setResourcePack(pack);
        this.playerNetServerHandler.sendPacket(packet);
    }

    @Override
    public CommandSource asCommandSource() {
        return this;
    }

    @Override
    public ICommandSender asICommandSender() {
        return (ICommandSender) this;
    }

    @Override
    public boolean isSleepingIgnored() {
        return this.sleepingIgnored;
    }

    @Override
    public void setSleepingIgnored(boolean sleepingIgnored) {
        this.sleepingIgnored = sleepingIgnored;
    }

    @Override
    public Vector3d getVelocity() {
        if (this.velocityOverride != null) {
            return this.velocityOverride;
        }
        return super.getVelocity();
    }

    @Override
    public void setImplVelocity(Vector3d velocity) {
        super.setImplVelocity(velocity);
        this.velocityOverride = null;
    }

    @Override
    public void setVelocityOverride(@Nullable Vector3d velocity) {
        this.velocityOverride = velocity;
    }

    @SuppressWarnings("unchecked")
    @Override
    public CarriedInventory<? extends Carrier> getInventory() {
        return (CarriedInventory<? extends Carrier>) this.inventory;
    }

    @Inject(method = "setGameType(Lnet/minecraft/world/WorldSettings$GameType;)V", at = @At("HEAD"), cancellable = true)
    private void onSetGameType(WorldSettings.GameType gameType, CallbackInfo ci) {
        ChangeGameModeEvent.TargetPlayer event = SpongeEventFactory.createChangeGameModeEventTargetPlayer(Cause.of(NamedCause.source(this)),
                (GameMode) (Object) this.theItemInWorldManager.getGameType(), (GameMode) (Object) gameType, this);
        SpongeImpl.postEvent(event);
        if (event.isCancelled()) {
            ci.cancel();
        }
        this.pendingGameType = (WorldSettings.GameType) (Object) event.getGameMode();
    }

    /**
     * This injector must appear <b>after</b> {@link #onSetGameType} since it
     * assigns the {@link #pendingGameType} returned by the event to the actual
     * local variable in the method.
     */
    @ModifyVariable(method = "Lnet/minecraft/entity/player/EntityPlayerMP;setGameType(Lnet/minecraft/world/WorldSettings$GameType;)V", at = @At(value = "HEAD", remap = false), argsOnly = true)
    private WorldSettings.GameType assignPendingGameType(WorldSettings.GameType gameType) {
        return this.pendingGameType;
    }

    @Redirect(method = "onDeath", at = @At(value = "INVOKE",
            target = "Lnet/minecraft/world/GameRules;getBoolean(Ljava/lang/String;)Z", ordinal = 0))
    public boolean onGetGameRules(GameRules gameRules, String gameRule) {
        return false; // Suppress death messages since this is handled together with the event calling
    }

    @Override
    public void resetAttributeMap() {
        // The name is wrong - it's used on the client and server
        this.attributeMap = new ServersideAttributeMap();
        this.applyEntityAttributes();

        // Re-create the array, so that attributes are properly re-added
        this.previousEquipment = new ItemStack[5];
    }

    @Override
    public TabList getTabList() {
        return this.tabList;
    }

    @Override
    public void setTargetedLocation(@Nullable Vector3d vec) {
        super.setTargetedLocation(vec);
        this.playerNetServerHandler.sendPacket(new S05PacketSpawnPosition(VecHelper.toBlockPos(this.getTargetedLocation())));
    }

    @Override
    public JoinData getJoinData() {
        return new SpongeJoinData(SpongePlayerDataHandler.getFirstJoined(this.getUniqueID()).get(), Instant.now());
    }

    @Override
    public Value<Instant> firstPlayed() {
        return new SpongeValue<>(Keys.FIRST_DATE_PLAYED, Instant.EPOCH, SpongePlayerDataHandler.getFirstJoined(this.getUniqueID()).get());
    }

    @Override
    public Value<Instant> lastPlayed() {
        return new SpongeValue<>(Keys.LAST_DATE_PLAYED, Instant.EPOCH, Instant.now());
    }

    // TODO implement with contextual data
//    @Override
//    public DisplayNameData getDisplayNameData() {
//        return null;
//    }

    @Override
    public GameModeData getGameModeData() {
        return new SpongeGameModeData((GameMode) (Object) this.theItemInWorldManager.getGameType());
    }

    @Override
    public Value<GameMode> gameMode() {
        return new SpongeValue<>(Keys.GAME_MODE, DataConstants.Catalog.DEFAULT_GAMEMODE,
                (GameMode) (Object) this.theItemInWorldManager.getGameType());
    }

    @Override
    @Nullable
    public Text getDisplayNameText() {
        return Text.of(getName());
    }

    @Override
    public void setDisplayName(@Nullable Text displayName) {
        // Do nothing
    }

    @Override
    public void supplyVanillaManipulators(List<DataManipulator<?, ?>> manipulators) {
        super.supplyVanillaManipulators(manipulators);
        manipulators.add(getJoinData());
        manipulators.add(getGameModeData());
    }

    @Override
    public void sendBlockChange(int x, int y, int z, BlockState state) {
        checkNotNull(state, "state");
        S23PacketBlockChange packet = new S23PacketBlockChange();
        packet.blockPosition = new BlockPos(x, y, z);
        packet.blockState = (IBlockState) state;
        this.playerNetServerHandler.sendPacket(packet);
    }

    @Override
    public void resetBlockChange(int x, int y, int z) {
        S23PacketBlockChange packet = new S23PacketBlockChange(this.worldObj, new BlockPos(x, y, z));
        this.playerNetServerHandler.sendPacket(packet);
    }

}

redpajama_set_name: RedPajamaGithub


Forfeiture is a weapon used by the government in virtually all white collar cases to obtain enormous judgments against defendants. Increasingly, the government seeks forfeiture in addition to restitution, resulting in double judgments in criminal cases. Few attorneys focus on this critical fact while preparing the case and, as a result, the government obtains crippling money judgments against criminal defendants. Federal criminal defense attorney Hope Lefeber focuses on this problem from the beginning of the case, always working to minimize the financial penalties for her clients.
In addition, the government can seek a money judgment against a defendant and will seek to forfeit assets and wages that do not exist at the time of conviction but which the defendant earns or acquires in the future. The results can be devastating.
Although there are some occasions where the government seizes property pretrial, criminal forfeiture is a punitive measure usually taken against a defendant after a conviction. While the crime has to be proven beyond a reasonable doubt, forfeiture requires a lower burden of proof. The government only needs to show by a preponderance of the evidence that the defendant obtained the property around the time of the crime and that it was unlikely it came from any other source. The burden then shifts to the defendant to prove this is not the case. In addition, federal law authorizes a forfeiture judgment in the total amount of the proceeds of the illegal activity, so the government often seeks a money judgment in cases where there is no specific property to seize.
When forfeiture is charged in the indictment, defenses to the government's action exist and must be vigorously pursued. Consult with Philadelphia criminal defense lawyer Hope Lefeber to discuss what options are available to you. Call 610-668-7927 or complete our online form today.


text:
Army Ranger 1st Lieutenant Michael Behenna Sentenced to 25 Years for Killing Known Terrorist in Self-Defense – Show Him Some Support
Home » Army Ranger 1st Lieutenant Michael Behenna Sentenced to 25 Years for Killing Known Terrorist in Self-Defense – Show Him Some Support
While GITMO enemy combatants are freed only to go back to the killing fields of jihad, our boys rot in prison for fighting these savages.
On March 20th, 2009, Army Ranger 1st Lieutenant Michael Behenna was sentenced to 25 years in prison for killing Ali Mansur, a known Al Qaeda operative while serving in Iraq. Mansur was known to be a member of an Al Qaeda cell operating in the lieutenant's area of operation and Army intelligence believed he organized an attack on Lt. Behenna's platoon in April 2008 which killed two U.S. soldiers and injured two more. Army intelligence ordered the release of Mansur and Lt. Behenna was ordered to return the terrorist to his home.
During the return of Mansur, Lt. Behenna again questioned the Al Qaeda member for information about other members of the terrorist cell, and financial supporters. During this interrogation, Mansur attacked Lt. Behenna, who killed the terrorist in self-defense. The government subsequently prosecuted Lt. Behenna for premeditated murder.
Not only is this a miscarriage of justice on the behalf of Lt. Behenna, who was acting to prevent further loss of life in his platoon, it is demoralizing to the U.S. troops who continue to fight on behalf of the freedom and security of our nation. Whether it is U.S. border patrol agents, members of the armed forces, or FBI agents, no individual who is serving on the frontlines in the War on Terror should be so blatantly mistreated.
A note from Michael Behanna's parents –
Please consider sending Michael a card, a letter, or even a money order (for snacks and phone calls) during this upcoming holiday season. We promise you it will make Michael's day! Michael's address is:
Michael Behenna 87503
1300 N. Warehouse Road
Ft. Leavenworth, KS 66027-2304
www.defendmichael.com
To the thousands of Michael supporters,
A retired Army colonel recently told us that there are three things that will change a person's soul: war, prison, and the desert. These are all things that Michael has experienced in the past five years. As for the state of Michael's soul we would say emphatically that it is at peace. In fact that is what Michael told the reviewers at his first Parole Hearing at the US Disciplinary Barracks (USDB) in Leavenworth on October 22nd. Without qualification he has no bitterness or enmity towards anyone for the unimaginable path he has traveled. Instead he continues to read, study, and improve himself as he looks forward to a future beyond prison walls. The USDB Board Michael met with will make a recommendation to the full Army Clemency and Parole Board in Washington DC. Hopefully, we will be scheduled to represent Michael before the full Parole Board some time in December. We will know two weeks after the full Board Hearing as to whether Michael will receive Parole.
The holidays are fast approaching. For most of us that means the hustle and bustle of busy malls, Christmas music, and time with family and friends. But for those like Michael who 'celebrate' the holidays behind iron bars there is a dark and heavy cloud of loneliness that is difficult to fathom. Amid the smiles and laughter inside the packed visitation room at Leavenworth there remains an unspoken sadness; the cruel knowledge that when the clock strikes 4pm families will exit out one door into the fresh air of freedom and the inmates will exit out another door that takes them back to an unnatural place, devoid of so much of what we consider human. One door represents life, the other door represents death.
Like life and death, grief and gratitude are blood brothers. One cannot have one without the other. It is almost always the experience of grieving what has been lost that makes us aware of how much we have to be grateful for. So on this coming Thanksgiving day, as our family sits between those two doors in the crowded visitation room at Leavenworth, our hearts will be filled with gratitude for the blessing of sharing time with those we love most on this earth. We will know that our time is short, but it is that very knowledge that will help us appreciate it even more.
Our gratitude extends to all of you who have supported our son and our family on this journey. May you each have a wonderful Thanksgiving that is filled with a grateful heart and time spent with those you love.
Peace be with you all,
Scott & Vicki Behenna
P.S. Please consider sending Michael a card, a letter, or even a money order (for snacks and phone calls) during this upcoming holiday season. We promise you it will make Michael's day! Michael's address is:
Editor's Note: In addition, here is contact information for the Army Review Boards Agency (ARBA):
ATTN: Congressional and Special Actions 251 18th Street South, Suite 385 Arlington, VA 22202-3531
al-qaeda ali mansur Army Clemency and Parole Board michael behanna pamela geller scott behenna US Disciplinary Barracks vicki behenna
State Department Official Stonewalls & Helps Keep Truth About Ambassador's Death Suppressed
NC Doctor Blasts Gaston Memorial Hospital Admin Over Resignation Of 20 Doctors

redpajama_set_name: RedPajamaCommonCrawl


text:
Kate Middleton and Prince William's tour of Canada - Day Two in pictures
The Duke and Duchess of Cambridge attended four official engagements in a whistlestop visit of Vancouver.
By Priya Joshi
Updated September 26, 2016 17:21 BST
Prince William and Kate Middleton begin offical engagments on second day of Canadian royal tour	Reuters
Just a day after they arrived in Canada for their royal tour, Prince William and Kate Middleton got straight to work with a day of official engagements. Leaving the children behind at Government House in Victoria, the royal couple set off for a whistlestop tour of Vancouver, taking in the scenic beauty of the location before meeting local residents who have benefited from the charitable services offered in the community.
Prince William and Kate share a joke at the Immigrant Support Services Centre AFP/Getty
Following a rousing reception, as thousands of people turned out to greet them, the royals travelled to the Downtown East Side of Vancouver to meet the team at Sheway, a charity that provides support to vulnerable mothers dealing with a range of issues including addiction.
Visiting a pregnancy outreach programme the Duke and Duchess couldn't hide their delight as they watched a toddler being weighed.
Later the royals were joined by Canadian Prime Minister Justin Trudeau and his wife, Sophie, for a visit to the Immigration Services Society of British Columbia where they met with staff and volunteers who support over 25,000 migrants to Canada each year. Among them were those who fled war-torn Syria.
Catherine, Duchess of Cambridge greets members of the public after after arriving by sea plane at the Vancouver Harbour Flight Centre during their Royal Tour of Canada on September 25, 2016 in Vancouver, Canada AFP/Getty
During the visit the group stopped to watch children play in a sand pit. In adorable moment a young girl came forward to present Kate with a posy of flowers and the pair shared a warm exchange as the mother-of-two examined the child's hand.
In the third engagement of the day the royals attended a youth reception at Telus Gardens where they met young Canadians who are helping to make a difference in their communities.
The day concluded with a visit to the Kitsilano Coastguard Station in Vanier park where they learnt about the round the clock operation to support people who come into trouble on the water that surrounds the coastal city, before returning to Victoria to rejoin their children.
Kate charmed royal watchers as she posed for photos AFP/Getty
Kate is presented with flowers and gifts as she stops to chat with royal admirers AFP/Getty
Catherine, Duchess of Cambridge and Prince William, Duke of Cambridge joined mothers at Sheway for tea and scones as they learnt about the charity's work in helping vulnerable mothers battling issues such as addiction AFP/Getty
Prince William marvelled at how well-behaved the toddler was during the weigh-in, while Kate commented that she could never get Prince George to sit still AFP/Getty
The royal couple were presented with gifts of teddy bears for Prince George and Princess Charlotte AFP/Getty
Canadian Prime Minister Justin Trudeau and wife Sophie Trudeau look on as Kate and William unveil a plaque during their visit to the Immigrant Services Society of British Columbia AFP/Getty
Catherine, Duchess of Cambridge, Prince William, Duke of Cambridge, Canadian Prime Minister Justin Trudeau and wife Sophie Trudeau watch children play in a sand pit during a visit to the Immigrant Services Society of British Columbia New Welcome Centre AFP/Getty
Kate Middleton receives flowers from a young girl during their visit to the Immigrant Services Society of British Columbia New Welcome Centre AFP/Getty
In another adorable image Kate tenderly examines the child's hand AFP/Getty
Catherine, Duchess of Cambridge and Prince William, Duke of Cambridge join Canadian Prime Minister Justin Trudeau and wife Sophie Trudeau in the Vancity room to meet members of TechStart and MY Circle youth during their visit to the Immigrant Services Society of British Columbia New Welcome Centre AFP/Getty
Catherine, Duchess of Cambridge, Prince William, Duke of Cambridge with their hosts Prime Minister Justin Trudeau and his wife Sophie Gregoire-Trudeau AFP/Getty
Kate looked stylish in an Alexander McQueen dress AFP/Getty
Prince William, Duke of Cambridge Catherine, Duchess of Cambridge, with Syrian refugees Yosra Alamahameed and her daughter, Reemus, during their visit to the Immigrant Services Society AFP/Getty
Thousands of wellwishers turned out at the Vancouver Harbour Flight Centre to welcome the royal couple AFP/Getty
In pictures: Highlights of Prince William, Kate Middleton, George and Charlotte's tour of Canada
Prince George and Princess Charlotte take Canada Day One: the unofficial royal diary
This article was first published on September 25, 2016
Related topics : Prince William Kate Middleton
YOU MIGHT LIKE THISSponsored Content by Taboola


text:
Nicolas Portal, nascido em  em Auch (Gers) e falecido em  em Andorra-a-Velha (Andorra), foi um ciclista francês da década de 2000, que se tornou diretor desportivo. O seu principal triunfo é uma vitória de etapa no Critérium du Dauphiné Libéré.

Foi diretor desportivo da equipa Team Sky, renomeada Ineos. Durante a sua carreira totalizou uma única vitória individual nos profissionais. Como diretor desportivo, conseguiu oito Grandes Voltas, seis no Tour de France, com Christopher Froome (2013, 2015, 2016, 2017), Geraint Thomas (2018) e Egan Bernal (2019). Falece de uma paragem cardíaca à idade de 40 anos.

Biografia
Nicolas Portal é o irmão mais novo de Sébastien Portal, igualmente ciclista profissional.

Carreira
Nicolas Portal começou no ciclismo no BTT, depois é contratado em final de temporada de 2001, como estagiário na equipa francesa AG2R Prévoyance, em 2002 tem os seus começos profissionais em estrada. Durante a sua segunda temporada com a equipa, classifica-se terceiro do campeonato da França de Ciclismo Contrarrelógio por trás de Eddy Seigneur e Stéphane Barthe. Em 2004, impõe-se em solitário durante a terceira etapa do Critérium do Dauphiné liberé. Trata-se da sua única vitória nos profissionais. Em 2006, corre pela equipa espanhola Caisse d'Épargne, onde ocupa um papel de jogador para os seus líderes. Faz parte da equipa que ganha o Tour de France de 2006 com Óscar Pereiro. Em 2009, foi obrigado a parar de competir durante seis mês devido a uma arritmia cardíaca

Alinha em 2010 com a formação Sky, uma nova equipa britânica, onde efectua uma temporada completa antes de pôr um termo à sua carreira de corredor. Durante a sua carreira desportiva, participa no total em sete grandes voltas - seis Voltas a França e uma Volta a Espanha - e termina no top 10 de etapa da Vuelta em três participações. Entre os tempos fortes da sua carreira, tem sido igualmente classificado entre os 10 primeiros à classificação geral das Quatro Dias de Dunquerque e da Tour de Limusino e terminou em 16.º na Paris-Roubaix em 2003.

Após a temporada de 2010, Dave Brailsford, o diretor da equipa Sky, propõe o posto de diretor desportivo ao finalizar a estação.

Durante o Tour de France de 2013, é diretor desportivo em chefe da equipa Sky (sucedendo a Sean Yates que ocupava este papel em 2012). Leva o líder da equipa Christopher Froome à vitória final deste Tour. É citado com frequência como o mais jovem diretor desportivo vencedor do Tour de France enquanto Cyrille Guimard tinha 29 anos durante a vitória de Lucien Van Impe no Tour 1976. Nicolas Portal dirige ainda Christopher Froome durante as suas vitórias do Tour de France de 2015, 2016 e 2017, da Volta a Espanha de 2017 e do Giro d'Italia de 2018. Dirige igualmente Geraint Thomas durante a sua vitória durante o Tour de France de 2018, que Froome termina no terceiro lugar, e Egan Bernal que consegue o Tour de France de 2019 com Geraint Thomas no segundo lugar.

Óbito
Nicolas Portal falece em 3 de março na Andorra-a-Velha (Andorra), à idade de 40 anos de um ataque cardíaco.

Palmarés
 2003
 3.º do campeonato da França de contrarrelógio
 2004
 3. ª etapa do Critérium do Dauphiné
 2005
 3. ª etapa da Volta a Castela e Leão (contrarrelógio por equipas)
 2007
 1.ª etapa da Volta à Catalunha (contrarrelógio por equipas, com Caisse d'Épargne)

Resultados nas grandes voltas

Tour de France
6 participações :
 2003 : 82.º
 2004 : 72.º
 2005 : 88.º
 2006 : 100.º
 2007 : 57.º
 2008 : 66.º

Volta a Espanha
1 participação :
 2002 : 84.º

Ligações externas

Ciclistas da França
Diretores desportivos
Naturais de Auch
Mortes por infarto agudo do miocárdio

redpajama_set_name: RedPajamaWikipedia


If I was Chris Church I'd be modifying some CA14 omnis so they can be worn like these binaural headsets.
I'd be first in line to buy a pair.
I like this rig a lot for metal detector stealth.
pardon my ignorance but when you say metal detector stealth are you saying that the metal detectors don't pick this up or just that the equipment looks innocuous enough that you don't get hassled?
Metal detectors have not been picking up the Baby NBox or mics. Deck goes in the pass through bin.
I have a similar setup but with the naiant ipa. This is my favorite stealth setup: mbho, neuman, schoeps or dpa caps > actives or kcy > ipa or nbox > pcm10.
Provides professional capsule sourcing > actives or kcy cables > ipa or nbox (prefer ipa for 3 gain selections and line in) > pcm10 (if you can find one).
Also allows to upgrade to a full rig with mic bodies and a preamp or a quality deck.
Anyone try these? This should be the smallest rig.
I could have used these yesterday at my daughter's final college concert yesterday. The band and choir went from the auditorium to the foyer that had this really cool echo effect. I was in between many instruments and the choir was all around and up in the second and third level balcony. It was awesome! I have the video of it.
DPA 4061 > MPS6030 > Sony PCM-M1. This setup is able to get into anything if you know how to do it. Metal detector, pat-down, wand including cavity search I have never, ever been busted at the door with this. Or anything, at the door.
I'm currently using my OKM II Rock with the Zoom iQ6 Soundman mod (capsules out, 3.5 jack in) on my iPhone. That thingy is a bit bigger than the d:vice, but a lot cheaper and since I'm only doing a handful shows a year, this setup does pretty well.
I haven't received my Oade mod 620 yet but I'm hoping mk41/41v>baby nbox>620 will be my ultimate rig. The mic pre in the m10 is Just ok imo ( what'd I expect out of the on board pre of a stock $250 recorder really?)and has a bit of trouble with loud rock. Not distortion but sort of a breakdown. Personally the nbox is too big for me to comfortably  with. The last couple of years are the first I haven't run an Oade deck, pre or AD. Looking forward to it.
It depends on the settings on the metal detectors. At the Greek Theater in Berkeley my little belt buckle set it off. This is not the buckle used to give a false positive, but my regular belt. Gear didn't pass through metal detector so I know it wasn't the gear.
Of all places the Spokane Arena has hot detectors. The above rig was a no go twice. Usual storage of gear.
Good to know edtyre, thanks for the heads up!
In my area nothing gets thru metal detectors . For me its better to declare it. I have been testing coresound HEB into a LGv20 cell phone. If I roll up the mics tight I can hide in my keys. The battery box I can say is a extra battery for my phone .
You don't worry that they will say anything about the M10 in the pass through bin? I've gotten my gear through so far, but I've kept all of it on me.


Thank you for booking with us. We require a deposit payment to hold the room for you.
We are at the moment implementing a new booking and payment system in to our website. We hope to have this completed by the end of January 2016.
In the mean time please call us on +44 (0) 20 8144 2166 and we will be very happy to take your deposit by credit or debit card over the phone.


text:
HNP
Huaneng Power News
Follow HNP
Huaneng Power International, Inc.: Domestic Power Generation in the First Three Quarters of 2020 Decreased by 2.86% Year-On-Y...
October 19 2020 - 10:07AM
BEIJING, Oct. 19, 2020 /PRNewswire/ -- Huaneng Power International, Inc. ("HPI", the "Company") (NYSE: HNP; HKEx: 902; SSE: 600011) today announced its power generation in the first three quarters of 2020.
According to the preliminary statistics of Huaneng Power International, Inc., (the "Company"), in the third quarter of 2020, the Company's total power generation by power plants within China on consolidated basis amounted to 110.385 billion kWh, representing an increase of 3.34% over the same period last year. Total electricity sold by the Company amounted to 103.790 billion kWh, representing an increase of 0.81% over the same period last year. In the first three quarters of 2020, the Company's total power generation by the power plants within China on consolidated basis amounted to 293.541 billion kWh, representing a decrease of 2.86% over the same period last year. Total electricity sold by the Company amounted to 275.914 billion kWh, representing a decrease of 4.19% over the same period last year. For the first three quarters of 2020, the Company's average ongrid electricity settlement price for its power plants within China amounted to RMB412.52 per MWh, representing a decrease of 1.24% over the same period last year. For the first three quarters of 2020, the Company's market based electricity sold amounted to 156.228 billion kwh, with a ratio of 56.94% comparing to the corresponding total electricity sold, representing an increase of 5.71 percentage points over the same period last year.
The decrease in the Company's power generation was mainly attributable to the following factors:
Affected by the COVID-19 epidemic, the national electricity consumption growth slowed down;
The national wind power, photovoltaic and other new energy installations maintained a continuous and large-scale production momentum, thus crowding out the space for growth in thermal power generation. Jilin, Hubei, Chongqing, Jiangsu and other provinces and cities had increased hydropower generation significantly compared to the same period last year, and further squeezed the space for thermal power generation;
The increase of new thermal power units in areas where the Company is located had resulted in a decrease in the average utilization hours in those areas. While the Company had fewer new units and with the total installed capacity in the areas increases, the proportion of the Company's share of unit capacity decreases, thus resulting in a decline in thermal power generation compared to the same period last year.
The power generations (in billion kWh) of the Company, by regions, are listed below:
Electricity Sold
July to September 2020
January to September 2020
Heilongjiang Province
Wind-power
Jilin Province
Hydro-power
Biomass power
Liaoning Province
Hebei Province
Gansu Province
Shanxi Province
Shandong Province
Henan Province
Zhejiang Province
Hubei Province
Jiangxi Province
Auhui Province
Fujian Province
Guizhou Province
Hainan Province
For the third quarter of 2020, the power generation of Tuas Power Limited in Singapore, which is wholly-owned by the Company, accounted for a market share of 21.6% in Singapore, representing an increase of 1.1 percentage points compared to the same period last year. In the first three quarters of 2020, the accumulated power generation accounted for a market share of 21.5%, representing an increase of 1.0 percentage point compared to the same period last year.
In the third quarter of 2020, the Company has put into operation a total of 940.42MW of controlled installed capacity, and a total of 940.42MW of equity installed capacity; of which, thermal power units were 472.52MW, wind power units were 392.9MW, and photovoltaic units were 75MW.
In the third quarter of 2020, the Company's wholly-owned Huaneng Fujian Luoyuan Power Plant which has two units with capacity of 1,320MW, and the 80%-owned Huaneng Shandong Yantai Bajiao Power Plant which has two units with capacity of 1,340MW, officially transferred to commercial operation.
Meanwhile, the installed capacity of certain power plants invested by the Company changed in the third quarter of 2020.
Based on the above, as of 30 September 2020, the Company had a controlled installed capacity of 111,971MW and an equity-based installed capacity of 98,217MW.
About Huaneng Power International, Inc.
Huaneng Power International, Inc. is one of China's largest listed power producers with controlled generation capacity of 111,971MW and equity-based generation capacity of 98,217MW. The power plants of the Company are located in 26 provinces, autonomous regions and municipalities in China. The Company also has a wholly-owned power company in Singapore, and an invested power company in Pakistan.
View original content:http://www.prnewswire.com/news-releases/huaneng-power-international-inc-domestic-power-generation-in-the-first-three-quarters-of-2020-decreased-by-2-86-year-on-year-301154850.html
SOURCE Huaneng Power International, Inc.
Huaneng Power (NYSE:HNP)
Latest HNP Messages


text:
Home Tags Posts tagged with "Jihadist"
Jihadist
Jihadist Sees God In A Dream And Confesses "I Fell In Love With Jesus"
by Christel Berns November 16, 2019
written by Christel Berns
Al Fadi was a Wahabbi Muslim from Saudi Arabia. He was a devout followers of Islam who was willing to fight and die for Allah just like what any Jihadist would do. At 12 years old, he memorized half of the Qur'an because his goal was to memorize everything in their holy book.
"The reason why I did that because Islam is a religion of works. And every single thing you do to please this God that you're following will add more good deeds that you may need on judgment day to help you earn your way to heaven," he said.
The Only Acceptable Religion
"A Muslim is brought up to believe Islam is the final religion, the only acceptable religion to God."
"And also, Islam teaches that its book, the Qur'an, is the final revelation from God. All other books that came before that are either lost or corrupted as in the case of the Bible."
Growing up, Al Fadi believed that Islam was the one and only true religion. For that reason, he looked down at those who did not follow his religion.
How Jihadists Are Born
In 1979, the Soviets invaded Afghanistan. Many muslim men left the country to fight.
"I wanted to go and fight and die knowing that this is my hope. To earn that salvation," he recalled.
But God used his mother to stop him from following such a path. And although he wasn't able to join the other Muslim men to fight, in his heart he was a Jihadist.
A couple of years later he attended an Islamic University in Mecca. And he began to study Sharia law. He wanted to become a Sharia scholar and become a judge. However, a year and a half later, the LORD turned his heart off on this idea.
Deciding To Study In The West
Al Fadi then moved back to his home and graduated in a local University as an Engineer. Shortly after graduation, his father asked him if he would like to go to the west to earn a graduate degree.
Many Muslims in the Middle East think of the West as a corrupted society. Nevertheless, he was excited to go to the West to study. He liked the prestige that the graduate degree would give him. So he pursued it at the University of Alberta.
Muslim Man Praying to Allah Encounters Jesus
Introduction to Christians
Soon after coming to the university he became a part of an organization called Friends of Internationals. He was hoping this group would help him improve his English. But he never knew that it was a Christian ministry.
That was the first time he met Christians. He found them to be loving and kind, and they were totally different from what he thought were Christians. They had a genuine heart and desire to help him. And when he was graduating from the english school they even surprised him by taking the day off just to attend his ceremony. That touched Al Fadi's heart. He realized that "not everything I learned about Christianity back home was true."
After graduation he met a young Christian person at work and they struck up a friendship. Al Fadi began to share with him about Islam. To his surprise, his friend's faith was never shaken.
"But everything that he was firing back at me was kept inside. And I would go back home and begin to think about what he says," Al Fadi said.
"Why is he convinced that the Bible is the inherent word of God? Why does he truly believe that Jesus is God in the flesh?"
Because of that, he continued to seek for the truth in order to compare Islam to Christianity.
His Eyes Were Opened
"I began to realize there is more to the story of the Cross and the Gospel than what I was told or at least grew up to believe," he confessed.
Over time, Al Fadi got so discouraged with his religion. He even began to forsake his religious duties as a follower of Mohammad.
Going To A Christian Church
In 2001, one Sunday in May, after many invitations from friends, he decided to go to church.
"I'm gonna go to church and learn from their sermons and preaching, what exactly do they teach people like my friend and that family. So that I can use it against them and convert them to Islam," he said.
There, he sat down at the very last pew and felt that the message was directed at him.
He went back the next Sunday and still, the whole message was directed at him. Every Sunday that he went he felt God delivering a message tailored just for him.and then one Sunday everything in him felt different.
Falling In Love With Jesus In The Bible
"All of a sudden, the mindset of a Muslim person who rejected Christ as the Son of God or God incarnate, I fell in love with this Jesus," recalled Al Fadi.
He added, "I really wanna follow Him even if He was a figment of my own imagination."
The September 11th attack was the wake up call for him. After the attack, he began to have visions or nightmares that he had died standing before the throne of God, and God asking him one simple question, "Why did you reject My son?" He didn't have an answer for that.
A couple of months later, in November of 2001 he finally admitted that he needed Jesus as his Lord and Savior and accepted Him into his life. And although his own family disowned him, he kept the faith.
Becoming A New Creation In Christ
Today, Al Fadi is a researcher, editor, writer, and translator for numerous ministries. He even started his own ministry. He seeks to reach out to his fellow brothers and sisters in Islam to show them the love of God through His Son, Jesus Christ.
Watch the video to know the full story of Al Fadi!
A Jihadist Overcome by the Love of Jesus || Al Fadi former Wahabbi Muslim from Saudi Arabia
Source: YOUR LIVING MANNA


TrustMAPP® was developed by a consulting firm on the ground floor of the information security field: Secure Digital Solutions (SDS). Driven by customer needs for efficiency and solving a portion of the growing skills gap in the industry TrustMAPP® saves teams up to 70% of time to assess, create metrics and plan security program initiatives.
The highly refined assessment templates, scoring engine, and graphic summaries in TrustMAPP® is developed with a team having over 75 years of collective experience managing IT and cyber security and privacy programs.
TrustMAPP® is solving security leaders challenge by maximizing their time and resources while providing 1) fast, accurate assessment across enterprises; 2) strategic program guidance based on costs and benefits; and 3) communication that resonates with executives and board of directors addressing cyber risk.
Try TrustMAPP or see how to guide your management with an information security MAPP.
See the most intelligent information security management platform for yourself, or talk to an expert.
What is Cyber Security Performance Management?
©2019 Secure Digital Solutions, LLC All rights reserved.
TrustMAPP and MAPP are registered Service Marks of Secure Digital Solutions, LLC.


Here we review GC Capital Ideas posts on how catastrophic exposures are adversely impacting public entities.
Growing Public Sector Debt: Many governments today are straining under public debt and many of the most catastrophically exposed governments are in the worst financial position. This is particularly true for countries exposed to the perils of flood, tropical cyclone and earthquake. Compounding this situation are demographic and economic trends that are adding additional pressure on already stressed balance sheets, both in emerging and developed economies.
Insured Versus Uninsured Loss: There are a number of factors that contribute to the gap between economic loss and insured loss and as new risks emerge such as climate change and political risk, this gap will only continue to widen.