text:
Advocacy, Community development, General
What to do when the landlord comes for your intelligence.
Snidely Whiplash, a cartoon villain archetype. Landlords aren't villains, though they seem intent on making you think they are with their dumb advocacy against Lift the Ban.
A warning about rent control
To hear landlords describe Lift the Ban, you would think that tenants are planning to steal their livelihoods and force them into the poor house using rent control.
They point to stale, outdated and downright questionable "research." They ask you to put your faith in "natural market forces" or stand with them in defense of tax revenues, which will surely disappear when rent control is adopted.
The biggest laugher: they want you to help fight government regulation and say the solution is more government subsidy.
Lift the Ban ≠ Rent Control
Lift the Ban lets local governments decide about rental regulation policies. It's not rent control. It's local control.
Don't let the landlords make you dumber. Support Lift the Ban.
Snidely Whiplash courtesy J.J. at the English language Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4526281
Advocacy, General
21 Days till the General Election (We Updated it!) – Let's Get Active!
Let's cut to the chase, friends.
4 weeks to our next best chance to alter history as poised. 28 days.
If you haven't done some campaigning yet, no time like the present to help ward off further disasters for the next two years.
Here's what works: Knocking doors in other districts that have the real possibility of flipping to help create the nationwide Blue Wave.
The most local races:
Sean Casten in the 6th Congressional District
Lauren Underwood in the 14th Congressional District
Betsy Dirksen Londrigan in the 13th Congressional District
Since Labor Day, US Rep. Jan Schakowsky (9th Congressional District) has facilitated carpools to prepped field offices in these districts. From there, volunteers proceed to canvass locally.
We're told it's having a big effect.
We need more canvassers expand our reach in these final weeks
You are invited to sign up at either of our locations at the following times:
We're looking for both drivers and passengers.
Saturdays, 8am & 11am, departing from 5539 N Broadway, Chicago
Sundays, 11am from 5539 N Broadway, Chicago or Democratic Party of Evanston, 1806 W Church St., Evanston
Thanks to your feedback, we're using a much easier sign up link, one that allows you to sign up for many dates at once, both canvassing and phone banking: https://tinyurl.com/9thCongressional
Please commit to doing what you can to turn things around.
It truly never has been more important.
In all seriousness, let's get this done! For more information, contact Katy Hogan (773) 746-6587
Share freely – especially to your younger family members. Let's get them started!
Advocacy, General, Safety, Uncategorized
Proposed city/state Police Consent Decree draft misses key reforms
Network 49 calls on members to speak up for safety
Network 49 has reviewed the proposed consent decree released by the City of Chicago/State of Illinois as part of the ongoing effort to reform the Chicago Police Department. We find the document leaves out critically important protections that community organizations fought for and which can be found in similar reform decrees in other cities. We need all our members to take action TODAY. Here's how:
Review our side-by-side comparison of the city/state consent decree and the one prepared by Campbell plaintiffs.
Review the list of items we want included in the final consent decree.
Then, add your voice to the demand for reform. There are a number of ways you can submit your comments on the draft consent decree. You can email your feedback to policereform@atg.state.il.us or call the Attorney General's Office at 1.833.243.1498 and leave a message with your comments.
You can also submit your comments in the comment box on their website or mail or fax your comments to the following address:
ILLINOIS ATTORNEY GENERAL
Attn: Civil Rights Bureau
100 West Randolph St., 12th Floor
We have included a sample comment below, which you can simply copy and paste in the comment box. Be sure to add your contact information when you do.
Hon. Lisa Madigan
Dear AG Madigan:
The State of Illinois and City of Chicago released a proposed consent decree regarding the Chicago Police Department. The proposed decree is incomplete and lacks critical provisions in order to provide meaningful protections against police violence and bias. The final consent decree must include the following:
1. Ensure transparency and public accountability and provide meaningful opportunities for community feedback on CPD related plans and policies. The Consent Decree must explicitly provide the community with the opportunity to provide feedback on plans, analyses and reports related to CPD operations and all of these items must be made public. Further, CPD must be required to make public comprehensive data related to complaints, uses of force, and other law enforcement activities implicated by the consent decree.
2. Address hostile police-community interactions by developing diversion programs, ending the financial incentives CPD officers have to make arrests and reducing arrests for minor, often pre-textual offenses. Rather than funneling people into the criminal-legal system, CPD must create diversion partnerships, including restorative justice and community mediation. Successful diversion requires that officers receive supervisory authority prior to making minor (often pre-textual) arrests, and prohibits trolling (escalating incidents at the end of a shift). These efforts will help decrease racially discriminatory policing and reduce the number of minor incidents that escalate into uses of force.
3. Ensure that people harmed by CPD and their families receive support and information. CPD must provide accurate information on the whereabouts of people injured as a result of police action, and CPD must immediately contact an injured person's next of kin and/or emergency contact. The City must provide police-violence survivors and their families with psychosocial supportive services independent from CPD.
4. Strengthen protections against unlawful use of force by mandating de-escalation, restricting foot pursuits, lethal force and the use of Tasers and ensuring accountability.
• Limit exceptions to mandatory de-escalation: The decree authorizes officers to take action (or refrain from action) when "safe and feasible." This term should be defined ensure that de-escalation is the rule and not the exception.
• Ensure that officers are not penalized for using de-escalation tactics: Officers should not be penalized for taking sufficient time to resolve an incident without using force.
• Prohibit officers from escalating incidents: Officers must be prohibited from using tactics that escalate an incident, including but not limited to by taunting, humiliating or threatening individuals and using racial or gendered slurs.
• Prohibit the un-holstering of firearms unless lethal force may become necessary. Officers must not un-holster and display a firearm unless there is an objectively reasonable belief that lethal force may become necessary.
• Require reporting every time an officer points a gun or Taser or observes a use of force: CPD has to file a report each time an officer points a gun or Taser at a person and each CPD member who observes a use of force must file a separate report.
5. Impartial policing—meaningfully address the police violence and misconduct targeted at Black people, women, Latinx people and people with disabilities: The proposed decree does not contain any data-driven efforts to identify and root out bias, or address gender- or disability-bias in policing. CPD should develop and implement, with input from the Monitor and the community, a comprehensive strategic plan to eliminate racial profiling and discriminatory policing, including an express prohibition on racial profiling. Community feedback must be incorporated as to all policies related to impartial policing.
6. Gender: CPD must protect people who are gender-non-conforming from harassment and transgender people from invasive searches, and CPD policy on sexual misconduct should be defined clearly and adhere to professional-accepted standards. The Monitor—with community input—must conduct an assessment of CPD policy and practice to determine impact on women and girls. COPA's jurisdiction must be expanded to encompass sexual assault, not just misconduct.
7. Disability: Use of force training should include the importance of considering whether a subject may be noncompliant due to disability, a medical condition, behavioral health crisis, etc., and CPD must not assess dangerousness based on an individual's disability.
8. Protect the rights of Children and Youth, including in Schools: CPD should not station officers in schools. But to the extent that CPD officers continue to be assigned to schools, the decree must ensure that it addresses the school-to-prison pipeline, including by: mandated de-escalation tactics for school officers, prohibitions on using handcuffs and force in schools except in exigent circumstances, a prohibition on carrying firearms, a duty not to intervene in incidents on school grounds (absent a real and immediate threat), a prohibition on interviewing and interrogating youth on school grounds, and a prohibition on collecting law enforcement data on youth in schools. In addition, Taser use in schools should be prohibited, and parents and guardians must be notified immediately if their children are arrested, on or off school grounds.
9. Ensure that CPD hires officers who reflect Chicago's diversity and can police in a manner consistent with the requirements of the Decree. Require that CPD recruit a diverse police force that, through extensive testing and evaluations, has demonstrated the ability to police in a way that is non-biased, where officers are capable of de-escalating encounters with community members and using diversion resources.
10. Develop and implement officer performance metrics based on measures of non-biased policing, diversion and de-escalation. Provide incentives to officers who refuse to use excessive force, de-escalate and solve problems without resorting to arrest. Make promotions dependent on these variables.
Advocacy, General, Safety
Campbell Police Reform Plaintiffs Announce Proposed Consent Agreement
Network 49 joined representatives of other Campbell lawsuit plaintiff organizations to announce a proposed consent agreement regarding reforms to the Chicago Police Department. The reforms aim to curb police violence and improve police accountability. Read a summary of the proposed agreement here Summary of Consent Decree for Reforming the Chicago Police Department	(214 downloads) .
Plaintiffs announce the proposed consent agreement over reforming the Chicago Police Department.
WGN TV News covered the press conference. See footage here. The proposed agreement was also covered in the Chicago Sun Times and Chicago Tribune.
Attorney Sheila Bedi provided an overview of the consent agreement at the May 16 general membership meeting. A video of that meeting's presentation is here.
Community Benefits Hard to See in 1531 W Estes Proposal
Network 49 members joined ~80 of their neighbors at a community meeting to learn more about a proposed development at 1531 W Estes. The developer wants to tear down a 2-story brick building and build 5 town homes, which will sell for ~$450,000 each. The developer needs significant relief from current zoning regulations on density and property set-backs. He also needs to cut into the curb to add a driveway for onsite parking. Such relief is a private benefit granted at public expense; if not for the relief, the project does not happen.
Residents, mostly opposed to a proposed project for 1531 W Estes, crowded a meeting on February 28 (photo credit: Gabe Gonzalez).
Residents had 6 days' notice of the meeting. Approximately 50 residents turned out. The meeting lasted at least 3 hours and residents left with as many questions as when the meeting started. And while no vote of residents was taken, residents' questions suggest the development team was the only one really in favor of the project.
During the meeting, the property owner said a fire made the property uninhabitable. Because of a health issue in his family, the owner failed to file a fire damage claim and stated he now is unable to cover the cost of rehabbing the property. Instead, he wants to tear it down and build the townhomes, including one that he will live in himself. There are 2 brick 2-flats on the market for $565-575,000. The first question is can the owner restore the property and sell it as a 2-flat? We think the answer is yes.
Be that as it may be, 5 townhomes sold in Rogers Park with prices of $200-255,000 in the last 3 months. The developer would not share what he estimates it will cost to build, nor the size of his development fee or profit he stands to make. We also do not know if the property owner will pay for the townhome he intends to live in or is he getting that new unit in consideration for contributing his property to the project.
The project sets a clear precedent for future teardowns. To wit, if the owner of 1531 is able to tear down his home and built 5 expensive new ones, what prevents a future request from another owner who is not happy with the profit he might get from selling his single-family home? Network 49 co-chair Katy Hogan spoke to the real risk that we open the floodgates to more teardowns, spot zoning decisions and gentrification, something residents have fought against for years. "It's not just this project we are concerned about; it's the ones that will surely come after it, if this gets approved."
Network 49 shared its Community Benefits Scorecard. Briefly: no affordable housing, no accessible housing, no commitment to green design, no commitment to local hiring or M/WBE participation. To summarize, the developer wants permission to build an oversized new development that will bring him significant new income and offers nothing to the community in return. The developer also made clear; he's not doing any community benefits agreements.
Sounds like an easy one to turn down.
Network 49 Asks – Where's the Community Benefit on 1531 W Estes Proposal?
Alderman Joe Moore
49th Ward Aldermanic Service Office
7356 North Greenview Avenue
Dear Alderman Moore:
We write on behalf of the members of Network 49 as co-chairs of its Housing & Community Development Committee. We received notice concerning the proposed redevelopment of 1531 W Estes on Thursday, February 22 via email. We could not find record of this having been presented to the 49th Ward Land Use Advisory Committee, since the committee's schedules and agendas are not published. We note that the co-developer Rich Aronson continues to serve on that committee and we ask whether he recused himself from any deliberations the committee may have held.
Network 49 favors a balanced development approach and encourages that any granting of private benefit to a developer demonstrate community benefit offsets. Examples might include a commitment to affordable or accessible housing, expansion of green space, or commitments to W/MBE contracting and employment.
In the case of 1531 W Estes, the various zoning variances requested represent a public benefit of considerable value. If not but for the variances, the development could not be built. We believe a clear community benefit should be provided by the developer, before you approve granting requested variances/relief/etc. In the materials you have shared, we see no evidence that the developer is providing a benefit to the community. The community is being asked to accept a major zoning change to accommodate a private owner's personal business decision. This is a bad precedent, especially given the size of the project. Additional concerns:
Continue reading "Network 49 Asks – Where's the Community Benefit on 1531 W Estes Proposal?" →
Advocacy, General, Uncategorized
Cassidy, Biss, Kaegi Top Vote Getters in Network 49 Straw Poll
Network 49 held its first regular membership meeting on January 24 and the March 2018 primary was top of mind. Our organization wants to help residents make informed political decisions and work for progressive representation, so we invited candidates to speak and then conducted our first straw poll of the current campaign cycle. We intend to use the result to guide our upcoming political activism.
Network 49 members and guests at January 24 general membership meeting.
Local favorite State Representative Kelly Cassidy (14th) was the top vote getter on Network 49's straw ballot for the Illinois March primary, conducted during its regular membership meeting at Willye White Park, 1610 West Howard, Chicago, Wednesday evening. She was the unanimous choice. (36 ballots were cast and some voters did not identify a candidate in all races).
Democratic Gubernatorial candidate Daniel Biss attracted the second highest votes with 31 of 35 votes cast. JB Pritzker tallied 3 votes, with the other candidates getting 0 votes.
In the Cook County Assessor race, Democratic challenger Fritz Kaegi – who appeared at the meeting after fellow Assessor candidate Andrea Raila – collected nearly all the votes cast. Kaegi and Raila are hoping to unseat incumbent Joe Berrios, who is also the Chairman of the Cook County Democratic Party.
Cook County Board president Toni Preckwinkle also polled strongly, getting all but 1 vote (which went to challenger Bob Fioretti), while Cook County Treasurer Maria Pappas was favored over challenger Peter Gariepy more than 3-1, with quite a few voters selecting "None."
Long-time incumbent Cook County Commissioner Larry Suffredin (13th) was favored with about 63% of the vote over newcomer Bushra Amiwala, who received almost 40%. Despite the loss, Amiwala was viewed positively as someone to watch for future races and many members spoke enthusiastically in her favor.
The most spirited race was between the eight candidates seeking to replace the retiring Illinois Attorney General Lisa Madigan. The results were much tighter and members spoke in favor of their preferred candidates prior to the voting. In the end, Aaron Goldstein edged Sharon Fairley 17-12, with 3 other candidates dividing 4 votes.
Network 49 will share the results of the straw poll to its members to help inform their decisions in the March 2018 primary.
Advocacy, Community development, Education, General, Safety, Uncategorized
Network 49 Shares By-laws and Endorsement Process for 2018
At its November 15 General Membership Meeting, Network 49 shared its inaugural bylaws and membership structure, and proposed candidate endorsement process. These materials have been developed by resident leaders on the Steering Committee and working committees. 25 residents joined at the November meeting and paid their $30 annual dues. A membership form for those who could not attend the meeting is available here.
Kathleen Dillon presents the Network 49 bylaws at the November 15 meeting.
At its January 2018 meeting, Network 49 will welcome nominations to and then elect members to serve on a new Steering Committee AND make endorsements for the March 2018 Illinois Gubernatorial Primary, as well as other races that will be decided in March.
All of these activities are part of our work to create an independent, progressive, and resident-led organization for promoting progressive policies and elected leadership.
Advocacy, Education, General
We Challenged Charter Expansion in Rogers Park – and WON!
CPS's Office of Innovation and Incubation held a hearing on Monday, August 21 to consider CMSA's request for an additional 100 student seats. After hearing from so many opponents to charter school expansion, including dozens from Network 49, they decided NOT to recommend approval of the request to the Board of Education. In other words, we won.
Victories against school privatization are hard fought and don't come often. It's why we are pleased to share the news that charter school Chicago Math and Science Academy's request to expand by 100 seats next year was NOT recommended by CPS or even included as an agenda item at the most recent August 28 Board of Education meeting.
Network 49 and its allies have been clear that we do not want any charter school expansion in Rogers Park – no new schools, new campus buildings, and no additional seats. We organized a ballot referendum in 2016 and 63% of voters sided with us. So did State Rep. Kelly Cassidy, State Senator Heather Steans, and US Rep. Jan Schakowsky. Only Alderman Joe Moore has consistently been in favor of new charters coming to our neighborhood and expansion of existing charters. Despite our community's clear and unequivocal position, but perhaps feeling that the Alderman would swing CPS in their favor, CMSA advanced a proposal to expand by 100 seats.
As we did before and as we will continue to do, our resident volunteer leaders mobilized to stop this expansion. Dozens of our members joined in sending letters to CPS and hundreds acted on Facebook to support our campaign, which received over 8,000 views. If you were one of the people who stepped up, Thank you for YOUR advocacy!
Charter schools divert students and resources from neighborhood schools. Study after study shows that charters educate no better than neighborhood schools, while being less transparent and less welcoming of special needs students and English language learners. These are NOT the schools we need in Rogers Park's diverse community! Our local neighborhood schools are much improved and are growing, with Sullivan HS and Senn HS in Edgewater boosting enrollment by 100 students apiece. (By comparison, CMSA reported to the Chicago Board of Education they are 40 students short of filling their current capacity!).
Network 49 believes that all our public schools should offer high quality educational opportunities that meet the diverse needs of students in our community. We are opposed to privatization schemes like vouchers and charter schools and we will continue to fight for our schools. We are glad that you are with us in this fight.
For more information, contact Carol Reichel at carolreichel@sbcglobal.net
Network 49 Stands with Victims of Police Misconduct
Have you – or any other 49th Ward/Rogers Park community resident you know – been physically abused or subjected to racist acts by the police, particularly in the last couple of years?
In June, Network 49 was invited and agreed to join in a class action lawsuit as a plaintiff with several other Chicago community organizations and individuals who are concerned about the need for improved Chicago police accountability and the many issues related to that. The City of Chicago, the Police Department, and individual officers are defendants in the case. The aims of the lawsuit are to get a federal judge to:
Enjoin the Chicago Police Department (CPD) from use of excessive use of force
Enjoin CPD from use of force in a racially discriminatory manner
Appoint a CPD Monitoring Team that reflects the diversity of Chicago
Oversee a transformation in CPD policies and practices related to use of force, accountability and supervision, discriminatory policing, data and transparency, and support services for survivors of police violence and misconduct.
Along with Network 49, the other class action lawsuit plaintiffs include Black Lives Matter Chicago, Blocks Together, Brighton Park Neighborhood Council, Chicago Urban League, Justice For Families, Black Lives Matter, Chicago NAACP, Women's All Points Bulletin, and 411 Movement For Pierre Loury. Attorney Sheila Bedi and other lawyers affiliated with the Roderick and Solange MacArthur Justice Center of Northwestern University Pritzker School of Law are representing us.
Network 49 is looking for any neighbors who fit this description and would be willing to share their stories to help support our organization's participation in a class action lawsuit against the Chicago Police Department. Declarations from residents in the 49th Ward/Rogers Park community served by Network 49 will be very important in surviving upcoming moves by Chicago's law department to get the lawsuit dismissed.
Please ask any residents described above to call Network Community Safety Task Force Chair Michael Harrington at 773-971-1215 or email Michael.


