text:
John Russell Carnahan (; born July 10, 1958) is an American politician from the state of Missouri. A member of the Democratic Party, he served as the U.S. representative for  from 2005 to 2013.

At the time, the district included the southern third of the city of St. Louis (known as South City) and most of the southern St. Louis suburbs including most of Jefferson County and all of Ste. Genevieve County. Some cities located in the district include: Webster Groves, Mehlville, Affton, and  Oakville, and the southern suburbs of Arnold, Herculaneum, Pevely, Crystal City, Barnhart, Imperial, and Festus, as well as Ste. Genevieve in the neighboring Ste. Genevieve County.

Dramatic losses in population in St. Louis in the 2010 Census contributed to Missouri losing a Congressional seat effective 2013.  In the re-mapping of the state's congressional districts, Carnahan's district was dismantled.  The bulk of the district, including Carnahan's home, was drawn into Missouri's 1st congressional district.  The move placed Carnahan and William Lacy Clay Jr. in the same district; Carnahan lost the primary to Clay for the seat on August 7, 2012.

Early life, education and career
John Russell Carnahan was born in 1958 in Columbia, Missouri, and raised in Rolla. He is the son of the late Mel Carnahan, the former Governor of Missouri and posthumous U.S. Senator-elect, and Jean Carnahan (née Carpenter), who was appointed to the U.S. Senate to fill the seat to which her husband was posthumously elected.

His grandfather, A. S. J. Carnahan, served in Congress for seven terms, and also as U.S. Ambassador to Sierra Leone.  Russ Carnahan is a recipient of the Eagle Scout Award. His sister Robin Carnahan was elected to the office of secretary state in 2004 and again in 2008 in which she received the most votes cast for a single candidate in the state's history. His brother Randy was killed in the same plane crash that took the life of his father. Russ Carnahan received a bachelor's degree and a Juris Doctor degree from the University of Missouri. He worked as a private practice attorney prior to entering politics.

U.S. House of Representatives

Committee assignments
Committee on Foreign Affairs
Subcommittee on Africa, Global Health, and Human Rights
Subcommittee on Oversight and Investigations (Ranking Member)
Committee on Transportation and Infrastructure
Subcommittee on Aviation
Subcommittee on Economic Development, Public Buildings and Emergency Management
Subcommittee on Water Resources and Environment
Committee on Veterans' Affairs
Subcommittee on Health

Caucus memberships
American Engagement Caucus
Congressional Biomass Caucus
International Conservation Caucus
Sportsmen's Caucus
New Democrat Coalition

Political positions
Crime: In the 2008 Missouri Congressional Political Courage Test, Carnahan supported the use of the death penalty in federal crimes. He also supported strict penalties for internet crime, such as hacking identity theft. However, he also supported programs to provide inmates with job-related skills and job-placement assistance when released. In addition, Carnahan supported programs to provide prison inmates with drug and alcohol addiction treatment. He supported the requirement that crimes based on sexual orientation should be prosecuted as federal hate crimes.

Economy & Jobs: In 2009, Carnahan voted for the American Recovery and Reinvestment Act of 2009. Missouri Republicans criticized Carnahan's vote, noting that passage of the bill resulted in $107 million in federal funding for Lost Creek Wind Farm, an alternative energy facility owned by Russ Carnahan's brother, Tom Carnahan.

Environment & Energy: Carnahan supported the regulation and enforcements of both the Clean Air and Clean Water Act. He supported further development and use of alternative fuels as well as the development of traditional energy resources, such as coal and natural gas. Carnahan also wanted to strengthen emission controls on all gasoline and diesel-powered engines, including cars, trucks, and SUVs. He has supported tax credits to consumers and manufacturers of hybrid vehicles. In addition, he supported international voluntary and mandatory emission targets to limit global warming.
Carnahan has supported the interests of groups trying to protect the environment, such as the Defenders of Wildlife Action Fund. Russ Carnahan voted in favor of H.R. 2454: American Clean Energy and Security Act of 2009 also known as the Cap and Trade bill or Waxman/Markey act.

Health: Recently, Carnahan voted against a Health Care and Insurance Law amendment that would prohibit federal funding of abortion services. He supports the interests of pro-choice groups such as Planned Parenthood and NARAL Pro-Choice America.
Carnahan wants tax credits to be offered to individuals and small businesses to offset the cost of insurance. He also supports the importation of prescription drugs to the U.S., and wants to expand prescription drug coverage under Medicare so that more people can be covered. Carnahan would also like child healthcare programs to be expanded so that more children can be covered. Carnahan voted in favor of H.R. 3962: Affordable Health Care for America Act in 2009,

Foreign Policy In January 2010, Carnahan partnered with Republican Congressman Joseph Cao of Louisiana to create the American Engagement Caucus, its stated purpose being the promotion of a multilateral foreign policy in which the United States works closely with other countries to address global problems. As a joint editorial between the two congressmen stated, "We live in an age of interdependence. America's security, economic, environmental, and moral interests are inextricably linked with those of the international community. Simply put, it is in our vital national interest to support international engagement.". He has since introduced multiple other bills related to science diplomacy.

Guns According to the NRA Russ Carnahan was rated with an F rating meaning he agreed with laws or signed in laws that were infringing on gun rights. Robin Carnahan, Russ's sister also has an F rating with the NRA. In 2016 during his run for Lt. Governor, Carnahan said,"I'm a member of the NRA as well as a Democrat. Democrat or Republican, no decision is going to be made to be harmful to the people."

Political campaigns
Carnahan's first campaign for political office was in 1990, when he unsuccessfully ran for Congress in the 8th Congressional District against Republican U.S. Representative Bill Emerson, losing by 14 points, 57% to 43%. His grandfather had previously represented much of this district's western portion for all but two years from 1947 to 1961.

Prior to challenging Emerson, by his own telling the then-32-year-old Carnahan had already "been active in government and politics for most of my adult life."  Carnahan was active in several of his late father's political campaigns, including successful bids for state treasurer (1980) and lieutenant governor (1988), and an unsuccessful race for governor (1984).  In January 1980, Carnahan slept for five days on the floor outside the Secretary of State's Office in the Missouri State Capitol in Jefferson City, to ensure that his father's name would be first on the ballot for Missouri State Treasurer when filing opened on January 8.  Said Carnahan, "A lot of people get football tickets this way.  It's going to be a long five days, so I guess we'll get some sleeping bags and a TV in here."  And in 1984, when his father ran for state treasurer, Carnahan made stump speeches for him across Missouri.  Carnahan also had already worked for Missouri House Speaker Bob F. Griffin, Missouri Secretary of State Jim Kirkpatrick, and Missouri House Majority Leader Tony Ribaudo; had served on the executive committee of the Missouri Democratic Party; and, was the deputy Missouri campaign manager for Dick Gephardt's 1988 presidential campaign.

In his race against Emerson, one newspaper remarked "on Carnahan's tactics of deliberate misinformation and distortion of facts" and his "negative and demagogic approach to the 8th District race."  The Sikeston Standard-Democrat said, "Democrat Russ Carnahan has brought more mud into a congressional campaign than the days of Bill D. Burlison."  According to the Rolla Daily News, "We have already heard enough from Carnahan, whose loose interpretation of Mr. Emerson's record is grossly misleading.  Mostly B.S., in other words.  Couple that with Carnahan's wild accusations of what Emerson is to be blamed for, and I wouldn't be surprised if Carnahan doesn't soon attribute Missouri's recent fifth-down loss to Colorado to Emerson."  Responding to this criticism, Carnahan alleged "that the Sowers family, which publishes the Rolla Daily News, has endorsed Emerson because the congressman rents district office space from the family."  The Southeast Missourian described Carnahan's claim as "amateurish." In the final days of the campaign, "frustrated by ads being run by [Emerson]," Carnahan "lashed back by calling Emerson a 'damn liar.'"  Emerson defeated Carnahan, 57% to 43%.

Carnahan considered running against Emerson again in 1994, but ultimately "decided 1994 was not the time."  He then moved to St. Louis, where in 2000 he was elected to the Missouri House of Representatives. He narrowly defeated political activist Jeanette Mott Oxford in the Democratic primary election by a scant 64 votes but went on to win the general election by a wide margin. He was reelected to the Missouri House of Representatives in 2002.

In 2004, Carnahan ran for the 3rd Congressional District seat in the U.S. House of Representatives which was vacated by retiring U.S. Representative and former House Minority Leader and co-founder of the New Democratic Coalition Dick Gephardt. Carnahan narrowly won a crowded primary field of ten Democratic candidates in 2004 with 22.9 percent of the vote, finishing with less than 1,800 votes ahead of his nearest rival, political activist Jeff Smith, who garnered 21.3 percent. In the general election Carnahan faced Republican candidate William J. Federer, an author and Religious Right activist who had previously run against Gephardt on several occasions. The election was somewhat closer than expected. However, St. Louis's strong Democratic tilt (a Republican had not represented this district or its predecessors since 1953) helped Carnahan win with 53 percent of the vote. The district reverted to form in 2006 and Carnahan was reelected with 65 percent of the vote.

2008

2010

Carnahan won re-election over Republican nominee Edward Martin Jr., Constitution Party nominee Nick Ivanovich, and Libertarian nominee Steven Hedrick. Brian Wallner qualified as a write-in candidate.

2012

During his time in Congress, Carnahan represented the southern third of St. Louis City, as well as much of southern St. Louis County and all of Jefferson and Ste. Genevieve counties. However, Missouri was due to lose a district after the 2010 census revealed sluggish population growth in Missouri.

On May 4, 2011, the Missouri Legislature overrode Governor Jay Nixon's veto of the proposed elimination of the 3rd District, by a 109-44 vote in the Missouri House, and 28-6 in the Missouri Senate. The new map merged all of St. Louis, including Carnahan's home, into the 1st District, represented by six-term Democrat Lacy Clay.

Carnahan challenged Clay in the primary for the redrawn 1st on August 7, 2012–the real contest in this heavily Democratic district–and lost by a landslide, 63% to 34%.

Carnahan was mentioned as a possible candidate to fill a vacancy in the 8th District after Rep. Jo Ann Emerson stepped down in 2013.

2016

Carnahan was the unsuccessful Democratic nominee for lieutenant governor. "Many of you have consistently encouraged me to continue serving our state in new ways — especially at a time when so many of our state officials are so very disconnected from the everyday needs and aspirations of Missourians," he wrote. He lost the general election to Republican Mike Parson.

Electoral history

Write-in and minor candidate notes: In 2004, Joseph L. Badaracco received 11 votes. In 2010, Brian Wallner received 3 votes.

Write in notes: Jake Wilburn received 87 votes.

References

External links
Russ Carnahan for Congress official campaign site

Profile at SourceWatch

1958 births
Living people
Methodists from Missouri
Carnahan family
Democratic Party members of the Missouri House of Representatives
Politicians from Columbia, Missouri
People from Rolla, Missouri
Politicians from St. Louis
University of Missouri alumni
Democratic Party members of the United States House of Representatives from Missouri
21st-century American politicians


