For the first time in 65 years, the state of South Carolina will have a home team to root for in the Little League World Series, which gets under way today in Williamsport, PA.
The team from Taylors will represent the Palmetto State in the tournament following an impressive run through the regionals. South Carolina went 4-0 to advance to the World Series, outscoring opponents 35-10 in the process. They face Rhode Island at 5:30 p.m. Friday on ESPN.
The last team from South Carolina to reach the LLWS hailed from Clinton in 1950. Five years later, the Palmetto State essentially pulled out of Little League when 61 teams refused to play in a tournament against an all-black team from Charleston. Dixie Youth Baseball was formed, and South Carolina and other Southern states largely ignored Little League until the 2000s.
The integrated Northwoods squad hopes to erase a long sad chapter in the state's baseball history with a LLWS title.


text:
DNA Testing for Obesity
This test cannot be ordered as an individual test but only as a part of the list of diseases
included in our Genetic Predisposition Test panel.
Order now €219
Obesity refers to the condition present in people whose proportion of body fat is considered excessive for their height and weight. The standard measurement of obesity is the Body Mass Index (BMI), which calculates an individual's weight in kilograms divided by his or her height in metres squared. According to the BMI, obesity occurs when a measurement of 30 or greater is recorded; however, the BMI figures can be skewed when dealing with people who have above average muscle mass and bone density. Obesity is often most simply caused by an excessive consumption of calories over time. What constitutes an excessive amount of calories will depend largely on an individual's metabolic rate, which describes the speed and efficiency with which the body burns off calories. Generally speaking, inactive people will tend to have a slower metabolic rate than those who are more active.
Genetic predisposition DNA testing for obesity is useful in order to identify whether the condition can be caused by genetic factors. In today's increasingly obese society, extreme financial and administrative strains are being placed on healthcare, insurance and emergency services, so it is important to address the various causes of obesity. Current research has found that a genetic predisposition to obesity does exist, with several genetic factors playing a pivotal role in the pathogenesis of the condition. FTO is one of the most relevant genes associated with obesity and, in a study of 40,000 people, it was found that those carrying one copy of the FTO variant gene are 30% more likely to become obese, whilst those carrying two copies are 70% more likely.
For support and more information about obesity, please visit the Big Matters website, offering support, information and friendship.
Speak To International Biosciences About DNA Testing Genetic Predisposition for Obesity
International Biosciences provide Genetic Predisposition testing to determine your genetic predisposition for important health conditions including cancers, cardiovascular conditions, diabetes and obesity. Knowing which genetic disorders and diseases you are at risk from will allow you to plan to reduce it by making lifestyle changes such as diet and exercise. Contact International Biosciences on 1-800-948-850 or click here to email us.
International Biosciences does not provide medical advice, diagnosis or treatment. You should consult your doctor or health professional if you have questions regarding any medical condition, before starting any new treatment, and before stopping any treatment that has been prescribed for you. Your use of this site indicates your agreement to be bound by the Genetic Predisposition Terms & Conditions, General Terms & Conditions and Terms of Use.
Infidelity DNA Test
Semen Detection Test
Identification Profiling
DNA My Dog Canine Genetic Age Test
Advanced Baby Gender DNA Test
Home DNA Banking
GPS Origins™ Ancestry DNA Test
Sibling DNA Test
DNA My Dog Breed DNA Test
Home Paternity Testing
Non-Invasive Prenatal Paternity Test
Twin Zygosity DNA Test
GrandParents DNA Test
DNA Diet and Healthy Weight Test
Legal DNA Test
Prenatal Screening for
Avuncular DNA Test
Immigration DNA Test
DNA Test for Surrogacy
Dog Inherited Disease & Trait Test
Wisdom Panel® 2.0
Dog Breed Identification test
Maternity DNA Test
Cousin DNA Test
Mitochondrial DNA Test

redpajama_set_name: RedPajamaCommonCrawl


appsadviser help you to find the best marketing automation tools with an easy comparison table.
Choosing a marketing automation software isn't an easy task. There is a lot of options out in the market and everyone tell you why they are the best. So... we got you covered, we found and arranged the best marketing automation software in a simple top 10 table. So now you can stop searching and click on the best option.
This list include some of the most branded names in the marketing automation industry like: SendinBlue Email, MailChimp, Infusionsoft, Constant Contact, HubSpot and we happy to have them with us.
The best Email Marketing solution to send Newsletters, Bulk Emails, Transactional Emails (SMTP), SMS Marketing and Marketing Automation. More than 100 000 clients. Best prices and easy to use features.
Marketing Automation Software: Easy. Powerful. Complete.
Benchmark is an international, easy-to-use email and event marketing service provider. Affordable, friendly and stylish.


text:
USA Men Celebrate FIBA AmeriCup Gold
The USA men finished the AmeriCup 2017 with a perfect, 5-0 record en route to the USA's seventh gold medal in FIBA AmeriCup/FIBA Americas Championship play.
The USA was led by Jeff Van Gundy (left).
Darrun Hilliard was named to the five-member all-tournament team.
Jameel Warney was named to the five-member all-tournament team.
Jameel Warney was named MVP of the FIBA AmeriCup 2017.
USA team staff and delegation members celebrate after the USA's come-from-behind win in the gold medal game.
The USA averaged a tournament second-best 71.6 points per game, just after Argentina's average of 76.6 points per game.
Reggie Williams accepts the trophy on behalf of the U.S. team.
In winning its seventh gold medal in FIBA AmeriCup/FIBA World Championship men's history, the USA averaged a tournament second-best 43.2 rebounds per game, just behind Canada's 44.0 rpg.
Restart Gallery
USA Men's U19 World Cup Game 1 and 2 Action Photo Gallery
USA - Mexico Photo Gallery
World Cup Qualification for Men
Action photos from the USA's World Cup Qualifying game against Mexico.
USA - Cuba Photo Gallery
Action photos from the USA's World Cup Qualifying game win over Cuba.
Meet the November 2021 USA Men's World Cup Qualifying Team Gallery
November 2021 USA Men's World Cup Qualifying Team Scrimmage Versus Canada Gallery
November 2021 USA Men's World Cup Qualifying Team Scrimmage Versus Canada
2021 USA Women's U16 National Team Photo Day Gallery
Images from the 2021 USA Basketball Women's U16 National Team photo day.
Cheryl Reeve
Vickie Johnson
Mike Thibault
Curt Miller
Coaching Staff Finalized for 2022 USA Women's National Team February Training
WNBA head coaches will aid the 2022 USA National Team during training and competition in Washington, D.C.
FIBA World Cup for Women
USA Basketball Mourns the Loss of Lusia Harris
Three-time USA Basketball medalist Lusia Harris passed away on Jan. 18, 2022, at the age of 66.
USA Basketball to Host Games at Entertainment and Sports Arena in D.C.
The USA's 2022 FIBA World Cup Qualifying games in February will be held at the Entertainment and Sports Arena in Washington, D.C.
Brionna Jones
Ariel Atkins
Brittney Griner
Jasmine Thomas
Jackie Young
International Roundup: Ariel Atkins, Brittney Griner Among Top Performers
Highlights of the week include a 29-point performance by Ariel Atkins and a 25-point output by Brittney Griner.
Liz Podominick Hired as USA Women's National Team Program Assistant Director
Liz Podominick was announced on Jan. 12, 2022, as the USA Basketball Women's National Team program assistant director.
@usabasketball See you soon @TheEventsDC 👋 Feb. 11 vs 🇧🇪 Belgium Feb. 12 vs 🇵🇷 Puerto Rico Feb. 24 vs 🇵🇷 Puerto Rico Feb. 27 vs 🇲🇽 Mexico3 Hours ago


In Florida v. Harris, a recent case decided on February 19, 2013, the Supreme Court held that a dog's alert can be sufficient to establish probable cause if all of the facts surrounding a dog's alert, viewed through the lens of common sense, would make a reasonably prudent person think that a search would reveal contraband or evidence of a crime. Justice Kagan quipped, "A sniff is up to snuff when it meets that test."
Police Officer William Wheetley pulled over the defendant because he had an expired license plate. After the defendant did not consent to the search of his truck, Officer Wheetley used Aldo, a German shepherd trained to detect certain narcotics, to conduct a "free air sniff" around the defendant's truck. Aldo alerted Officer Wheetley to the possible presence of narcotics after sniffing the defendant's driver's side door handle. Believing probable cause existed, Officer Wheetley searched the defendant's car without a warrant. Officer Wheetley did not find any drugs in the truck, but he did find many ingredients for making methamphetamine.
The defendant sought to exclude the evidence from the search, arguing that Aldo's alert was not reliable enough to give Officer Wheetley probable cause. The Florida Supreme Court set forth a rigid checklist that the State needed to satisfy in order to show that Aldo's alert was reliable. Relying on Supreme Court precedent rejecting bright-line inquiries toward probable cause, the Supreme Court rejected a strict evidentiary checklist. The Court said that if the State has produced proof from controlled settings that a dog performs reliably in detecting drugs, then probable cause is presumed to exist pursuant to a dog's alert. Of course, a defendant can introduce competing evidence, which the court must then weigh to determine the reliability of a dog's alert.
The Supreme Court found that Aldo's alert was reliable enough to give a police officer probable cause to search the defendant's truck because Aldo passed training courses and his reliability was not undermined.
Michigan's test does not appear to be at odds with the Supreme Court's decision. The Michigan Court of Appeals has said that "a positive reaction by a properly trained narcotics dog can establish probable cause." The Michigan Court of Appeals cited a Sixth Circuit case, which did not use a rigid checklist to determine whether a dog was sufficiently reliable.


text:
William Thomas Trustram
1874 - 1924 (~ 50 years)
Name William Thomas Trustram [1]
Born Apr 1874 St Albans, Hertfordshire, England
Christened 24 May 1874 Harpenden, Hertfordshire, England
Residence 5 Apr 1891 79 High Street, Wheathampstead, Hertfordshire, England
Living as servant with future wife Harriet Hodson née Thrale, her mother Elizabeth Thrale née Peacock (who was his employer).
79 High Street, Wheathampstead, Hertfordshire, England
Residence 31 Mar 1901 High Street, Wheathampstead, Hertfordshire, England
High Street, Wheathampstead, Hertfordshire, England
Died Oct-Dec 1924 St Albans, Hertfordshire, England [2]
Person ID I1086 UK Thrale family
Father John Trustram
Mother Sarah
Family Harriett Abigail Thrale, b. Jul 1859 - Sep 1859, Wheathampstead, Hertfordshire, England , d. Aft 31 Mar 1901 (Age ~ 41 years)
Married April 1902 - Jun 1902 St Albans, Hertfordshire, England [3]
Born - Apr 1874 - St Albans, Hertfordshire, England
Christened - 24 May 1874 - Harpenden, Hertfordshire, England
Residence - 31 Mar 1901 - High Street, Wheathampstead, Hertfordshire, England
Married - April 1902 - Jun 1902 - St Albans, Hertfordshire, England
Died - Age: 51 - Oct-Dec 1924 - St Albans, Hertfordshire, England
[S78] England & Wales, Civil Registration Death Index, 1916-2007.
Vol: 3a. Page 796.
[S75] England & Wales, Civil Registration Marriage Index, 1916-2005.
Volume: 3a. Page 1476