text:
Glenn Beck, National Decline And The Story Of The Roman Empire
In my last installment in this series I argued that talk show host Glenn Beck was raising legitimate concerns about the state of the nation, but that he had a history of predictions of imminent disasters which did not pan out. Why didn't they? After all, the left really does have a strong totalitarian bent. No nation is guaranteed eternal life, let alone eternal prosperity and hegemony. And the United States is, indeed, aggressively moving in the wrong direction.
So why didn't the dollar collapse? Why is it still the reserve currency of the world? Why don't we have hyperinflation? Why did gold stall and then fall last summer? Was there a food shortage? Nope. Widespread urban violence? Nope. Depression, stock market collapse, bond market collapse? Nope, nope and nope. Why not?
Because that's not how it works. Great nations do not suddenly lose reserve currency status or hyperinflate or collapse economically—not unless they lose a war or are destroyed by natural disasters. The archetypal decline and fall story is that of Rome. It was the eternal city, supposedly, but nevertheless its gates came crashing down and its cities were trodden over by rude barbarian feet. And all of this happened just as the great classical philosophers had warned it would.
The Catos and Ciceros of Rome warned about the decline of Rome as it was first turning away from Republic and toward empire. But Rome didn't actually 'fall' in a definitive sense until 498 years after the death of Cicero and 499 years until after the death of Cato. The process of lost freedoms, corruption, imperial overreach and decay, and final definitive collapse lasted almost as long as the rise of the Roman republic; the great age of political warning appeared as the midpoint of Rome's history, not the end. The classical conservative statesmen were right, but premature. History, like Clouseau, declared, "Not now, Cato," and delayed its judgment for half of a millennium.
And the currency markets followed the same pattern. Empire, bread and circuses, all cost a lot of money, and were partially funded by currency debasement. However, the Roman Denarius did not collapse in value overnight. The long journey from a denarius composed of 6.8 grams of silver struck in 269 BC, through the first debasement down to 4.5 grams half a century later, then under Caeser Augustus down to 3.9, under the loathsome Nero 3.4 grams, under a long series of debasing emperors down to 3 grams and finally in the mid-2nd century AD phased out of existence and replaced by other currencies, all told took about half a millennium. This is a remarkable feat considering the way that Rome, and by extension her currency, was hated by the world she had enslaved. The famous passage in the synoptic Gospels in which the religious leaders ask Jesus whether they should pay taxes to Caesar turns partly on Rome's status and as issuer of the known world's reserve currency.
"20 So they (the chief priests and the scribes inserted by J.B.) watched Him,and sent spies who pretended to be righteous, that they might seize on His words, in order to deliver Him to the power and the authority of the governor.
21 Then they asked Him, saying, "Teacher, we know that You say and teach rightly, and You do not show personal favoritism, but teach the way of God in truth: 22 Is it lawful for us to pay taxes to Caesar or not?"
23 But He perceived their craftiness, and said to them, "Why do you test Me?24 Show Me a denarius. Whose image and inscription does it have?" They answered and said, "Caesar's."
25 And He said to them, "Render therefore to Caesar the things that are Caesar's, and to God the things that are God's."
26 But they could not catch Him in His words in the presence of the people. And they marveled at His answer and kept silent."
The story illustrates a great deal about currency relations between the nations. First, the premise of the story is that the Roman coinage was hated. The Roman Denarius was inscribed with an image of Caesar Tiberius and the title 'Son of the Divine Augustus', in other words, 'Son of God.' It was a reminder of both the political and the religious domination of Rome. This was the same coin used to pay the equally hated Roman poll tax. If Jesus said to pay, He would be associating himself with the unpopular Romans. If He said not to pay, He would be fostering rebellion and the Romans would execute Him.
Jesus skillfully turned the question around. He Cuba-Goodingly asks them to 'Show me the money.' and voila, there it is; they have the money. The religious leaders who have been railing against the evil Romans and their wicked idolatrous money, just happen to have some there in their pockets. Point made: The Roman Denarius was silver backed, stable (at least at that point in history) and accepted for trade purposes throughout the known world.
Rome maintained a pirate-suppressing free trading system across the known world and the Jews, along with every other group in the empire benefited from it. Jesus' friend, Joseph of Arimathea had become wealthy (according to early church historians) as a tin import/export merchant between Jerusalem and Britain. Jesus' hometown of Nazareth exported balsam around the world. His disciples were from Bethsaida and Capernaum, not so much fishing villages, but more fishing industrial hubs which sold not just salted fish, but also mass manufactured fishing equipment around the world. St. Paul traveled the Ancient world partly in tow to Lydia who was an international dyed clothing distributor. All of this was transacted with the Roman Denarius. It didn't matter that it was hated. It mattered that it was universally accepted for commercial purposes and held its value better than the alternatives.
When the leaders of Jerusalem revolted against Rome the first time in 66 AD, they threw out the hated Roman silver coins and minted patriotic shekels, out of the baser bronze. The coinage, of course traded at much lower values against the Roman coins despite strong political pressure for its use. When Rome destroyed Jerusalem in 70 AD, they printed a special commemorative coin depicting a woman weeping next to an olive tree (a traditional symbol of Israel which sold olive products around the world in Roman denarius-denominated transactions), to symbolize the widows of Israel weeping for their departed husbands. When Israel Revolted again 63 years later under Bar Kochba (which translates as son of the star, a reference to the prophecy that the messiah would be born under a star) it rounded up the Roman coins and reminted them with Hebrew lettering and patriotic phrases.
As you can see, coins in the ancient world were spiritually, culturally and politically charged matters. But in the end, the value of the metal determined the value of the coin, a fact perhaps grudgingly learned between the first rebellion and its debased, bronze shekels and the second rebellion with its re-stamped silver denarii. Not being a numismatist, my observations on this matter may well be incorrect, but I feel confident that someone will be willing to step forward and offer any needed corrections.
Not all Jewish coinage was used for rebellion propaganda purposes; more often it was used for quisling propaganda purposes. The Rah-rah-Rome Herodian dynasty routinely minted coins with Latin or Greek lettering, honoring Caser and the various Herods. The cultural syncretism visible in the presence of images such as Roman eagles and Palestinian palm branches. Herod Agrippa, the ruler during Jesus adulthood, minted a coin which showed three ears of barley. This may well be the explanation for Jesus' quizzical reference to Herod as "A reed shaken by the wind", which may be more a matter of political satire aimed at Herod's shaky alliance with Rome, then of some mystical spiritual metaphor.
The point of all of this is that as shaky as Rome's coinage was and as much as it was hated by captive people of the empire, it would last another 200 years due chiefly to a lack of alternatives. Reserve currencies do not generally crash quickly, though they do crash. Great nations are generally granted many reprieves, many amnesties, many second chances. I'm not saying that we've got another 200 years, if we continue down our current path of debt and debasement. I don't know how much time we have for course corrections.
All this amounts to the following: I'm not ready to give up on us yet, but I'm definitely read to hedge my bets.
Mr. Bowyer is the author of "The Free Market Capitalists Survival Guide," published by HarperCollins, and a columnist for Forbes.com.