text:
Densho Digital Repository Densho Digital Repository
Using Materials in the DDR
ddr-densho-346
Commission on Wartime Relocation and Internment of Civilians hearings
Download large (135.4 KB) Download full-size (24.1 MB)
Caution This object is protected by copyright. You must ask permission from the rights holder if you re-use or publish it elsewhere, unless your project falls under a fair-use exception.
Visit partner
ddr-densho-346-50
PARENT COLLECTION
Paul Bannai Collection
c. July 1981
OBJECT FORMAT
Redress and reparations -- Commission on Wartime Relocation and Internment of Civilians (CWRIC) -- Hearings -- Washington, D.C. hearings
Courtesy of the Paul Bannai Collection, Densho
ddr-densho-346-50-mezzanine-2fa80ad509 - Front
http://ddr.densho.org/ddr-densho-346-50-mezzanine-2fa80ad509/
© Densho, 2020. Terms of Use/Privacy Policy BACK TO TOP
The text of this page is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Where indicated, images and other primary source materials may be subject to use restrictions by their respective rights holders. More information
This material is based upon work assisted by a grant from the U.S. Department of the Interior, National Park Service. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the U.S. Department of the Interior.
Visit Densho.org

redpajama_set_name: RedPajamaCommonCrawl


text:
Nelun Fernando
Ph.D in Geography, Concentration in Climatology
Dissertation Research: Predicting and monitoring drought in the humid tropics: a case study on Sri Lanka
Dr. Nelun Fernando developed a method for predicting and monitoring drought. Although it was developed for the island nation of Sri Lanka, the method is applicable to locations throughout the humid tropics where droughts occur due to insufficient rain during the monsoon rainy season. During the main rice cultivation seasons—the Maha, extending from October to March—drought can be predicted by forecasting the failure of two different rainfall regimes. Nelun's research showed that rainfall in October and November is inhibited when there are unusually strong westerly winds 1.5 km above the surface of the earth . Later in the season, from December through February, the rains that accompany the northeast monsoon will be abnormally weak when wind shear (the change of wind direction with height) is small. Nelun also found that monitoring an index of vegetation temperature derived from two satellite sensors—the Terra-MODIS Land Surface Temperature and Normalized Difference Vegetation Index products—is capable of providing near real-time monitoring of moisture stress during the Maha season.
Nelun is extremely grateful for the Greenberg Fellowship noting that, "It gave me the opportunity to engage full time on my dissertation research shortly after I reached candidacy and enabled me to finish the Ph.D. degree program within four years. " Nelun and the bond she has developed with Mrs. Greenberg, was featured in the Fall 2010 edition of pdf Rutgers Magazine .


text:
Kind-hearted friends, teachers and strangers rally around Alfie, four, to help treat rare Loeys-Dietz Syndrome
By Ramzy Alwakeel
Published: 11:01 AM December 6, 2012 Updated: 12:13 PM October 13, 2020
Following his appearance in the Recorder last month, a Romford boy's battle with a rare disease has attracted attention both nationally and closer to home.
Four-year-old Alfie Thorn, of London Road, has been diagnosed with Loeys-Dietz Syndrome – a condition so rare doctors thought he was the first person in the UK to have it.
Since we ran his story two people – including one in Birmingham – have contacted the Recorder to say they or their children have the same illness.
Like Alfie's mother Charlotte, who now hopes to set up a UK-based information website, they've had to look to America to find anyone else with the condition.
Now two more kind-hearted strangers have said they want to help Alfie get to the States so his aneurysm can be treated.
Alfie's school, Crowlands Primary, has decided to give all donations from this month's carol concert and school plays to the Loeys-Dietz Syndrome Foundation.
Upminster man Brian Samuels has offered to run a quiz night to raise funds.
"I've got no personal involvement," he said, "but it's something I enjoy doing and, if the family want my services, then I'm more than willing to offer them free of charge."
June Brooks, of Hornchurch, is also interested in donating some money to help Alfie get to America.
"His aortic aneurysm was what interested me," she explained, "because I know someone who had that, and I know it's very dangerous. I think more research should be done into that."
Meanwhile, Alfie's father, Peter Horner, wants to run the Brentwood Half-Marathon in aid of his son's treatment, and has organised a series of fundraising evenings.
To donate to Alfie, contact the Recorder news desk on 020 8477 3903 or e-mail ramzy.alwakeel@archant.co.uk.


text:
Deadline Approaching
On Going
Masters/Post Graduate
PhD/Post Doctoral
Summer School/Winter School
OCV Summer Fellowship Program 2019 in USA
Region United States
Applications are now open for the OCV Summer Fellowship Program 2019 in USA. Our Climate Voices (OCV) is a trailblazing digital media organization dedicated to humanizing the climate disaster through storytelling, centering the voices of frontline communities and those most vulnerable to the impacts of climate change, and connecting people with ways to support climate solution-making work that impacted communities are already doing.
To get more exciting opportunities like this, at your fingertips, install the Youth Opportunities Mobile App here from your cellphone.
OCV believes in the power of storytelling to both amplify and bring attention to the ways in which climate change exacerbates inequality as well as to excite people to support community-based climate action. They are upending the historic de-prioritization of the voices, perspectives, and solutions of frontline communities, women, low-income communities, LGBTQIA+ communities, indigenous communities, and people of color in the climate sphere.
The OCV team members are innovative and passionate young people who believe in the power of youth organizing. They are committed to using their talents to further impactful and critically-minded work.
The OCV fellowships are a unique opportunity for applicants to join OCV's team. The fellowship will allow them to be fully immersed in their storytelling mission, work with and be mentored by one of OCV's core team members, and give them a chance to develop their arts activism and storytelling portfolio. Unfortunately, OCV's fellowships are unpaid at this time, but they can offer up to $50 in work-related reimbursements each month to ensure that costs associated with the fellowship are covered. They will also work with schools to provide academic credit, if desired. Fellows will work remotely, and are asked to contribute 10-15 hours a week.
By the end of the fellowship, each Fellow will spearhead an OCV story from start to finish: identify a local climate justice leader in the community where they live, interview that climate justice leader, lead the editing process and publication on the OCV platform, and lead all social media and outreach for that story.
The OCV fellowships are a unique opportunity for applicants to join OCV's team
The fellowship will allow applicant's to be fully immersed in their storytelling mission, work with and be mentored by one of OCV's core team members, and give them a chance to develop their arts activism and storytelling portfolio.
OCV can offer up to $50 in work-related reimbursements each month to ensure that costs associated with the fellowship are covered.
OCV will also work with schools to provide academic credit, if desired.
The fellowship class will comprise 2 – 4 fellows that fit the following opportunities:
Storytelling fellow
The key responsibilities of the Storytelling Fellow are to:
Participate in and conduct OCV interviews that take place during the fellowship term;
Track fast-moving climate justice developments for OCV to follow and amplify the voices of key leaders in their movement;
Transcribe OCV interviews that take place during the fellowship term; and
Provide editorial support for final pieces.
OCV are looking for a Storytelling Fellow who is:
Able to work quickly under time-constraints;
Comfortable discussing and presenting ideas to the team;
Committed to the principles of environmental and climate justice;
Detail-oriented and has previous editing experience; and
Enthusiastic about the work.
Design & COMMUNICATIONS fellow
The key responsibilities of the Design & Communications Fellow are to:
Create dynamic graphic media for OCV's fast-growing organization;
Develop and manage social media posts; and
Create a diverse portfolio of graphics including flyers, advertisements, and calls to action.
OCV are looking for a Design & Social Media Fellow who is:
Able to incorporate OCV's vision into digital media;
Detail-oriented and able to work under time-constraints; and
LGBTQIA+ people, people on the front lines of climate change, indigenous people, people of color, people from low-income communities, and women are especially encouraged to apply for the fellowship.
Eligible Regions: Open for All
Apply online through the given link.
Application Deadline: April 7, 2019
Application ClosedOfficial link
Disclaimer: Youth Opportunities spreads opportunities for your convenience and ease based on available information, and thus, does not take any responsibility of unintended alternative or inaccurate information. As this is not the official page, we recommend you to visit the official website of opportunity provider for complete information. For organizations, this opportunity is shared with sole purpose of promoting "Access to Information" for all and should not be associated with any other purposes.
YO Hits!
Watch to Learn about week's most popular opportunities!
United Nations Youth Climate Summit 2019 in USA
Young Diplomats Forum 2019 in Brussels
SDG, Workshops
My World 2030 Asia-Pacific Advocacy Programme
OYW Art Fellowship to Attend The One Young World Summit 2019 in London
UN Young Professionals Programme (YPP) 2019
Youth Opportunities is the largest opportunities discovery platform for youth across the globe.
©2019 Youth Opportunities
Local Networks
Promote Program


BUDAPEST–Hungary's governing Fidesz party profited most from a rise in Hungarians who said they were willing to vote in general elections when questioned in a poll earlier this month, pollster Ipsos said Monday.
The share of undecided Hungarian voters fell to 44% in March from 55% a month earlier, Ipsos said in a release to state news agency MTI. That's still higher than the 40% rate four years ago and 30% eight years ago, Ipsos noted. Hungary is to hold its next general elections in a bit more than a year.
Respondents in the lower social groups had now become more inclined to cast their ballot than in previous surveys, Ipsos said based on a representative poll it conducted between March 8-14.
Fidesz's support rose to 24% in March, from 18% in February as a result of rising backing among those mostly under 30 or above 50 years of age, who live in small towns or villages, earn less than the national average and have a primary education at most, Ipsos said.
At the time of this poll, Hungary's Fidesz-dominated parliament passed amendments to the constitution March 11, demonstrating its legislative force despite pleas for a postponement from the EU. Officials from the EU criticized the controversial amendments, saying they had "doubts" about whether the changes were compatible with EU treaties.