Remodeling is not a small undertaking. There's a lot of planning that goes with it to make sure you'll achieve the results you want. You'll need to sit down with your family and plan it together, for instance. You'll also have to check your finances and make sure you choose the right contractors to work with. Among all the people you need to include in your planning, an electrician should also be on your list.
Electrical codes are safety standards for the safe installation or remodeling of electrical equipment and wiring in the U.S. They were written for one purpose — the public's safety. They're based on the National Electric Code but is regionally adoptable, which means your local codes precede it.
Some basic tasks like changing light bulbs and installing garden lights, pond pumps, or battery-operated smoke detectors can be done by an average homeowner. Any connecting, removing, altering repairing, or replacing of electrical equipment must be done by a professional.
Make sure that all electrical wires are out of the way of any human traffic to avoid trip hazards. Don't piggyback adaptors or extension cords to prevent overloading that can cause a fire. Also, be wary when using extension cords and powerboards outdoors.
Whatever your reasons are for remodeling, you have to make sure that everything is carefully planned and executed. Include these tips in the planning process and be rest assured that your remodeling experience would be safe, smooth, and successful.


Lobuche East is one of the most attractive climbing peaks in the Khumbu region. We have designed the itinerary and information for Lobuche East Peak though there is another climbing peak namely Lobuche West (6,145m) connected with Lobuche East Peak at the south-western side of Upper Khumbu valley. Comparatively, Lobuche East peak climbing is a bit more difficult than Island Peak climbing. We set up our first camp at Base Camp at the elevation of 4,950 near a lake in a rocky hollow at the base of the glaciated South-West Face. The climbing clinic course will be provided at the Base Camp by Pioneer Adventure's experienced mountain expert guides to the participating climbing members.
The views of Ama Dablam and Tawache from the Base Camp will be seen superb. Our climbing trip to Lobuche East Peak starts with an exhilarating mountain flight to Lukla. From Lukla, we begin trek heading northward towards the Everest Base Camp and Kalapatthar passing through the Sagarmatha National Park. After a few days of trekking, we will reach Lobuche East Base Camp, the starting point of our climb. Then, we slowly climb to Lobuche high camp and finally summit Lobuche East Peak. The normal route that we follow for climbing Lobuche East is via South Ridge. When we reach the summit, we will enjoy the magnificent views of Mt. Everest (8,848m), Mt. Lhotse (8,516m), Mt. Makalu (8,463m), Mt. Nuptse (7,861m), Mt. Pumori (7,161m), and Mt. Ama Dablam (6,812m), with other peaks. We stay only a few moments on the summit, thereafter we descend down again towards the Base Camp. From the Base Camp, we re-trace the same route that we had used before until we reach Lukla, where we take our return flight to Kathmandu.
Those who are interestead in climbing Lobuche East peak must require basic mountaineering skills and full support and assistance of experienced climbers as the climbing is done through steep snow and ice slopes. Our experienced climbing Sherpa guide will place fixed lines on difficult sections for our participating members to ensure safe ascent and descent.


text:
CDC forgets workers | Amazon injures workers | UAW organizes workers
► LIVE from the Seattle Times — Coronavirus daily news update, May 25 — The latest count of COVID-19 cases in Washington totals 429,499 infections (7-day average of new infections per day: 995) and 5,705 deaths. Vaccination: 48.88% of Washington residents have received their first dose; 40.75% are fully vaccinated. But AP reports that federal vaccine doses (DoD and VA) are not included in Washington state's count.
► MUST-READ from Time — The CDC's mask guidance ignores the risks workers face every day (by Jordan Barab and David Michaels) — Public health agencies like CDC are charged with protecting the health of populations, not just individuals. With its recent masking recommendation, the CDC is forgetting its basic public health mission, holding back our efforts to stop the COVID-19 pandemic, and increasing the danger that workers face. Workplaces are centers of virus transmission, and those who work in such environments have borne a tragic burden throughout the pandemic. The CDC said its new guidelines do not apply to health care, corrections, homeless shelters and transportation, but there are many other types of workplaces with similarly dangerous working conditions — like meat or poultry factories and farms — where large numbers of workers have been infected in the recent past and in which outbreaks continue to occur… The CDC made a mistake. Public health agencies need to follow the science for protecting populations, not just individuals. But it is not too late to fix that mistake and get the nation's pandemic control efforts back on track.
► From the Seattle Times — Amazon's relentless pace is injuring warehouse workers and violating the law, Washington state regulator says — Amazon is violating the law by pressuring warehouse employees to work at speeds that exacerbate injuries without adequate time to recover, state safety regulators concluded earlier this month after an inspection of the commerce giant's DuPont, Pierce County, fulfillment center. Regulators found a "direct connection" between the incidence of injuries at the warehouse and Amazon's expectation that warehouse employees "maintain a very high pace of work" or else face discipline. The inspection's findings complicate the company's effort to brand itself "Earth's Safest Place to Work" and validate what Amazon employees have said for years: Amazon's requirement that employees keep up with hourly targets for tasks like unloading pallets, stowing merchandise and packing boxes has created an injury crisis at the retail behemoth's hundreds of U.S. warehouses.
► From Reuters — Blue-collar director vote gives U.S. labor another crack at Amazon — Labor advocates are looking to the company's annual shareholder meeting on Wednesday, hoping for a chance to get a worker on the board of directors of the world's largest online retailer. A resolution from shareholders including nonprofit Oxfam America calls for Amazon to consider nominating an hourly employee to its board. The proposal picked up valuable, and rare, backing from top proxy adviser Institutional Shareholder Services.
► From the NY Times — A timeline of what has happened in the year since George Floyd's death — As dusk neared on May 25, 2020, a teenager walking to a corner store in South Minneapolis whipped out her cellphone and recorded a shocking sight: A white police officer kneeling on the neck of a Black man for more than nine agonizing minutes. In the hours that followed, the cellphone video showing George Floyd's murder would spread across the globe and incite an uprising for racial justice nearly unparalleled in American history.
TODAY at The Stand — Confronting racism is organized labor's work (by April Sims) — One year after George Floyd's murder, we are making progress in Washington state to reshape policing and engage our members on racism.
► From the AFL-CIO — Pass the George Floyd Justice in Policing Act –AFL-CIO President Richard Trumka: "On the anniversary of his murder, the labor movement joins our allies in calling on Congress to pass the George Floyd Justice in Policing Act. This bill is not only a legislative priority, it's our nation's moral obligation. Elected leaders should work together with all stakeholders, including America's unions, to finally make police reform a reality."
► From the Washington Post — Biden to meet with George Floyd's family amid uncertain progress on race — While White House press secretary Jen Psaki said Biden is "eager to listen to their perspectives and hear what they have to say," an unfulfilled promise looms over the meeting as progress on police reform has stagnated in Congress, including legislation bearing Floyd's name that Biden had hoped would be law on the anniversary of his death.
► From Crosscut — A year after George Floyd's murder, what's changed in Washington state? — Last year's Black Lives Matter protests fueled major actions on police accountability, tax reform and environmental justice. But no one thinks the work is done.
► From the Seattle Times — Seattle, King County wrestling with promises for change that politicians made after George Floyd's murder
► From the AP — Top cop in Black man's deadly arrest withheld cam video — In perhaps the strongest evidence yet of an attempted cover-up in the deadly 2019 arrest of Ronald Greene, the ranking Louisiana State Police officer at the scene falsely told internal investigators that the Black man was still a threat to flee after he was shackled, and he denied the existence of his own body camera video for nearly two years until it emerged just last month.
► From the Washington Post — With Kristen Clarke, Republicans follow playbook in opposing Democratic nominees to Justice Dept.'s civil rights post — Democrats argue that the overwhelming Republican opposition to a slew of nominees over the past three decades is a proxy for the party's true mission — hobbling the core agenda of the civil rights division, which was created as part of the Civil Rights Act of 1957 under Republican President Dwight D. Eisenhower to focus on ensuring voting rights and fair housing for African Americans.
► From the Washington Post — The GOP's shifting arguments against a Jan. 6 commission (analysis) — There have been plenty of indications that Republicans don't want to see a congressional Jan. 6 commission for one very basic reason: It's politically bad. It's bad because it would necessarily point the finger (to some degree) at Donald Trump, the former Republican president — at whom even many top Republicans previously pointed the finger. It's bad because, despite attempts to distance the party from Trump after the Capitol riot, those efforts clearly failed and the GOP is saddled with Trump. But mostly, it's bad because it forces them to relive this ugly chapter at a time when, history suggests, their chances of regaining control of Congress in the 2022 election look increasingly good. It's a time in which focusing on pretty much anything else would be better, as even a top Republican has acknowledged.
► From The Hill — Filibuster fight looms over Jan. 6 commission — The Senate is heading for its first filibuster fight of the year over creating a commission to probe the Jan. 6 attack, reviving frustration over the procedural roadblock. The bill, which could come up as soon as this week, appears poised to fail absent a significant shift among Senate Republicans, as a growing number of GOP senators follow Senate Minority Leader Mitch McConnell's (R-Ky.) decision to oppose the legislation. "Filibustering a bipartisan commission regarding the January 6 insurrection is a three dimensional way to make the point that the filibuster is primarily a destructive force in American politics," said Sen. Brian Schatz (D-Hawaii).
► From The Hill — Romney first GOP senator to say he would vote for Jan. 6 bill
► From the Columbian — Herrera Beutler proves she can handle the truth (editorial) — She was one of 35 House Republicans to vote last week in favor of forming a commission to investigate the Jan. 6 riot. Yet many Republican congressional representatives apparently are afraid of the truth.
EDITOR'S NOTE — Because this editorial doesn't, let's go ahead and call out Rep. Cathy McMorris Rodgers (R-Wash., 5th). She's the only U.S. Representative from Washington state who's afraid of the truth and opposed to the Jan. 6 commission. She's the only member of Congress from our state who consistently puts partisan politics ahead of the interests of her state, her nation, and democracy.
► From the Washington Post — Infrastructure talks hit a wall as Senate GOP and White House exchange blame — The prospects for a bipartisan infrastructure deal dimmed even further Monday, as Senate Republicans alleged that the White House had agreed to narrow the scope of its $2.2 trillion plan — only to reverse course days later.
► From Politico — 'Time to move on': Infrastructure talks near collapse — Democrats are increasingly calling for Biden to consider going it alone rather than see the GOP water down his agenda.
► From Politico — 'Where does that leave us?': Biden confronts the limits of his unity talk — Barring an 11th hour turnaround, his most promising hope for a major bipartisan policy breakthrough — a massive infrastructure deal — could end up slipping through his fingers. It raises questions about how much longer Biden will be committed to reaching out to Republicans in Congress and whether his agenda would be better served if he just abandoned the effort altogether.
► From Reuters — Biden looks abroad for electric vehicle metals, in blow to U.S. miners — Biden will rely on ally countries to supply the bulk of the metals needed to build electric vehicles and focus on processing them domestically into battery parts, part of a strategy designed to placate environmentalists, two administration officials told Reuters.
► From Roll Call — Durbin, Padilla urge Garland to protect immigration judges' union — Without union, immigration judges will be less independent, more susceptible to political pressure, they say.
► From the Detroit Free Press — UAW gets more than 10,000 signatures to organize 10 University of California campuses — A quiet campaign by UAW organizers at the University of California ended Monday with more than 10,000 signed cards officially submitted to authorities that would create the Student Researchers United-UAW, representing more than 17,000 higher education workers. These union activists are not required to hold a formal election and can, instead, submit the signed 10,441 cards to California's Public Employee Relations Board in Oakland.
Bam! There they are – 11,000 union authorization cards signed by SRs at the University of California pic.twitter.com/fPIVoC3jwV
— Student Researchers United (@sruuaw) May 24, 2021
EDITOR'S NOTE — Join the fun! Get more information about how you can join together with co-workers and negotiate a fair return for your hard work. Or go ahead and contact a union organizer today!
► From the AP — Amtrak restores service on routes following COVID cutbacks — Amtrak says it will restore daily service on 12 long distance routes across the country, including two that run through Seattle. Starting Monday, both the Empire Builder — Chicago to Seattle/Portland — and Coast Starlight — Seattle to Los Angeles — routes will resume daily service, giving passengers on the West Coast more travel options.
► From the AP — Union chief says flight attendant lost 2 teeth in assault — A Southwest Airlines flight attendant was assaulted by a passenger and lost two teeth in the attack last weekend, according to a union president, who complained to the airline's CEO about unruly passengers.
► From MSNBC — Unemployment benefits aren't causing a labor shortage. Low wages are. (by Hayes Brown) — Wages in the U.S. have grown far more slowly than you might assume over the last half-century compared to how much more productive the average worker has become. The work Americans put in doesn't match the wages that come out, especially for lower earners, a gap that has become untenable for many. And the people who are among those bottom earners? They are tired after the year we've just had — especially hospitality workers.
► From HuffPost — Ammon Bundy files to run for governor of Idaho — But the armed rancher who took over public lands in a 41-day standoff five years ago is now banned from the state capitol.
► From the NY Times — Why billionaires like Bill Gates can't fix the problems they helped create (by Dr. Linsey McGoey) — Bill Gates hasn't changed. His public image has. Gates's personal behavior and his troubling comanagement of the Gates Foundation are being reported more openly. The question is why it took so long. The larger the foundation became, the less anyone seemed willing to ask tough questions about its secretive management structure or its penchant for giving money to lucrative pharmaceutical and credit card companies. … Billionaires who make their fortunes through corporate practices that undercut workers and deepen inequality — like corporate tax avoidance, insufficient sick pay and the immoral gap in pay between executives and low-paid workers — are not the solution to problems they generate. Asking Bill Gates to fix inequality is like asking an arsonist to hose down your house after he just set it on fire. Philanthropists might have the deep pockets to fund the fire engine and water hose, but the money is coming from making our houses unlivable in the first place.
Posted by David Groves on May 25 2021. Filed under DAILY LINKS. You can follow any responses to this entry through the RSS 2.0. Both comments and pings are currently closed.