redpajama_set_name: RedPajamaCommonCrawl


I'm looking for a way to create a hidden artifact that contains a sha1 or md5 of each build artifact prior to being published.
I think a plugin would be a pretty decent way to do this but i haven't found any examples of plugins that have similar features so i'm wondering if this is possible? Jenkins already has a plugin named Fingerprint that does something similar. What i'm proposing is perform the checksum and write the value and file name to a hidden artifact in .Teamcity/build. From here we can use our tool of choice to compare these values to what exists on the servers and correct for SOX compliance.
Is there any plugins that do something similar or can someone set me on the path to creating my own?
TeamCity does not provide artifacts checksums. You can add checksum calculation step to your build (which produces the artifact), publish the checksum files as yet more artifact files, then download the artifacts and checksum files and cross-check those.
We have the related request: https://youtrack.jetbrains.com/issue/TW-17886, please vote for it.


Entermotion is a creative design and programming studio. We work on a variety of projects for our clients, from identity design to application development. We're a dispersed team, and we're comfortable collaborating remotely.
We're looking for someone to tell our client's stories. We build all of our designs and programming around content, so creating unique content is really important to us. That's about 50% of the job. Another 25% would be creating smart, easy-to-follow suppot articles for applications we develop. The other 25% would be creating have-to-read blog articles for us and our clients. We realize that's 100%, but you'll probably also get asked to proofread, and do other tasks to help the team.
(We're not one of those scammy SEO shops), but you do need to write content that gets indexed, and know about some of the technical points of SEO.
** Due to the fact that our job posts usually have hundreds of responses, anyone not following the above requirement will likely rejected immediately. Thanks for understanding! Please feel free to apply again even if you have in the past.


Summer Storage ideas to personalise your new home!
Summer is just peering around the corner, ok that's not really true, summer may actually be here! We're just hoping that it's going to last this year, so let's be positive and put away any kind of winter clothing you may still have.
Coats, cardigans, hats, wellies or woolly socks, they have to go into storage… except where do they go? You've got no room in your wardrobe, your cloakroom or under the bed so what can you do? The answer is; get CREATIVE!
As a homeowner, you can do what you like in your home. There's no landlord to ask if it's ok, you don't need to ask your parents' permission like times of old, so there's no reason not to unleash your inner interior designer. Storage of anything can be a bit of a headache, especially when you move into your new home, so these storage techniques could really benefit you all year around.
One simple yet effective way to maximise your storage space is to use artwork as a cover for your shelves. We've all watched films where the safe is behind the suspicious family portrait, band you could use the same principle! Why not use your wall art as a cover for your jewellery stand like boredpanda.com suggests!
Another sneaky space saver is turning your stairs into drawers. Inspired by yachts and boats where space is at a premium, this simple trick is the perfect way to make sure your new home is decluttered and you'll never have to ask where your shoes are again!
For those armchair lovers out there, this storage solution is screaming your name! Designed by Judson Beaumont of Straight Line Designs Inc, the hollow arm chair is amazing! Whether you want to put books, DVDs, children's toys or even wood for the fire underneath, this chair is definitely unique and could save you so much space this summer!
As summer is coming, and the BBQ from last year will probably still have ash in it, as well as a few resident spiders, we thought a space saving BBQ would be ideal. A BBQ that looks like a wall feature but folds down, allowing you to cook your burgers — sounds perfect to us! This space saver comes from www.focus-creation.com and is definitely going to get your friends talking at the next gathering!
Whilst these unique space saving ideas are great, your home wouldn't be complete without a pool table dining table. Okay, it's probably a bit extravagant, but if you need to save space and your pool table is getting in the way, why not cover the top to eat your dinner and then remove it and have a game! www.homeleisuredirect.com can help you achieve a unique finish to your dinner party with the pool dining table.
Regardless of how wacky some of these ideas seem, getting creative with your storage solutions makes the whole process a lot more fun. They don't need to be extravagant or expensive; take some time to think about where in your home you could utilise space and see if you can think of your own creative and maybe even quirky ideas!


The lady you see right here is Kitty Cadillac, as Catwoman. That may not be her real name.
That pale-faced woman-friend with the glow stick is Scarlet O'Keljus as the Joker, who'll be facing off against Venom, aka Sin Fisted, aka Not Going To Touch A Joke After That.
Um, not sure exactly what's happening here, but someone now has an interesting video on their iPhone.
Instead of Frank Castle and/or Nic Cage, Christina Fuentes is the Punisher. Though Nic Cage did also try out for this role.


text:
Wales: England's Colony? was a 2019 book and BBC television series exploring the relationship between Wales and England. It was intended to challenge its audience to reconsider Wales' historical relationship with England and its place in the world.
The book can be bought direct from the publishers here: https://www.parthianbooks.com/products/wales-englands-colony or from Amazon here.
Both episodes can be viewed on YouTube. The links are below.
Gwales.com said of the book: "I doubt anyone will agree with all of Martin Johnes' emphases and conclusions, but Wales: England's Colony? is an extremely able survey of our history that deserves to be widely read, both by Welsh people as a corrective to some cherished convictions, and by the English who, as he points out, so frequently misunderstand Wales, seeing us still (when they think about Wales at all) as not quite up to the mark, not quite as good as them."
The Wales Arts Review discussion of the book can be found here.
A Radio Wales discussion of the book can be listened to here.
There was also an accompanying series of podcasts where I discussed different issues in the Welsh past with other historians. These were recorded in a Cardiff pub and broadcast under the title "The Pub Historian". They are online here.


It will be taking place on 6 December from 10:30 until 11:30 (GMT-05:00) Easten [US and Canada).
GPC, also known as size exclusion chromatography (SEC), is a popular analytical tool for characterising natural and synthetic polymers. Advanced GPC/SEC analysis using multi-detectors is increasingly being used to measure absolute molecular weight independent of column retention volume and to add other measurements such as those of intrinsic viscosity and hydrodynamic radius.
With this information, scientists can accurately study how changes in molecular weight and structure affect polymer performance.
Advances in detector technology have enabled more accurate and information-rich measurements. However, the quality of those measurements is still dependent on the quality of the separation, which itself remains dependent on the column.
Good resolution depends on matching the column pore size to the sample of interest and an ideal separation requires no interaction between the sample and the column material.
In addition, to maximise light scattering signal-to-noise, columns should be stable over time and not shed any particulates.
From the detector standpoint, inter-detector distances should be reduced to minimise peak dispersion. Malvern's webinar will discuss how high-quality columns and detectors both contribute to high quality GPC/SEC measurements. The company will also discuss how the two interact with each other and show data to demonstrate some ideal measurements, as well as show some of the symptoms of poor measurements, while discussing possible causes.
The first speaker Mark Pothecary studied biochemistry while an undergraduate at the University of Bath before moving to London to obtain his Masters and PhD between 2002 and 2006. He studied the biochemical effects of red wine polyphenols on the production of nitric oxide in blood vessels and the subsequent control of blood pressure. Following this, he continued for another year using chromatography to study the uptake of these same compounds into the blood.
Mark joined Malvern in 2008 as a product technical specialist for the Zetasizer Nano and Viscotek products concentrating on bioscience SEC applications. In 2010, he took the role of Product Manager for Zetasizer and Viscotek products, where he acts as the Voice of the Customer for new products and on quality issues.
The second speaker Leah Block was born in Marlboro and is currently the technical manager at Shodex, Showa Denko America. This company is a 100% subsidiary of Showa Denko and holds headquarters in Tokyo, Japan.
As part of Shodex, Leah provides sales and technical services for high-performance liquid chromatography (HPLC) columns produced by the Showa Denko Group. Leah was previously the first ACS non-governmental representative to attend the United Nations 16th Conference of Parties (COP-16) in Cancun, Mexico. She later graduated with a PhD at the University of Alabama. During her graduate career, she focused on the dissolution and manipulations of biopolymers to create multiple supports for transdermal drug delivery. During this research she became well versed with size exclusion techniques.
The webinar would be useful for GPC/SEC users looking to take their measurements to the next level or looking to understand how their measurement quality can be improved. In addition, anyone looking to push the performance of their GPC/SEC system will find interest in the event.
Viewers will learn about GPC/SEC and understand how the best measurements require powerful detectors and a good separation through the columns. They will learn about some of the symptoms of a non-ideal setup and how to improve it, as well as receiving tips as to how to improve their own GPC/SEC measurement by addressing any problems it may have.


text:
Q: If two invertible matrices A and B commute, then A^-1 and B^-1 must commute as well ?? If two invertible matrices A and B commute, so their inverse must commute as well or not ?

A: This follows from
\begin{equation}
A^{-1}B^{-1} = (BA)^{-1} = (AB)^{-1} = B^{-1}A^{-1}.
\end{equation}

redpajama_set_name: RedPajamaStackExchange


text:
I liga polska w piłce siatkowej mężczyzn 2017/2018 – 13. sezon rozgrywek siatkarskich organizowanych przez Polski Związek Piłki Siatkowej na drugim poziomie ligowym.

System rozgrywek
Zmagania toczą się dwuetapowo:

Etap I (dwurundowa faza zasadnicza)
Przeprowadzona w formule ligowej, systemem kołowym (tj. "każdy z każdym – mecz i rewanż") Faza zasadnicza, klasyfikacja generalna – uwzględnia wyniki wszystkich rozegranych meczów, łącznie z meczami rozegranymi awansem. Punktacja: 3 pkt za wygraną 3:0 i 3:1, 2 pkt za wygraną 3:2, 1 pkt za porażkę 2:3, 0 pkt za przegraną 1:3 i 0:3.

Kolejność w tabeli po każdej kolejce rozgrywek (tabela) ustalana jest według liczby zdobytych punktów meczowych. W przypadku równej liczby punktów meczowych o wyższym miejscu w tabeli decyduje:

 liczba wygranych meczów
 lepszy (wyższy) stosunek setów zdobytych do straconych
 lepszy (wyższy) stosunek małych punktów zdobytych do małych punktów straconych

Jeżeli mimo zastosowania powyższych reguł nadal nie można ustalić kolejności, o wyższej pozycji w tabeli decydują wyniki meczów rozegranych pomiędzy zainteresowanymi drużynami w danym sezonie.

Etap II (faza play-off / play-out)
Przeprowadzona w systemem pucharowym. Do rundy play-off przystąpi 8 najlepszych drużyn po fazie zasadniczej. 4 najsłabsze drużyny rywalizować będą o utrzymanie (w rundzie play-out).

Runda play-off

Runda 1

(O miejsca 1-8) – O tytuł mistrza KRISPOL 1. Ligi grają drużyny, które po zakończeniu fazy zasadniczej rozgrywek zajęły w tabeli miejsca od 1 do 8. Drużyny z miejsc 1-8; 2-7; 3-6; 4-5 utworzą pary meczowe, które zagrają o miejsca w 1/2 finału do trzech wygranych meczów ze zmianą gospodarza po dwóch rozegranych meczach. Gospodarzami pierwszego terminu (terminy są dwudniowe - dwumeczowe) będą zespoły, które po fazie zasadniczej rozgrywek zajęły wyższe miejsce w tabeli (ewentualny piąty mecz zostaje rozegrany również na parkiecie drużyny, która zajęła wyższe miejsce po rundzie zasadniczej).

Runda 2

(O miejsca 1-4) – Zwycięzcy rywalizacji z rundy 1 zagrają w 1/2 finału o miejsca 1-4. W pierwszym półfinale zagrają zwycięzca rywalizacji 1-8 ze zwycięzcą rywalizacji 4-5. W drugim półfinale zagrają zwycięzca rywalizacji 2-7 ze zwycięzcą rywalizacji 3-6. Drużyny grają do dwóch zwycięstw. Gospodarzami pierwszych spotkań będą zespoły, które po fazie zasadniczej rozgrywek zajęły niższe miejsce w tabeli. Gospodarzami meczów rewanżowych będą zespoły, które po fazie zasadniczej zajęły wyższe miejsce tabeli. Jeżeli po zakończeniu drugiego spotkania stan rywalizacji w meczach będzie wynosił 1:1 to o wygraniu rywalizacji zadecyduje trzeci mecz rozegrany na parkiecie drużyny, która zajęła wyższe miejsce w tabeli po rundzie zasadniczej.

(O miejsca 5-8) – Przegrani z rundy 1 fazy play off utworzą pary meczowe i zagrają o miejsca 5-8. W pierwszej parze zagra przegrany rywalizacji 1-8 z przegranym rywalizacji 4-5, a w drugiej przegrany 2-7 z przegranym 3-6. Drużyny grają dwumecz. Gospodarzami pierwszych spotkań będą zespoły, które po fazie zasadniczej rozgrywek zajęły niższe miejsce w tabeli. Gospodarzami meczów rewanżowych będą zespoły, które po fazie zasadniczej zajęły wyższe miejsce tabeli. Jeżeli po zakończeniu drugiego spotkania stan rywalizacji w meczach będzie wynosił 1:1 to, o wygraniu rywalizacji zadecyduje wygranie "złotego seta" do 15 punktów z dwoma punktami przewagi jednej z drużyn. Zwycięzcy zagrają o miejsca 5-6, a przegrani zakończą sezon na miejscach 7 i 8 (o kolejności decydować będzie, która drużyna zajęła wyższe miejsce w tabeli po rundzie zasadniczej).

Runda 3

(O miejsca 5-6) – Zwycięzcy rundy o miejsca 5-8 zagrają o miejsce 5 w końcowej klasyfikacji. Drużyny grają dwumecz. Gospodarzami pierwszych spotkań będą zespoły, które po fazie zasadniczej rozgrywek zajęły niższe miejsce w tabeli. Gospodarzami meczów rewanżowych będą zespoły, które po fazie zasadniczej zajęły wyższe miejsce tabeli. Jeżeli po zakończeniu drugiego spotkania stan rywalizacji w meczach będzie wynosił 1:1 to, o wygraniu rywalizacji zadecyduje wygranie "złotego seta" do 15 punktów z dwoma punktami przewagi jednej z drużyn. Przegrany zajmie 6. miejsce w końcowej klasyfikacji.

(O miejsca 3-4) – Przegrany 1 półfinału gra z przegranym 2 półfinału, do trzech wygranych meczów ze zmianą gospodarza po dwóch rozegranych meczach. Gospodarzami pierwszego terminu (terminy są dwudniowe - dwumeczowe) będą zespoły, które po fazie zasadniczej rozgrywek zajęły wyższe miejsce w tabeli (ewentualny piąty mecz zostaje rozegrany również na parkiecie drużyny, która zajęła wyższe miejsce po rundzie zasadniczej).

(O miejsca 1-2) – O tytuł mistrza KRISPOL 1. Ligi. Zwycięzca 1. półfinału gra ze zwycięzcą 2. półfinału do trzech wygranych meczów ze zmianą gospodarza po dwóch rozegranych meczach. Gospodarzami pierwszego terminu (terminy są dwudniowe - dwumeczowe) będą zespoły, które po fazie zasadniczej rozgrywek zajęły wyższe miejsce w tabeli (ewentualny piąty mecz zostaje rozegrany również na parkiecie drużyny, która zajęła wyższe miejsce po rundzie zasadniczej).

Drużyna, która zajmie 1 lub 2. miejsce w klasyfikacji końcowej KRISPOL 1. Ligi i spełni wymogi Regulaminu Profesjonalnego Współzawodnictwa PLPS zostanie dopuszczona do udziału w barażu o awans do rozgrywek PlusLigi sezonu 2018/2019.

Runda play-out

Zespoły, które po zakończeniu rundy zasadniczej zajęły miejsca 9-12 zagrają o utrzymanie w KRISPOL 1. Lidze. Drużyny z miejsc 9-12; 10-11 utworzą pary meczowe. Rywalizacja toczyć się będzie do trzech wygranych meczów ze zmianą gospodarza po dwóch rozegranych meczach. Gospodarzami pierwszego terminu (terminy są dwudniowe - dwumeczowe) będą zespoły, które po fazie zasadniczej rozgrywek zajęły wyższe miejsce w tabeli (ewentualny piąty mecz zostaje rozegrany również na parkiecie drużyny, która zajęła wyższe miejsce po rundzie zasadniczej). Zwycięzcy utrzymują się w lidze, natomiast przegrani spadają do II ligi.

O kolejności końcowej w przypadku odpadnięcia drużyn w tej samej rundzie i nie rozgrywania meczów o poszczególne miejsca decyduje kolejność po rundzie zasadniczej.

Drużyny uczestniczące

 Klub  wycofał się z rozgrywek przed rozpocząciem sezonu i jego miejsce zajął spadkowicz .

Rozgrywki

Runda zasadnicza

Tabela wyników

Wyniki spotkań

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

|}