text:
Topic Tools & Technology
SubTopic All Subtopics
Advanced VMware tools
Citrix virtual desktop
Microsoft Windows desktops
VMware virtual desktop
oporkka - Fotolia
Top four VDI trends that dominated 2017
With a new year getting started, these are the top four trends in VDI leading the way. Uncover why user experience and data rich apps took over in 2017.
Kelly M. Stewart, Assistant Site Editor
It's time to take a look back at what 2017 brought the VDI world. This year saw four rising VDI trends that will take center stage moving forward.
Stay one step ahead and learn how understanding the top VDI trends can keep your deployment on the cutting edge.
IT peers into UX with monitoring tools
A positive user experience (UX) increases user productivity, which leads to higher VDI ROI for organizations. If UX is poor, no one will use the virtual desktops, wasting the organization's investment.
VDI shops that use the latest hardware and software can generate the fastest speeds for users on shared workloads. This includes using thin clients that are best designed for the type of work users are doing and the types of applications that assist them in their daily activities.
VDI monitoring tools help ensure a quality UX by giving IT professionals insight into how everything is running so they can pinpoint and resolve problems quickly.
VDI monitoring tools are important to UX because many users can't explain the problems they're experiencing with their virtual desktops. Monitoring tools help IT pros pinpoint an issue, such as an overloaded hypervisor due to simultaneous logins.
Big names made moves this year, including Liquidware and its latest version of Stratusphere UX 6.0, which brought application-specific graphics processing units (GPU) metrics to the UX monitoring tool in 2017.
Make VDI graphic and data rich
Graphics are no longer a luxury only for power users. From augmented reality applications to GIF conversations in a messaging application, all employees require graphics and large amounts of data. Even applications such as Microsoft Office use graphics acceleration now. If the VDI deployment isn't built for heavy lifting, the organization has to invest in expensive endpoint devices that can process most of the data or the systems will slow to a crawl.
VDI shops in 2017 adjusted deployments by investing even more in GPU technology that separates the graphic rendering from the CPU. GPUs support publishing apps, running virtual desktops seamlessly and high-end workstations using resource-intensive applications in the data center.
Making the case for VDI's return on investment
Managing a company's investment in VDI is one of IT's major challenges.
A well-suited remote display protocol is also integral to a graphic and data-intensive VDI deployment. A quality remote display protocol can prevent latency and contention. VMware upgraded security in Blast Extreme, its remote display protocol, by adding port sharing and security certificates. Port sharing enables employees outside the corporate network to connect to one port, which protects the firewall from overuse. Citrix and Microsoft also offer remote display protocols, and there are many third-party options, such as the Parallels Client.
Hyper-converged infrastructure takes center stage
As more applications and security features are designed for hyper-converged infrastructure (HCI), there is more appeal for organizations to adopt the technology. HCI Q1 sales for 2017 grew by 64.7% year over year, according to IDC.
HCI appeals to IT because it combines everything IT has to manage in a virtual desktop deployment -- memory, storage, networking -- into one technology. HCI makes allocating resources in VDI easier because administrators can see both the back-end system as a whole in operation and the individual details, such as the virtual machine configuration within the hypervisor, simultaneously.
Thanks to improvements in storage and cheaper hardware, the price tag on the technology has dropped.
IT can add computing and storage resource clusters, which works well for long-term growth in a company. There are multiple HCI vendors from which IT pros can select a product for their specific needs, including Nutanix, Dell EMC, SimpliVity and VMware. Nutanix was one of the first HCI enterprise offerings, but Dell EMC has been heavily investing in its HCI technology, taking the lead in the market with a 24% share, according to IDC.
VDI trends toward affordability
VDI's high upfront costs have been among the top roadblocks to adoption, leading many organizations to consider traditional PCs as the more fiscally responsible option. Thanks to improvements in storage and cheaper hardware, the price tag on the technology has dropped. Over the years, vendors have also come out with more offerings at different price points, such as Citrix's XenDesktop VDI, Enterprise and Platinum versions, which were updated to version 7.16 in 2017.
More affordable storage options have lowered the cost of VDI. The price of all-flash arrays, for example, which feature deduplication and compression, has gone down. VDI also helps with long-term savings by enabling organizations to use inexpensive thin clients for end-user devices. Released in December 2016, with major updates in 2017, IGEL's UD Pocket, which costs around $169 depending on the retailer, changed thin clients, reducing them to the size of a paperclip.
VDI also opens up the opportunity for organizations to implement BYOD policies. BYOD enables employees to use their own devices for work so long as they follow the company guidelines for security and data usage.
Dig Deeper on Virtual desktop tools and technology
Guarantee HCI software compatibility with cloud apps
Top 4 challenges of hyper-converged infrastructure for VDI
Can hyper-converged infrastructure cut VDI costs?
Hyper-converged products offer big benefits to IT environments
By: Scott Lowe
Kelly M. Stewart asks:
What trend in VDI from 2017 do you think IT should keep an eye on?
What's Next in Hyper-Converged Infrastructure? Get Ready for the Hybrid ... –NetApp
It's Time for a Shift to Hybrid Cloud Infrastructure –NetApp
Why IT Leaders in the Education Space Struggle to Modernize –DellEMC
Top 4 challenges of hyper-converged infrastructure ... – SearchVirtualDesktop
Some hyper-converged infrastructure use cases pose ... – SearchDataCenter
Video game industry: A hyper-converged infrastructure... – SearchITChannel
Kelly Stewart - 18 Dec 2017 3:51 PM


text:
Q: How can I express this in another way? I want to express the following sentence in another way.

The first algorithm was applied to obtain the norm solution by gradually decreasing the value of X.

Can anyone give me some help? Thank you.

A:
The first algorithm was applied over a gradually decreasing value of X to obtain the norm solution

Over is a good word to use when talking about ranges.

redpajama_set_name: RedPajamaStackExchange


We are thus able to apply considerable technology and know-how to the design and manufacturing of today's most efficient and reliable magnetic tools. We are very proud of Electro-permanent magnetic chuck developed by our company, and our customers all over the world have had great success with it. We are the best manufacturer that you can trust in China.
And we have two new products:Beam clamping module,steel board clamping.


Dee Romito will use the information you provide on the sign up form to be in touch with you and to provide updates and marketing.
You can change your mind at any time by clicking the unsubscribe link in the footer of any email you receive from us, or by contacting us at dee@deeromito.com. We will treat your information with respect. For more information about our privacy practices please visit our website. By signing up, you agree that we may process your information in accordance with these terms.
If you are under the age of 13 and you would like to subscribe to my newsletter, your parent or guardian must provide consent. See "Parent/Guardian Consent" below.
DeeRomito.com complies with the requirements of the Children's Online Privacy and Protection Act (COPPA). This notice describes my practice for collecting, using, and disclosing personal information from and about children under the age of 13. A parent or guardian's consent is required in order to collect this information. Instructions on how to give consent are listed below. If you have any questions about these policies and practices, you may contact me by email at Dee@DeeRomito.com. For more information about COPPA and your child's right to online privacy, visit http://www.coppa.org/comply.htm.
Before personal information is collected from a child, a parent or guardian of the child must receive notice of the operator's information practices and consent to those practices.
I will not collect information from or about a child under age 13 unless I receive a parent's or guardian's consent.
I, _________________, am the parent/legal guardian of _________________. I give my consent to allow my child to subscribe to Dee's News & Notes. I understand that I may revoke consent at any time.
Please send the newsletter to this email address _______________________.
At any time, a parent or guardian may ask to review their child's personal information, direct me to delete it, and refuse to allow any further collection or use of the child's information. To do so, please contact me at Dee@DeeRomito.com.
The information I collect includes your child's email address, and may include his/her first and/or last name which is optional information. I will not require a child to disclose more information than is reasonably necessary to participate in the newsletter subscription.
I use the information about your child to send a monthly newsletter through Mail Chimp (MailChimp, 512 Means Street, Suite 404, Atlanta, GA 30318 USA, customersupport@mailchimp.com.) I will not disclose your child's information to any other third party without your authorization, except as may be required by law.


text:
Q: Laravel Chunk Returning Few Data - Laravel I have about 2000 records in my database and i want to fetch them using view into my datatable.
When i run my code, i noticed my database is only showing 166 records. Why is that happening ?
Controller
 $chunks =  Items::
        where('is_active', 1)
        ->pluck('name','code','barcode','is_active')
        ->chunk(10);
        foreach ($chunks as $key => $chunk) {
            $chunks[$key] = array_values($chunk->toArray());
        }

     Log::info($chunks);
    return $chunks;

A: Your problem is related to the way you retrieve your data:
 $chunks = Items::
        where('is_active', 1)
        ->pluck('name','code','barcode','is_active');