text:
i know why the caged bird sings audiobook online free
The novel named, I Kcurrently Why the Caged Bird Sings Audiobook is the autobiography of Amerihave the right to writer and also poet Maya Angelou previously recognized as Marguerite Johnson. The book narprices the toughness of character and the love of her literature can substantially assist to get rid of racism and also trauma. The book was publiburned in 1969 in the English language. Later on, it was interpreted right into many type of other languages. It has received many kind of awards and recognitions consisting of the New York Times Best Seller Award. The Publication is adhered to by Gather Together in My Name.
You are watching: I know why the caged bird sings audiobook online free
I Kcurrently Why the Caged Bird Sings Audiobook – Review, And Details:
In I Know Why the Caged Bird Sings Audio Maya Angelou portraits her life from the age of three to seventeenager, and the struggles she does, to get over racism in the Southern USA. Maya and also her brvarious other Bailey are abandoned by their paleas and throughout the novel, the readers suffer Maya's inprotection, her college and also church experiences, her love for household and also her visits to her mother's house. One of her visits is the significant cause of her violation – Maya is raped by her mother's boyfrifinish.
I Know Why The Caged Bird Sings Audiobook is a well-known autobiography composed by Maya Angelou. The was initially publiburned in 1969 and also its the first book in the series. It complies with the genre of biography. The book has got an amazing rating of 4.1 Star Rating on Goodreads.
Plot Review:
In this novel, Maya talks about her hocolony love for her brother. Though both are oppowebsite in appearance, their friendship plays a really essential role in Maya's life. Maya and Baily are sent by their paleas to live through their paternal grandmother, Momma and also paralyzed Uncle Willian in Stamps, Arkansas. Many type of of the difficulties that Maya encounters are bereason of the overt racism of her white next-door neighbors. Maya encounters a heavyweight of racist oppression while living in Stamps. At the age of Eight, Maya is sexually abused and also raped by her mother's boyfrifinish Mr. Freema. Mrs. Bertha Flowers encourages Maya to come out of her shell and also to reget her voice. The the majority of necessary layout in this novel is the maturation of Maya and she battles throughout her life to be a strong woman.
About Author (Maya Angelou):
Maya Angelou was born on April 4, 1928, in St. Louis, Missouri. In this novel, she urges babsence people to encounter racism and also to occupational hard without being degraded by the reality what others think about you. Her brother Bailey helped her a lot in each and also eextremely step of her life.
See more: What Yiddish Expression Might You Hear At A Party Before A Toast
Listen To I Know Why the Caged Bird Sings Audiobook Full Free MP 3:
I Know Why The Caged Bird Sings Mp 3 Free is stated listed below which contains all the chapters of the book. Enjoy it.
Listen To Audiobook
I Kcurrently Why the Caged Bird Sings I Know Why the Caged Bird Sings Audiobook cost-free listen to I Kcurrently Why the Caged Bird Sings Audiobook
Why are pig hearts used to study human heart
13 reasons why season 1 watch online
Why do guys always go back to their baby mamas
Why is empathy training a good antidote to aggression? empathy makes it
Why is it unlikely that two contour lines will cross
Why does ralph think that the boy he sees is not bill
Why is my puff bar blinking blue
Why 3-phase voltage is 440 volts
Why is hydrogen grouped with the alkali metals
Why does death the kid shot with his pinkies


I have been teaching Yoga since graduating in 2011 and soon realised how hard it was to land my first teaching job. Once I had found a job I then realised it was even difficult to find a cover for the classes if I had needed the night off. CoverMe on Facebook was created to bring instructors together, help get classes covered and locate teaching opportunities all in one place.
Facebook CoverMe groups are all over the world and with the success of the groups CoverMe Employment Solutions was created for fitness instructors of all persuasions.
Knowing how tough teaching jobs can be to land we wanted to make our website cheap enough so everyone can afford it as well as make that money back within one job.
Using my knowledge within the fitness industry and experience in customer service, I endeavour to make your experience on the website as user friendly as possible. Should you have any questions feel free to contact me by any means, all of my contact details can be found on the website.


text:
Unconscious learning uses old parts of the brain
by Karolinska Institutet
(PhysOrg.com) -- A new study from the Swedish medical university Karolinska Institutet provides evidence that basic human learning systems use areas of the brain that also exist in the most primitive vertebrates, such as certain fish, reptiles and amphibians. The study involved an investigation into the limbic striatum, one of the evolutionarily oldest parts of the brain, and the ability to learn movements, consciously and unconsciously, through repetition.
"Our results strongly substantiate the theories that say that the implicit, by which I mean non-conscious, learning systems of the brain are simpler and evolutionarily older," says Associate Professor Fredrik Ullén from Karolinska Institutet and the Stockholm Brain Institute.
Many of the mundane skills that we apply every day, such as buttoning up a shirt or playing an instrument, comprise a sequence of discrete movements that must be carried out in the correct order. Scientists have long known that there are two learning systems for such patterns of movement; with the implicit system, we learn without being aware of the fact and without conscious training, such as through simple repetition. The explicit system, on the other hand, we use when we consciously train and are aware of what we are learning.
A brain structure that is involved in learning and motor control is the basal ganglia, which lie deep in the cerebral hemispheres. Dopamine, a substance used in the transmission of signals between neurons, is important for learning and the plasticity of the basal ganglia.
In the present study, which is published in PNAS, the journal of the American Academy of Sciences, researchers have examined both the implicit and explicit learning of motor sequences in relation to the number of dopamine D2 receptors in the basal ganglia. While they found a correlation between D2 receptor density and both forms of learning, they also noted that the evolutionarily oldest part of the basal ganglia - the limbic striatum - was only involved in implicit learning.
"In other words, we probably have certain fundamental learning systems in common not only with rats, mice and other mammals, but also with the most primitive vertebrates, which also have a limbic striatum," says Dr Ullén.
In the future, a better understanding of how these learning systems work can be of use in developing new treatments for diseases such as Parkinson's and Huntington's, which are characterised by disorders of basal ganglia function and impaired motor skills.
Decision-making -- Demonstration of a link between cognition and execution
More information: Anke Karabanov, Simon Cervenka, Örjan de Manzano, Hans Forssberg, Lars Farde & Fredrik Ullén, Dopamine D2 receptor density in the limbic striatum is related to implicit but not explicit movement sequence learning, PNAS, online early edition 5 - 9 April 2010
Provided by Karolinska Institutet
Citation: Unconscious learning uses old parts of the brain (2010, April 6) retrieved 21 January 2022 from https://medicalxpress.com/news/2010-04-unconscious-brain.html
Decreased activity of basal ganglia is the main cause of abnormal muscle constrictions in dystonia
Songbirds reveal how practice improves performance
Novel imaging technique reveals brain abnormalities that may play key role in ADHD
Why we learn more from our successes than our failures
A novel computational model -- how Parkinson's medications affect learning and attention
A cure for Alzheimer's is taking longer than expected; here's why
Rapid eye movement sleep helps protect against predator attack
In visual memory, size matters
Study illustrates links between DNA repair and a rare neurodegenerative disease
Babies can tell who has close relationships based on one clue: saliva