Tabela

Play-off

Ćwierćfinały
(do 3 zwycięstw)

|-
|colspan="5" style="background:#f6f6f6;"|

|-
|colspan="5" style="background:#f6f6f6;"|

|-
|colspan="5" style="background:#f6f6f6;"|

|}

Półfinały
(do 2 zwycięstw)

|}

Mecze o miejsca 5-8.
(dwumecz)

|-
|colspan="5" style="background:#f6f6f6;"|

|}

Mecze o 5. miejsce
(dwumecz)

|}

Mecze o 3. miejsce
(do 3 zwycięstw)

|}

Finał
(do 3 zwycięstw)

|}

Play-out
(do 3 zwycięstw)

|-
|colspan="5" style="background:#f6f6f6;"|

|}

Klasyfikacja końcowa

Linki zewnętrzne
 Strona Polskiego Związku Piłki Siatkowej

I liga polska w piłce siatkowej mężczyzn
2017 w piłce siatkowej
2018 w piłce siatkowej
2017 w polskim sporcie
2018 w polskim sporcie

redpajama_set_name: RedPajamaWikipedia


A small indigo rectangle knob, ideal for a modern piece of furniture or for that small drawer that needs a refresh.
A small matte black rectangle knob, ideal for a modern piece of furniture or for that small drawer that needs a refresh.
A small orange knob for the modern piece of furniture, office space, or boys room!
Designed to look vintage, this pumpkin shape ceramic knob is great for a dresser!