Here, you are misusing pluck(). This method returns an array (a Collection in this case but it's the same here) where the first argument is the value and the second argument is the key.
You are passing 4 parameters, the last two are useless.
Here is what's happening:
 $chunks = Items::
        where('is_active', 1)
        ->pluck('name','code'); //removed the last two parameters, they are not used

$chunks is a Collection, where the key is the code and the value is the name.
A Collection, like an array, cannot have the same key multiple times. Then, if two users share the same code, the second user will "overwrite" the first one. The third will overwrite the second and so on.
At the end, you'll have a Collection where the number of items will be equal to the number of unique code that are active (where('is_active', 1).
This why it fails.
How to fix this? Use get(), it does exactly what you expected pluck to do:
$chunks =  Items::
        where('is_active', 1)
        ->get(['name','code','barcode','is_active']) //be careful, array here
        ->chunk(10);
        foreach ($chunks as $key => $chunk) {
            $chunks[$key] = array_values($chunk->toArray());
        }

     Log::info($chunks);
    return $chunks;


Has anyone had this problem before? I recently placed my door cover in the tunk because I was repairing the door and needed some space. And after I got it out this happened. Anyone know how to fix it?
The outer layer of the door, the 'leather' part, is wrapped over the top of a molding that probably isn't a material you can punch out the dents from behind, but if you remove the panel you can try it. If you're willing to try your hand at some upholstery, you could peel the pieces apart, fill the dents in kinda like bondo on body panels, and re-glue it all back. I don't know what you'd use for that though, but I'm sure there's something out there.


text:
OSIRIS-Rex, NASA's spaceship set for an ultimate asteroid-sampling run through
OSIRIS-Rex, NASA's spaceship, is set for its ultimate exercise before getting in touch with the Bennu asteroid.
The OSIRIS-Rex spaceship has been making rounds since 2018, and it is the first sampling spaceship of NASA. The exploration is planned to exercise its contact series for a subsequent time on August 11 this year.
During the exercise, the spaceship will run through the touch-and-go sample-collection occasion related to the April 14 checkpoint run through an operation where it exercised its two drills of the drop. However, this time, the spaceship will add a third drill by the name 'matchpoint burn,' and then fly closer to Nightingale, its sample location.
The OSIRIS-Rex spaceship will fly in tandem together with Bennu's rotation for its first time as part of the checkpoint burn. The run-through will pave the way for another opportunity for the group to exercise exploration of the spaceship through the fall flights. The group will also get the chance to test the imaging ability of the spaceship, its navigation, and its different systems.
During the August 11 run-through, the OSIRIS-Rex spaceship (which costs $800 million) operation will carry out several various exercises. Flying at an average velocity of 0.2 mph (0.3 kph), the space ship will fire its thrusters on three different occasions as it falls back to the facade of the asteroid. The first will pull the spaceship out of its 0.6-mile-high (1 kilometer) trajectory.
Other objectives in the run through consist of; expansion of the robotic sampling arm of the spacecraft, collection of pictures meant for its autonomous navigation structure, and setting its solar panels in a position away from the asteroid facade.
When the OSIRIS-Rex spaceship arrives at the height of 410 feet (125 meters), it will carry out the checkpoint burn and then run down faster as it heads towards the surface of Bennu asteroid for eight minutes. After the spaceship has attained a height of 50 meters above the asteroid, it will fire its thrusters for a third period to execute the matchpoint burn. As a result, the descending speed will reduce and line up with the Bennu asteroid rotation.
The OSIRS-Rex spaceship will reach a height of 40 meters above the test area before descending back for orbit with a back-away burn. If the run through exercise becomes successful, the OSIRIS-Rex will remain in its trajectory around the asteroid until it flies back to the surface of the asteroid on October 20 this year.
← General Atomics to develop Weather Satellite Prototype for Space Force → The new FCC published guidelines on licensing to favor the smallsat operators
Global Eating Disorders (EDs) Market Outstanding Growth Scope Witnessed in The World With Key Competitors: Alkermes, Takeda Pharmaceutical Company Limited, Abbott, Novo Nordisk A/S, Sanofi, Eisai Co., Ltd


text:
#include "postgres.h"

#include "access/heapam.h"
#include "access/heapam_xlog.h"
#include "access/transam.h"
#include "access/htup_details.h"
#include "access/xlog.h"
#include "catalog/catalog.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "storage/bufmgr.h"
#include "utils/snapmgr.h"
#include "utils/rel.h"
#include "utils/tqual.h"

/* Working data for heap_page_prune and subroutines */
typedef struct
{
	TransactionId new_prune_xid;	/* new prune hint value for page */
	TransactionId latestRemovedXid;		/* latest xid to be removed by this
										 * prune */
	int			nredirected;	/* numbers of entries in arrays below */
	int			ndead;
	int			nunused;
	/* arrays that accumulate indexes of items to be changed */
	OffsetNumber redirected[MaxHeapTuplesPerPage * 2];
	OffsetNumber nowdead[MaxHeapTuplesPerPage];
	OffsetNumber nowunused[MaxHeapTuplesPerPage];
	/* marked[i] is TRUE if item i is entered in one of the above arrays */
	bool		marked[MaxHeapTuplesPerPage + 1];
} PruneState;

/* Local functions */
static int heap_prune_chain(Relation relation, Buffer buffer,
				 OffsetNumber rootoffnum,
				 TransactionId OldestXmin,
				 PruneState *prstate);
static void heap_prune_record_prunable(PruneState *prstate, TransactionId xid);
static void heap_prune_record_redirect(PruneState *prstate,
						   OffsetNumber offnum, OffsetNumber rdoffnum);
static void heap_prune_record_dead(PruneState *prstate, OffsetNumber offnum);
static void heap_prune_record_unused(PruneState *prstate, OffsetNumber offnum);

/*
 * Optionally prune and repair fragmentation in the specified page.
 *
 * This is an opportunistic function.  It will perform housekeeping
 * only if the page heuristically looks like a candidate for pruning and we
 * can acquire buffer cleanup lock without blocking.
 *
 * Note: this is called quite often.  It's important that it fall out quickly
 * if there's not any use in pruning.
 *
 * Caller must have pin on the buffer, and must *not* have a lock on it.
 *
 * OldestXmin is the cutoff XID used to distinguish whether tuples are DEAD
 * or RECENTLY_DEAD (see HeapTupleSatisfiesVacuum).
 */
void
heap_page_prune_opt(Relation relation, Buffer buffer)
{
	Page		page = BufferGetPage(buffer);
	Size		minfree;
	TransactionId OldestXmin;

	/*
	 * We can't write WAL in recovery mode, so there's no point trying to
	 * clean the page. The master will likely issue a cleaning WAL record soon
	 * anyway, so this is no particular loss.
	 */
	if (RecoveryInProgress())
		return;

	/*
	 * Use the appropriate xmin horizon for this relation. If it's a proper
	 * catalog relation or a user defined, additional, catalog relation, we
	 * need to use the horizon that includes slots, otherwise the data-only
	 * horizon can be used. Note that the toast relation of user defined
	 * relations are *not* considered catalog relations.
	 *
	 * It is OK to apply the old snapshot limit before acquiring the cleanup
	 * lock because the worst that can happen is that we are not quite as
	 * aggressive about the cleanup (by however many transaction IDs are
	 * consumed between this point and acquiring the lock).  This allows us to
	 * save significant overhead in the case where the page is found not to be
	 * prunable.
	 */
	if (IsCatalogRelation(relation) ||
		RelationIsAccessibleInLogicalDecoding(relation))
		OldestXmin = RecentGlobalXmin;
	else
		OldestXmin =
			TransactionIdLimitedForOldSnapshots(RecentGlobalDataXmin,
												relation);

	Assert(TransactionIdIsValid(OldestXmin));

	/*
	 * Let's see if we really need pruning.
	 *
	 * Forget it if page is not hinted to contain something prunable that's
	 * older than OldestXmin.
	 */
	if (!PageIsPrunable(page, OldestXmin))
		return;

	/*
	 * We prune when a previous UPDATE failed to find enough space on the page
	 * for a new tuple version, or when free space falls below the relation's
	 * fill-factor target (but not less than 10%).
	 *
	 * Checking free space here is questionable since we aren't holding any
	 * lock on the buffer; in the worst case we could get a bogus answer. It's
	 * unlikely to be *seriously* wrong, though, since reading either pd_lower
	 * or pd_upper is probably atomic.  Avoiding taking a lock seems more
	 * important than sometimes getting a wrong answer in what is after all
	 * just a heuristic estimate.
	 */
	minfree = RelationGetTargetPageFreeSpace(relation,
											 HEAP_DEFAULT_FILLFACTOR);
	minfree = Max(minfree, BLCKSZ / 10);

	if (PageIsFull(page) || PageGetHeapFreeSpace(page) < minfree)
	{
		/* OK, try to get exclusive buffer lock */
		if (!ConditionalLockBufferForCleanup(buffer))
			return;

		/*
		 * Now that we have buffer lock, get accurate information about the
		 * page's free space, and recheck the heuristic about whether to
		 * prune. (We needn't recheck PageIsPrunable, since no one else could
		 * have pruned while we hold pin.)
		 */
		if (PageIsFull(page) || PageGetHeapFreeSpace(page) < minfree)
		{
			TransactionId ignore = InvalidTransactionId;		/* return value not
																 * needed */

			/* OK to prune */
			(void) heap_page_prune(relation, buffer, OldestXmin, true, &ignore);
		}

		/* And release buffer lock */
		LockBuffer(buffer, BUFFER_LOCK_UNLOCK);
	}
}

/*
 * Prune and repair fragmentation in the specified page.
 *
 * Caller must have pin and buffer cleanup lock on the page.
 *
 * OldestXmin is the cutoff XID used to distinguish whether tuples are DEAD
 * or RECENTLY_DEAD (see HeapTupleSatisfiesVacuum).
 *
 * If report_stats is true then we send the number of reclaimed heap-only
 * tuples to pgstats.  (This must be FALSE during vacuum, since vacuum will
 * send its own new total to pgstats, and we don't want this delta applied
 * on top of that.)
 *
 * Returns the number of tuples deleted from the page and sets
 * latestRemovedXid.
 */
int
heap_page_prune(Relation relation, Buffer buffer, TransactionId OldestXmin,
				bool report_stats, TransactionId *latestRemovedXid)
{
	int			ndeleted = 0;
	Page		page = BufferGetPage(buffer);
	OffsetNumber offnum,
				maxoff;
	PruneState	prstate;

	/*
	 * Our strategy is to scan the page and make lists of items to change,
	 * then apply the changes within a critical section.  This keeps as much
	 * logic as possible out of the critical section, and also ensures that
	 * WAL replay will work the same as the normal case.
	 *
	 * First, initialize the new pd_prune_xid value to zero (indicating no
	 * prunable tuples).  If we find any tuples which may soon become
	 * prunable, we will save the lowest relevant XID in new_prune_xid. Also
	 * initialize the rest of our working state.
	 */
	prstate.new_prune_xid = InvalidTransactionId;
	prstate.latestRemovedXid = *latestRemovedXid;
	prstate.nredirected = prstate.ndead = prstate.nunused = 0;
	memset(prstate.marked, 0, sizeof(prstate.marked));

	/* Scan the page */
	maxoff = PageGetMaxOffsetNumber(page);
	for (offnum = FirstOffsetNumber;
		 offnum <= maxoff;
		 offnum = OffsetNumberNext(offnum))
	{
		ItemId		itemid;

		/* Ignore items already processed as part of an earlier chain */
		if (prstate.marked[offnum])
			continue;

		/* Nothing to do if slot is empty or already dead */
		itemid = PageGetItemId(page, offnum);
		if (!ItemIdIsUsed(itemid) || ItemIdIsDead(itemid))
			continue;

		/* Process this item or chain of items */
		ndeleted += heap_prune_chain(relation, buffer, offnum,
									 OldestXmin,
									 &prstate);
	}

	/* Any error while applying the changes is critical */
	START_CRIT_SECTION();

	/* Have we found any prunable items? */
	if (prstate.nredirected > 0 || prstate.ndead > 0 || prstate.nunused > 0)
	{
		/*
		 * Apply the planned item changes, then repair page fragmentation, and
		 * update the page's hint bit about whether it has free line pointers.
		 */
		heap_page_prune_execute(buffer,
								prstate.redirected, prstate.nredirected,
								prstate.nowdead, prstate.ndead,
								prstate.nowunused, prstate.nunused);

		/*
		 * Update the page's pd_prune_xid field to either zero, or the lowest
		 * XID of any soon-prunable tuple.
		 */
		((PageHeader) page)->pd_prune_xid = prstate.new_prune_xid;

		/*
		 * Also clear the "page is full" flag, since there's no point in
		 * repeating the prune/defrag process until something else happens to
		 * the page.
		 */
		PageClearFull(page);

		MarkBufferDirty(buffer);

		/*
		 * Emit a WAL HEAP_CLEAN record showing what we did
		 */
		if (RelationNeedsWAL(relation))
		{
			XLogRecPtr	recptr;

			recptr = log_heap_clean(relation, buffer,
									prstate.redirected, prstate.nredirected,
									prstate.nowdead, prstate.ndead,
									prstate.nowunused, prstate.nunused,
									prstate.latestRemovedXid);

			PageSetLSN(BufferGetPage(buffer), recptr);
		}
	}
	else
	{
		/*
		 * If we didn't prune anything, but have found a new value for the
		 * pd_prune_xid field, update it and mark the buffer dirty. This is
		 * treated as a non-WAL-logged hint.
		 *
		 * Also clear the "page is full" flag if it is set, since there's no
		 * point in repeating the prune/defrag process until something else
		 * happens to the page.
		 */
		if (((PageHeader) page)->pd_prune_xid != prstate.new_prune_xid ||
			PageIsFull(page))
		{
			((PageHeader) page)->pd_prune_xid = prstate.new_prune_xid;
			PageClearFull(page);
			MarkBufferDirtyHint(buffer, true);
		}
	}

	END_CRIT_SECTION();

	/*
	 * If requested, report the number of tuples reclaimed to pgstats. This is
	 * ndeleted minus ndead, because we don't want to count a now-DEAD root
	 * item as a deletion for this purpose.
	 */
	if (report_stats && ndeleted > prstate.ndead)
		pgstat_update_heap_dead_tuples(relation, ndeleted - prstate.ndead);

	*latestRemovedXid = prstate.latestRemovedXid;

	/*
	 * XXX Should we update the FSM information of this page ?
	 *
	 * There are two schools of thought here. We may not want to update FSM
	 * information so that the page is not used for unrelated UPDATEs/INSERTs
	 * and any free space in this page will remain available for further
	 * UPDATEs in *this* page, thus improving chances for doing HOT updates.
	 *
	 * But for a large table and where a page does not receive further UPDATEs
	 * for a long time, we might waste this space by not updating the FSM
	 * information. The relation may get extended and fragmented further.
	 *
	 * One possibility is to leave "fillfactor" worth of space in this page
	 * and update FSM with the remaining space.
	 */

	return ndeleted;
}

/*
 * Prune specified item pointer or a HOT chain originating at that item.
 *
 * If the item is an index-referenced tuple (i.e. not a heap-only tuple),
 * the HOT chain is pruned by removing all DEAD tuples at the start of the HOT
 * chain.  We also prune any RECENTLY_DEAD tuples preceding a DEAD tuple.
 * This is OK because a RECENTLY_DEAD tuple preceding a DEAD tuple is really
 * DEAD, the OldestXmin test is just too coarse to detect it.
 *
 * The root line pointer is redirected to the tuple immediately after the
 * latest DEAD tuple.  If all tuples in the chain are DEAD, the root line
 * pointer is marked LP_DEAD.  (This includes the case of a DEAD simple
 * tuple, which we treat as a chain of length 1.)
 *
 * OldestXmin is the cutoff XID used to identify dead tuples.
 *
 * We don't actually change the page here, except perhaps for hint-bit updates
 * caused by HeapTupleSatisfiesVacuum.  We just add entries to the arrays in
 * prstate showing the changes to be made.  Items to be redirected are added
 * to the redirected[] array (two entries per redirection); items to be set to
 * LP_DEAD state are added to nowdead[]; and items to be set to LP_UNUSED
 * state are added to nowunused[].
 *
 * Returns the number of tuples (to be) deleted from the page.
 */
static int
heap_prune_chain(Relation relation, Buffer buffer, OffsetNumber rootoffnum,
				 TransactionId OldestXmin,
				 PruneState *prstate)
{
	int			ndeleted = 0;
	Page		dp = (Page) BufferGetPage(buffer);
	TransactionId priorXmax = InvalidTransactionId;
	ItemId		rootlp;
	HeapTupleHeader htup;
	OffsetNumber latestdead = InvalidOffsetNumber,
				maxoff = PageGetMaxOffsetNumber(dp),
				offnum;
	OffsetNumber chainitems[MaxHeapTuplesPerPage];
	int			nchain = 0,
				i;
	HeapTupleData tup;

#if 0
	tup.t_tableOid = RelationGetRelid(relation);
#endif

	rootlp = PageGetItemId(dp, rootoffnum);

	/*
	 * If it's a heap-only tuple, then it is not the start of a HOT chain.
	 */
	if (ItemIdIsNormal(rootlp))
	{
		htup = (HeapTupleHeader) PageGetItem(dp, rootlp);

		tup.t_data = htup;
		tup.t_len = ItemIdGetLength(rootlp);
		ItemPointerSet(&(tup.t_self), BufferGetBlockNumber(buffer), rootoffnum);

		if (HeapTupleHeaderIsHeapOnly(htup))
		{
			/*
			 * If the tuple is DEAD and doesn't chain to anything else, mark
			 * it unused immediately.  (If it does chain, we can only remove
			 * it as part of pruning its chain.)
			 *
			 * We need this primarily to handle aborted HOT updates, that is,
			 * XMIN_INVALID heap-only tuples.  Those might not be linked to by
			 * any chain, since the parent tuple might be re-updated before
			 * any pruning occurs.  So we have to be able to reap them
			 * separately from chain-pruning.  (Note that
			 * HeapTupleHeaderIsHotUpdated will never return true for an
			 * XMIN_INVALID tuple, so this code will work even when there were
			 * sequential updates within the aborted transaction.)
			 *
			 * Note that we might first arrive at a dead heap-only tuple
			 * either here or while following a chain below.  Whichever path
			 * gets there first will mark the tuple unused.
			 */
			if (HeapTupleSatisfiesVacuum(relation, &tup, OldestXmin, buffer)
				== HEAPTUPLE_DEAD && !HeapTupleHeaderIsHotUpdated(htup))
			{
				heap_prune_record_unused(prstate, rootoffnum);
				HeapTupleHeaderAdvanceLatestRemovedXid(htup,
												 &prstate->latestRemovedXid);
				ndeleted++;
			}

			/* Nothing more to do */
			return ndeleted;
		}
	}

	/* Start from the root tuple */
	offnum = rootoffnum;

	/* while not end of the chain */
	for (;;)
	{
		ItemId		lp;
		bool		tupdead,
					recent_dead;

		/* Some sanity checks */
		if (offnum < FirstOffsetNumber || offnum > maxoff)
			break;

		/* If item is already processed, stop --- it must not be same chain */
		if (prstate->marked[offnum])
			break;

		lp = PageGetItemId(dp, offnum);

		/* Unused item obviously isn't part of the chain */
		if (!ItemIdIsUsed(lp))
			break;

		/*
		 * If we are looking at the redirected root line pointer, jump to the
		 * first normal tuple in the chain.  If we find a redirect somewhere
		 * else, stop --- it must not be same chain.
		 */
		if (ItemIdIsRedirected(lp))
		{
			if (nchain > 0)
				break;			/* not at start of chain */
			chainitems[nchain++] = offnum;
			offnum = ItemIdGetRedirect(rootlp);
			continue;
		}

		/*
		 * Likewise, a dead item pointer can't be part of the chain. (We
		 * already eliminated the case of dead root tuple outside this
		 * function.)
		 */
		if (ItemIdIsDead(lp))
			break;

		Assert(ItemIdIsNormal(lp));
		htup = (HeapTupleHeader) PageGetItem(dp, lp);

		tup.t_data = htup;
		tup.t_len = ItemIdGetLength(lp);
		ItemPointerSet(&(tup.t_self), BufferGetBlockNumber(buffer), offnum);

		/*
		 * Check the tuple XMIN against prior XMAX, if any
		 */
		if (TransactionIdIsValid(priorXmax) &&
			!TransactionIdEquals(HeapTupleHeaderGetXmin(htup), priorXmax))
			break;

		/*
		 * OK, this tuple is indeed a member of the chain.
		 */
		chainitems[nchain++] = offnum;

		/*
		 * Check tuple's visibility status.
		 */
		tupdead = recent_dead = false;

		switch (HeapTupleSatisfiesVacuum(relation, &tup, OldestXmin, buffer))
		{
			case HEAPTUPLE_DEAD:
				tupdead = true;
				break;

			case HEAPTUPLE_RECENTLY_DEAD:
				recent_dead = true;

				/*
				 * This tuple may soon become DEAD.  Update the hint field so
				 * that the page is reconsidered for pruning in future.
				 */
				heap_prune_record_prunable(prstate,
										   HeapTupleHeaderGetUpdateXid(htup));
				break;

			case HEAPTUPLE_DELETE_IN_PROGRESS:

				/*
				 * This tuple may soon become DEAD.  Update the hint field so
				 * that the page is reconsidered for pruning in future.
				 */
				heap_prune_record_prunable(prstate,
										   HeapTupleHeaderGetUpdateXid(htup));
				break;

			case HEAPTUPLE_LIVE:
			case HEAPTUPLE_INSERT_IN_PROGRESS:

				/*
				 * If we wanted to optimize for aborts, we might consider
				 * marking the page prunable when we see INSERT_IN_PROGRESS.
				 * But we don't.  See related decisions about when to mark the
				 * page prunable in heapam.c.
				 */
				break;

			default:
				elog(ERROR, "unexpected HeapTupleSatisfiesVacuum result");
				break;
		}

		/*
		 * Remember the last DEAD tuple seen.  We will advance past
		 * RECENTLY_DEAD tuples just in case there's a DEAD one after them;
		 * but we can't advance past anything else.  (XXX is it really worth
		 * continuing to scan beyond RECENTLY_DEAD?  The case where we will
		 * find another DEAD tuple is a fairly unusual corner case.)
		 */
		if (tupdead)
		{
			latestdead = offnum;
			HeapTupleHeaderAdvanceLatestRemovedXid(htup,
												 &prstate->latestRemovedXid);
		}
		else if (!recent_dead)
			break;

		/*
		 * If the tuple is not HOT-updated, then we are at the end of this
		 * HOT-update chain.
		 */
		if (!HeapTupleHeaderIsHotUpdated(htup))
			break;

		/*
		 * Advance to next chain member.
		 */
		Assert(ItemPointerGetBlockNumber(&htup->t_ctid) ==
			   BufferGetBlockNumber(buffer));
		offnum = ItemPointerGetOffsetNumber(&htup->t_ctid);
		priorXmax = HeapTupleHeaderGetUpdateXid(htup);
	}

	/*
	 * If we found a DEAD tuple in the chain, adjust the HOT chain so that all
	 * the DEAD tuples at the start of the chain are removed and the root line
	 * pointer is appropriately redirected.
	 */
	if (OffsetNumberIsValid(latestdead))
	{
		/*
		 * Mark as unused each intermediate item that we are able to remove
		 * from the chain.
		 *
		 * When the previous item is the last dead tuple seen, we are at the
		 * right candidate for redirection.
		 */
		for (i = 1; (i < nchain) && (chainitems[i - 1] != latestdead); i++)
		{
			heap_prune_record_unused(prstate, chainitems[i]);
			ndeleted++;
		}

		/*
		 * If the root entry had been a normal tuple, we are deleting it, so
		 * count it in the result.  But changing a redirect (even to DEAD
		 * state) doesn't count.
		 */
		if (ItemIdIsNormal(rootlp))
			ndeleted++;

		/*
		 * If the DEAD tuple is at the end of the chain, the entire chain is
		 * dead and the root line pointer can be marked dead.  Otherwise just
		 * redirect the root to the correct chain member.
		 */
		if (i >= nchain)
			heap_prune_record_dead(prstate, rootoffnum);
		else
			heap_prune_record_redirect(prstate, rootoffnum, chainitems[i]);
	}
	else if (nchain < 2 && ItemIdIsRedirected(rootlp))
	{
		/*
		 * We found a redirect item that doesn't point to a valid follow-on
		 * item.  This can happen if the loop in heap_page_prune caused us to
		 * visit the dead successor of a redirect item before visiting the
		 * redirect item.  We can clean up by setting the redirect item to
		 * DEAD state.
		 */
		heap_prune_record_dead(prstate, rootoffnum);
	}

	return ndeleted;
}

/* Record lowest soon-prunable XID */
static void
heap_prune_record_prunable(PruneState *prstate, TransactionId xid)
{
	/*
	 * This should exactly match the PageSetPrunable macro.  We can't store
	 * directly into the page header yet, so we update working state.
	 */
	Assert(TransactionIdIsNormal(xid));
	if (!TransactionIdIsValid(prstate->new_prune_xid) ||
		TransactionIdPrecedes(xid, prstate->new_prune_xid))
		prstate->new_prune_xid = xid;
}

/* Record item pointer to be redirected */
static void
heap_prune_record_redirect(PruneState *prstate,
						   OffsetNumber offnum, OffsetNumber rdoffnum)
{
	Assert(prstate->nredirected < MaxHeapTuplesPerPage);
	prstate->redirected[prstate->nredirected * 2] = offnum;
	prstate->redirected[prstate->nredirected * 2 + 1] = rdoffnum;
	prstate->nredirected++;
	Assert(!prstate->marked[offnum]);
	prstate->marked[offnum] = true;
	Assert(!prstate->marked[rdoffnum]);
	prstate->marked[rdoffnum] = true;
}

/* Record item pointer to be marked dead */
static void
heap_prune_record_dead(PruneState *prstate, OffsetNumber offnum)
{
	Assert(prstate->ndead < MaxHeapTuplesPerPage);
	prstate->nowdead[prstate->ndead] = offnum;
	prstate->ndead++;
	Assert(!prstate->marked[offnum]);
	prstate->marked[offnum] = true;
}

/* Record item pointer to be marked unused */
static void
heap_prune_record_unused(PruneState *prstate, OffsetNumber offnum)
{
	Assert(prstate->nunused < MaxHeapTuplesPerPage);
	prstate->nowunused[prstate->nunused] = offnum;
	prstate->nunused++;
	Assert(!prstate->marked[offnum]);
	prstate->marked[offnum] = true;
}

/*
 * Perform the actual page changes needed by heap_page_prune.
 * It is expected that the caller has suitable pin and lock on the
 * buffer, and is inside a critical section.
 *
 * This is split out because it is also used by heap_xlog_clean()
 * to replay the WAL record when needed after a crash.  Note that the
 * arguments are identical to those of log_heap_clean().
 */
void
heap_page_prune_execute(Buffer buffer,
						OffsetNumber *redirected, int nredirected,
						OffsetNumber *nowdead, int ndead,
						OffsetNumber *nowunused, int nunused)
{
	Page		page = (Page) BufferGetPage(buffer);
	OffsetNumber *offnum;
	int			i;

	/* Update all redirected line pointers */
	offnum = redirected;
	for (i = 0; i < nredirected; i++)
	{
		OffsetNumber fromoff = *offnum++;
		OffsetNumber tooff = *offnum++;
		ItemId		fromlp = PageGetItemId(page, fromoff);

		ItemIdSetRedirect(fromlp, tooff);
	}

	/* Update all now-dead line pointers */
	offnum = nowdead;
	for (i = 0; i < ndead; i++)
	{
		OffsetNumber off = *offnum++;
		ItemId		lp = PageGetItemId(page, off);

		ItemIdSetDead(lp);
	}

	/* Update all now-unused line pointers */
	offnum = nowunused;
	for (i = 0; i < nunused; i++)
	{
		OffsetNumber off = *offnum++;
		ItemId		lp = PageGetItemId(page, off);

		ItemIdSetUnused(lp);
	}

	/*
	 * Finally, repair any fragmentation, and update the page's hint bit about
	 * whether it has free pointers.
	 */
	PageRepairFragmentation(page);
}

/*
 * For all items in this page, find their respective root line pointers.
 * If item k is part of a HOT-chain with root at item j, then we set
 * root_offsets[k - 1] = j.
 *
 * The passed-in root_offsets array must have MaxHeapTuplesPerPage entries.
 * We zero out all unused entries.
 *
 * The function must be called with at least share lock on the buffer, to
 * prevent concurrent prune operations.
 *
 * Note: The information collected here is valid only as long as the caller
 * holds a pin on the buffer. Once pin is released, a tuple might be pruned
 * and reused by a completely unrelated tuple.
 */
void
heap_get_root_tuples(Page page, OffsetNumber *root_offsets)
{
	OffsetNumber offnum,
				maxoff;

	MemSet(root_offsets, 0, MaxHeapTuplesPerPage * sizeof(OffsetNumber));

	maxoff = PageGetMaxOffsetNumber(page);
	for (offnum = FirstOffsetNumber; offnum <= maxoff; offnum = OffsetNumberNext(offnum))
	{
		ItemId		lp = PageGetItemId(page, offnum);
		HeapTupleHeader htup;
		OffsetNumber nextoffnum;
		TransactionId priorXmax;

		/* skip unused and dead items */
		if (!ItemIdIsUsed(lp) || ItemIdIsDead(lp))
			continue;

		if (ItemIdIsNormal(lp))
		{
			htup = (HeapTupleHeader) PageGetItem(page, lp);

			/*
			 * Check if this tuple is part of a HOT-chain rooted at some other
			 * tuple. If so, skip it for now; we'll process it when we find
			 * its root.
			 */
			if (HeapTupleHeaderIsHeapOnly(htup))
				continue;

			/*
			 * This is either a plain tuple or the root of a HOT-chain.
			 * Remember it in the mapping.
			 */
			root_offsets[offnum - 1] = offnum;

			/* If it's not the start of a HOT-chain, we're done with it */
			if (!HeapTupleHeaderIsHotUpdated(htup))
				continue;

			/* Set up to scan the HOT-chain */
			nextoffnum = ItemPointerGetOffsetNumber(&htup->t_ctid);
			priorXmax = HeapTupleHeaderGetUpdateXid(htup);
		}
		else
		{
			/* Must be a redirect item. We do not set its root_offsets entry */
			Assert(ItemIdIsRedirected(lp));
			/* Set up to scan the HOT-chain */
			nextoffnum = ItemIdGetRedirect(lp);
			priorXmax = InvalidTransactionId;
		}

		/*
		 * Now follow the HOT-chain and collect other tuples in the chain.
		 *
		 * Note: Even though this is a nested loop, the complexity of the
		 * function is O(N) because a tuple in the page should be visited not
		 * more than twice, once in the outer loop and once in HOT-chain
		 * chases.
		 */
		for (;;)
		{
			lp = PageGetItemId(page, nextoffnum);

			/* Check for broken chains */
			if (!ItemIdIsNormal(lp))
				break;

			htup = (HeapTupleHeader) PageGetItem(page, lp);

			if (TransactionIdIsValid(priorXmax) &&
				!TransactionIdEquals(priorXmax, HeapTupleHeaderGetXmin(htup)))
				break;

			/* Remember the root line pointer for this item */
			root_offsets[nextoffnum - 1] = offnum;

			/* Advance to next chain member, if any */
			if (!HeapTupleHeaderIsHotUpdated(htup))
				break;

			nextoffnum = ItemPointerGetOffsetNumber(&htup->t_ctid);
			priorXmax = HeapTupleHeaderGetUpdateXid(htup);
		}
	}
}

redpajama_set_name: RedPajamaGithub


You can listen to and experience these journeys time and time again, to gain new insights and new resources each and every time you listen. So why not buy the entire current collection right away for less than the cost of a single 1:1 private hypnotherapy session and start transforming your life now.
Connect with your Higher Self, discover your Soul Purpose, explore your Soul Journey, gain insight, clarity and direction for your life path.
Free yourself of anger, guilt, anxiety, discover wisdom and peace within Understand your Life Lessons and Reclaim your true Power as you make peace with yourself and others.
Learn to relax and let go, as you smoke the peace pipe with the elders around the campfire, connect with the Eagle, who will help you to detach from your worries and gain new perspectives.
Swim in a beautiful blue lagoon, play with the dolphins and mermaids, dive through a crystal cave and discover the treasures hidden deep within. This hypnotic journey is great for deep body relaxation, receiving spiritual guidance and includes a full chakra balance.
These powerful and deeply enjoyable hypnotic journeys by Robert Siegal utilise the latest NLP Ericksonian techniques to help support you in effortlessly achieving your dreams.
Imagine how you'll feel when you're drawing more love and affection into your life, as you simply relax and listen to this hypnotic MP3.
How would you like to draw more Prosperity and Abunance into your life? Now you can, easily and effortlessly with this powerful hypnotic MP3. Simple relax and allow your unconscious mind to absorb the new ideas and feelings, that will allow you to effortlessly attract more prosperity and abundance.
Be fortified with tremendous resources of confident energy. Sense your new positive expectancy – the exhilarating, liberating feeling that you can create the life you always dreamed!
Be fortified with renewed resolution and release your resourcefulness to surmount any life challenge. Sense your strong, positive conviction: You can achieve your dreams!
Liberate your natural motivation to eat the right foods when really hungry – and be guided toward a slimmer, fitter, healthier and more gratifying life!
Enjoy a more enlightened life-perception! Once stressful times now perceived as opportunities to keep your composure… your body naturally responding with that wonderful feeling of relaxation!
Release your natural, compelling desire to breathe freely, and live with more energy and vitality! Sense a potent relaxing force guiding you to breathe fresh, clean air!


text:
Q: WooCommerce programmatically get Cart Id I am developing a plugin for WooCommerce.
On my backend API server (not my Wordpress server but another server that maintains a duplicate of the cart record) I need a way to tell if the cart I am dealing with is the same cart as before  (the cart items or details could have changed, but as far as the consumer who is using my WP site can tell they are still in the same shopping cart experience).
I need something that will serve as a unique identifier for the shopping cart.
As far as I can see there is no explicit ID on the WC_Cart object,
Is there a good sensible way to derive one?

Note: I know it is possible to use generate_cart_id() to get a unique ID for the product line in the cart (as described in this question), however what I am looking for here is an identifier for the cart itself.

A: Your objective is rather interesting. I've read the code of WooCommerce but sadly it does not have what you need.
I have a suggestion though. This might help. In woocommerce_init change WC()->cart with your own class that extends to WC_Cart. Then in your class have a way to set your cart id. Something like below.
add_action( 'woocommerce_init', 'woocommerce_init', 30 );
function woocommerce_init() {
    class myWC_Cart extends WC_Cart {

        private $cart_id = 1234; // set cart id by any means necessary

        public function get_cart_id() {
            return $this->cart_id;
        }
    }
    WC()->cart = new myWC_Cart();
}

This way, anywhere WooCommerce is ready or loaded, you can get the cart id by calling
WC()->cart->get_cart_id();

A: I know this is an old question but I am facing a similar situation for a client.
I am solving it storing the ID in session and checking the session variable anywhere I need it.
$new_cart = WC()->session->get('new_cart');
if( is_null($new_cart) ) {
    WC()->session->set('new_cart', uniqid());
}

I like Reigel solution but I and a bit afraid of extending core classes


text:
News / Celebrity
Halloween 2019: the best images of selebs
Despite the fact that officially Halloween is celebrated only on October 31, many stars have already managed to hang out at themed parties. We'll just have to wait for the Queen of costumes Heidi Klum's party-while she only intrigues fans, every day posting on Instagram photos in different looks. Let's see what outfits celebrities chose this year and who impressed us most of all.
instagram.com/ddlovato
Singer Demi Lovato decided to support this year's Halloween trend and chose a Pennywise clown costume from the film "It", the sequel of which was released in September. Demi didn't repeat the image exactly as in the film adaptation, but preferred to add sexiness to it. She wore a white dress that highlighted her prominent breasts, adorned it with playful red pom-poms, and applied a famous clown smile to her face as a make-up. In this image, the singer visited Paris Hilton's party, which was also attended by many other star guests.
instagram.com/iamcardib
Hip-hop artist Cardi B unveiled her costume at her husband's (rapper Offset) concert last Friday. She decided not to experiment much with the look and chose the outfit of a seductive nurse, which for many years has already become a classic. The singer wore an extra-short white dress with a low neckline, fishnet stockings and red patent boots. She hadn't forgotten the real trappings of a nurse either, and hung a stethoscope around her neck.
instagram.com/rumerwillis
The daughter of Demi Moore and Bruce Willis, Rumer, came to a private party in Hollywood in the outfit of the last French Queen Marie Antoinette. The actress combined 18th-century French chic with modernity, wearing a short dress with a corset, white fishnet tights and lace-up high-heeled ankle boots. Rumer hadn't forgotten about her traditional hair and makeup – a bright blush on her pale skin.
instagram.com/bellathorne
Actress Bella Thorne decided not to scare fans with creepy images and dressed up as the disco Queen of the 80's. She wore a voluminous purple afro wig and a beige fringed suit. Bella accessorised her outfit with large accessories and accentuated her make-up with dark plum lipstick.
Epic night at my #ELECTRIFY Halloween Party! ??? ? @KevinOstaj
Публикация от Paris Hilton (@parishilton) 26 Окт 2019 в 5:30 PDT
This weekend glamorous diva Paris Hilton managed not only to attend several parties of her friends, but also to arrange her own. She dedicated the event to the release of the new fragrance Electrify. Paris greeted guests in the image of a warrior woman with a sword. She wore a white short dress, decorated with gold embroidery and details resembling armor, ared cloak was fluttering behind the socialite's back. She has already posted a video on Instagram, in which she showed the guests of her party.
instagram.com/katebeckinsale
Actress Kate Beckinsale and her boyfriend Jonathan Voluck walked to the nearest supermarket in the images of Audrey Hepburn from the film "Breakfast at Tiffany's" and singer Elton John. She took a photo with a grocery basket on the background of counters with sweets-probably, she chose sweets that will be distributed to children.
Asa Gonzalez
instagram.com/larevistabreak_
Mexican singer Asa Gonzalez also follows the trends of this fall and chooses the most recognizable images. For Halloween, she dressed up as Maleficent-an evil witch, the role of which was played by Angelina Jolie. The film has just been released, and those who want to wear a black long dress and try on beautiful horns are so many.
Jessica Biel and Justin Timberlake
instagram.com/jessicabiel
Singer Justin Timberlake decided to remember his youth in the company of his wife Jessica Biel and dressed up in the stage costume of the boy band 'N Sync, with whom he performed in the early 2000's. Jessica wore a shiny turquoise jumpsuit and a short curly wig-the image of Timberlake at the beginning of his career. And Justin himself chose a suit of a huge microphone with an on-off button.
instagram.com/cindycrawford
Supermodel Cindy Crawford decided to turn to the past for inspiration, too and came to the brand tequila Casamigos party in the image of the disco Queen of the 60's. She wore a long multi-coloured dress with sequins, large pink glasses and a fluffy wig.
instagram.com/heidiklum
Heidi Klum is hiding all the details of her Halloween party, but she has already managed to visit one. The model came to the party with her husband, singer Tom Kaulitz. Lovers didn't come up with complex costumes and smeared with sequins from head to toe. Heidi wrote: "We are fireworks!" It seems that's how she tried to describe the euphoria in which the newly-weds are.
#cardi b
#demi lovato
#justin timberlake
#Paris Hilton
#Halloween 2019
#Heidi Klum
Artistic Talent: Hollywood Stars as Classic Disney Villains
Katy Perry Shared Her Plans for 2020
Miley Cyrus and Cody Simpson Spend Christmas Together
Let's Go to Australia: Kylie Minogue Released an Ad Clip
How Much Meghan Markle Spent on Her Wardrobe This Year
Generous Santa: What Kylie Jenner and Her Daughter Got for Christmas
Kate and William Took Older Children to Christmas Service for the First Time
The Biggest Movie Payoffs
How The Beckhams, Kardashians, Dukes of Cambridge and Others Celebrate Christmas
Kim Kardashian's Daughter Had a Luxurious Present


Before you dive in, we suggest drawing up (and sticking to) a study schedule that will guide your preparation.
You have a lot riding on your police exam. You're also doing the work you need to do to reach your goals. Unfortunately, though, simply knowing that you're working hard won't make your test anxiety go away. Thus, here are some stress-management tips from our long experience of helping students prepare for standardized tests.
Once you've set up a study schedule for yourself, treat it like a job. That is, imagine clocking yourself in and out of police exam studies according to that schedule. Do your best to stick to your schedule, and when you're not "clocked in," don't let yourself stress out about your upcoming exam. That will help you release your stress about the test in between study sessions.
If you get tired, overwhelmed, or discouraged when studying, don't respond by pushing yourself harder. Rather, step away and engage in a relaxing activity like going for a walk, watching a movie, or playing with your cat or dog. Then, when you're ready, return to your studies with fresh eyes.
One week, memorize and practice question types that fall under the umbrella of Spatial Orientation, Visualization, and Memorization until you're confident about what you will have to do if you see these question types on your exam.
One week, take a practice exam under test-like conditions: time yourself and find a quiet room with no distractions. Allot time to review all answer explanations, and make a note next to the question types that are giving you the most trouble. Review the chapters that cover the material giving you the most trouble.
One week, review all Information Management and Problem Sensitivity question types until you can identify each question's type and its appropriate strategy.
Poor health, fatigue, and isolation make it harder to cope with stress and anxiety. Get on a regular sleep schedule as much as possible during your studies, eat well, continue to exercise, and spend time with those you care about. Also, don't fuel your studies with caffeine and sugar. Those substances may make you feel alert, but they can also damage focus.
Most importantly, keep telling yourself that you can do this. Don't fall into the trap of thinking that you're not "allowed" to feel confident yet. That's a self-punishing attitude that will only hurt you. Remember that confidence breeds success. Let yourself be confident about your abilities. You're obviously ambitious and have a solid career goal in mind, so walk into your exam knowing that about yourself.
If you get discouraged about your goals, stop what you're doing and make a list of everything you're good at. List every specific skill that you are bringing to the police exam. Post that list in a place where you'll see it every day, and add to it as you continue to study.
We at Kaplan recommend this because many people focus too heavily on their weaknesses while preparing for a standardized test. But if you only focus on your weaknesses, you aren't seeing an objective picture. There are skills on the exam that you're good at. Keep that in mind, and focus on building on those strengths.
In the last few weeks before Test Day, do a comprehensive review of all police exam topics. Take a full-length practice test at least once a week, and use the results of those full-length tests to inform your review.
Be sure to contact the program administering your exam to find out everything you can about your test date—what you should bring with you, when you can expect your scores, and how long you can expect to be at the testing center.
Rest: Make sure you're on a regular sleep schedule.
Rehearse: Find out where your testing center is located, and consider doing a "dry run." That is, drive or commute to the testing center around the same time of day as your testing appointment. You don't want to be surprised by traffic or road construction on Test Day.
Stop: Two days before the test, stop studying. No studying at all: you're not likely to learn anything new in those two days, and you'll get a lot more out of walking into the test feeling rested.
Relax: The evening before the test, do something fun but not crazy or tiring. Maybe you could have a nice dinner (without alcohol), watch a movie, or do something else relaxing. Go to bed at your usual time the night before the exam.
Warm up: Before you take the test, briefly awaken your brain. You probably can't take any practice materials into the testing center, but you can do a few easy practice problems at home or in the car before you go into the testing center.
Don't let nerves derail you: If you feel nervous while taking the test, remember to breathe deeply into your stomach. Take a few deep breaths and focus your eyes on something other than the computer screen or test booklet for a moment.
Keep moving: Don't let yourself get bogged down on any one question. If you're taking a test where you can skip problems and come back to them, do so whenever they threaten to slow you down or to steal time from the other questions. If you're taking a computerized test and can't return to previous questions, you may have to decide to make a guess if a question is threatening to take too much time.
Don't assess yourself: This is very important. As you're testing, don't let yourself stop and think about how you feel you're doing. Taking a standardized test hardly ever feels good. Your own impressions of how it's going are totally unreliable. So, instead of focusing on that, remind yourself that you're prepared and that you are going to succeed, even if you feel discouraged as the test is underway.
After the test, celebrate! You've prepared, practiced, and performed like a champion. Now that the test is over, it's time to congratulate yourself on a job well done. Celebrate responsibly with friends and family, and enjoy the rest of your day, knowing you just took an important step toward reaching your goals.


Have you forgotten your password? If so, please enter your Distributor No and New I.C. No in the form below and click the submit button.
We will send your password to the email address you provided during registration.
Note: Please change your password immediately after login.


text:
CVC-owned Matahari launches up to $1.36 billion Indonesia offering: terms
CVC Capital Partners and PT Multipolar Tbk launched on Monday an up to $1.36 billion offering of shares in retailer PT Matahari Department Store, seeking to benefit from growing investor appetite for consumer stocks in Indonesia and partially cash out of one of their most profitable investments in the region.
CVC, through one of its subsidiaries, and Multipolar are offering 1.167 billion shares in Matahari in a range of 10,000 to 11,250 rupiah, putting the total deal at 13.13 trillion rupiah ($1.36 billion), according to the term sheet.
CVC's exit from Matahari is on target to be among the most profitable for a big firm in Southeast Asia. The London-based private equity firm led a group that acquired Matahari in 2010 for $790 million, including debt, and is now making a partial exit that values the company at $3.4 billion, according to Reuters calculations.
CVC declined to comment. Multipolar and Matahari did not immediately return a request for comment on the offering.
The share sale is expected to be priced on March 21, with the settlement set for March 27, the terms showed.
The offering has secured about $435 million in cornerstone pledges from a who's who of global and regional investors, including BlackRock , Fidelity Investments, Schroders and Goldman Sachs' GS Investment Strategies, confirming a Reuters report on Friday.
The group of 15 investors also includes Government of Singapore Investment Corp and state investor Temasek, and hedge funds Och-Ziff Capital Management Group LLC and Azentus Capital Management Ltd.
Investors are attracted to Indonesia's rapidly growing economy and expanding middle class, with the country expected to add 90 million people to its consuming class by 2030, according to McKinsey & Co.
The secondary share sale, equivalent to a 40 percent stake in Matahari, would cut the stakes owned by Multipolar and CVC in Indonesia's top department store operator. It would also help boost liquidity in the thinly traded stock.
The indicative range is equivalent to a price-to-earnings ratio of 24.9 to 28 times for 2013 and 18.3 to 20.6 times for 2014.
CVC hired CIMB Bank , Morgan Stanley and UBS last year to manage the sale. ($1 = 9684.5000 Indonesian rupiahs)
(Additional reporting by Stephen Aldred in Hong Kong; Editing by Chris Gallagher)


text:
Age of Humans
Future of Space Exploration
The Innovative Spirit
Universal Crossword
Mah Jong Quest
KenKen
Find a Museum
Find a Museum / United States / NJ
Cornelius Low House
1225 River Road, Piscataway, NJ 08854 - United States
Free Everyday
The Cornelius Low House/Middlesex County Museum is a Historic National Register home built in 1741 for Cornelius Low, a wealthy merchant of Raritan Landing. The home is one of the best examples of Georgian architecture in New Jersey. The Low House has a dual purpose, to interpret the history of this fine structure and to research and mount rotating exhibits about New Jersey history.
Past exhibits include, Down the Shore: The Coastal Heritage of New Jersey, New Jersey's Gilded Age: Opulence, Struggle, & Innovation, Call the Doctor! Call the Nurse!: A History of Medicine in New Jersey 1775-1975, Icons of American Culture: History of New Jersey Diners, Over There, Over Here: New Jersey During WWI, and Mid-Century New Jersey: The Garden State in the 1950s.
FREE ADMISSION - Open Year-Round, excluding Holidays, Rutgers Football game days and Rutgers graduation.
Hours: Wednesday - Friday 10am-4pm and Saturday & Sunday 12-4pm
Text CULTURE to 56512 for hours and information and to sign up for program alerts or contact [email protected] or call 732-745-4177.
Treasures of Middlesex County: 300 Years of Raritan Valley History - Discover historically significant artifacts dating back more than 300 years. Items include muskets from the Middlesex Brigade, historic maps, 18th century documents, ceramics, furniture from 18th and early 19th century craftspeople, and more.
The Cornelius Low House is always free to visit. In celebration of Smithsonian Museum Day we are extending our hours and will be open from 10am-4pm followed by a special reception from 4-6pm with light refreshments.
Participation in Museum Day is open to any tax-exempt or governmental museum or cultural venue on a voluntary basis. Smithsonian magazine encourages museum visitation, but is not responsible for and does not endorse the content of the participating museums and cultural venues, and does not subsidize museums that participate.
Air & Space Magazine


October 5, 2015. Cemen Tech, the leader in the volumetric mixing industry, announced today that the company will be attending the first ever CONEXPO Latin America in October 2015.
Cemen Tech equipment is being used by Latin American construction companies such as Graña y Montero and COSAPI.
In the next 10 years, the National Mining Society of Chile expects an investment of approximately $100 billion. Cemen Tech mixers will play a key role in the growth of this market segment. In other parts of the world, Cemen Tech mixers are frequently used to produce concrete miles underground where traditional drum trucks cannot reach.


4 And I alone have lingered here.
10 And bid God bless me in a foreign land.
16 To cheer thee at the close of day.
20 And drink it with a right good-will.
24 With all who ever breathed my native air.
28 And be the master of the whole.
32 Thou fairest of a fickle kind!
34 Thou little, haughty, cruel maid!
36 Which thou hast ta'en away from me.
40 That thou mayest still untroubled sleep.
42 That looks as though they pitied me?
44 I leave no blame upon thy head.
46 But ne'er was worthy of thy love.
52 God bless ye, Phill, adieu! adieu!
Title (in Source Edition): A CHEERFUL-TEMPERED LOVER'S FAREWELL TO HIS MISTRESS.
Fugitive Verses. By Joanna Baillie, author of "Dramas on the Passions," etc. London: Edward Moxon, Dover Street. MDCCCXL., 1840, pp. 65-67.


text:
SoGoSurvey Updates Mobile App
SoGoSurvey has released an upgraded mobile app that links both the mobile app and web versions of its online survey platform.
The enhanced SoGoSurvey Mobile App allows for numerous applications and automations. For example: A maintenance team can be instantly alerted when a new maintenance request is submitted. Once the task is finished, the maintenance crew can trigger a survey invitation to the party that requested maintenance. All of the data can be tracked and analyzed in real time. The same flow could be applied in property management, health care, support services, IT, or any industry that relies on a quick and timely response.
"We've been excited to roll this out for some time," said SoGoSurvey's chief marketing officer, Haris Azmi, in a statement. "Our goal to make data collection as automated as possible is greatly improved by the enhanced mobile app. With our ability to integrate completely with Salesforce and other software, we can start to collect quality feedback with minimum effort."
This latest version is available for Android and iOS and builds on earlier releases, including distribution options integrated with users' own contacts and preferred channels, like Whatsapp, Slack, Gmail, and more. The app helps users create surveys, collect answers, and check out results without ever switching over to a desktop. It also includes new visual customization options and expanded question types. Once responses come in, they can be viewed in the app and also analyzed in the web-based platform for detailed insight and analysis.
"We've gotten great feedback on the app," Azmi said. "Our users want everything right in their own hands, no matter where they are, and we're hearing plenty of great stories about how they're putting it to use."


Salat Kompong Ch'hna is a traditional beef salad that is used in Combodia seasoned with chopped red chilies – it accompanies many dishes that you will find in Cambodia or in international region-specific restaurants.
Heat 1 tablespoon of oil in a skillet and saute beef for 2 minutes. Add half the onion, salt and pepper and saute until the onion is golden. Top lettuce with tomatoes and eggs. Mix the remaining oil with the vinegar and mustard. Toss beef and remaining onions with salad and then top with dressing.


text:
Pakicetus – rodzaj prawalenia z rodziny Pakicetidae. Został nazwany w 1981 roku przez Philipa Gingericha i Donalda Russella. Gingerich i Russell do rodzaju Pakicetus zaliczyli nazwany przez nich w 1981 roku P. inachus, będący gatunkiem typowym, oraz P. attocki, opisany w 1980 roku przez Westa jako należący do rodzaju Protocetus. Sam rodzaj Pakicetus Gingerich i Russell zaklasyfikowali do rodziny Protocetidae i opisali jako niewielkiego walenia charakteryzującego się niezwykle wysokimi grzebieniami strzałkowym i karkowym oraz małą puszką mózgową. Holotypem gatunku typowego jest tylna część czaszki odkryta w datowanych na wczesny lub środkowy eocen osadów formacji Kuldana w Pakistanie. Pakicetus miał grubą pustą w środku kość w tylno-dolnej części czaszki, otaczającą ucho środkowe i ucho wewnętrzne, charakterystyczną dla wszystkich waleni (ang. auditory bulla), jednak wykazywał tylko niektóre spośród przystosowań do słyszenia pod wodą występujących u przedstawicieli tej grupy. Budowa czaszki sugeruje jednak, że przedstawiciele Pakicetidae prowadzili lądowy tryb życia, a ich szkielet wykazywał przystosowania do biegania. Niektóre spośród ich zmysłów występują również u zwierząt wodnych, jednak nie muszą oznaczać wodnego trybu życia. Hans Thewissen i współpracownicy w 2001 roku zasugerowali, że Pakicetidae były wodno-lądowe w nie większym stopniu niż tapiry.

Opisany w 2001 roku szkielet Pakicetus attocki dowodzi, że było to zwierzę osiągające rozmiary zbliżone do wilka. W 2009 roku Lisa Noelle Cooper i współpracownicy opisali dwa kolejne gatunki rodzaju Pakicetus – P. calcis i P. chittas – których skamieniałości odnaleziono w środkowoeoceńskich osadach formacji Kuldana w północnym Pakistanie.

Zobacz też
 formy przejściowe

Przypisy

Linki zewnętrzne

Wymarłe walenie
Ssaki eocenu

redpajama_set_name: RedPajamaWikipedia


text:
Puzzle Pits Download (1995 Puzzle Game)
Puzzle Games:
Download full Puzzle Pits:
Puzzle Pits screenshots:
Puzzle Pits is an excellent, albeit relatively unknown, puzzle game that was criticized so heavily by most "professional" game critics that its shelf life was miserably short. Reading some of the reviews, however, I can't help but feel that critics who are assigned to review small games are those who are neither experienced gamer, nor willing to invest the time required to form a well-informed opinion on the game. GameSpot's reviewer, for instance, spends most of her review to criticize the game's dated graphics and lack of sound effects. Just when do these things matter in a great puzzle game is anyone's guess.
Anyway, I found Puzzle Pits to be an enjoyable, challenging gem-- although the game has some rough edges. You play an apprentice who is on a mental journey. At the beginning of each level, your master, Flosh, gives specific directions on what you need to do to move on to the next level. The game is played from an isometric perspective, and resembles Chip's Challenge most of the time. You will push crates to form a bridge, activate magical gems and switches, negotiate one-way arrows, and avoid a host of hazards on your way to the exit. The game introduces new dangers and objects every few levels, so it never becomes repetitive.
In short, Puzzle Pits will appeal to puzzle lovers of all ages, especially anyone who loves challenging puzzle game. It may not be revolutionary or even ingenious, but it does provide some tough challenges to test everyone's mental prowess. Best of all, publisher Plasma Works has released the game as freeware, so there's really no better incentive to try it out :)
People who downloaded Puzzle Pits have also downloaded:
Puzznic, Pipeful Sunday, Solomon's Key, Tiny Skweeks, Pipe Dreams (VGA), XOR: The Ultimate Maze Challenge, Even More Incredible Machine, The, Incredible Machine, The: Even More Contraptions