Bank of America [BAC 12.82 -0.31 (-2.36%) ] shares gave up more than 2 percent Friday on disappointing earnings. But a bad quarter may be the least of the bank's worries.
The largest bank by deposits just lost its chief financial officer and just hired one of the most connected regulatory lawyers in the U.S.
Washington, D.C., Feb. 11, 2011 — The Securities and Exchange Commission today charged three former senior executives at IndyMac Bancorp with securities fraud for misleading investors about the mortgage lender's deteriorating financial condition.
The SEC alleges that former CEO Michael W. Perry and former CFOs A. Scott Keys and S. Blair Abernathy participated in the filing of false and misleading disclosures about the financial stability of IndyMac and its main subsidiary, IndyMac Bank F.S.B. The three executives regularly received internal reports about IndyMac's deteriorating capital and liquidity positions in 2007 and 2008, but failed to ensure adequate disclosure of that information to investors as IndyMac sold millions of dollars in new stock.
IndyMac Bank was a federally-chartered thrift institution regulated by the Office of Thrift Supervision (OTS) and headquartered in Pasadena, Calif. The OTS closed the bank on July 11, 2008, and placed it under Federal Deposit Insurance Corporation (FDIC) receivership. IndyMac filed for bankruptcy protection later that month.
"These corporate executives made false and misleading disclosures about IndyMac at a time when the company's financial condition was rapidly deteriorating. Truthful and accurate disclosure to investors is particularly critical during a time of crisis, and the federal securities laws do not become optional when the news is negative," said Lorin L. Reisner, Deputy Director of the SEC's Division of Enforcement.
According to the SEC's complaints filed in U.S. District Court for the Central District of California, Perry and Keys defrauded new and existing IndyMac shareholders by making false and misleading statements about IndyMac's financial condition in its 2007 annual report and in offering materials for the company's sale of $100 million in new stock to investors. In early February 2008, IndyMac projected that it would return to profitability and continue to pay preferred dividends in 2008 without having to raise new capital. In late February 2008, Perry and Keys knew that contrary to the rosy projections released just two weeks earlier, IndyMac had begun raising new capital to protect IndyMac's capital and liquidity positions. Specifically, Perry and Keys regularly received information that IndyMac's financial condition was rapidly deteriorating and authorized new stock sales as a result. Yet they fraudulently failed to fully disclose IndyMac's precarious financial condition in the 2007 annual report and the offering documents for the new stock sales.
The SEC further alleges that Perry knew that rating downgrades in April 2008 on bonds held by IndyMac Bank had exacerbated its capital and liquidity positions to the extent that IndyMac had no choice but to suspend future preferred dividend payments by no later than May 2, 2008. This material information was not disclosed in IndyMac's ongoing stock offerings. Perry also failed to disclose in various SEC filings or a May 2008 earnings conference call that IndyMac would not have been "well-capitalized" at the end of its first quarter without departing from its traditional method for risk-weighting subprime assets and backdating an $18 million capital contribution.
According to the SEC's complaint, Abernathy replaced Keys as IndyMac's CFO in April 2008. He similarly made false and misleading statements in the offering documents used in selling new IndyMac stock to investors despite regularly receiving internal reports about IndyMac's deteriorating capital and liquidity positions.
The SEC also alleges that in summer 2007 while serving as IndyMac's executive vice president in charge of specialty lending, Abernathy made false and misleading statements about the quality of the loans in six IndyMac offerings of residential mortgage-backed securities (RMBS) totaling $2.5 billion. Abernathy received internal reports each month revealing that 12 to 18 percent of IndyMac's loans contained misrepresentations regarding important loan and borrower characteristics. However, the RMBS offering documents stated that nothing had come to IndyMac's attention that any loan included in the offering contained a misrepresentation. The SEC alleges that Abernathy failed to ensure that the quality of IndyMac's loans was accurately disclosed and failed to disclose that information had come to IndyMac's attention about loans containing misrepresentations.
Abernathy agreed to settle the SEC's charges without admitting or denying the allegations. He consented to the entry of an order that permanently restrains and enjoins him from violating Section 17(a)(2) and 17(a)(3) of the Securities Act and requires him to pay a $100,000 penalty, $25,000 in disgorgement, and prejudgment interest of $1,592.26. Abernathy also consented to the issuance of an administrative order pursuant to Rule 102(e) of the SEC's Rules of Practice, suspending him from appearing or practicing before the SEC as an accountant. He has the right to apply for reinstatement after two years.
The SEC's complaint charges Perry and Keys with knowingly violating the antifraud provisions of Section 17(a) of the Securities Act of 1933 and Section 10(b) of the Securities Exchange Act of 1934 and Rule 10b-5 thereunder, and aiding and abetting IndyMac's violations of its periodic reporting requirements under Section 13(a) of the Exchange Act and Rules 12b-20 and 13a-1 thereunder. Perry also is charged with aiding and abetting IndyMac's reporting violations under Exchange Act Rules 13a-11 and 13a-13. The SEC's complaint against Perry and Keys seeks permanent injunctive relief, an officer and director bar, disgorgement of ill-gotten gains with prejudgment interest, and a financial penalty.
The SEC acknowledges the assistance of the FDIC in this investigation.
CoreLogic announced today that Anthony "Buddy" Piszel, chief financial officer (CFO), has resigned as CFO effective immediately. Piszel, who joined CoreLogic in January 2009, will stay on in a non-executive capacity through June 1, 2011 to assist in a smooth transition of his responsibilities.
Piszel has informed the company that he received a Wells notice from the U.S. Securities and Exchange Commission (SEC) staff in connection with certain disclosure matters during Piszel's tenure at his previous employer, Freddie Mac. Piszel served as chief financial officer of Freddie Mac from November 2006 to September 2008.
The Wells notice indicates that the SEC staff is considering recommending a civil enforcement action against Piszel. Under the SEC's procedures, recipients of a Wells notice have the opportunity to respond in the form of a "Wells submission" in which they seek to persuade the SEC that no action should be commenced. Piszel has informed CoreLogic that he intends to make such a submission.


Practise the presence of God, not only in designated devotional times, but throughout the day and throughout life.
The Bible gives us reassuring hope, for it is written; "whosoever shall call upon the name of the Lord shall be saved."
It's time for the body of Christ to wake up to her created value!
If pride is so evil, why does it seem to be acceptable for God. Listen to some of the things God says about Himself.
NOW is the time to be bold! NOW is the time to wake up and represent the King of kings. Burn with fire.
Evangelist Daniel Kolenda preaches at Fire 2012 on the Presence of God and developing a hunger for His presence.
Dreams don't just come true, it takes action from your side to pursue your God-given destiny!
"I really believe God is gonna do something historic right here in Ghana; I believe it's gonna shake the nation..."
If your faith was on trial, would you stand up for what you believe in?
Eden Park ignited with our Lord's powerful Fire!


Are you having trouble with DOT fines or being insurable? Trinity Safety Group can conduct regulatory, risk and liability exposure audits to see how your company is performing. We will identify what is working and assist with the areas that need improvement. Our PRACTICAL APPROACH to DOT compliance will make your company more insurable and will save you money on insurance premiums through the follow services: We will train your employees how to administer the DOT Compliance program or we can provide ongoing support services.
Our DOT experts are previous inspectors or trusted instructors from industry leading driver schools.
You may consider some of the DOT fines very small and just simply a cost of doing business. The real cost implication and burden is realized when an organization receives a safety rating at the conclusion of the Compliance Review. There are 3 possible ratings provided by the DOT: Satisfactory, Conditional and Unsatisfactory. Our assistance program will improve your rating and operational cost.


text:
Close Hamburger Menu Icon
Group of teens terrorizing people in Boston strikes again
April 29, 2022 at 11:04 p.m. UTC
By Boston 25 News Staff and Bob Ward
BOSTON — The group of teens attacking people for no reason strikes again. This time it happened on the Boston Common.
According to a police report, two Suffolk University students were attacked when they were trying to intervene and stop a woman from being harassed by the juveniles.
This latest attack happened around 6:30 Wednesday evening. The students told police they were walking toward the Earl of Sandwich when they saw five teens start to harass a woman with her child.
A juvenile female, who police say seems to be the instigator, starts shouting things at the woman. Then according to the report, the two students tried to intervene and that's when police say the juvenile female punched the student, knocking the glasses off her face, and then stomped on them. The other student was pushed.
A Suffolk University student says a lot of people walk through the Common, including students, and he just wants to feel safe when he's walking to class.
"Coming to Boston, safety was one of my selling points and the fact that I have to check my shoulder on occasion is kind of annoying," said Diago Barrsandoval, a senior at Suffolk University. "I know some people are walking in groups, they're getting Facebook groups organized to get friends to walk with them across the common specifically."
Police say they recognized the female juvenile and say she's been terrorizing people in downtown Boston.
There have been a string of unprovoked attacks involving this group of teens in downtown crossing and at two McDonald's in the city. In many instances, the teens are charged, but one hasn't because she is just 11 years old.
"We are working very closely to make sure these young children have the services that they need, that these families are part of the conversation and that across city and state agencies we're engaging in the right ways," said Boston Mayor Michelle Wu.
In this latest incident, the teens weren't caught. There is a cell phone video that shows the teens running toward the visitor center and it's believed they ran up the hill toward the soldiers and sailors monument.
"We are well aware of the ongoing public safety threat occurring in the Downtown Crossing area, and we are well aware of the juveniles identified," said Suffolk County DA Kevin Hayden. "We are also fully aware of and support the 2018 criminal reform legislation, which prohibits arrest or prosecution of children under the age of 12 and limits the ability of law enforcement agencies to hold children under the age of 14. Under this legislation, the primary responsibility for preventing these attacks instead falls on city, state and community agencies. We urge those agencies to take every possible measure to intervene with the children involved. We stand ready to work with all community and government partners to address this urgent issue."
This is a developing story. Check back for updates as more information becomes available.
Download the FREE Boston 25 News app for breaking news alerts.
Follow Boston 25 News on Facebook and Twitter. | Watch Boston 25 News NOW
© 2023 Cox Media Group. All Rights Reserved. By using this website, you accept the terms of our Visitor Agreement and Privacy Policy, and understand your options regarding Ad Choices. Learn about careers at Cox Media Group.


In ordinary algebra, characteristic zero behaves differently from characteristic p>0 partially due to the possibility to symmetrize finite group actions. In particular, given a finite dimensional group G acting on a rational vector space V, the "norm map" from the co-invariants V_G to the invariants V^G is an isomorphism (in a marked contrast to the positive characteristic case). In the chromatic world, the Morava K-theories provide an interpolation between the zero characteristic represented by rational cohomology and positive characteristic represented by F_p cohomology. A classical result of Hovey-Sadofsky-Greenlees shows that the norm map is still an ismorphism in these "intermediate characteristics". A subsequent work of Hopkins and Lurie vastly generalises this result and puts it in the context of a new formalism of "higher semiadditivity" (a.k.a. "amidexterity"). I will describe a joint work with Tomer Schlank and Shachar Carmeli in which we generalize the results of Hopkins-Lurie and extend them to the telescopic localizations and draw some consequences (along the way, we obtain a new and more conceptual proof for their original result).


text:
Support groups help students build friendships, share struggles
University of Hawaiʻi–West Oʻahu students are welcome to take part in new online groups geared toward offering mental health support during such uncertain times.
The COVID-19 pandemic has had a profound impact in our state and around the world, said Dr. Steven Taketa, clinical psychologist at UH West Oʻahu.
"During this time, many of our students and their families have had to overcome financial issues, unemployment, changes in scheduling, and a range of other difficult circumstances," Taketa said. "The Mental Health Clinic at UH West Oʻahu and Leeweard Community College have adjusted to these difficulties and at the request of our valued students, are now offering campus support groups."
The following support groups, which meet weekly online via Zoom, are available:
Women's Group: 10:30 a.m. to noon Wednesdays.
International Women's Group: 10:30 a.m. to noon Wednesdays. This group is for women who are international students or for women who speak English as a second language (ESL). "A native Japanese graduate student from Hawaiʻi Tokai International College will be facilitating these groups with our help and we are inviting international and ESL students from Tokai, Leeward Community College, UH West Oʻahu, and Kapiʻolani Community College to attend," Taketa noted.
Open Group: 10:30 a.m. to noon Fridays. This group is for both men and women who are interested in getting support.
Group participants will have the opportunity to meet new people, build friendships, and collaborate with other students on common successes and struggles – in a setting that is confidential, comfortable, and safe.
"With the support of a mental health professional, these groups are led for and by students at our university," he said. "Whatever your age, cultural background, or academic goals, you are likely to find a safe and helpful environment to maximize your health and success."
If you would like to take part in a support group, email uhwotalk@hawaii.edu and someone will assist in finding the right group for you.
"Join a support group today and get connected, get involved, and get the most out of your education," Taketa said.
Image courtesy of Leah Kelley/Pexels
Tagged COVID, COVID-19, mental health, Mental Health Clinic, support groups. Bookmark the permalink.