text:
January 14, 2020 | By admin In uhptmyliktek
Prez Sirleaf Receives Speaker Nuquay, House Leadership
President Ellen Johnson on Wednesday received the Speaker and other leadership of the House of Representatives at her Foreign Ministry Office in Monrovia. Speaker Emmanuel Nuquay and the entire House leadership discussed with the President matters of importance to the state with a focus on enhancing cooperation and collaboration between the House of Representatives and the Executive Branch of the government.According to an Executive Mansion release, President Sirleaf thanked Speaker Nuquay and the House leadership for meeting with her and the steps being taken by them towards the unification of its members after an impasse that deeply divided them. She assured them of her personal support and that of the Executive in fostering unity with the National Legislature, particularly the House of Representatives.President Sirleaf encouraged members of the House of Representatives to ensure that citizens of their respective districts remain peaceful at all times and stay away from violence and other destructive activities as the country moves toward the 2017 General and Presidential Elections."The 2017 elections must and will be free, fair, transparent and credible. We must jointly ensure that this will be the case so the results can be respected by the Liberian people and the international community," she admonished.She warned that there is apprehension among investors and partners of the country which is causing a slow-down in economic activities as the 2017 elections approach and urged the legislature, judiciary and the Liberian people to demonstrate to the world that democratic values, peace and security will be maintained before, during and after the elections.She commended members of the House for passing several bills after their impasse and added that it has helped to move a number of programs and development initiatives forward.President Sirleaf informed Speaker Nuquay and his delegation about plans for strategic actions aimed at members of the Cabinet and others in the Executive amid the current economic situation and expressed the hope that other branches of the government will follow suit.Speaking earlier, Speaker Nuquay thanked President Sirleaf for accepting to meet with the leadership of the House and the level of coordination, cooperation and collaboration that has taken place between the Executive and the Legislature.He also reflected on the just ended crisis at the House and informed the President about a reconciliation effort his leadership has initiated to reunite members of the Lower House.In what was termed as a Statement of Cooperation, Speaker Nuquay noted that his leadership has realized the need to fully partner with other branches of the Liberian government to complete the country's development agenda and goals. "Members of the House ofRepresentatives are resolved to be an active part of implementing the nation's development agenda for the benefit of the Liberian people. We know that it is very important to bring development to the people despite all the differences and disagreements we have had," said Speaker Nuquay.He recounted how the country has held two successive, peaceful elections in 2005 and 2011, which helped to cement democracy and stability and must ensure the same in 2017. "Madam President, we commit ourselves to the conduct of a successful election in 2017 and to work with you and the entire government to move the country forward," Speaker Nuquay concluded.Share this:Click to share on Twitter (Opens in new window)Click to share on Facebook (Opens in new window)
一品楼信息 上海419贵族宝贝 上海夜网TO 上海夜网论坛BT 上海援助vx群 上海楼凤CN 克孜勒苏柯尔克孜桑拿 单身的离异的微信群 南浔白金汉宫有全套嘛 唐人阁四川九品区 夜上海论坛MW 广州微信mm名花录 淮安荤的KTV 爱上海IK 茂名夜网
Previous StoryThe Challenge of the Liberian Church: Evangelize to Wipe Out Witchcraft
Next StoryAmidst Economic Hardship, Worries; Consumers Give Mixed Reactions on Foreign Exchange


text:
Top of Business Fields
Paints for home use (DIY)
Paints for architectural structures
Professional — Our passion —
Top of Sustainability
Top of Sustainability initiatives
ESG Statement/ESG Management System
Materiality
Messages from Outside Directors of the Board
Top of Governance
Overview of Corporate Governance
Management Transparency and Sustainable Growth
ESG Library
Top of ESG Library
Variety of Data
GRI Standards Reference Table
Investor Relations (IR)
Top of Investor Relations (IR)
Top of Management Policy
Management Policy/Management Strategy
Financial and Capital Strategies
Medium-term Management Plan
Risks and Opportunities
Top of IR Library
Securities Report
Stock and Corporate Bonds
Top of Stock and Corporate Bonds
Meeting of Shareholders
Shareholder Return
Stock Procedure
Bonds and Ratings
Electronic Public Notice
Financial and ESG Data
Top of Financial and ESG Data
Latest Results and Forecast
Trends of Results
Financial Index
Data by Segment
ESG Data
Top of Research and Development
List of Technologies
Top of About
Company Museum
Top of Careers
Recruitment of New Graduates
Internships for New Graduates
Mid-career Recruitment
Enter keywords to search
The Group believes that it is indispensable for the sustainable business activities of companies to contribute to reducing global environment impact through the effective use of resources, such as water, energy, and raw materials, and the prevention of environmental pollution. With this belief, it will advance various initiatives. It will also build a sustainable business by actively using innovative technologies.
Reduction of environmental burdens
Climate change is beginning to have a serious impact on our lives every year. To mitigate the impact of climate change, we will work to reduce greenhouse gas (GHG) emissions and minimize business risks caused by climate change.
Nippon Paint Holdings Group is committed to the prevention of global warming in Japan mainly through efforts to reduce energy use. In FY2019, CO2 emissions from electricity use and per unit emissions increased due to the expansion of the scope of data collection to include the Group's subsidiaries. The following is a list of several examples of the group's energy conservation initiatives.
In FY2020, we identified climate change as one of our materiality items. We will make Group-wide efforts to promote initiatives related to climate change, recognizing it as a global issue. Discussions have begun in the E-subcommittee, a subcommittee of the ESG Committee, and have been held four times as of September 2020. In August 2020, we responded to the CDP questionnaire for the first time.
Improvement of paint production processes (dispersion process and other measures)
Installation of high-efficiency boilers and electrical panels
Review of the optimal operating conditions for large equipment (compressors, freezing/refrigeration units, others) used for manufacturing
fuel(Scope1)
Electricity(Scope2)
Electrity used
Effective use of resources such as water, energy, and raw materials, and prevention of environmental pollution are important matters for sustainable business. We will advance these efforts throughout life cycle of products.
Reduction of waste, etc. and zero emissions
In Japan, the Nippon Paint Holdings Group has adopted an integrated waste material management system that is compatible with the electronic manifest system. We make Group-wide efforts to reduce waste such as management, proper disposal, and effective use of waste generated. In FY2019, the amounts of waste generated increased due to soil emissions from unplanned construction work at some business sites, causing the recycling rate to decrease. We will work to enhance waste management in order to reduce waste generation and achieve a recycling rate of 100%.
Break of waste, etc.(FY2019)
The amounts of waste, etc. generated, recycled, and landfilled by year
Comprehensive management of chemical substances
Paints contain various chemical substances originating from their raw materials and some of them can be harmful to the human body or the environment. For the management of these chemical substances, the Group Product Safety Committee, which is set up under the Responsible Care Committee, holds discussions with Group companies and prepares management standards to standardize the handling of chemical substances and Comprehensive management of chemical substances
Initiatives in FY2019 prevent incorrect operation. We properly responded to domestic and international laws and regulations in FY2019, including the submission of notifications in accordance with the revised Chemical Substance Control Law and partial revision of the Cabinet Order for the Designation of Poisonous and Deleterious Substances, as well as the submission of preliminary notification about existing chemical substances in accordance with South Korea's Act on the Registration and Evaluation of Chemicals (K-REACH).
hazardous materials and obtained materials for leakage treatment and also provide training dedicated to the prevention of the leakage of hazardous materials in an emergency drill organized in each area every year. For example, we assume a case where products have leaked on the road after an accident with a truck transporting them on a surface road and provide training for preventing expansion of the leakage and recovering the products in order to develop the ability to respond quickly to mergency situations.
Air and water conservation
The Group complies with all laws and regulations pertaining to air pollution and water contamination through setting of voluntary reference values and other measures in Japan. In FY2019, emissions and the amount of water used increased because the scope of data collection was expanded to include the group's subsidiaries.
We make efforts to prevent air and water pollution through periodic pollution load measurements, improvements to the efficiency of cleaning processes at production sites, and recycling the water used for these processes.
In 2020, we identified "resources and environment" as one of our materiality items. We will start exploring issues from a new global ESG perspective.
Use of lead compounds by year*
Number of leakage accidents*
VOC emissions by year*
NOx, SOx and dust emissions by year*
Wastewater discharge and COD, total phosphorus, and total nitrogen emissions by year*
Water use by year*
* Scope of data collection:
NPAU, NPIU, NPTU, and NPSU for the data in FY2015
NPAU, NPIU, NPTU, NPSU, and NPMC for the data from FY2016 to FY2018
NPAU, NPIU, NPTU, NPSU, NPMC, AS Paint (ASP), AS Resin (ASR) and Nippon
Paint Anti-Corrosive Coatings (NAC) for the data in FY2019
Data collection period:
January to December; April to December for FY2016
Based on the principle of actively contributing to Responsible Care activities including environmental beautification and preservation through the creation of colors and landscape and the protection of materials and resources in the business activities, the Nippon Paint Holdings Group is committed to the activities through the coordination of all organizations in the Group, including all employees, with awareness of the respective missions and responsibilities, aiming to contribute to the establishment of relationships based on mutual trust with the global community, local communities, and customers. To this end, all of our business activities are required to follow the rules below:
We will endeavor to preserve the global environment and protect the ecosystem while striving to conserve energy and other resources in the course of all business activities.
We will promote the development of products with less environmental impact and technologies that help the products reduce such impact and will consider the impact of our products on the environment, safety, and health at all stages of their lifecycle from development to disposal.
We will work to reduce the environmental impact of our operations and ensure security and disaster prevention while striving to ensure the health and safety of local residents and employees.
Establish the
objectives and
goals of RC
RC Committee
Setting of RC
objectives/targets
Nippon Paint Holdings Group (in Japan)
Nippon Paint Holdings (NPHD)
Nippon Paint Automotive Coatings (NPAU)
Nippon Paint Industrial Coatings (NPIU)
Nippon Paint (NPTU)
Nippon Paint Surf Chemicals (NPSU)
Nippon Paint Marine Coatings (NPMC)
Nippe Trading (NTJ)
Inspection and
corrective/
preventive actions
External review for ISO 14001: SGS
(management system certification body
accredited by JB)
Internal RC audit: In-house assessment by
internal RC auditors
RC Committee → President
Environmental and work safety management
Nippon Paint Holdings Group received ISO 14001 multi-certification for seven domestic operating companies
and their subsidiaries. In addition, we provide active support to overseas Group companies for their health and
safety activities. In Asia, we provide support to enable Group companies to establish improvement activities. In
Europe and the Americas as well, we conduct audits and provide support for corrective actions on an as-needed
basis in cooperation with domestic operating companies.
Link to social and occupational health and safety
Environment initiatives
This website requires some functions similar to those of cookies.
If you allow our cookies, we use them to collect statistical data about your visit to improve our service. Videos are also presented by using YouTube. Cookies and other means are used only when you opt to watch videos. If you do not allow our cookies, only technical cookies are used.
Click/tap here for details.
Not allow
Official Page of Nippon Paint Mallets
© Nippon Paint Holdings Co., Ltd.