text:
Updated Guidance for a Risk-Based Approach to Virtual Assets and Virtual Asset Service Providers
Updated Guidance for a Risk-Based Approach for Virtual Assets and Virtual Asset Service Providers
Download pdf ( 3,490kb)
Paris – 28 October 2021 - The virtual asset sector is fast-moving and technologically dynamic, which means continued monitoring and engagement between the public and private sectors is necessary.
In October 2021, the FATF updated its 2019 Guidance for a Risk-Based Approach to Virtual Assets and Virtual Asset Service Providers (VASPs).2019 Guidance for a Risk-Based Approach for Virtual Assets and Virtual Asset Service Providers (VASPs). This updated Guidance forms part of the FATF's ongoing monitoring of the virtual assets and VASP sector.
The FATF standards require countries to assess and mitigate their risks associated with virtual asset financial activities and providers; license or register providers and subject them to supervision or monitoring by competent national authorities. VASPs are subject to the same relevant FATF measures that apply to financial institutions. This guidance will help countries and VASPs understand their anti-money laundering and counter-terrorist financing obligations, and effectively implement the FATF's requirements as they apply to this sector. The guidance provides relevant examples and potential solutions to implementation obstacles.
The 2021 Guidance includes updates focusing on the following six key areas:
clarification of the definitions of virtual assets and VASPs,
guidance on how the FATF Standards apply to stablecoins,
additional guidance on the risks and the tools available to countries to address the money laundering and terrorist financing risks for peer-to-peer transactions,
updated guidance on the licensing and registration of VASPs,
additional guidance for the public and private sectors on the implementation of the "travel rule", and
Principles of information-sharing and co-operation amongst VASP Supervisors
The document 'In Brief ' provides a summary of the sections of the guidance and the key changes made in the 2021 update.
This guidance addresses the areas identified in the FATF's 12-Month Review of the Revised FATF Standards on virtual assets and VASPs requiring further clarification and also reflects input from a public consultation in March –April 2021.
The FATF remains vigilant and will closely monitor the virtual assets and VASPs sector for any material changes that necessitate further revision or clarification of the FATF Standards. This includes in relation to areas covered in this Guidance such as stablecoins, peer-to-peer transactions, non-fungible tokens and decentralised finance.
Second 12-Month Review of Revised FATF Standards on Virtual Assets and VASPs
12 Month Review - Revised FATF Standards on Virtual Assets and VASPs
2019 Guidance for a Risk-Based Approach for Virtual Assets and Virtual Asset Service Providers (VASPs)
FATF Recommendations 2012
Italian: Linee guida per un approccio ai virtual asset e ai prestatori di servizi in materia di virtual asset basato sul rischio
Russian: MUMCFM-FATF Risk-based Guidance-Virtual Assets and VA Service Providers