Making the decision to get into the dating business comes with a price. The price is directly related to your experience in web business and your time. For example if you have a background in web coding or online business you'll definitely have an advantage. If you don't have experience then you better learn or hire someone.
Those are your options because either way it ain't cheap. You'll need to invest your time or your money. I've written articles where I'll walk you through How to Build Your Own Online Dating Business and How To Build Your Own Dating Website Using WordPress. I wrote these articles to provide tips and resources to get you going. If you are comfortable doing it yourself you'll have a starting point.
Doing it yourself is very doable, but don't be cheap. Have clear objectives in place before buying the cheapest template and paying $15 for your logo. If the logo doesn't work with your concept, if the template doesn't have all the features you need then it's not going to work.
In 2013 consumers spent 2.2 billion dollars to find a mate. There is plenty of room for small niche markets to have their share of this industry. Having a clear plan and objectives is vital so your money is spent on what's important to grow your business.
Times have changed from when I built my first dating website. When you could build a site and easily grow your member base with little to no marketing no strong brand presence and mobile just wasn't necessary. Now when you build a dating website you have to consider these things if you want to realize success.
The online dating industry is not a fast lane to riches; but it can be very profitable if you can put in the work and be willing to spend some cash to get things done.
What have you spent the most money on getting started? What areas are the most challenging for you to get done? Share in the comments section.


text:
Becán ist eine archäologische Stätte und vormaliges Zentrum der Maya der präklassischen Periode. Sie befindet sich im mexikanischen Bundesstaat Campeche, im Zentrum der Yucatán-Halbinsel, 150 Kilometer nördlich von Tikal.

Der Name Becán bedeutet in Mayathan "Schlucht, von Wasser geformt" und bezieht sich auf den umgebenden Graben, der einzigartig für eine Maya-Stätte ist. Der Ort wurde im Jahre 1934 von Karl Ruppert und John Denison erstmals wissenschaftlich beschrieben, welche auch für die Namengebung verantwortlich sind. Der historische Name ist unbekannt.

Geschichte und Aufbau
Becán, das im Rio-Bec-Stil erbaut ist, war ein regionales religiöses und politisches Zentrum der Maya. Die ersten Nachweise menschlicher Besiedelung gehen ins Jahr 600 v. Chr. zurück. Die Blütezeit der Stadt war jedoch in den Jahren 600–1000, bewohnt war die Stadt bis etwa 1250.

Die Stadt ist von einem Graben umgeben, der an sieben Stellen unterbrochen war. Er war damit kein wirksames militärisches Hindernis, oder wurde nicht als solches fertiggestellt. Der große Arbeitsaufwand für den Graben zeugt jedoch von einer strategisch wichtigen Lage im Zentrum der Halbinsel und möglicherweise von kontinuierlichen Auseinandersetzungen mit anderen Städten der Region. Der Graben könnte aber genauso gut als räumliche Trennung des inneren Areals mit den Monumentalbauten von den im Umkreis gelegenen Wohnstätten der einfachen Bevölkerung gedient haben.

In dem vom Graben umschlossenen Areal befinden sich mehrere Gruppen von Gebäuden, die um annähernd rechteckige Höfe oder Plätze angeordnet sind. Entsprechend dem Rio-Bec-Stil sind die großen Bauten zumeist Kombinationen von palastartigen Gebäuden mit zahlreichen Innenräumen und hohen seitlichen Türmen, die nicht begehbar waren.

Außerhalb des Grabens liegen vier größere Gebäudegruppen, die zumeist auch Stelen aufweisen, sowie eine große Zahl kleinerer auf einer Fläche von mindestens 72 ha.

Südlicher Platz
Dieser Platz liegt am nächsten zum modernen Zugang. Er ist annähernd quadratisch und an allen Seiten von sehr unterschiedlichen Gebäuden umgeben. Nahe der Mitte befindet sich eine offensichtlich in später Zeit errichtete runde Altarplattform.

Gebäude I

Das Gebäude ist eine recht unübliche Kombination einer breiten, über verschiedenen Niveaus angeordneten Anlage. Auf dem unteren Niveau sind zwei parallele Reihen von sieben Räumen anzutreffen, die nach Süden, nach außerhalb des Platzes orientiert sind. Ein quer verlaufender Raum an der Ostseite liegt neben einer winkelig gestalteten Innentreppe, die auf das Niveau des Platzes hinaufführt. Auf dem zweiten Niveau, gegenüber dem unteren um die Breite von dessen Räumen zurückgesetzt, finden sich wiederum zwei Reihen von diesmal fünf Räumen, ebenfalls nach Süden orientiert. Die Eingänge dieser Räume sind durch Mauerscheiben in jeweils drei Öffnungen geteilt. Errichtet wurde dieses Gebäudes im Späten Klassikum (730–830 n. Chr.). Die Rückseite des Gebäudes zum Platz hin wird von zwei ungewöhnlich massigen Türmen mit quadratischem Grundriss eingenommen, zwischen denen ein Mauerblock eine niedrigere Verbindung bildet. Dies war eine der letzten Baumaßnahmen in Becán zu Beginn des Endklassikums nach 800 n. Chr.

Am Übergang vom Endklassikum zum frühen Postklassikum wurde südlich vor dem Gebäude ein Anbau errichtet, der aus einem einfachen Wohngebäude bestand. Als Baumaterial wurden Elemente aus älteren Bauten wiederverwendet, das Dach war nicht mehr gemauert, sondern auf einem niedrigen Mauersockel aus Holz und Palmblättern gebildet. Etwas später entstand in der Nähe ein kleiner Tempel in ähnlicher Konstruktionsweise auf einer niedrigen, vierstufigen Pyramide.

Gebäude II

Es handelt sich um ein an der Westseite des Platzes gelegenes, quadratisches Gebäude. Ausgegraben ist bisher nur der dem Platz zugewandte Teil: Hier verlaufen zwei Reihen von Räumen mit fünf Eingängen. Hinter den mittleren drei Räumen liegen weitere Räume. An der Fassade sind außerdem zwei schmale Eingänge zu beiden Seiten des mittleren Einganges sichtbar, von denen einer in einem kleineren Raum mündet, während sich hinter dem anderen eine innenliegende Treppe befindet, welche auf die zweite Ebene führt. Vom zweiten Niveau führen weitere Innentreppen zum dritten, auf dem ein Tempelbau steht, der nach Westen ausgerichtet ist.

Gebäude III
Gegenüber dem Gebäude II, auf der Ostseite des Platzes, steht ein auf zwei Niveaus angeordnetes Gebäude. Auf dem unteren Niveau liegt eine einfache Reihe von Räumen, die dem Platz zugewandt sind. Es handelt sich bei jedem der beiden Gebäudeteile um zwei Räume, zwischen denen eine mehr oder weniger gut erhaltene Treppe zu einer vor den Räumen des oberen Niveaus verlaufenden Plattform führt, die ursprünglich auch das Dach der unteren Räume umfasste und entsprechend breit gewesen ist. Zwischen den Gebäudeteilen verläuft außerdem eine schmale, innenliegende Treppe zu demselben Niveau. An der nördlichen Schmalseite liegt ein weiterer Raum.
Auf dem zweiten Niveau weisen die beiden Gebäudeteile, die durch einen in Verlängerung der Innentreppe verlaufenden Gang getrennt sind, zwei Reihen von Räumen auf. Wohin der Gang führte, ist nicht mehr feststellbar. Der nördliche Bauteil umfasst sechs Räume, die alle von der Seite des Platzes zugänglich sind. Der südliche Bauteil hat nur fünf Räume, während der Platz des mittleren Raumes der vorderen Reihe von einem massiven Turm, mit der üblichen Scheintreppe, eingenommen wird. Durch den rechten Raum, den dahinter liegenden, den diesem benachbarten gelangt man zu einem weiteren Eingang, der auf eine, vermutlich östlich des Gebäudes auf der zweiten Ebene vorgelagerten, Plattform führte. Es ist anzunehmen, dass dort eine ähnliche Gestaltung wie auf der dem Hof zugewandten Seite existierte.

Gebäude IV

Das komplexeste Gebäude von Becán und sicher eines der kompliziertesten des gesamten Mayagebietes, liegt an der Nordseite des Platzes, hatte aber Schauseiten nach allen vier Richtungen. Während es zum südlichen Platz hin den Eindruck eines hohen Tempelgebäudes erweckt, in das am oberen Ende der Treppe das charakteristische Schlangenmaulportal führt, ist es an der gegenüberliegenden Seite, im Norden, ein über mehrere Ebenen gestaffelter Palastbau. Die ursprünglich vorhandene Treppe und die Fassade sind nur mehr in kleinen Fragmenten erhalten.

Bemerkenswert ist vor allem, dass sich an der Spitze des pyramidenartigen Bauwerkes hinter dem Schlangenmauleingang kein Tempelraum befindet, sondern ein etwas tiefer gelegener Hof, von dem aus an allen vier Seiten Innenräume zugänglich sind. Zu diesem Innenhof gelangte man nicht nur über die monumentale Treppe im Süden, vom südlichen Hof aus, sondern auch durch mehrere Innentreppen vom nördlichen Palastteil und über eine sehr enge, verdeckt unter der steilen Scheintreppe auf der Westseite in leichten Schlangenlinien verlaufende Treppe, die in einer Nische eines der Seitenräume mündete.

Bei diesem Hof und den anschließenden Räumen sowie den Räumen der Nordseite auf drei Niveaus handelt es sich um die Residenz einer der lokalen Herrscherfamilien, in der ein sakraler Aspekt (betont durch den Schlangenmauleingang) mit dem eines repräsentativen Wohnquartiers geschickt verbunden waren. Grabungen haben nachgewiesen, dass sich im Inneren des massiven Gebäudekerns ein älteres Bauwerk verbirgt.

Zentraler Platz
Nordwestlich des südlichen Platzes liegt ein weiterer Platz, der weniger geschlossen, aber erheblich größer ist. An ihm stehen sich die Gebäude VIII und X gegenüber, während die mit rund 32 Metern höchste Pyramide einen Teil der Nordseite einnimmt.

Gebäude VIII

Der Grundriss ist typisch für den Rio-Bec-Stil, allerdings weicht die hohe Lage auf einem großen, pyramidenartigen Unterbau vom Schema ebenso ab wie die Gestaltung des zentralen Eingangs mit gemauerten Pfeilern. Bemerkenswert sind die verborgenen Räume mit hohen Gewölben im Inneren, die durch einen niedrigen Zugang an der Südseite zu erreichen waren. Da die Wände dieser Räume nicht verputzt waren, nimmt man, das sie nur zum Zwecke der Materialersparnis und Gewichtsentlastung errichtet wurden, aber keinem anderen Zwecken dienten.
Die monumentale Außentreppe führt zu einer Plattform zwischen den Sockeln der beiden Türme mit Scheintreppen. Auf der Plattform steht – völlig unüblich – eine Stele. Dahinter liegt eine Art Säulenhalle, deren Front von sechs massiv gemauerten, dicken Säulen getragen wurde. Von diesem Raum führte ein breiter Durchgang durch zwei Räume auf die andere Seite des Gebäudes, zu einer ursprünglich breiten Plattform, die den Zugang zu den neben den Durchgangsräumen gelegenen, jeweils zwei Räumen auf beiden Seiten ermöglichte. Diese Räume sind ungewöhnlich lang. Von der Plattform führten auch Eingänge in quer gelagerte Räume an den beiden Enden. Von dem nördlichen Raum führte eine schmale, mehrfach abgeknickte Innentreppe in den nördlichen Turm hinein.

Gebäude X