text:
Q: Powershell echo vs write-host and different outputs I am trying to write my first script but am having some issues with powershell.
I am using the following code:
$Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and $_.Size -lt 200Gb -and -not $_.IsBoot }

I can't figure out why
PS C:\> echo $disk
Number Friendly Name                            OperationalStatus                    Total Size Partition Style
 ------ -------------                            -----------------                    ---------- ---------------
1      Imation IronKey Wkspace USB Device       Online                                 59.63 GB MBR

and
PS C:\> write-host $disk
MSFT_Disk (ObjectId = "\\?\usbstor#disk&ven_imation&prod_ironk...)

It is more complicated by the following powershell script:
$Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and $_.Size -lt 200Gb -and -not $_.IsBoot }
$WIM = Get-PSDrive -PSProvider FileSystem | Where { Test-Path (join-path $_.Root "\sources\install.wim") }
echo $Disk
echo $WIM
Write-Host $WIM
Write-Host $Disk

and then change the order of the echo's and writes I get different outputs
can someone explain what is going on?

A: In PowerShell, echo maps to Write-Output instead of Write-Host.  If you want to output the objects resulting from some operation, you should be outputting them instead of attempting to Write-Host.  Content written via Write-Host doesn't make it to the output stream, so you can't (for example) use it in subsequent calls or pipes.
You see that nasty garbled output with Write-Host because it is trying to write the whole object out, and doesn't understand that you would probably prefer a nice table with cleanly listed properties.  You should reserve Write-Host for when you need to convey some simple information to the user that you don't mind being consumed, and even then there may be better alternatives like Write-Debug or Write-Verbose.
More info here.
You can always check mappings like this by calling a cmdlet with Help or Get-Help:
PS C:\> help echo

NAME
    Write-Output