Established in 2007, Wantirna Health in Wantirna is a purpose-built palliative care and Geriatric Medicine hospital. Wantirna Health provides a wide range of ambulatory services, including home-based and centre-based rehabilitation and specialist clinics.
Eastern Health is totally tobacco-free. Under the Tobacco Act 1987 smoking is prohibited within four metres of an entrance to all Victorian public hospitals and registered community health centres. Smoking is not allowed in the buildings or on the grounds of any of our sites, including walkways, entrances and car parks.


The train Tirupati - Aurangabad SpecialFare Sabarimala Special starts journey from TIRUPATI station and stops at AURANGABAD. It's number is 7410 and it stops at 27 stations between the first and last stations. This train runs on Saturday. If you've booked a ticket on Tirupati - Aurangabad SpecialFare Sabarimala Special, you can check your PNR status here. It travels 1147 kilometre to reach its final destination. Tirupati - Aurangabad SpecialFare Sabarimala Special (7410) departs from its first station at 09:15:00 and reaches its last station at 09:30:00. Also see the complete list of trains in India.


Experience the wonders of camp.
Learn more about your job this summer.
Grow to be the best camp staff you can be!
Calling all camp staff! This training is FOR YOU — Camp4U — a fun and educational event like no other! Join us for an inspiring and fun day of hands-on learning for frontline and mid-level camp staff on Saturday, April 28th. Camp Twin Lakes (about 45 minutes east of Atlanta) will host an exciting day for camp counselors, activity instructors and youth development workers. Come learn best practices, gather games and activity resources to use with campers and network with other camp staff from all around the Southeast as you learn from the experts.


Syed Furqan Qadri Naats - Listen and Download Syed Furqan Qadri Naats.
Syed Furqan Qadri Naat MP3 - Download Naat Sharif of Syed Furqan Qadri in MP3 format.
Syed Furqan Qadri Naat Shareef - Audio Naat Shareef of Syed Furqan Qadri Naat Khawan.
Syed Furqan Qadri Audio Naat e Pak - Listen Online audio Mp3/MP4 Naat e Pak of Syed Furqan Qadri .
Syed Furqan Qadri Naat sharif - Listen Mp3/MP4 Naat sharif of Syed Furqan Qadri.