Ähnlich dem Gebäude IV kombiniert auch dieses einen Palast mit einem sakralen Teil. Nach Osten, zum Platz hin, liegt nur eine breite, monumentale Treppe, die zu einem Eingang mit Schlangenmaul-Dekor führt. Zu beiden Seiten dieser Fassade ragen die üblichen Türme mit Scheintreppen auf. Auf der Rückseite, im Westen, befindet sich auch hier auf mehreren Ebenen ein verwirrendes Geflecht von Innenräumen, zu denen enge, ursprünglich zumeist innenliegende Treppen führten.

Nördlich und südlich schließen an den massiven Gebäudeteil zwei Höfe mit Räumen auf allen Seiten an. Diese Räume liegen auf Geländeniveau, nur jene, die an den zentralen Teil des Gebäudes anschließen, weisen ein erheblich höheres Niveau auf. Der Zugang zu den Höfen erfolgt durch überwölbte Durchgänge von außen.

Pyramide IX
Die Konzeption dieses Bauwerks weicht vom Río-Bec-Stil ab und erinnert an Bauten weiter im Süden und Südwesten, beispielsweise Calakmul Struktur II. Zu beiden Seiten der großen Treppe liegen auf drei verschiedenen Ebenen kleine Raumeinheiten mit jeweils drei Eingängen. Vom eigentlichen Tempelgebäude an der Spitze sind nur geringe Reste erhalten.
Das Gebäude weist eine lange Baugeschichte auf. Zuerst wurde im späten Präklassikum (zwischen 100 v. Chr. und 250) eine Pyramide errichtet, die beinahe so hoch wie das gegenwärtige Gebäude war. Sie trug auf der Vorderseite beiderseits der Treppe die für diese Zeit charakteristischen großen Masken aus Stein und Stuck. Zu Beginn des Klassikums wurde auf der Spitze der Pyramide ein kleines Gebäude mit Innenraum errichtet. Im späten Klassikum wurde die gesamte Pyramide ummantelt und die Räume seitlich der zur selben Zeit errichteten Treppe erstellt.
Vor der Treppe steht die stark beschädigte und zerbrochene Stele 3, das einzige Steinmonument in Becán mit zumindest teilweise lesbarem Text.

Ballspielplatz

Hinter dem Gebäude X liegt in nord-südlicher Ausrichtung der Ballspielplatz von Becán.

Erforschung und Erschließung
Becán wurde in der wissenschaftlichen Literatur zuerst im Jahr 1934 von den Archäologen Karl Ruppert und John Denison beschrieben, die den Ort im Rahmen einer Expedition des Carnegie-Institutes, Washington, erkundet hatten. Diese etablierten auch den heutigen Namen. Von 1969 bis 1971 wurden Ausgrabungen unter Leitung von E. Wyllys Andrews IV vom Middle American Research Institute der Tulane University vorgenommen, die anschließend unter Leitung von Román Piña Chan durch das INAH fortgeführt wurden. Später war Ricardo Bueno für weitere Ausgrabungen verantwortlich. Heute sind die wichtigsten Strukturen restauriert und für den Tourismus zugänglich.

Galerie

Einzelnachweise

Literatur
 Karl Ruppert, John H. Denison, Jr: Archaeological Reconnaissance in Campeche, Quintana Roo, & Peten. Publication 543. Washington D.C. Carnegie Institution of Washington. 1943. (Kapitel zu Becán als PDF)
 Hasso Hohmann: A Maya palace in Mexico: structure IV at Becan, Campeche. Academic Publishers, GRaz 1998. ISBN 3-901519-05-X

Weblinks

 offizielle Seite der Stätte (spanisch)
 Becán bei mayaruins.com: weiterführende Informationen, Karten und Bilder
 Hochauflösende Detailkarte bei http://geomaps.aum.edu (Stand 1936)

Archäologischer Fundplatz im Bundesstaat Campeche
Ort der Maya
Präkolumbisches Mesoamerika

redpajama_set_name: RedPajamaWikipedia


text:
package com.facebook.buck.features.python;

import static com.facebook.buck.core.cell.TestCellBuilder.createCellRoots;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;

import com.facebook.buck.config.FakeBuckConfig;
import com.facebook.buck.core.model.BuildTarget;
import com.facebook.buck.core.model.FlavorDomain;
import com.facebook.buck.core.model.InternalFlavor;
import com.facebook.buck.core.model.targetgraph.TargetGraph;
import com.facebook.buck.core.model.targetgraph.TargetGraphFactory;
import com.facebook.buck.core.rules.BuildRule;
import com.facebook.buck.core.rules.BuildRuleResolver;
import com.facebook.buck.core.rules.SourcePathRuleFinder;
import com.facebook.buck.core.rules.resolver.impl.TestBuildRuleResolver;
import com.facebook.buck.core.sourcepath.SourceWithFlags;
import com.facebook.buck.core.sourcepath.resolver.SourcePathResolver;
import com.facebook.buck.core.sourcepath.resolver.impl.DefaultSourcePathResolver;
import com.facebook.buck.cxx.CxxBinaryBuilder;
import com.facebook.buck.cxx.CxxCompilationDatabase;
import com.facebook.buck.cxx.CxxLibrary;
import com.facebook.buck.cxx.CxxLibraryBuilder;
import com.facebook.buck.cxx.CxxLink;
import com.facebook.buck.cxx.CxxTestUtils;
import com.facebook.buck.cxx.PrebuiltCxxLibraryBuilder;
import com.facebook.buck.cxx.toolchain.CxxBuckConfig;
import com.facebook.buck.cxx.toolchain.CxxPlatformUtils;
import com.facebook.buck.cxx.toolchain.linker.Linker;
import com.facebook.buck.cxx.toolchain.nativelink.NativeLinkTarget;
import com.facebook.buck.cxx.toolchain.nativelink.NativeLinkTargetMode;
import com.facebook.buck.cxx.toolchain.nativelink.NativeLinkable;
import com.facebook.buck.cxx.toolchain.nativelink.NativeLinkableInput;
import com.facebook.buck.features.python.CxxPythonExtensionDescription.Type;
import com.facebook.buck.features.python.toolchain.PythonEnvironment;
import com.facebook.buck.features.python.toolchain.PythonPlatform;
import com.facebook.buck.features.python.toolchain.PythonVersion;
import com.facebook.buck.io.filesystem.ProjectFilesystem;
import com.facebook.buck.model.BuildTargetFactory;
import com.facebook.buck.rules.BuildableSupport;
import com.facebook.buck.rules.FakeSourcePath;
import com.facebook.buck.rules.args.Arg;
import com.facebook.buck.rules.coercer.PatternMatchedCollection;
import com.facebook.buck.rules.macros.StringWithMacrosUtils;
import com.facebook.buck.testutil.FakeProjectFilesystem;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSortedSet;
import java.nio.file.Paths;
import java.util.Optional;
import java.util.regex.Pattern;
import org.hamcrest.Matchers;
import org.junit.Test;

public class CxxPythonExtensionDescriptionTest {

  private static final BuildTarget PYTHON2_DEP_TARGET =
      BuildTargetFactory.newInstance("//:python2_dep");
  private static final PythonPlatform PY2 = createPy2Platform(Optional.empty());

  private static final BuildTarget PYTHON3_DEP_TARGET =
      BuildTargetFactory.newInstance("//:python3_dep");
  private static final PythonPlatform PY3 = createPy3Platform(Optional.empty());

  private static PythonPlatform createPy2Platform(Optional<BuildTarget> cxxLibrary) {
    return new TestPythonPlatform(
        InternalFlavor.of("py2"),
        new PythonEnvironment(Paths.get("python2"), PythonVersion.of("CPython", "2.6")),
        cxxLibrary);
  }

  private static PythonPlatform createPy3Platform(Optional<BuildTarget> cxxLibrary) {
    return new TestPythonPlatform(
        InternalFlavor.of("py3"),
        new PythonEnvironment(Paths.get("python3"), PythonVersion.of("CPython", "3.5")),
        cxxLibrary);
  }

  @Test
  public void createBuildRuleBaseModule() {
    ProjectFilesystem filesystem = new FakeProjectFilesystem();

    BuildTarget target = BuildTargetFactory.newInstance("//:target");
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
            target,
            FlavorDomain.of("Python Platform", PY2, PY3),
            new CxxBuckConfig(FakeBuckConfig.builder().build()),
            CxxTestUtils.createDefaultPlatforms());

    TargetGraph targetGraph = TargetGraphFactory.newInstance(builder.build());
    BuildRuleResolver resolver = new TestBuildRuleResolver(targetGraph);

    CxxPythonExtension normal = builder.build(resolver, filesystem, targetGraph);

    PythonPackageComponents normalComps =
        normal.getPythonPackageComponents(PY2, CxxPlatformUtils.DEFAULT_PLATFORM, resolver);
    assertEquals(
        ImmutableSet.of(
            target
                .getBasePath()
                .resolve(CxxPythonExtensionDescription.getExtensionName(target.getShortName()))),
        normalComps.getModules().keySet());