A: The Write-Host cmdlet outputs to the host (i.e. the powershell or ISE window). It accepts an object as input and simply calls the .ToString() method of the object (or if it is an array it calls .ToString() or each element of the array.
Write-Output or its alias echo simply writes the input object to the current pipeline. Any objects that reach the end of the pipeline are then returned from the current function, cmdlet or script if there is one (where they may then continue down some other pipeline). Eventually objects may reach the end of a pipeline not inside a function, cmdlet or script and it appears they are output to the host. What actually happens is that at the end of the outermost pipeline all the objects are sent to an extra hidden cmdlet: Out-Default.
Out-Default sends the objects to the default formatter and then the default output cmdlet. It is the default formatter that converts your disk objects into a bunch of FormatStartData, GroupStartData, FormatEntryData, GroupEndData, and FormatEndData objects (pipe the output of something like Format-Table into Get-Member to see these objects). Finally the format objects are what get sent to the host to produce the formatted output.
If you want a bit of fun try redefining Out-Default so you can see where it is called:
PS C:\scripts> function Out-Default {
>>   Write-Verbose "Called Out-Default" -Verbose
>>   $input | Format-Table | Out-Host
>> }
>>
PS C:\scripts> cd mod2
VERBOSE: Called Out-Default
PS C:\scripts\mod2> ls
VERBOSE: Called Out-Default

    Directory: C:\scripts\mod2

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        29/12/2013     11:00        308 1Var.ps1
-a---        29/12/2013     11:00        326 2Quotes.ps1
-a---        29/12/2013     11:00        416 3ObjectMembers.ps1
-a---        29/12/2013     11:00        665 4Parenthesis.ps1
-a---        29/12/2013     11:00        392 5If.ps1
-a---        29/12/2013     11:00        325 6Switch.ps1
-a---        29/12/2013     11:00        226 7Do_While.ps1
-a---        29/12/2013     11:00        272 8For_Foreach.ps1
-a---        29/12/2013     11:00        150 _Startup.ps1


text:
Q: How can I find out the datatype of measures in MDX? I am new to Microsoft SQL Server Analysis Services and MDX.
How can I find out the datatype of measures in MDX?
The measures I am trying to find the datatype for are defined using a WITH clause which as I understand means that it is possible for each measure to have multiple datatypes.

A: How about the TypeName function:
WITH
Member [Measures].[My Type] as
TypeName([Measures].[My Other Measure])

Etc...
You are correct that each cell can be a different type of you have a calculations.

A: You need to look via BIDS or Visual Studio.
Use the link provided by @arunbabu :
http://beyondrelational.com/modules/12/tutorials/799/tutorials/17951/getting-started-with-ssas-multidimensional-part-7-creating-measures-in-ssas.aspx
Also long-time scholar on analysis services William Pearson has many helpful articles. Here is one about member properties:
http://www.databasejournal.com/features/mssql/article.php/3770686/Intrinsic-Member-Properties-The-MEMBERVALUE-Property.htm
A full catalog of his articles on Database journal is here:
http://www.databasejournal.com/article.php/1459531


Pilot Air supports new race talent at the Bathurst 12-hour.
2018 has been a Great Year for Pilot Air. Four (4) new product ranges were launched in the market.
Want to know what it was like to have lived through the bombing of Darwin Harbour in World War II?
Unexpected rise in your energy bill?
Pilot Air extends the "PAC" Series of Rotary Screw Air Compressors. NOW AVAILABLE UP TO 75KW!


The Nite Hawks welcome Alan Busch to the Nite Hawks coaching staff as a D-Line Coach. Alan is a native Nebraskan and a huge football fanatic. Alan started playing 8-man football in high school in central Nebraska. While in HS he played primarily O-Line and D-Line. After graduation Alan enlisted in the US Navy. While in the Navy he played inter-service league football where again he played on the O-Line and D-Line.
Alan has been active in our community coaching youth football for the last 6 years for the Papillion Jr Titan organization. Along with coaching youth football, Alan has helped coach girls softball, girls basketball, baseball, flag football and bowling . His understanding of basic fundamentals and the ability to break down those skills will be a huge asset for the Nite Hawks rookie players.
Alan is a proud husband to his wife Lori and proud parent to daughter Lexie, (18), daughter Claire, (14) and son Archer, (12). Alan is also the Uncle of our own #21 Shay TenEyck.
We are excited for the energy he brings to the team and we look forward to seeing his wife and children on the sidelines.


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

using LinqToDB;
using LinqToDB.Linq;
using LinqToDB.Mapping;

using NUnit.Framework;

namespace Tests.Linq
{
	using System.Linq.Expressions;
	using Model;

	[TestFixture]
	public class InheritanceTests : TestBase
	{
		[Test]
		public void Test1([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(ParentInheritance, db.ParentInheritance);
		}

		[Test]
		public void Test2([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(ParentInheritance, db.ParentInheritance.Select(p => p));
		}

		[Test]
		public void Test3([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					from p in    ParentInheritance where p is ParentInheritance1 select p,
					from p in db.ParentInheritance where p is ParentInheritance1 select p);
		}

		[Test]
		public void Test4([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					from p in    ParentInheritance where !(p is ParentInheritanceNull) select p,
					from p in db.ParentInheritance where !(p is ParentInheritanceNull) select p);
		}

		[Test]
		public void Test5([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					from p in    ParentInheritance where p is ParentInheritanceValue select p,
					from p in db.ParentInheritance where p is ParentInheritanceValue select p);
		}

		[Test]
		public void Test6([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				var q = from p in db.ParentInheritance2 where p is ParentInheritance12 select p;
				var _ = q.ToList();
			}
		}

		[Test]
		public void Test7([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					from p in    ParentInheritance where p is ParentInheritanceBase select p,
					from p in db.ParentInheritance where p is ParentInheritanceBase select p);
		}

		[Test]
		public void Test8([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					   ParentInheritance.OfType<ParentInheritance1>(),
					db.ParentInheritance.OfType<ParentInheritance1>());
		}

		[Test]
		public void Test9([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					   ParentInheritance
						.Where(p => p.ParentID == 1 || p.ParentID == 2 || p.ParentID == 4)
						.OfType<ParentInheritanceNull>(),
					db.ParentInheritance
						.Where(p => p.ParentID == 1 || p.ParentID == 2 || p.ParentID == 4)
						.OfType<ParentInheritanceNull>());
		}

		[Test]
		public void Test10([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					   ParentInheritance.OfType<ParentInheritanceValue>(),
					db.ParentInheritance.OfType<ParentInheritanceValue>());
		}

		[Test]
		public void Test11([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				var q = from p in db.ParentInheritance3 where p is ParentInheritance13 select p;
				var _ = q.ToList();
			}
		}

		[Test]
		public void Test12([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					from p in    ParentInheritance1 where p.ParentID == 1 select p,
					from p in db.ParentInheritance1 where p.ParentID == 1 select p);
		}

		//[Test]
		public void Test13([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					from p in    ParentInheritance4
					join c in    Child on p.ParentID equals c.ParentID
					select p,
					from p in db.ParentInheritance4
					join c in db.Child on p.ParentID equals c.ParentID
					select p);
		}

		[Test]
		public void TestGetBaseClass([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				var q = db.GetTable<ParentInheritanceBase3>()
					.Where(x => x is ParentInheritance13)
					.ToList();
				Assert.AreEqual(2, q.Count);
			}
		}

		[Test]
		public void TypeCastAsTest1([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var dd = GetNorthwindAsList(context);
				AreEqual(
					dd.DiscontinuedProduct.ToList()
						.Select(p => p as Northwind.Product)
						.Select(p => p == null ? "NULL" : p.ProductName),
					db.DiscontinuedProduct
						.Select(p => p as Northwind.Product)
						.Select(p => p == null ? "NULL" : p.ProductName));
			}
		}

		[Test]
		public void TypeCastAsTest11([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var dd = GetNorthwindAsList(context);
				AreEqual(
					dd.DiscontinuedProduct.ToList()
						.Select(p => new { p = p as Northwind.Product })
						.Select(p => p.p == null ? "NULL" : p.p.ProductName),
					db.DiscontinuedProduct
						.Select(p => new { p = p as Northwind.Product })
						.Select(p => p.p == null ? "NULL" : p.p.ProductName));
			}
		}

		[Test]
		public void TypeCastAsTest2([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var dd = GetNorthwindAsList(context);
				AreEqual(
					dd.Product.ToList()
						.Select(p => p as Northwind.DiscontinuedProduct)
						.Select(p => p == null ? "NULL" : p.ProductName),
					db.Product
						.Select(p => p as Northwind.DiscontinuedProduct)
						.Select(p => p == null ? "NULL" : p.ProductName));
			}
		}

		[Test]
		public void FirstOrDefault([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var dd = GetNorthwindAsList(context);
				Assert.AreEqual(
					dd.DiscontinuedProduct.FirstOrDefault().ProductID,
					db.DiscontinuedProduct.FirstOrDefault().ProductID);
			}
		}

		[Test]
		public void Cast1([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					   ParentInheritance.OfType<ParentInheritance1>().Cast<ParentInheritanceBase>(),
					db.ParentInheritance.OfType<ParentInheritance1>().Cast<ParentInheritanceBase>());
		}

		[Test]
		public async Task Cast1Async([DataSources] string context)
		{
			using (var db = GetDataContext(context))
				AreEqual(
					      ParentInheritance.OfType<ParentInheritance1>().Cast<ParentInheritanceBase>(),
					await db.ParentInheritance.OfType<ParentInheritance1>().Cast<ParentInheritanceBase>().ToListAsync());
		}

		class ParentEx : Parent
		{
			[NotColumn]
			protected bool Field1;

			public static void Test(InheritanceTests inheritance, string context)
			{
				using (var db = inheritance.GetDataContext(context))
					inheritance.AreEqual(
						inheritance.Parent.Select(p => new ParentEx { Field1 = true, ParentID = p.ParentID, Value1 = p.Value1 }).Cast<Parent>(),
								 db.Parent.Select(p => new ParentEx { Field1 = true, ParentID = p.ParentID, Value1 = p.Value1 }).Cast<Parent>());
			}
		}

		[Test]
		public void Cast2([DataSources] string context)
		{
			ParentEx.Test(this, context);
		}

		[Table("Person", IsColumnAttributeRequired = false)]
		class PersonEx : Person
		{
		}

		[Test]
		public void SimplTest()
		{
			using (var db = new TestDataConnection())
				Assert.AreEqual(1, db.GetTable<PersonEx>().Where(_ => _.FirstName == "John").Select(_ => _.ID).Single());
		}

		[InheritanceMapping(Code = 1, Type = typeof(Parent222))]
		[Table("Parent")]
		public class Parent111
		{
			[Column(IsDiscriminator = true)]
			public int ParentID;
		}

		[Column("Value1", "Value.ID")]
		public class Parent222 : Parent111
		{
			public Value111 Value = null!;
		}

		public class Value111
		{
			public int ID;
		}

		[Test]
		public void InheritanceMappingIssueTest()
		{
			using (var db = new TestDataConnection())
			{
				var q1 = db.GetTable<Parent222>();
				var q  = q1.Where(_ => _.Value.ID == 1);

				var sql = ((IExpressionQuery<Parent222>)q).SqlText;
				Assert.IsNotEmpty(sql);
			}
		}

		[Table(Name = "Child", IsColumnAttributeRequired = false)]
		[InheritanceMapping(Code = 1, IsDefault = true, Type = typeof(MyChildBase))]
		[InheritanceMapping(Code = 11, Type = typeof(MyChild11))]
		[InheritanceMapping(Code = 21, Type = typeof(MyChild21))]
		public class MyChildBase
		{
			[Column(IsDiscriminator = true)]
			public int ChildID { get; set; }
		}

		public class MyChildBase_11_21 : MyChildBase { }
		public class MyChild11 : MyChildBase_11_21 { }
		public class MyChild21 : MyChildBase_11_21 { }

		[Test]
		public void InheritanceMappingIssue106Test([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				var childIDs = db.GetTable<MyChildBase_11_21>().AsEnumerable()
					.Select(ch => ch.ChildID)
					.OrderBy(x => x)
					.ToList();

				Assert.IsTrue(childIDs.SequenceEqual(new [] {11, 21} ), "{0}: {1}, {2}", childIDs.Count, childIDs[0], childIDs[1]);
			}
		}

		[Test]
		public void ReferenceNavigation([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var result =
					from od in db.OrderDetail
					where od.Product.Category!.CategoryName == "Seafood"
					select new { od.Order, od.Product };

				var list = result.ToList();

				Assert.AreEqual(330, list.Count);

				foreach (var item in list)
				{
					Assert.IsNotNull(item);
					Assert.IsNotNull(item.Order);
					Assert.IsNotNull(item.Product);
					Assert.IsTrue(
						 item.Product.Discontinued && item.Product is Northwind.DiscontinuedProduct ||
						!item.Product.Discontinued && item.Product is Northwind.ActiveProduct);
				}
			}
		}

		[Test]
		public void TypeCastIsChildConditional1([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var result   = db.Product.         Select(x => x is Northwind.DiscontinuedProduct ? x : null).ToList();
				var expected = db.Product.ToList().Select(x => x is Northwind.DiscontinuedProduct ? x : null).ToList();

				Assert.That(result.Count,                    Is.GreaterThan(0));
				Assert.That(expected.Count(),                Is.EqualTo(result.Count));
				Assert.That(result.Contains(null),           Is.True);
				Assert.That(result.Select(x => x == null ? (int?)null : x.ProductID).Except(expected.Select(x => x == null ? (int?)null : x.ProductID)).Count(), Is.EqualTo(0));
			}
		}

		[Test]
		public void TypeCastIsChildConditional2([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var result   = db.Product.         Select(x => x is Northwind.DiscontinuedProduct);
				var expected = db.Product.ToList().Select(x => x is Northwind.DiscontinuedProduct);

				var list = result.ToList();

				Assert.Greater(list.Count, 0);
				Assert.AreEqual(expected.Count(), list.Count);
				Assert.IsTrue(list.Except(expected).Count() == 0);
			}
		}

		[Test]
		public void TypeCastIsChild([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var dd = GetNorthwindAsList(context);

				var result   = db.Product.Where(x => x is Northwind.DiscontinuedProduct).ToList();
				var expected = dd.Product.Where(x => x is Northwind.DiscontinuedProduct).ToList();

				Assert.Greater(result.Count, 0);
				Assert.AreEqual(result.Count, expected.Count);
			}
		}

		#region Models for Test14

		interface IChildTest14
		{
			int ChildID { get; set; }
		}

		[Table(Name="Child")]
		class ChildTest14 : IChildTest14
		{
			[PrimaryKey] public int ChildID { get; set; }

		}

		T FindById<T>(IQueryable<T> queryable, int id)
			where T : IChildTest14
		{
			return queryable.Where(x => x.ChildID == id).FirstOrDefault();
		}

		#endregion

		[Test]
		public void Test14([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				var q = db.GetTable<ChildTest14>().Select(c => new ChildTest14 { ChildID = c.ChildID });
				FindById(q, 10);
			}
		}

		[Test]
		public void Test15([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var dd = GetNorthwindAsList(context);

				var result   = db.DiscontinuedProduct.Select(p => p).ToList();
				var expected = dd.DiscontinuedProduct.Select(p => p).ToList();

				Assert.That(result.Count, Is.Not.EqualTo(0).And.EqualTo(expected.Count));
			}
		}

		[Test]
		public void Test16([NorthwindDataContext] string context)
		{
			using (var db = new NorthwindDB(context))
			{
				var dd = GetNorthwindAsList(context);

				var result   = db.DiscontinuedProduct.ToList();
				var expected = dd.DiscontinuedProduct.ToList();

				Assert.That(result.Count, Is.Not.EqualTo(0).And.EqualTo(expected.Count));
			}
		}

		public enum TypeCodeEnum
		{
			Base,
			A,
			A1,
			A2,
		}

		[Table(Name="LinqDataTypes")]
		public abstract class InheritanceBase
		{
			[Column] public Guid GuidValue { get; set; }

			[Column("ID")]
			public virtual TypeCodeEnum TypeCode => TypeCodeEnum.Base;
		}

		[InheritanceMapping(Code = TypeCodeEnum.A1, Type = typeof(InheritanceA1), IsDefault = false)]
		[InheritanceMapping(Code = TypeCodeEnum.A2, Type = typeof(InheritanceA2), IsDefault = true)]
		public abstract class InheritanceA : InheritanceBase
		{
			[Association(CanBeNull = true, ThisKey = "GuidValue", OtherKey = "GuidValue")]
			public List<InheritanceB> Bs { get; set; } = null!;

			[Column("ID", IsDiscriminator = true)]
			public override TypeCodeEnum TypeCode => TypeCodeEnum.A;
		}

		public class InheritanceA1 : InheritanceA
		{
			[Column("ID", IsDiscriminator = true)]
			public override TypeCodeEnum TypeCode => TypeCodeEnum.A1;
		}

		public class InheritanceA2 : InheritanceA
		{
			[Column("ID", IsDiscriminator = true)]
			public override TypeCodeEnum TypeCode => TypeCodeEnum.A2;
		}

		public class InheritanceB : InheritanceBase
		{
		}

		[Table(Name="LinqDataTypes")]
		public class InheritanceAssociation
		{
			[Column] public Guid GuidValue { get; set; }

			[Association(CanBeNull = true, ThisKey = "GuidValue", OtherKey = "GuidValue")]
			public InheritanceA1? A1 { get; set; }

			[Association(CanBeNull = true, ThisKey = "GuidValue", OtherKey = "GuidValue")]
			public InheritanceA2? A2 { get; set; }
		}

		[Test]
		public void GuidTest()
		{
			using (var db = new TestDataConnection())
			{
				var list = db.GetTable<InheritanceA>().Where(a => a.Bs.Any()).ToList();
			}
		}

		[Test]
		public void QuerySyntaxSimpleTest([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				// db.GetTable<Parent111>().OfType<Parent222>().ToList(); - it's work!!!
				(from p in db.GetTable<Parent111>().OfType<Parent222>() select p).ToList();
			}
		}

		[Table("Person")]
		[InheritanceMapping(Code = 1, Type = typeof(Test17John))]
		[InheritanceMapping(Code = 2, Type = typeof(Test17Tester))]
		public class Test17Person
		{
			[Column(IsDiscriminator = true)]
			public int PersonID { get; set; }
		}

		public class Test17John : Test17Person
		{
			public string FirstName { get; set; } = null!;
		}

		public class Test17Tester : Test17Person
		{
			public string LastName { get; set; } = null!;
		}

		[Test]
		public void Test17([DataSources(false)] string data)
		{
			using (var context = GetDataContext(data))
			{
				var db = (TestDataConnection)context;
				db.GetTable<Test17Person>().OfType<Test17John>().ToList();
				Assert.False(db.LastQuery!.ToLowerInvariant().Contains("lastname"), "Why select LastName field??");
			}
		}

		[Table(Name="Person")]
		[InheritanceMapping(Code = Gender.Male,   Type = typeof(Test18Male))]
		[InheritanceMapping(Code = Gender.Female, Type = typeof(Test18Female))]
		public class Test18Person
		{
			[PrimaryKey, Identity, SequenceName("PERSONID")] public int    PersonID { get; set; }
			[Column(IsDiscriminator = true)]                 public Gender Gender   { get; set; }
		}

		public class Test18Male : Test18Person
		{
			[Column] public string FirstName { get; set; } = null!;
		}

		public class Test18Female : Test18Person
		{
			[Column] public string FirstName { get; set; } = null!;
			[Column] public string LastName  { get; set; } = null!;
		}

		[Test]
		public void Test18([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				var ids = Enumerable.Range(0, 10).ToList();
				var q   =
					from p1 in db.GetTable<Test18Person>()
					where ids.Contains(p1.PersonID)
					join p2 in db.GetTable<Test18Person>() on p1.PersonID equals p2.PersonID
					select p1;

				var list = q.Distinct().OfType<Test18Female>().ToList();
			}
		}

		[Test]
		public async Task Test18Async([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				var ids = Enumerable.Range(0, 10).ToList();
				var q   =
					from p1 in db.GetTable<Test18Person>()
					where ids.Contains(p1.PersonID)
					join p2 in db.GetTable<Test18Person>() on p1.PersonID equals p2.PersonID
					select p1;

				var list = await q.Distinct().OfType<Test18Female>().ToListAsync();
			}
		}

		[Test]
		public void Test19([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				var ids = Enumerable.Range(0, 10).ToList();
				var q   =
					from p1 in db.GetTable<Test18Person>()
					where ids.Contains(p1.PersonID)
					join p2 in db.GetTable<Test18Person>() on p1.PersonID equals p2.PersonID
					select p1;

				IQueryable iq   = q.Distinct();
				var        list = iq.OfType<Test18Female>().ToList();
			}
		}

		[Test]
		public void InheritanceAssociationTest([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			{
				var result = db.GetTable<InheritanceAssociation>().Select(ia =>
					new
					{
						TC1 = ia.A1!.TypeCode,
						TC2 = ia.A2!.TypeCode
					});

				var items = db.GetTable<LinqDataTypes>().ToList();
				var expected = items.Select(ia =>
					new
					{
						TC1 = items.Where(i => i.ID == ia.ID).Select(i => (TypeCodeEnum)i.ID).FirstOrDefault(i => i == TypeCodeEnum.A1),
						TC2 = items.Where(i => i.ID == ia.ID).Select(i => (TypeCodeEnum)i.ID).FirstOrDefault(i => i != TypeCodeEnum.A1)
					});

				AreEqual(expected, result);
			}
		}

		#region issue 2429

		public abstract class Root
		{
			public abstract int Value { get; set; }
			public abstract int GetValue();
		}

		[Table]
		public class BaseTable : Root
		{
			[PrimaryKey, NotNull  ] public int Id { get; set; }
			[Column(nameof(Value))] public int BaseValue { get; set; }

			private static Expression<Func<BaseTable, int>> GeValueImpl() => e => e.BaseValue;

			[ExpressionMethod(nameof(GeValueImpl), IsColumn = true)]
			public override int Value { get => BaseValue; set => BaseValue = value; }

			[ExpressionMethod(nameof(GeValueImpl))]
			public override int GetValue() => BaseValue;

			public static readonly BaseTable[] Data = new []
			{
				new BaseTable() { Id = 1, Value = 100 }
			};
		}

		[Table]
		public class BaseTable2
		{
			[PrimaryKey, NotNull] public         int Id { get; set; }
			[Column             ] public virtual int Value { get; set; }

			[ExpressionMethod(nameof(GetBaseTableOverrideImpl), IsColumn = true)]
			public virtual int GetValue() => Value;

			private static Expression<Func<BaseTable2, int>> GetBaseTableOverrideImpl() => e => e.Value;

			public static readonly BaseTable2[] Data = new []
			{
				new BaseTable2() { Id = 1, Value = 100 }
			};
		}

		public class DerivedTable2 : BaseTable2
		{
			private static Expression<Func<DerivedTable2, int>> GetDerivedTableOverrideImpl() => e => e.BaseValue * -1;

			[Column(nameof(Value))] public int BaseValue { get; set; }

			[ExpressionMethod(nameof(GetDerivedTableOverrideImpl), IsColumn = true)]
			public override int Value { get; set; }

			[ExpressionMethod(nameof(GetDerivedTableOverrideImpl))]
			public override int GetValue() => BaseValue * -1;
		}

		[Test]
		public void Issue2429PropertiesTest1([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			using (db.CreateLocalTable(BaseTable.Data))
			{
					var baseTableRecordById = db.GetTable<BaseTable>().FirstOrDefault(x => x.Id == 1);
					Assert.AreEqual(1, baseTableRecordById?.Id);
					Assert.AreEqual(100, baseTableRecordById?.Value);

					var baseTableRecordWithValuePredicate = db.GetTable<BaseTable>().FirstOrDefault(x => x.Id == 1 && x.Value == 100);
					Assert.AreEqual(1, baseTableRecordWithValuePredicate?.Id);
					Assert.AreEqual(100, baseTableRecordWithValuePredicate?.Value);
			}
		}

		[Test]
		public void Issue2429MethodsTest1([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			using (db.CreateLocalTable(BaseTable.Data))
			{
				var baseTableRecordById = db.GetTable<BaseTable>().FirstOrDefault(x => x.Id == 1);
				Assert.AreEqual(1, baseTableRecordById?.Id);
				Assert.AreEqual(100, baseTableRecordById?.Value);

				var baseTableRecordWithValuePredicate = db.GetTable<BaseTable>().FirstOrDefault(x => x.Id == 1 && x.GetValue() == 100);
				Assert.AreEqual(1, baseTableRecordWithValuePredicate?.Id);
				Assert.AreEqual(100, baseTableRecordWithValuePredicate?.Value);
			}
		}

		[ActiveIssue(Details = "Invalid mappings?")]
		[Test]
		public void Issue2429PropertiesTest2([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			using (db.CreateLocalTable(BaseTable2.Data))
			{
				var baseTableRecord    = db.GetTable<BaseTable2>().FirstOrDefault(x => x.Id == 1 && x.Value == 100);
				//var derivedTableRecord = db.GetTable<DerivedTable2>().FirstOrDefault(x => x.Id == 1 && x.Value == (100 * -1 ));
				var derivedTableRecord = db.GetTable<BaseTable2>().OfType<DerivedTable2>().FirstOrDefault(x => x.Id == 1 && x.Value == (100 * -1 ));

				Assert.AreEqual(1, baseTableRecord?.Id);
				Assert.AreEqual(100, baseTableRecord?.Value);

				Assert.AreEqual(1, derivedTableRecord?.Id);
				Assert.AreEqual(100, derivedTableRecord?.Value * -1);
			}
		}

		[ActiveIssue(Details = "Invalid mappings?")]
		[Test]
		public void Issue2429MethodsTest2([DataSources] string context)
		{
			using (var db = GetDataContext(context))
			using (db.CreateLocalTable(BaseTable2.Data))
			{
				var baseTableRecord    = db.GetTable<BaseTable2>().FirstOrDefault(x => x.Id == 1 && x.GetValue() == 100);
				//var derivedTableRecord = db.GetTable<DerivedTable2>().FirstOrDefault(x => x.Id == 1 && x.GetValue() == (100 * -1 ));
				var derivedTableRecord = db.GetTable<BaseTable2>().OfType<DerivedTable2>().FirstOrDefault(x => x.Id == 1 && x.GetValue() == (100 * -1 ));

				Assert.AreEqual(1, baseTableRecord?.Id);
				Assert.AreEqual(100, baseTableRecord?.Value);

				Assert.AreEqual(1, derivedTableRecord?.Id);
				Assert.AreEqual(100, derivedTableRecord?.Value * -1);
			}
		}
		#endregion
	}
}

redpajama_set_name: RedPajamaGithub


Mix marmalade and mustard in a small saucepan. Cook over medium heat, stirring constantly for 2 minutes.
Chop green onions. Spray a nonstick frying pan with cooking spray. Stir-fry green onions until tender crisp. Stir in marmalade glaze and heat.
Broil pork chops 4" from heat, 3 minutes per side or until cooked.
Pour glaze over broiled chops and serve.
Add a pinch of red pepper flakes to orange glaze for extra spice.
Recipe from Cooking for David: A Culinary Dialysis Cookbook written by Sara Colman RD, CDE and Dorothy Gordon BS, RN and submitted by DaVita dietitian Sara from California.


Near The Hague and only 20 kilometres from Rotterdam- the Savelberg Hotel is a picture of elegance set in magnificent grounds blessed with quite a few hundred-year old trees. The wind blowing in from the coast carries the scent of the sea air to remind you that the beaches are very close by- and sometimes it even brings with it a few grains of sand stolen from the bunkers of the neighbouring golf course. The delicate little glass bowls served at the table of the Savelberg offer a fusion of flavours and are often savoured in a sort of meditative hush of pleasure- as are thea langoustines decked in zest of vegetables and a melt-in-the-mouth chocolate cake with a raspberry hidden deep in its soft centre. The rooms are like the dishes- colourful and eloquent and decorated in shades of lavender or peach that plunge your big four-poster bed into a rainbow world. The property is closed for business during the year over the following dates December 27 2008-January 9 2009. CLUB 5C- Hotel welcomes Relais and Chateaux Club 5C members with a VIP Welcome and a Discovery Privilege. Please include the Club 5C membership number in the reservation and please show your Club 5C membership card on arrival.