    // Verify that explicitly setting works.
    BuildTarget target2 = BuildTargetFactory.newInstance("//:target2#py2");
    String name = "blah";
    CxxPythonExtensionBuilder baseModuleBuilder =
        new CxxPythonExtensionBuilder(
                target2,
                FlavorDomain.of("Python Platform", PY2, PY3),
                new CxxBuckConfig(FakeBuckConfig.builder().build()),
                CxxTestUtils.createDefaultPlatforms())
            .setBaseModule(name);
    targetGraph = TargetGraphFactory.newInstance(baseModuleBuilder.build());
    resolver = new TestBuildRuleResolver(targetGraph);
    CxxPythonExtension baseModule = baseModuleBuilder.build(resolver, filesystem, targetGraph);
    PythonPackageComponents baseModuleComps =
        baseModule.getPythonPackageComponents(PY2, CxxPlatformUtils.DEFAULT_PLATFORM, resolver);
    assertEquals(
        ImmutableSet.of(
            Paths.get(name)
                .resolve(CxxPythonExtensionDescription.getExtensionName(target2.getShortName()))),
        baseModuleComps.getModules().keySet());
  }

  @Test
  public void createBuildRuleNativeLinkableDep() {
    ProjectFilesystem filesystem = new FakeProjectFilesystem();
    BuildTarget target = BuildTargetFactory.newInstance("//:target");

    // Setup a C/C++ library that we'll depend on form the C/C++ binary description.
    BuildTarget cxxLibraryTarget = BuildTargetFactory.newInstance("//:dep");
    CxxLibraryBuilder cxxLibraryBuilder =
        new CxxLibraryBuilder(cxxLibraryTarget)
            .setSrcs(
                ImmutableSortedSet.of(
                    SourceWithFlags.of(FakeSourcePath.of("something.cpp"), ImmutableList.of())));
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
                target,
                FlavorDomain.of("Python Platform", PY2, PY3),
                new CxxBuckConfig(FakeBuckConfig.builder().build()),
                CxxTestUtils.createDefaultPlatforms())
            .setDeps(ImmutableSortedSet.of(cxxLibraryTarget));

    TargetGraph targetGraph =
        TargetGraphFactory.newInstance(cxxLibraryBuilder.build(), builder.build());
    BuildRuleResolver resolver = new TestBuildRuleResolver(targetGraph);
    SourcePathRuleFinder ruleFinder = new SourcePathRuleFinder(resolver);

    CxxLibrary dep = (CxxLibrary) cxxLibraryBuilder.build(resolver, filesystem, targetGraph);
    CxxPythonExtension extension = builder.build(resolver, filesystem, targetGraph);

    NativeLinkableInput depInput =
        dep.getNativeLinkableInput(
            CxxPlatformUtils.DEFAULT_PLATFORM, Linker.LinkableDepType.SHARED, resolver);

    // Verify that the shared library dep propagated to the link rule.
    extension.getPythonPackageComponents(PY2, CxxPlatformUtils.DEFAULT_PLATFORM, resolver);
    BuildRule rule =
        resolver.getRule(
            CxxPythonExtensionDescription.getExtensionTarget(
                target, PY2.getFlavor(), CxxPlatformUtils.DEFAULT_PLATFORM.getFlavor()));
    assertThat(
        rule.getBuildDeps(),
        Matchers.hasItems(
            FluentIterable.from(depInput.getArgs())
                .transformAndConcat(arg -> BuildableSupport.getDepsCollection(arg, ruleFinder))
                .toArray(BuildRule.class)));
  }

  @Test
  public void createBuildRulePythonPackageable() {
    ProjectFilesystem filesystem = new FakeProjectFilesystem();

    BuildTarget target = BuildTargetFactory.newInstance("//:target");
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
            target,
            FlavorDomain.of("Python Platform", PY2, PY3),
            new CxxBuckConfig(FakeBuckConfig.builder().build()),
            CxxTestUtils.createDefaultPlatforms());

    TargetGraph targetGraph = TargetGraphFactory.newInstance(builder.build());
    BuildRuleResolver resolver = new TestBuildRuleResolver(targetGraph);

    CxxPythonExtension extension = builder.build(resolver, filesystem, targetGraph);

    // Verify that we get the expected view from the python packageable interface.
    PythonPackageComponents actualComponent =
        extension.getPythonPackageComponents(PY2, CxxPlatformUtils.DEFAULT_PLATFORM, resolver);
    BuildRule rule =
        resolver.getRule(
            CxxPythonExtensionDescription.getExtensionTarget(
                target, PY2.getFlavor(), CxxPlatformUtils.DEFAULT_PLATFORM.getFlavor()));
    PythonPackageComponents expectedComponents =
        PythonPackageComponents.of(
            ImmutableMap.of(
                target
                    .getBasePath()
                    .resolve(CxxPythonExtensionDescription.getExtensionName(target.getShortName())),
                rule.getSourcePathToOutput()),
            ImmutableMap.of(),
            ImmutableMap.of(),
            ImmutableMultimap.of(),
            Optional.of(false));
    assertEquals(expectedComponents, actualComponent);
  }

  @Test
  public void findDepsFromParamsAddsPythonDep() {
    ProjectFilesystem filesystem = new FakeProjectFilesystem();
    BuildTarget target = BuildTargetFactory.newInstance("//:target");
    CxxPythonExtensionDescription desc =
        new CxxPythonExtensionBuilder(
                target,
                FlavorDomain.of(
                    "Python Platform",
                    createPy2Platform(Optional.of(PYTHON2_DEP_TARGET)),
                    createPy3Platform(Optional.of(PYTHON3_DEP_TARGET))),
                new CxxBuckConfig(FakeBuckConfig.builder().build()),
                CxxTestUtils.createDefaultPlatforms())
            .build()
            .getDescription();
    CxxPythonExtensionDescriptionArg constructorArg =
        CxxPythonExtensionDescriptionArg.builder().setName("target").build();
    ImmutableSortedSet.Builder<BuildTarget> builder = ImmutableSortedSet.naturalOrder();
    desc.findDepsForTargetFromConstructorArgs(
        BuildTargetFactory.newInstance("//foo:bar"),
        createCellRoots(filesystem),
        constructorArg,
        builder,
        ImmutableSortedSet.naturalOrder());
    assertThat(builder.build(), Matchers.contains(PYTHON2_DEP_TARGET, PYTHON3_DEP_TARGET));
  }

  @Test
  public void py2AndPy3PropagateToLinkRules() {
    ProjectFilesystem filesystem = new FakeProjectFilesystem();

    PrebuiltCxxLibraryBuilder python2Builder =
        new PrebuiltCxxLibraryBuilder(PYTHON2_DEP_TARGET)
            .setHeaderOnly(true)
            .setExportedLinkerFlags(ImmutableList.of("-lpython2"));
    PrebuiltCxxLibraryBuilder python3Builder =
        new PrebuiltCxxLibraryBuilder(PYTHON3_DEP_TARGET)
            .setHeaderOnly(true)
            .setExportedLinkerFlags(ImmutableList.of("-lpython3"));

    PythonPlatform py2 = createPy2Platform(Optional.of(PYTHON2_DEP_TARGET));
    PythonPlatform py3 = createPy3Platform(Optional.of(PYTHON3_DEP_TARGET));

    BuildTarget target = BuildTargetFactory.newInstance("//:target");
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
            target,
            FlavorDomain.of("Python Platform", py2, py3),
            new CxxBuckConfig(FakeBuckConfig.builder().build()),
            CxxTestUtils.createDefaultPlatforms());

    TargetGraph targetGraph =
        TargetGraphFactory.newInstance(
            python2Builder.build(), python3Builder.build(), builder.build());
    BuildRuleResolver resolver = new TestBuildRuleResolver(targetGraph);
    SourcePathResolver pathResolver =
        DefaultSourcePathResolver.from(new SourcePathRuleFinder(resolver));

    python2Builder.build(resolver, filesystem, targetGraph);
    python3Builder.build(resolver, filesystem, targetGraph);
    CxxPythonExtension extension = builder.build(resolver, filesystem, targetGraph);

    // Get the py2 extension, and verify it pulled in the py2 lib but not the py3 lib.
    CxxLink py2Ext =
        (CxxLink) extension.getExtension(py2, CxxPlatformUtils.DEFAULT_PLATFORM, resolver);
    assertThat(
        Arg.stringify(py2Ext.getArgs(), pathResolver),
        Matchers.allOf(Matchers.hasItem("-lpython2"), Matchers.not(Matchers.hasItem("-lpython3"))));

    // Get the py3 extension, and verify it pulled in the py3 lib but not the py2 lib.
    CxxLink py3Ext =
        (CxxLink) extension.getExtension(py3, CxxPlatformUtils.DEFAULT_PLATFORM, resolver);
    assertThat(
        Arg.stringify(py3Ext.getArgs(), pathResolver),
        Matchers.allOf(Matchers.hasItem("-lpython3"), Matchers.not(Matchers.hasItem("-lpython2"))));
  }

  @Test
  public void nativeLinkTargetMode() throws Exception {
    BuildRuleResolver resolver = new TestBuildRuleResolver();
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
            BuildTargetFactory.newInstance("//:rule"),
            FlavorDomain.of("Python Platform", PY2, PY3),
            new CxxBuckConfig(FakeBuckConfig.builder().build()),
            CxxTestUtils.createDefaultPlatforms());
    CxxPythonExtension rule = builder.build(resolver);
    NativeLinkTarget nativeLinkTarget = rule.getNativeLinkTarget(PY2);
    assertThat(
        nativeLinkTarget.getNativeLinkTargetMode(CxxPlatformUtils.DEFAULT_PLATFORM),
        Matchers.equalTo(NativeLinkTargetMode.library()));
  }

  @Test
  public void nativeLinkTargetDeps() throws Exception {
    BuildRuleResolver resolver = new TestBuildRuleResolver();
    CxxLibrary dep =
        (CxxLibrary)
            new CxxLibraryBuilder(BuildTargetFactory.newInstance("//:dep")).build(resolver);
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
            BuildTargetFactory.newInstance("//:rule"),
            FlavorDomain.of("Python Platform", PY2, PY3),
            new CxxBuckConfig(FakeBuckConfig.builder().build()),
            CxxTestUtils.createDefaultPlatforms());
    CxxPythonExtension rule =
        builder.setDeps(ImmutableSortedSet.of(dep.getBuildTarget())).build(resolver);
    NativeLinkTarget nativeLinkTarget = rule.getNativeLinkTarget(PY2);
    assertThat(
        ImmutableList.copyOf(
            nativeLinkTarget.getNativeLinkTargetDeps(CxxPlatformUtils.DEFAULT_PLATFORM, resolver)),
        Matchers.<NativeLinkable>hasItem(dep));
  }

  @Test
  public void nativeLinkTargetDepsIncludePlatformCxxLibrary() {
    ProjectFilesystem filesystem = new FakeProjectFilesystem();
    CxxLibraryBuilder python2Builder = new CxxLibraryBuilder(PYTHON2_DEP_TARGET);
    PythonPlatform platform = createPy2Platform(Optional.of(PYTHON2_DEP_TARGET));
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
            BuildTargetFactory.newInstance("//:rule"),
            FlavorDomain.of("Python Platform", platform),
            new CxxBuckConfig(FakeBuckConfig.builder().build()),
            CxxTestUtils.createDefaultPlatforms());
    TargetGraph targetGraph =
        TargetGraphFactory.newInstance(python2Builder.build(), builder.build());
    BuildRuleResolver resolver = new TestBuildRuleResolver(targetGraph);
    python2Builder.build(resolver, filesystem, targetGraph);
    CxxPythonExtension rule = builder.build(resolver, filesystem, targetGraph);
    NativeLinkTarget nativeLinkTarget = rule.getNativeLinkTarget(platform);
    assertThat(
        ImmutableList.copyOf(
            nativeLinkTarget.getNativeLinkTargetDeps(CxxPlatformUtils.DEFAULT_PLATFORM, resolver)),
        Matchers.hasItem((NativeLinkable) resolver.getRule(PYTHON2_DEP_TARGET)));
  }

  @Test
  public void nativeLinkTargetInput() {
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
            BuildTargetFactory.newInstance("//:rule"),
            FlavorDomain.of("Python Platform", PY2, PY3),
            new CxxBuckConfig(FakeBuckConfig.builder().build()),
            CxxTestUtils.createDefaultPlatforms());
    builder.setLinkerFlags(ImmutableList.of(StringWithMacrosUtils.format("--flag")));
    BuildRuleResolver resolver =
        new TestBuildRuleResolver(TargetGraphFactory.newInstance(builder.build()));
    SourcePathRuleFinder ruleFinder = new SourcePathRuleFinder(resolver);
    SourcePathResolver pathResolver = DefaultSourcePathResolver.from(ruleFinder);
    CxxPythonExtension rule = builder.build(resolver);
    NativeLinkTarget nativeLinkTarget = rule.getNativeLinkTarget(PY2);
    NativeLinkableInput input =
        nativeLinkTarget.getNativeLinkTargetInput(
            CxxPlatformUtils.DEFAULT_PLATFORM, resolver, pathResolver, ruleFinder);
    assertThat(Arg.stringify(input.getArgs(), pathResolver), Matchers.hasItems("--flag"));
  }

  @Test
  public void platformDeps() throws Exception {
    BuildRuleResolver resolver = new TestBuildRuleResolver();
    CxxLibrary dep =
        (CxxLibrary)
            new CxxLibraryBuilder(BuildTargetFactory.newInstance("//:dep")).build(resolver);
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
            BuildTargetFactory.newInstance("//:rule"),
            FlavorDomain.of("Python Platform", PY2, PY3),
            new CxxBuckConfig(FakeBuckConfig.builder().build()),
            CxxTestUtils.createDefaultPlatforms());
    CxxPythonExtension rule =
        builder
            .setPlatformDeps(
                PatternMatchedCollection.<ImmutableSortedSet<BuildTarget>>builder()
                    .add(
                        Pattern.compile(PY2.getFlavor().toString()),
                        ImmutableSortedSet.of(dep.getBuildTarget()))
                    .build())
            .build(resolver);
    NativeLinkTarget py2NativeLinkTarget = rule.getNativeLinkTarget(PY2);
    assertThat(
        ImmutableList.copyOf(
            py2NativeLinkTarget.getNativeLinkTargetDeps(
                CxxPlatformUtils.DEFAULT_PLATFORM, resolver)),
        Matchers.<NativeLinkable>hasItem(dep));
    NativeLinkTarget py3NativeLinkTarget = rule.getNativeLinkTarget(PY3);
    assertThat(
        ImmutableList.copyOf(
            py3NativeLinkTarget.getNativeLinkTargetDeps(
                CxxPlatformUtils.DEFAULT_PLATFORM, resolver)),
        Matchers.not(Matchers.<NativeLinkable>hasItem(dep)));
  }

  @Test
  public void platformDepsSeparateLinkage() {
    PythonBuckConfig pythonBuckConfig = new PythonBuckConfig(FakeBuckConfig.builder().build());
    FlavorDomain<PythonPlatform> pythonPlatforms = FlavorDomain.of("Python Platform", PY2, PY3);

    CxxLibraryBuilder depBuilder =
        new CxxLibraryBuilder(BuildTargetFactory.newInstance("//:dep"))
            .setSrcs(ImmutableSortedSet.of(SourceWithFlags.of(FakeSourcePath.of("test.c"))));
    CxxPythonExtensionBuilder extensionBuilder =
        new CxxPythonExtensionBuilder(
                BuildTargetFactory.newInstance("//:rule"),
                pythonPlatforms,
                new CxxBuckConfig(FakeBuckConfig.builder().build()),
                CxxTestUtils.createDefaultPlatforms())
            .setPlatformDeps(
                PatternMatchedCollection.<ImmutableSortedSet<BuildTarget>>builder()
                    .add(
                        Pattern.compile(PY2.getFlavor().toString()),
                        ImmutableSortedSet.of(depBuilder.getTarget()))
                    .build());
    PythonBinaryBuilder binary2Builder =
        PythonBinaryBuilder.create(
                BuildTargetFactory.newInstance("//:bin2"), pythonBuckConfig, pythonPlatforms)
            .setMainModule("test")
            .setPlatform(PY2.getFlavor().toString())
            .setDeps(ImmutableSortedSet.of(extensionBuilder.getTarget()));
    PythonBinaryBuilder binary3Builder =
        PythonBinaryBuilder.create(
                BuildTargetFactory.newInstance("//:bin3"), pythonBuckConfig, pythonPlatforms)
            .setMainModule("test")
            .setPlatform(PY3.getFlavor().toString())
            .setDeps(ImmutableSortedSet.of(extensionBuilder.getTarget()));

    BuildRuleResolver resolver =
        new TestBuildRuleResolver(
            TargetGraphFactory.newInstance(
                depBuilder.build(), extensionBuilder.build(), binary2Builder.build()));
    depBuilder.build(resolver);
    extensionBuilder.build(resolver);
    PythonBinary binary2 = binary2Builder.build(resolver);
    PythonBinary binary3 = binary3Builder.build(resolver);

    assertThat(
        binary2.getComponents().getNativeLibraries().keySet(),
        Matchers.contains(Paths.get("libdep.so")));
    assertThat(
        binary3.getComponents().getNativeLibraries().keySet(),
        Matchers.not(Matchers.contains(Paths.get("libdep.so"))));
  }

  @Test
  public void runtimeDeps() {
    BuildRuleResolver resolver =
        new TestBuildRuleResolver(
            TargetGraphFactory.newInstance(
                new CxxBinaryBuilder(BuildTargetFactory.newInstance("//:dep#sandbox")).build()));
    BuildTarget depTarget = BuildTargetFactory.newInstance("//:dep");
    BuildRule cxxBinary = new CxxBinaryBuilder(depTarget).build(resolver);
    CxxPythonExtension cxxPythonExtension =
        new CxxPythonExtensionBuilder(
                BuildTargetFactory.newInstance("//:ext"),
                FlavorDomain.of("Python Platform", PY2, PY3),
                new CxxBuckConfig(FakeBuckConfig.builder().build()),
                CxxTestUtils.createDefaultPlatforms())
            .setDeps(ImmutableSortedSet.of(cxxBinary.getBuildTarget()))
            .build(resolver);
    assertThat(
        cxxPythonExtension
            .getRuntimeDeps(new SourcePathRuleFinder(resolver))
            .collect(ImmutableSet.toImmutableSet()),
        Matchers.hasItem(cxxBinary.getBuildTarget()));
  }

  @Test
  public void moduleName() throws Exception {
    BuildRuleResolver resolver = new TestBuildRuleResolver();
    CxxPythonExtension cxxPythonExtension =
        new CxxPythonExtensionBuilder(
                BuildTargetFactory.newInstance("//:ext"),
                FlavorDomain.of("Python Platform", PY2, PY3),
                new CxxBuckConfig(FakeBuckConfig.builder().build()),
                CxxTestUtils.createDefaultPlatforms())
            .setModuleName("blah")
            .build(resolver);
    assertThat(
        cxxPythonExtension.getModule().toString(),
        Matchers.endsWith(CxxPythonExtensionDescription.getExtensionName("blah")));
  }

  @Test
  public void compilationDatabase() {
    CxxPythonExtensionBuilder builder =
        new CxxPythonExtensionBuilder(
            BuildTargetFactory.newInstance("//:ext"),
            FlavorDomain.of("Python Platform", PY2, PY3),
            new CxxBuckConfig(FakeBuckConfig.builder().build()),
            CxxTestUtils.createDefaultPlatforms());
    builder.setSrcs(ImmutableSortedSet.of(SourceWithFlags.of(FakeSourcePath.of("test.c"))));
    BuildRuleResolver resolver =
        new TestBuildRuleResolver(TargetGraphFactory.newInstance(builder.build()));
    BuildRule rule =
        resolver.requireRule(
            builder
                .getTarget()
                .withAppendedFlavors(
                    CxxPlatformUtils.DEFAULT_PLATFORM.getFlavor(),
                    PY2.getFlavor(),
                    Type.COMPILATION_DATABASE.getFlavor()));
    assertThat(rule, Matchers.instanceOf(CxxCompilationDatabase.class));
  }
}

redpajama_set_name: RedPajamaGithub


Hello World – What does the future look like to you?
Technology is changing the world we live in – FAST. What does the future of living look like in 10 months? How about 10 years?
We're digging in to explore these questions with experts in everything from smart living technology to urban development and beyond to find out what's next.
Did you know the average LA driver spent 102 hours stuck in traffic last year? In New York, congestion cost drivers more than $2,982, adding up to $33.7 billion for the city as a whole. Ashley Hand knows how to solve this.


text:
Q: Can C++/CLI yield? In C#, I can use the yield keyword to implement a generator, viz:
int GenInt()
{
    for(int i = 0; i < 5; i++)
        yield return i;
}

Then, calling the function multiple times will return 0 through 4.
Can the same thing be done in C++/CLI?  There's no yield keyword, so my gut reaction is that there isn't, which sucks, but what can you do?

A:
Can the same thing be done in C++/CLI? There's no yield keyword, so my gut reaction is that there isn't, which sucks, but what can you do?

yield return in C# is just a shortcut that lets the compiler generate the necessary code for you that implements an implementation of IEnumerable<T> and IEnumerator<T>. Since C++/CLI doesn't offer this service, you've got to do it manually: just write two classes, one that implements each interface (or, doing it like the C# compiler, one class implementing both but this can get messy if the whole thing can be called repeatedly – cue: statefulness).
Here's a small example – since I don't have an IDE and my C++/CLI is a bit rusty, I'll give it in C#:
class MyRange : IEnumerable<int> {
    private class MyRangeIterator : IEnumerator<int> {
        private int i = 0;

        public int Current { get { return i; } }

        object IEnumerator.Current { get { return Current; } }

        public bool MoveNext() { return i++ != 10; }

        public void Dispose() { }

        void IEnumerator.Reset() { throw new NotImplementedException(); }
    }

    public IEnumerator<int> GetEnumerator() { return new MyRangeIterator(); }

    IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); }
}

// Usage:
foreach (int i in new MyRange())
    Console.WriteLine(i);

redpajama_set_name: RedPajamaStackExchange


text:
Name: Karrec of Mord
Tree— Walnut
Age—40 in Line of Duty
Grey haired. Still fit and well built, but getting on in life Tanned complexion (from years of outdoor life).Shortish (not tiny), deliberate of movement (purposeful in all he does) and slightly built but now tending to middle age spread.
Lifetime soldier and son of a soldier too. He had reached the rank of Captain but considered himself inferior to other officers of his rank (most of whom come from aristocratic stock). As his age progressed he ceased to command men and became a tactical advisor to the chiefs of staff. Thus he managed to escape death in the last battle for Bremmand. His last attachment prior to the move to tactical advisor was in the 7th Legion.
Karrec had four sons who were all lost (as far as he knows) – three during the great battle and the youngest in a student uprising in Castle Bremmand. He is fiercely proud of their sacrifice.
He came to the forest after the battle, since there was nothing left for him in Castle Bremmand where he came from. He is Karrec of Mord, Mord being the smallest district in Castle Bremmand and one of which the few who live there feel especially proud. Karrec is a very experienced tactician but he had tired of leading men, which was why he took up a back room role.
He believes that age counts for more than ability so initially feels that he should be leading the band of refugees instead of Torvik. He isn't ambitious especially, so doesn't really fight to be in command but he believes his opinion counts for something and dislikes the fact that his views get side-lined by the younger man. He is willing to accept Dale's command however because he sees that this is another man who rose from the ranks and knows about soldiering.
He can be a bit sour and hard to get along with. He might be described as crusty and can be very hard to please. He disapproves of the informality of the children – a traditionalist who feels children should be seen and not heard and that having them running about the camp is a distraction. The children find him stern and don't like him especially.
He is fiercely loyal and he once met the King and is proud of the fact.


Industrial air moving blower, combustion alphair blowers, oven alfair air moving fans and O.E.M. blower in stock for heavy duty alfair exhaust and supply air moving blower applications. Northern Industrial Blower supply New York Blower high temperature blowers, centrifugal fans and axial fans, air handling fans ventilators, heavy duty fans.Industrial blowers, commercial fans, high-temperature blowers, pressure blowers, OEM fans, roof and wall exhausters, ventilating and air-conditioning equipment, HVAC, heating ventilation and air conditioning, process and OEM blowers, custom built fans, ventilators, dust collectors, combustion blowers, oven circulation fans.
Sales of& heavy duty high airflow fans, Air Blower Products, IGE Industrial Fans, Illinois Blower Fans, Industrial Air Products, High Temperature Fans, High Heat Blowers. We supply heavy duty & high-temperature industrial and commercial fans, high pressure blowers, high temperature insulated fan blowers, high capacity industrial oven blowers, combustion gas fans, oven circulation fans and blowers, high temperature axial fans, high heat centrifugal fan, plug fans air kits and high temperature axial plug fans. Canada Blower sell gas-tight and zero-leakage industrial air products refurbish of Garden City high temperature fans and blowers.
We have an extensive network of cost effective suppliers. Good prices... Great value.