text:
2020: A Difficult Year in Review
The year 2020 will be remembered as one of the most challenging in Alameda and world history. Events that gripped the nation also had a lasting impact on the Island City as well. From the COVID-19 pandemic to protests of systemic racism, 2020 will be remembered as a unique year.
Here's a look back at 2020 through the pages of the Alameda Sun.
Alameda began the year by honoring local icon Jim Sweeney at his 90th birthday celebration at First Congregational Church on Jan. 5. He and his wife Jean enabled the City of Alameda to obtain the 40-acre Beltline Railroad property at its original 1925 purchase price, a small fraction of its current value. The city rezoned the property to open space and built a park named after Jean, who died in 2011.
More than 100 Alamedans participated locally in a nationwide Women's March on Jan. 18 to send a "resounding message that we reject President Donald Trump," according to protest organizer Felicia Roche, an Alameda resident. The nationwide march followed in the pattern of the Women's March held in 2017. The women gathered in the Safeway parking lot on Bay Farm Island, marched down Island Drive, continued across the Bay Farm Island Bridge and ended at South Shore Center.
Former U.S. Rep. Fortney "Pete" Stark Jr. died on Jan. 24. Stark served in the House of Representatives for 40 years, from 1973 to 2013. During his last 20 years in Congress, Stark represented California's 13th Congressional District, which included Alameda. Redistricting, which began in 2011, redrew Stark's District as the 15th District. Stark entered Congress in 1973. He was an advocate for healthcare for all citizens. Among his many feats, he helped pen President Barack Obama's Affordable Care Act.
The first homicide of the year occurred on Jan. 31 when Justin John Benton drove off the roadway at the intersection of Ralph Appezzato Memorial Parkway and Coral Sea Street and struck a woman. First responders arrived at the scene to attempt life-saving procedures, but the injuries sustained proved fatal. Benton was arrested at the scene by Alameda Police Department (APD) officers and booked into Santa Rita County Jail in Dublin, where he remains today, on gross vehicular manslaughter charges. He was also charged with possession of narcotics, driving while under the influence of narcotics, reckless driving and more.
Lincoln Elementary fifth grader Callista Frederick won the 2020 Alameda Spelling Bee on Feb. 1 at Otis Elementary School. Roughly 45 students from more than a dozen schools participated in the competition, which included a written test followed by an oral spelling competition.
The city experienced its second collision-caused death on Feb. 11 at the intersection of at Encinal Avenue and Walnut Street. Alameda Fire Department (AFD) firefighters and paramedics and APD officials discovered that an automobile had struck a 60-year-old pedestrian. Paramedics transported the victim to the hospital, where she later succumbed to her injuries. The incident caused Alamedans to hold a town hall to discuss how to improve pedestrian-vehicle traffic.
At its Feb. 18 meeting, the City Council approved a plan that would convert the northwest section of Alameda Point into a regional shoreline park. The future park will be operated by the East Bay Regional Park District.
The St. Joseph Notre Dame (SJND) women's basketball team were crowned the inaugural North Coast Section (NCS) Open Division champions after defeating Cardinal Newman of Santa Rosa, 67-58, on Feb. 28. Then sophomore Randi Harding came off the Pilots' bench to lead all scorers with 18 points.
On March 1, a large group of Alameda residents and city officials celebrated the opening of the Cross Alameda Trail between Main Street and Constitution Way. The new addition to the trail connects Jean Sweeney Park with Atlantic Avenue and Ralph Appezzato Memorial Parkway.
Alameda voters passed Measure A, which was backed by the Alameda Unified School District, in the March 3 election. Measure A approved a special parcel tax on property owners with the new revenue going toward hiring new teachers and increasing the salary of currents teachers and educational employees.
As the COVID-19 pandemic began to make its way through the United States, Alameda got its first scare when it was announced that an AFD firefighter tested positive for the virus on March 10. The City of Alameda announced that eight additional Alameda firefighters were placed under quarantine on March 13 due to contract tracing while they awaited their COVID-19 test results.
By mid-March city, county and state officials began to make life-altering decisions based on the COVID-19 pandemic. The California Interscholastic Federation (CIF) announced it cancelled all winter sport state championship games on March 12. The CIF would later cancel the entire 2019-2020 spring sports season.
On March 17, six of the nine Bay Area counties declared a Public Health Order that required residents to stay home for three weeks, except for "essential needs" or people who have "essential business" occupations. The order shut down schools, entertainment venues and limited the number of patrons at grocery stores. The order was scheduled to end on April 7, but the order was extended to May 3 on March 31.
Several dozen registered nurses and employees for the Alameda Health System (AHS) and Bay Area human rights activists held a "lightning" rally April 7, at Alameda Hospital to voice their concerns with the lack of adequate personal protective equipment and weakened patient care standards for health care workers and patients during the COVID-19 pandemic.
The county public health officer, Dr. Erica Pan, ordered people to wear face coverings in public, including when inside, or waiting in line to enter essential businesses like grocery stores and pharmacies and at medical appointments starting April 22.
On April 27, Governor Gavin Newsom extended the stay-at-home order for a second time to June 1. He said that the order would remain in effect until his office decides to lift it.
The City Council approved the "Alameda Strong" community relief fund at its May 19 meeting. The fund, financed solely by community donations, will provide grants to small businesses, nonprofits and renters financially affected by the shelter-in-place order due to the coronavirus.
Graduation ceremonies for the altered 2019-2020 high school year began in late May. Alameda, Encinal, St. Joseph Notre Dame, Alameda Community Learning Center and Island high school students all held unique graduation ceremonies unlike any year before.
Alameda resident Mali Watkins was arrested after an incident with APD officers on May 23. Officers approached Watkins across the street from his home on the 2000 block of Central Avenue. An anonymous resident called APD's non-emergency line alerting them that a man was dancing on the street and he might be "mentally ill." Watkins told the officers he was exercising on the street. When Watkins tried to walk away the officers physically detained him. The incident quickly escalated and Watkins, while handcuffed, was forcefully taken to the pavement. The officers and the department were met with strong ridicule from residents after the body-camera footage was released. The incident took place two days before the killing George Floyd by Minneapolis police officer Derek Chauvin on May 25.
Alameda residents held a rally outside APD headquarters on June 1 demanding justice for George Floyd's killing and people of color across the country who disproportionately suffer at the hands of law enforcement.
The killing caused protests and vandalism to businesses throughout the country including in Alameda. There were 15 reports of burglaries or petty thefts at commercial businesses on May 31 and June 1, resulting in four arrests, according to APD police reports. As a result, the city enacted an 8 p.m. to 5 a.m. curfew starting June 1. It remained in effect until June 5. Several Alameda businesses boarded up their windows to prevent looting on June 1.
After the Mali Watkins arrest was made public, city staff recommended two initiatives to curb use of force by APD officers. The city approved former President Obama's Mayor's Pledge to review police use of force policies; engage the community for input and more. They also discussed the "8 Can't Wait" initiative that seeks the banning of chokeholds and strangleholds; requires de-escalation; requires verbal warnings before shooting firearms and more.
City Manager Eric Levitt announced on June 6 that the city would release the body-camera footage of the Mali Watkins arrest. He also announced the city hired a private law firm to conduct an independent investigation of Watkins' arrest.
The City Council voted 4-1 at its June 2 meeting to instruct city staff to create ballot language for a measure that would be placed on the November ballot that would eliminate Article 26, which restricts the development of multifamily housing in Alameda.
The Alameda Recreation and Parks Commission voted 5-0 on July 9 to rename Jackson Park. The park, located on Park Avenue between San Jose and Encinal avenues, was named in 1909 for President Andrew Jackson. The commission decided to change the name, at the public's behest, because Jackson was a racist slave holder who forced the relocation of thousands of Native Americans for white settlers in the southeast United States (Google "Indian Removal Act" to read more).
Wenyong Huang was arrested for murder for allegedly shooting a man suspected of shoplifting while working his shift as a store clerk at the Circle K gas station at 1716 Webster St. on July 11. Huang shot Ethan Escorcio, 24 after Escorcio tried to steal a pack of cigarettes. Huang called 911 and Alameda Police Department (APD) officers and emergency medical personnel arrived shortly thereafter. Escorcio was transported to a nearby hospital where he succumbed to his injuries.
The Alameda County District Attorney Nancy O'Malley announced her office would not pursue criminal charges against Alameda resident Mali Watkins on July 10. O'Malley stated in a letter sent to APD Chief Paul Rolleri, that the responding officers "did not have sufficient probable cause to detain him, making the citation null and void." Watkins was cited on May 23 for resisting officers while dancing on the street.
APD Chief Paul Rolleri announced his retirement from the department on July 22. Rolleri had been with APD since 1992 and was named police chief on June 1, 2013.
The "free" COVID-19 testing site in Alameda closed on July 31 after reports of confusion and setbacks. The testing site originally opened on July 22, but the site temporarily closed on July 23 after CityHealth, the testing site's operator, said it administered more tests than expected and disputes about patrons' health insurance.
A group of young men turned downtown Alameda into a warzone when they engaged in a shootout on Aug. 7 outside the Airloom Deluxe apparel store at 2322 Santa Clara Ave. A surveillance camera from a barbershop next door captured the incident. Two people were struck in the incident but received only non-life-threatening injuries. A stray bullet struck a vehicle driven by a mother who was riding with her two-year-old child in the backseat. Both occupants were not injured.
About 50,000 gallons of raw sewage leaked into Oakland-Alameda Estuary on Aug. 15 due to equipment failure at the EBMUD's main wastewater treatment plant in West Oakland. The incident was caused by a power outage the day prior. EDMUD posted about 20 signs along the estuary on Aug. 15 warning people not to swim, boat or make any bodily contact with the water due to the high bacteria levels caused by the sewage. The advisory was lifted on Aug. 18.
Alameda Fire Department (AFD) personnel responded to the wildfires that ravaged Northern California on Aug. 17 and left Alameda under red skies. The department sent 10 firefighters and three fire engine vehicles to combat fires in Santa Clara, Santa Cruz, Napa, Solano and Lake counties. The fires were caused by lightning strikes from Tropical Storm Fausto, which took place more than 1,000 miles away, on Aug. 16 and 17.
At its Sept. 8 meeting, the Alameda Unified School District (AUSD) Board of Trustees voted unanimously to use Edmentum as its new 2020-2021 Remote Learning Program curriculum provider. The Board also voted to discontinue using Acellus, the district's curriculum provider at the beginning of the school year, after hearing it was pulled from schools in Hawaii due to inappropriate learning curriculum that promoted racist, sexist and homophobic biases.
The City of Alameda named Randy Fenn interim APD police chief on Sept. 29. He started his new role on Oct. 5. Fenn took over for Rolleri who announced his retirement as Alameda's chief of police in July.
Mayor Marilyn Ezzy Ashcraft, along with the Alameda Police Department (APD), addressed the city's unprecedented number of shootings in a press release on Oct. 28. Ashcraft displayed sadness that "many people have turned to firearms to settle their grievances, including domestic disputes and illicit business dealings." APD announced new procedures to cut down on shootings and make arrests. There were 14 shooting incidents between June 1 and Oct. 28 this year.
Alamedans celebrated Halloween in an untraditional way due to the COVID-19 protocols. Alameda County interim Public Health Officer recommended that would-be candy gatherers not go trick-or-treating this year. Instead, Alamedans took part in socially distanced costume parades for kids on Halloween morning and other approved activities.
Alamedans went to the polls, and the mailboxes, to cast their ballots in the Nov. 3 election. In the final tally, Councilmember Malia Vella was voted back into the Council with 22.63 percent of the vote. Former Mayor Trish Spencer was voted into the Council with 20.13 percent of the vote. She took the seat of former Councilmember Jim Oddie who received 18.59 percent of the vote. The highly contested Measure Z failed to pass with 59.94 percent of voters choosing against the measure that would have eliminated restrictions against multifamily development in the city. Jennifer Williams, Heather Little and Megan Sweet were approved for the Alameda Unified School District School Board.
The city's third homicide of the year happened on Nov. 8 in the area of Park Street and Shore Line Drive near the Coral Reef Inn. APD responded to a call of shots fired in the area. Upon arrival, officers located an adult male victim suffering from life-threatening gunshot wounds. APD officers immediately rendered medical aid until AFD arrived. The victim was transported to a local hospital where he succumbed to his injuries.
At its Nov. 23 meeting, the Planning Board voted unanimously to approve a tentative plan that would allow Alameda Municipal Power (AMP) to build a solar plant at the intersection of Doolittle Drive and Harbor Bay Parkway. AMP will use 11 acres of the 33.2-acre site, known as Mount Trashmore, for its 2.0-megawatt photovoltaic solar facility. The site was home to the Doolittle Landfill from 1953 to 1985.
Another EBMUD equipment failure caused 97,000 gallons of raw sewage to spill into a lagoon near Robert Davey Jr. Drive on Bay Farm Island on Dec. 16. After 10 days of water sampling for enterococcus bacteria, EBMUD declared the water in the lagoon safe on Dec. 26.
Despite the ongoing shelter-in-place protocols, Christmas Tree Lane, also known as Thompson Avenue, lit up for Christmas and Hanukkah holidays. Along the block between High Street and Fernside Boulevard, homeowners decorated their houses with lights, candy canes, snowflakes, Santa Clauses and more.
The city enacted an 8 p.m. to 5 a.m. curfew starting June 1 until June 5 as a result of vandalism and protest due to the George Floyd killing.
In late July, workers removed a city park sign whose namesake is now associated with hate and violence. The park in the center of Park Avenue is currently undergoing a renaming process.
Among the many flash-points during the 2020 election season was Donald Trump's appointment of Amy Coney Barrett to the United States Supreme Court. Women marched in Alameda to protest that decision and to promote the election of the Democratic ticket across the board just prior to Election Day.
Mali Watkins


text:
Four Pakistani Students in China Got Infected with Coronavirus
InfostoreLatestRound the clock
PLANET DESK	 On Jan 29, 2020
At least four Pakistani nationals studying in China have been infected with the new coronavirus, confirms Islamabad January 29. The Special Assistant to the Prime Minister on National Health Services Dr Zafar Mirza passed on this information to the media while addressing them on the matter.
While addressing the media, Dr. Mirza said that the four students had symptoms of coronavirus which were later confirmed after testing adding that the Pakistani government would be responsible for their complete medical treatment. Mirza said 'We will take care of them the same way we would care for our own children.'
You May Like The Below Story As Well :
China's Wuhan Coronavirus Having Impacts on Education Too
On the other hand, nearly 500 Bangladeshi students taking higher education in different higher educational institutions in Wuhan, the epicenter of the virus, have pleaded for help to their government to return to their home country safely. In line with their appeal, Bangladesh government has started registration process for the ones who are expressing wishes to get back to country. But their return is reportedly to take at least two weeks. So there has been an uncertainly and fear as to whether they would ultimately be able to return to the country safe and sound. Well, it is not known yet if anyone of them is already infected with the virus.
To mention, the latest death toll from 2019 new coronavirus, known as 2019-nCoV, has hit 132 Wednesday January 29 with the total cases of infection being 6065, according to Reuters. This deadly virus has so far reached to 17 countries outside of mainland China with Tibet, China's autonomous region, today reporting its first case of infection.
Missouri University Applies App for Ensuring Students' Attendance
Fruit Vendor Gets India's Highest Civilian Honor. The Reason Fascinating!
Scientists Created A Fabric That Can Cool Or Warm Itself!
Bees Have Math Solving Ability!

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Using preg_replace to format Having trouble with pattern and replacement. How can I make the replacement echo a final product such as
INSERT INTO `table` (`person`, `file`) VALUES
('test','test'),
('test2','test2'),
('test3','test3');

I am trying to insert the string into SQL but I need to format the current string below to do so, and I need to have the last part of the string test3:test3 or whatever the text may be to close the SQL pattern ('test3','test3');
<?php
$string = 'test:test test2:test2 test3:test3';
$pattern = '';
$replacement = '';
echo preg_replace($pattern, $replacement, $string);
?>

Also, can it also have a string such as this? 'test@test.com:test test2:test2' whereas the email will be before the colon at ALL times.

A: Try something like this:
$string = 'test:test test2:test2 test3:test3';
$patterns = array("/([^\s:]+):([^\s:]+)/", "/\s++\(/");
$replacements = array("('$1', '$2')", ", (");
$sql = 'INSERT INTO `table` (`person`, `file`) VALUES ' . preg_replace($patterns, $replacements, $string) . ';';
echo $sql . "\n";

An explanation:
Regex 1
  ([^\s:]+)   # match one or more chars other than white space chars and colons and store it in group 1
  :           # match a colon
  ([^\s:]+)   # match one or more chars other than white space chars and colons and store it in group 2
Replacement 1
  (           # insert a '('
  '$1'        # insert what is matched in group 1 and surround it with single quotes
  ,           # insert ', '
  '$2'        # insert what is matched in group 2 and surround it with single quotes
  )           # insert a ')'

Regex 2
  \s++        # match one or more white space chars
  \(          # match a '('
Replacement 2
  , (         # insert ', ('

redpajama_set_name: RedPajamaStackExchange


Simes Compact is a whole collection of ground spots in a wide variety.
Simes Concrete, lighting executed in concrete. Simes Suit is a collection of passable ground spots. Concrete Bollard, the garden pole in concrete.
Simes also has a large collection of garden poles, such as the Reef here.
The Diapason, a very special staircase lighting for outside. The Step, staircase lighting for indoor and outdoor. Simes outline, a very special wall lighting for the garden.


text:
Oklahoma Anti-Abortion Gestapo
By Gina Liggett
Oklahoma legislators have gone hog-wild in an orgy of anti-abortion bill-writing this session. Eight -- EIGHT bills interfering with a woman's right to abortion passed, four of which were vetoed by Oklahoma Governor, Brad Henry. But Religious Right lawmakers, including anti-abortion Democrats, succeeded in overriding three of the four vetoes.
Restricting Abortion Any Way They Can
The vetoed bills attack abortion rights in wide-ranging ways.
One bill requires a woman seeking an abortion to have an ultrasound within an hour of the procedure and have its findings explained to her. Another requires women seeking abortion services and the abortion providers to fill out a lengthy questionnaire and have its findings reported statistically on a state website. Another would ban wrongful life lawsuits against doctors who withhold information that could cause a woman to seek an abortion. These three vetoed bills were overridden by the Legislature. Of the 4th veto, legislators will not attempt an override a bill that would restrict insurance coverage of abortions (but sponsors may resurrect that bill next year).
The Anti-Abortion Gestapo
One particularly forcible bill would require women to have an ultrasound within one hour of requesting an abortion and be compelled to listen to a detailed description of the fetus. Even women impregnated by rape/incest would be included!
How is this to be accomplished, I wonder: by strapping down women's arms, holding their eyes open with toothpicks and placing headphones on at full volume? Fortunately, this coercive law is on hold due to a legal challenge by The Center for Reproductive Rights.
Public Health Hogwash
I'd like to highlight another overridden bill that disguises itself as a public health measure. Using classic public health vernacular, Sen. Clark Jolley, the Senate sponsor of the bill, said the bill is meant to understand why women are choosing to end their pregnancies. Tony Lauinger, state chairman for Oklahomans for Life, said the measure attempts to get accurate information about abortions performed in the state: "We are very appreciative of the pro-life action taken by the Senate. It is often said abortion is safe, legal and rare. This law seeks to gauge the accuracy of that statement." Sen. Jolley adds "This is about gathering data so we can prevent future need for women to face this choice."
If Oklahoma lawmakers were really concerned about public health priorities of their state, they need look no further than their own State Health Department which was assigned the task of prioritizing and solving Oklahoma's biggest public health problems. Because Oklahoma ranks 49th in the U.S. in health rankings, there is plenty of work to do.
Oklahoma's biggest health problems are heart disease (top in the nation), smoking (ranked 36th in the nation), obesity (ranked 6th), and infant health (higher infant mortality rate than national average). Preventing unintended pregnancies is also a goal, but that can be best accomplished by preventing pregnancy (you know, birth control--ever heard of it?) Reducing abortions is not going to affect pregnancy rates. The Anti-Abortion Gestapo can just stop crying alligator tears of concern for women's health. Women's health and rights are not their real concern, otherwise they would be worried about the death and complication rates resulting from abortions made illegal by their lawmaking.
Wear Yourself Out With the Questionnaire from HB 3284
Check out the questionnaire and imagine if you would like the government requiring you to answer the following deeply personal questions:
Reasons seeking abortion (hidden down in #15 of questionnaire); date of abortion; county performed; age of mother; marital status; race; years of education; state/country of residence; number of previous pregnancies; number of live births; miscarriages; induced abortions; gestational age of fetus based on last menstrual period; specific method of abortion; infant status resulting from abortion; was CPR of fetus undertaken; how long did aborted fetus survive; use of anesthesia to mother and fetus--what type and how administered; disposal of fetal tissue; reasons seeking an abortion (would it dramatically change the life of mother, interfere with her education, interfere with job, has other children, cannot afford another child, is unmarried, is a student, can't afford child care, can't meet basic needs of life, is unemployed, can't leave job to care for baby, would need new place to live, poor spousal support, spouse unemployed, on welfare, doesn't want to be single mother, relationship problems, uncertain of relationship to father, doesn't want to marry father, not in a relationship, may break up with father of child, mother feels she's too immature, spouse is abusive, mother doesn't want others to know she's had sex or is pregnant, husband wants abortion, health of mother or fetus at risk, parents want abortion, emotional health of mother at risk, wants child of different sex, life of mother at risk, pregnancy due to rape, pregnancy due to incest, mother declined to give reason); method of payment; insurance; fees collected; time fee collected; MD specialty; ultrasound used during or before or after; was ultrasound vaginal, abdominal or both; name of person performing ultrasound; referring physician; statute info provided to mother; did mother get printed materials; was gestational age 20 weeks or more and if so, was mother given appropriate info on the statutes pertaining to that.
So this extremely nosy public health approach to restricting abortion is lot of diversion from the real public health problems of Oklahoma. It is instead a method of intimidating doctors and patients into foregoing abortion (and thereby raising the statistics of unintended pregnancies, contrary to their own official public health priorities).
The only relevant questions an abortion provider should ask a patient are: "do you understand the procedure and its risks, and do you consent?" Kind of like Lasik surgery to improve your vision. Why a woman seeks an abortion is no government's or religious do-gooder's god-dammed business. The decision begins and ends with her.
The anti-choice Gestapo in Oklahoma wants to eliminate the right to abortion because of religious beliefs. But in reality it is the woman who has full rights over her body, her pregnancy, her soul and her being; and these rights cannot be overridden by a fetus.
So the nosy-Ninnies of the Oklahoma Legislature and the anti-choice lobby should just be content with worrying about themselves--and maybe their waistlines and cholesterol levels.
By Gina Liggett at 10:00 AM · Labels: Abortion, Individual Rights, Religious Right
Leonard Peikoff on the NYC Mosque
NYC Mosque: Respect Property Rights
A Reversal of American Cowardice
Let Them Build the Mosque
Laura Bush Pro-Gay Marriage and Pro-Choice
By Endorsing Horrific 'Personhood' Measure, Republ...
Maes Afflicted with GOP's Abortion Schizophrenia
Rand Paul Wants Total Abortion Bans
Resolved: Republicans Are Schizophrenic on Abortio...


text:
Home News Sovereign wealth funds
Budweiser owes Singapore's wealth fund a drink
Nisha GopalanTue, Sep 24, 20199/24/2019 • 05:34 PM GMT+08 • 3 years ago • 3 min read
(Sept 24): The world's biggest brewer should raise a glass to Singapore. Anheuser-Busch InBev NV can probably thank the city-state's sovereign wealth fund for saving its Asian unit's Hong Kong initial public offering from an ignominious second failu
(Sept 24): The world's biggest brewer should raise a glass to Singapore. Anheuser-Busch InBev NV can probably thank the city-state's sovereign wealth fund for saving its Asian unit's Hong Kong initial public offering from an ignominious second failure. GIC committed to invest US$1 billion ($1.38 billion) in Budweiser Brewing Company APAC, which raised about US$5 billion after pricing its shares at the bottom of a marketed range.
In July, AB InBev pulled a US$9.8 billion sale that would have been the world's largest IPO this year after struggling to draw enough orders at the valuation sought. On that occasion, Budweiser Brewing eschewed the common Hong Kong practice of setting aside a block of stock for so-called cornerstone investors – companies, institutions or wealthy individuals that commit to invest and hold their shares for a minimum period, signaling confidence in a listing's prospects to the wider public.
A successful Budweiser Brewing offering in July would have dealt a blow to the cornerstone custom, as I observed then. Instead, it was the company that suffered. This time around, it went the conventional route.
Just as well. Despite halving its fundraising target, the company failed to create much buzz. Its valuation again looks to have been ambitious. At the bottom of the price range, Budweiser Brewing was priced at 17 times estimated 2020 enterprise value to Ebitda. That compares with 18.5 times for China Resources Beer Holdings Co, maker of the country's best-selling Snow brand. Arun George, an analyst who writes on Smartkarma, estimated Budweiser Brewing should trade at 16 times EV/Ebitda.
After the collapse of the July IPO, AB InBev sold the unit's Australian business for US$11.3 billion to Asahi Group Holdings. That enabled bankers to pitch the pared-down business as a growth play focused more tightly on developing Asia, particularly China. AB InBev has 46.6% of the market of the market for premium and super-premium beer in China, more than triple the share of nearest rival Tsingtao Brewery Co. The share of 2018 Ebitda drawn from the company's Asia Pacific West region – comprising China, India and Vietnam – rose to 72% from 50% after the Australian sale, according to Bernstein Research.
However, that still leaves a substantial chunk of earnings contributed by a slower-growing Asia Pacific East region that includes South Korea, Japan and New Zealand. In that light, the support of a heavyweight investor such as GIC may have made the difference in getting Budweiser Brewing over the line.
The irony of Singapore riding to the rescue won't have been lost on Hong Kong Exchanges & Clearing. The rival Asian financial center stands to gain more than most from the political turmoil and US-China trade tensions that have weighed on the Hong Kong stock exchange. A successful Budweiser Brewing listing may be critical in shoring up investor sentiment for a pipeline of IPOs to come that includes the lucrative secondary listing of Alibaba Group Holding.
That still depends on how the stock performs once it starts trading, scheduled for Sept 30. Keep the beer on ice until then.
Nisha Gopalan is a Bloomberg Opinion columnist covering deals and banking
Anheuser-Busch InBev NV
Budweiser Brewing Company APAC
Government Investment Corp (GIC)
Asahi Group Holdings
Broker's Calls
Resilience and recovery the theme for top ten 2023 regional equity picks: DBS
by Bryan Wu• December 07, 2022
ThaiBev is tempting Budweiser with a Saigon brew
by Reuters• December 03, 2019
GIC, Tencent in talks to form consortium for Universal Music Group stake


text:
This May 29, 2019, photo released by U.S. Customs and Border Protection (CBP) shows some of 1,036 migrants who crossed the U.S.-Mexico border in El Paso, Texas, the largest that the Border Patrol says it has ever encountered. U.S. Customs and Border Protection via AP
Facial Recognition is Changing CBP Operations
The tech is freeing up Customs and Border Protection employees—once they learned to trust it.
Brandi Vincent
Defense Technology Correspondent
It's been difficult for Customs and Border Protection insiders to accept that facial recognition technology is now better at identifying humans than their human eyes are, but that's also a primary reason why the agency is increasingly deploying it, Director of Policy Michael Hardin said at an event in Washington Wednesday.
"This was really hard for us to sort of admit to ourselves," Hardin said on a panel hosted by the Information Technology and Innovation Foundation. "But the reality of that is there are some things that machines are better at and there are some things people are better at. Right now, it's clear that machines are better at matching a photo to a person—and that's shown up in all of our research."
Hardin explained that, like many things across CBP and the Homeland Security Department, their use of biometrics and facial recognition largely stems from the aftermath of 9/11. Once follow-up reports revealed that many of the hijackers employed document forging methods to enter and exit the United States using various identities, the technology was introduced into the realm of immigration and border-crossing.
Today, Hardin said the agency's main use for facial recognition is to confirm that people are who they say they are as they move in, out and around the nation.
Related: Lawmakers Question FBI's Facial Recognition Program
Related: Moscow to Weave AI Face Recognition into Its Urban Surveillance Net
Related: Army Goggles Will Feature Facial Recognition Tech 'Very Soon'
"It's a huge advantage for us now, not just because the machine can perform better than the human in the actual matching, but also because it frees up the person to do other law enforcement activities in a small amount of time, which is really all they have," he said.
Benji Hutchinson, vice president of federal operations at the information technology company NEC Corporation, also differentiated between how facial recognition has come to be used across law enforcement versus how Hardin and others are implementing it across immigration services. Hutchinson said it's used in family reunification to identify matches of children that have been kidnapped, it helps dispel people who are wrongfully convicted and it supports officials in developing investigatory leads.
He also noted that Homeland Security and other components have recently launched a great deal of research around how to use the technology to review images of sexually exploited children on the dark web to try to identify the victims and their assailants.
"That's another area that's very cutting-edge and very new, but it's a promising use case," he said.
The experts also addressed the growing concerns lawmakers and advocates are raising around bias and disparities in the systems across racial and gender lines.
Hutchinson said he's seen "dramatic increases in the accuracy of the technology" over the last five years and noted that tests from the National Institute Standards and Technology revealed error rates as low as 1%. He said tests with high-performing algorithms and massive datasets of more than 5 million faces have error rates that are even lower.
"I like to remind people that NIST tested four algorithms in the late '90s, and last year they did over 150—we are talking a dramatic increase in competition," he said. "We do understand that it's never 100 percent and that's why we spend millions of dollars a year to keep fixing the algorithms and making them better."
Hardin also noted that CBP funded research at NIST to help them better understand bias and ensure their algorithms are working effectively.
"We wrote NIST a big check," he said.
The policy director added that although the agency "does not collect data on race," they've conducted some of their own internal studies including evaluating flights that are boarded biometrically instead of with boarding passes and flights that go to other sides of the world, in an effort to assess differentiation in the technology's performance.
"We haven't found anything consistent in any particular direction yet, but that doesn't mean that we don't take it seriously and we are not looking at it really seriously," Hardin said.
NEXT STORY: When Trump Threatens Google, Here's What He Doesn't Get


We recently wrote about U.S. Secretary of Labor, Hilda Solis's warning to all non-compliant employers that the Department of Labor is stepping up enforcement. It appears states are following suit and collecting millions of dollars in penalties. A staggering example of this is the recent lawsuit filed by New York Attorney General Andrew Cuomo against a New York City contractor, Michael Mahoney.
The suit alleges Mahoney, through six entities he controlled, violated New York wage and discrimination laws and failed to pay dozens of minority employees over $4 million in wages and overtime since 2002.
Among other things, Mahoney is alleged to have set pay rates based on ethnicity. White, Irish employees received an average of $25 per hour, African Americans received $18 per hour, and Hispanic employees received $15 per hour.
Additionally, Mahoney's companies routinely failed to pay overtime to its employees who consistently worked up to between 50 and 60 hours per week. According to the allegations, these companies attempted to cover up these violations by issuing multiple paychecks from different accounts, failing to provide pay stubs, and improperly recording hours.
Mahoney, during the investigation, invoked his Fifth Amendment rights in response to almost every question, which, unlike in criminal cases, may give rise to an inference of liability in civil cases.
While this was a message directed at employers with New York operations, states all across the country are taking similarly tough stances on violations of their workplace laws. With today's economic conditions, states may see such enforcement as not only appropriate, but a great way to make up budgetary shortfalls by collecting penalties from non-compliant employers. If you have not recently done so, have your HR policies and practices audited by competent legal counsel or HR consultants to ensure compliance with state and federal laws.


text:
Dr Ruth S Mompati District
Heritage Sites Icons Slideshow Dr Ruth S Mompati Tourism Routes 17 Oct, 2019
Taung Heritage Site
Western region of the North West Province
"Getting closer to nature" is the main focus of the Dr Ruth S. Mompati District (formerly Bophirima Region or Stellaland).
The principal town, Vryburg, is the centre of a large agricultural district which has all the modern conveniences. However moving out of the town and into the real Bophirima will provide a uniquely relaxing break from modern life. The larger part of the region is still commonly known as Stellaland. Taung is the site of the discovery of the Taung skull, one of the world's most important archaelogical discoveries. The region is also affectionately known as "The Texas of South Africa" given its strong mining and agricultural economy.
The region is situated 1,200m above sea level and has an annual average rainfall of 430mm. The climate is dry and healthy, particularly in winter when days are sunny and bracing. Summers are hot with temperatures ranging from 16 – 38 degrees C.
The vast expanses of this African savannah bushland is home to a great variety of game species, including lion, buffalos and rhino to be encountered at number of privately owned game reserves.
Molopo Game Reserve
Leon Taljaard
Schweizer Reneke
Mareetsane
Mothibastad
Pampierstad
Setlagole


Mini's U-Stuff-it Self-Storage is a secure, fenced self-storage facility with 700 units available. We carry a full range of moving equipment and supplies, including U-Haul trucks and trailers. Our self-storage facility is open to the public including commercial and residential customers.
Please continue to browse our website for more information about our company as well as our products and services. Contact our storage facility for information on pricing and availability.


text:
Come and enjoy the traditional dressing ceremony, singing and beer on Friday 30 June !
There will be singing and plenty of beer when Manneken-Pis is dressed in his Hong Kong costume on Friday 30 June 2017.
The Brussels icon will be dressed in his Hong Kong suit to celebrate the 20th anniversary of Hong Kong's reunification with China and the establishment of the Hong Kong Special Administrative Region (SAR) on 1 July 1997.
The brief, but not-to-be-missed, ceremony, a highlight of Brussels folklore, will take place from 11:30 am to 12:00 noon (Please see the full programme below).
The costume, which was donated to the City of Brussels by the Hong Kong Economic and Trade Office in Brussels in 2012, aims to convey a positive message about Hong Kong as a modern and connected city with a Chinese heritage. The design encapsulates the East-meets-West aspects of Hong Kong in a way that is instantly recognisable. A black traditional Chinese jacket bearing the Hong Kong Special Administrative Region's flying dragon logo and its coloured ribbons is teamed with a pair of trendy black jeans and red shoes with white laces. A tablet computer, a symbol of technology-driven modern city life, completes the costume.
Hong Kong a cappella choral theatre group Yat Po Singers (一舖清唱), which focuses on developing original theatrical works, will perform three songs at the event, namely "Hong Kong Our Home" (香港・我家), specially composed on the occasion of the 20th anniversary, "Horse Race" (賽馬) and "Man in the mirror".
According to his custom on festive occasions, the fountain statue will produce beer.
This event is supported by our close partner, the Belgium-Hong Kong Society, which has been promoting Belgium-Hong Kong friendship since 1986.
We look forward to seeing you on 30 June !
Welcoming remarks by a representative of the Order of the Friends of Manneken-Pis
Welcoming remarks by a representative of the City of Brussels
Brief remarks by Hong Kong's Special Representative for Economic and Trade Affairs to the European Union, Ms Shirley Lam
Performance by Hong Kong a capella choral theatre group Yat Po Singers
A representative of the Order of the Friends of Manneken-Pis sings the Manneken-Pis anthem
After briefly spraying the crowd with water, Manneken-Pis switches to beer, served to guests and bystanders.


text:
#include "lexer.hpp"
#include "common/char.hpp"
#include "exception/exception.hpp"
#include "io/input.hpp"

#include <assert.h>
#include <math.h>
#include <stdio.h>

using namespace Char;

enum NumericFormat {
	NUM_BIN,
	NUM_OCT,
	NUM_DEC,
	NUM_HEX,
};

static double makeFloat(long long integral, double fraction, double exponent) {
	return (integral + fraction) * exponent;
}

Lexer::Lexer(Input *_input) {
    input = _input;
}

Lexer::~Lexer() {
    delete input;
}

Token Lexer::lex() {
	Token tok;
	do {
		if(eof()) {
			return Token(tok::eof, getLocation());
		}

		tok = lexRaw();
	} while (tok.is(tok::whitespace) || tok.is(tok::comment));
	return tok;
}

Token Lexer::lexRaw() {
    char c = input->peek();
    if(isDigit(c)) {
        return lexNumericLiteral();
    }

    if(isNonDigit(c)) {
        return lexWord();
    }

    if (c == '"' || c == '`') {
        return lexStringLiteral();
    }

    if(c == '\'') {
        return lexCharLiteral();
    }

	if(c == '/') {
		char c1 = input->peek(1);
		if(c1 == '*') {
			return lexBlockComment();
		}

		if(c1 == '/') {
			return lexLineComment();
		}
	}

	if(isPunctuatorChar(c)) {
		return lexPunctuator();
	}

    if(isWhitespace(c)) {
        SourceLocation loc = getLocation();
        do {
            input->get();
        } while(isWhitespace(input->peek()));
        return Token(tok::whitespace, loc);
    }

    if(isEndOfLine(c)) {
        SourceLocation loc = getLocation();
        input->get();
        return Token(tok::newline, loc);
    }

	throw Exception("invalid input character found");
}

bool Lexer::eof() {
	return input->eof();
}

SourceLocation Lexer::getLocation() {
    return SourceLocation(input, input->tell());
}

String Lexer::lexUTF8Char() {
    String str;
    long long val = consumeHexSeq();

    if(val < 0x80) {
        str.append((char) val);
    } else if(val < 0x800) {
        str.append((char) (0xC0 | ((val >> 6) & 0x3F)));
        str.append((char) (0x80 | (val & 0x3F)));
    } else if(val < 0x10000) {
        str.append((char) (0xE0 | ((val >> 12) & 0x3F)));
        str.append((char) (0x80 | ((val >> 6) & 0x3F)));
        str.append((char) (0x80 | ((val & 0x3F))));
    } else if(val <= 0x10FFFF) {
        str.append((char) (0xF0 | ((val >> 18) & 0x3F)));
        str.append((char) (0x80 | ((val >> 12) & 0x3F)));
        str.append((char) (0x80 | ((val >> 6) & 0x3F)));
        str.append((char) (0x80 | ((val & 0x3F))));
    } else {
        throw Exception("UTF8 constant must be <= 0x10FFFF");
    }

    return str;
}

String Lexer::lexEscapeSequence() {
    assert(input->get() == '\\' && "expected '\\' beginning escape sequence");

    char c = input->get();

    // hex escape sequence
    if(c == 'x') {
        String str;
        char c = 0;
        int count = 0;
        while(isHexDigit(input->peek())) {
            c <<= 4;
            c += hextoi(input->get());

            if(count == 1) {
                str.append((char) c);
                c = 0;
            }

            count = (count + 1) % 2;
        }

        // there is left over bits at the end that we have buffered
        // left justify them in the byte and append to string
        if(count) {
            c <<= 4;
            str.append((char) c);
        }

        return str;
    }

    // oct escape sequence
    if(c == 'o') {
        String str;
        int c = 0;
        int count = 0;
        while(isOctDigit(input->peek())) {
            c <<= 3;
            c += octtoi(input->get());

            count += 3;

            if(count > 8) {
                str.append((char) (c & 0xff));
                c >>= 8;
                count -= 8;
            }
        }

        // there is left over bits at the end that we have buffered
        // left justify them in the byte and append to string
        if(count) {
            c <<= (8 - count);
            str.append((char) c);
        }

        return str;
    }

    // decimal escape sequence
    if(c == 'd') {
        //TODO
        throw Exception("lexer: decimal escape sequence not supported");
    }

    // binary escape sequence
    if(c == 'b') {
        String str;
        char c = 0;
        int count = 0;
        while(isBinDigit(input->peek())) {
            c <<= 1;
            c += bintoi(input->get());

            if(count == 7) {
                str.append((char) c);
                c = 0;
            }

            count = (count + 1) % 8;
        }

        // there is left over bits at the end that we have buffered
        // left justify them in the byte and append to string
        if(count) {
            c <<= (8 - count);
            str.append((char) c);
        }
        return str;
    }

    // unicode escape sequence
    if(c == 'u') {
        return lexUTF8Char();
    }

	switch(c) {
		case '\'': return String("'");
		case '"': return String("\"");
		case '\\': return String("\\");
		case '?': return String("\?");
		case '0': return String("\0");
		case 'f': return String("\f");
		case 'n': return String("\n");
		case 'r': return String("\r");
		case 't': return String("\t");
        case ' ': return String();
	}

	return String();
}

String Lexer::consumeWord() {
    String str;

    if(!isNonDigit(input->peek())) throw Exception("Lex Exception: invalid start character in word");

    do {
        str += (char) input->get();
    } while (isIdChar(input->peek()) && !input->eof());
    return str;
}

Token Lexer::lexWord() {
    SourceLocation loc = getLocation();
    String word = consumeWord();

#define KEYWORD(X) if(word == #X) return Token(tok::kw_##X, loc);
#include "tokenkinds.def"
    return Token::createIdentifierToken(word, loc);
}

unsigned long long Lexer::consumeDecSeq(int *len_out) {
	int len = 0;
    unsigned long long ret = 0;
    while(isDigit(input->peek()) || input->peek() == '_') {
		if(input->peek() == '_') {
			input->get();
		} else {
			ret *= 10;
			ret += dectoi(input->get());
			len++;
		}
    }

	if(len_out) *len_out = len;

	return ret;
}

unsigned long long Lexer::consumeHexSeq(int *len_out) {
	int len = 0;
	unsigned long long ret = 0;

    while(isHexDigit(input->peek()) || input->peek() == '_') {
		if(input->peek() == '_') {
			input->get();
		} else {
			char c = input->get();
			ret <<= 4; // each hex digit is 4 bits
			ret += hextoi(c);
			len++;
		}
    }

	if(len_out) *len_out = len;

	return ret;
}

unsigned long long Lexer::consumeOctSeq(int *len_out) {
	int len = 0;
	unsigned long long ret = 0;
    while(isOctDigit(input->peek()) || input->peek() == '_') {
		if(input->peek() == '_') {
			input->get();
		} else {
			ret <<= 3; // each oct digit is 3 bits
			ret += octtoi(input->get());
			len++;
		}
    }

	if(len_out) *len_out = len;

	return ret;
}

unsigned long long Lexer::consumeBinSeq(int *len_out) {
	int len = 0;
	unsigned long long ret = 0;
    while(isBinDigit(input->peek()) || input->peek() == '_') {
		if(input->peek() == '_') {
			input->get();
		} else {
			ret <<= 1; // each bin digit is 1 bit
			ret += bintoi(input->get());
			len++;
		}
    }

	if(len_out) *len_out = len;

	return ret;
}

Token Lexer::lexNumericLiteral() {
	SourceLocation loc = getLocation();

	NumericFormat format = NUM_DEC;
	bool floating = false;
	long long integral = 0;
	int fraclen = 0;
	double fraction = 0.0;
	long long fracdigs = 0;
	double exponent = 1;

    String num;

    if(input->peek() == '0') {
		input->get(); // ignore first leading zero
        char c = input->peek();
        if(c == 'x') {
			format = NUM_HEX;
            input->get();
            integral = consumeHexSeq();
        } else if(c == 'o') {
			format = NUM_OCT;
            input->get();
            integral = consumeOctSeq();
        } else if(c == 'b') {
			format = NUM_BIN;
            input->get();
            integral = consumeBinSeq();
        } else {
			integral = consumeDecSeq();
		}
    } else {
		integral = consumeDecSeq();
	}

	if(input->peek() == '.') {
		input->get(); // ignore .
		floating = true;
		if(format == NUM_HEX) {
			fracdigs = consumeHexSeq(&fraclen);
			if(fraclen) fraction = fracdigs / pow(16, fraclen);
		} else if(format == NUM_OCT) {
			fracdigs = consumeOctSeq(&fraclen);
			if(fraclen) fraction = fracdigs / pow(8, fraclen);
		} else if(format == NUM_BIN) {
			fracdigs = consumeBinSeq(&fraclen);
			if(fraclen) fraction = fracdigs / pow(2, fraclen);
		} else {
			fracdigs = consumeDecSeq(&fraclen);
			if(fraclen) fraction = fracdigs / pow(10, fraclen);
		}
	}

	// exponent part
	if(isExponentChar(input->peek())) {
		char expChar = input->get();
		bool negativeExp = false;

		floating = true;
		if(isSign(input->peek())) {
			if(input->get() == '-') {
				negativeExp = true;
			}
		}

		long long expSeq = consumeDecSeq();
		if(negativeExp) expSeq *= -1;
		exponent = (isBinExponentChar(expChar) ? pow(2, expSeq) : pow(10, expSeq));
	}

	if(!input->eof() && isalpha(input->peek())) {
		throw Exception(String("invalid trailing characters on numeric constant: ") + String(input->get()));
	}

	if(floating) {
		return Token::createFloatToken(makeFloat(integral, fraction, exponent), loc);
	} else {
		return Token::createIntToken(integral, loc);
	}
}

//TODO: deal with whitespace
Token Lexer::lexStringLiteral() {
	SourceLocation loc = getLocation();
    char c = input->peek();
    String str;
    while(c == '"' || c == '`') {
        if(c == '"') {
            str.append(lexNormalStringLiteralPart());
        } else if(c == '`') {
            str.append(lexRawStringLiteralPart());
        }
        c = input->peek();
    }
	return Token::createStringToken(str, loc);
}

String Lexer::lexNormalStringLiteralPart() {
    char c;
	String str;

	if((c = input->get()) != '\"') { // ignore "
        String error = "lexer: expected \", found ";
        error.append(c);
		throw Exception(error);
	}

	while((c = input->peek()) != '\"') {
		if(input->eof()) {
			throw Exception("expected closing \", found EOF");
		}

		if(input->peek() == '\\') {
            String escape = lexEscapeSequence();
            str.append(escape);
		} else {
			str += input->get();
		}
	}

	if((c = input->get()) != '\"') { // ignore "
		throw Exception("lexer: expected terminating \" in string");
	}

	return str;
}

String Lexer::lexRawStringLiteralPart() {
	String str;

	if(input->get() != '`') { // ignore `
		throw Exception("lexer: expected `");
	}

	while(input->peek() != '`') {
		if(input->eof()) {
			throw Exception("expected closing `, found EOF");
		}

		str += input->get();
	}

	if(input->get() != '`') { // ignore `
		throw Exception("lexer: expected terminating ` in raw string");
	}

	return str;
}

Token Lexer::lexCharLiteral() {
    SourceLocation loc = getLocation();
    assert(input->peek() == '\'');

	// ignore opening '
	if(input->get() != '\'') {
		throw Exception("lexer: expected \' beginning char constant");
	}

	char c;
    if(input->peek() == '\\') {
        String escape = lexEscapeSequence();
        if(escape.length() < 1) throw Exception("lexer: invalid empty character literal");
        if(escape.length() > 1) throw Exception("lexer: escape sequence is greater than one byte long");
        c = escape.charAt(0);
    } else {
		c = input->get();
	}

	// ignore closing '
	if(input->get() != '\'') {
		throw Exception("lexer: expected \' following char constant");
	}

    if(!c) {
		throw Exception("lexer: invalid empty character literal");
    }

    return Token::createCharToken(c, loc);
}

Token Lexer::lexPunctuator() {
	SourceLocation loc = getLocation();
	String str;
	str += input->get();

	#define OPT_CONSUME(C, DO) {if(input->peek() == C) { str += input->get(); DO; }}

	switch(str[0]) {
		case '~':
			return Token(tok::tilde, str, loc);
		case '!':
			OPT_CONSUME('=', return Token(tok::bangequal, str, loc));
			return Token(tok::bang, str, loc);
		case '%':
			OPT_CONSUME('=', return Token(tok::percentequal, str, loc));
			return Token(tok::percent, str, loc);
		case '^':
			OPT_CONSUME('=', return Token(tok::caretequal, str, loc));
			return Token(tok::caret, str, loc);
		case '&':
			OPT_CONSUME('=', return Token(tok::ampequal, str, loc));
			OPT_CONSUME('&', return Token(tok::ampamp, str, loc));
			return Token(tok::amp, str, loc);
		case '*':
			OPT_CONSUME('=', return Token(tok::starequal, str, loc));
			OPT_CONSUME('*', return Token(tok::starstar, str, loc));
			return Token(tok::star, str, loc);
		case '(':
			return Token(tok::lparen, str, loc);
		case ')':
			return Token(tok::rparen, str, loc);
		case '-':
			OPT_CONSUME('=', return Token(tok::minusequal, str, loc));
			OPT_CONSUME('-', return Token(tok::minusminus, str, loc));
			return Token(tok::minus, str, loc);
		case '+':
			OPT_CONSUME('=', return Token(tok::plusequal, str, loc));
			OPT_CONSUME('+', return Token(tok::plusplus, str, loc));
			return Token(tok::plus, str, loc);
		case '=':
			OPT_CONSUME('=', return Token(tok::equalequal, str, loc));
			return Token(tok::equal, str, loc);
		case '[':
			return Token(tok::lbracket, str, loc);
		case ']':
			return Token(tok::rbracket, str, loc);
		case '{':
			return Token(tok::lbrace, str, loc);
		case '}':
			return Token(tok::rbrace, str, loc);
		case '|':
			OPT_CONSUME('=', return Token(tok::barequal, str, loc));
			OPT_CONSUME('|', return Token(tok::barbar, str, loc));
			return Token(tok::bar, str, loc);
		case '/':
			OPT_CONSUME('=', return Token(tok::slashequal, str, loc));
			return Token(tok::slash, str, loc);

		case '<':
			OPT_CONSUME('=', return Token(tok::lessequal, str, loc));
			OPT_CONSUME('<', return Token(tok::lessless, str, loc));
			return Token(tok::less, str, loc);

		case '>':
			OPT_CONSUME('=', return Token(tok::greaterequal, str, loc));
			OPT_CONSUME('>', return Token(tok::greatergreater, str, loc));
			return Token(tok::greater, str, loc);
		case ':':
			OPT_CONSUME('=', return Token(tok::colonequal, str, loc));
			return Token(tok::colon, str, loc);

		case ';':
			return Token(tok::semicolon, str, loc);

		case '.':
			OPT_CONSUME('.', OPT_CONSUME('.', return Token(tok::dotdotdot, str, loc)); return Token(tok::dotdot, str, loc));
			return Token(tok::dot, str, loc);

		case ',':
			return Token(tok::comma, str, loc);

		default:
			String err = String("lexer: unknown punctuator character in input: ");
			err += str[0];
			throw Exception(err);
	}
}

Token Lexer::lexBlockComment() {
	SourceLocation loc = getLocation();
	String str;

	input->get();
	input->get(); // ignore /*

	int level = 1;
	char c;
	do {
		c = input->get();
		if(c == '/' && input->peek() == '*') {
			level++;
			str += c;
			str += input->get();
			continue;
		}

		if(c == '*' && input->peek() == '/') {
			level--;
			if(level <= 0) break;

			str += c;
			str += input->get();
			continue;
		}

		str += c;

		if(input->eof() && level > 0) throw Exception("expected closing '*/' for block comment");

	} while(true);

	return Token::createCommentToken(str, loc);
}

Token Lexer::lexLineComment() {
	SourceLocation loc = getLocation();
	String str;

	input->get();
	input->get(); // ignore //

	do {
		str += input->get();
	} while(input->peek() != '\n' && !input->eof());

	return Token::createCommentToken(str, loc);
}

redpajama_set_name: RedPajamaGithub


text:
Q: Write text on background image is not responsive I want to write some text on image, i set the image as background to my div element but when i write the text it goes outside the image in small screen devices. how can that be fixed to make it full responsive ? I've write this code :

#background {
  background: url("../../imgs/88246.jpg") no-repeat;
  background-size: 100%;
}

AYMAN TARIG

A: You can do it by playing around with vw as the font-size and image width so they both resize together responsively. Read more about vw here.
Here's an example of how you can make it work:
#background {
  background: url("https://images.unsplash.com/photo-1547845737-153b5373560f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2531&q=80") no-repeat;
  background-size: cover;
}

.h-100 {
  height: 20%;
  width: 25vw;
  overflow: hidden;
}

h1 {
  display: block;
  font-size: 6vw;
}

If you go this go codepen you can see what I'm talking about in action:
https://codepen.io/MatthewRader/pen/aMrvrx

A: TABLET
 @media screen and (max-width: 1024px){
 h1 { font-size:SIZETHATFITS}}

PHONE
 @media screen and (max-width: 480px){
 h1 { font-size:SIZETHATFITS}}

@media screen and (max-width: #px) will only affect the font-size up to that max-width.


It is not a question of if, but rather when, gold and silver will surge. Initially, the revaluation of precious metals will have nothing to do with an investment mania but with the total mismanagement of the world economy. A spectacular rise in the metals is just a reflection of the mess the world is in. As the paper market fails, there will be panic, and manic markets.
So has the Silver Rocket just started? We could be seeing the beginning of it right now.
Von Greyerz discusses the gold:silver ratio; the one solution to the global mess; the 1970s—market crash, oil crisis, miners' strike, and a 21% mortgage rate; Nixon throwing the dollar to the wolves; US rates breaking a 30-year downtrend; the 4 dominant trends in the coming 3 to 7 years; and the US as an accident waiting to happen.
The US is a potential disaster, with debts and deficits running out of control. The budget deficit for 2018 will break $1 trillion. The August deficit alone was $214 billion. In the last 12 months, US debt is up by $1.6 trillion. It will increase by at least $2 trillion annually in coming years. As rates rise, tax revenue won't even cover the interest costs.
It's the end of a secular super-cycle in the world economy, so the topping action could last a bit longer, especially in stocks. But market risk is at an extreme, and investors must consider whether they should ride a potential final small wave, or batten down the hatches and take all the protective measures at their disposal.
With risk at a historical extreme, wealth protection is critical. In virtually every crisis in history, physical gold and silver have served as the best insurance available. There is no reason why it would be different this time.


Initiation Fee of $600. It can be paid in full on joining, or $300 at joining and $300 on the first anniversary of membership.
CCSC membership requires a membership in the Soaring Society of America (SSA) which is $72. This is included as part of the yearly dues of the club.
SSD Shares – At least twelve (12) shares in the Soaring Society of Dayton must be purchased at $100 per share. The full 12 shares may be purchased at the time of joining or over a period of time. At least one share must be purchased per year and is billed in April. Any member owning fewer than twelve shares is charged a fixed fee of $5 per month.
Dependent children and spouses of Members may fly club aircraft, with appropriate FAA licenses and paper work, but must become Youth or Family Members, themselves, prior to achieving solo status.
Shall be less than 21 years of age, and shall have all the rights of a Member, but is exempt from the share ownership requirements.
Dues – $12 per month; $11 per month if the Youth Member owns at least one share in SSD.
No additional initiation fee is required when becoming a Member, but must begin paying Member dues.
Share purchase requirement deferred for one year.
A spouse of an active Member may elect to become a Family Member. Dues are $12 per month.
Must be on Active duty in the military but is exempt from the share ownership requirement.
SSA members who want to fly their own gliders at CCSC incur a $50 Tow Fee.
Full membership is required to act as pilot in command (PIC) of a CCSC club aircraft. This requirement is not in any way related to FAA regulations about pilot authority but it is a consequence of our club insurance policy which is purchased through the national SSA organization. As such, we benefit from the SSA group insurance policy for clubs.
We are a true club, a member service group that does not exist to make a profit and expects its members to help out anywhere they can. As such club members serve on a crew day once a month. Crew are assigned to cover one weekend day a month. Your crew day, which you can initially pick, will be on either a Saturday or Sunday during the 1st, 2nd, 3rd or 4th week of the month. Your crew day remains the same unless you request a change but we try to balance the load and keep the crew counts as even as possible. If you can not make your crew day, you are responsible for finding another member to take your place, usually in exchange for covering them at their next crew day. Serving on a crew day has many benefits, from getting to know members of the club to helping keep operation costs as low as possible.
Visiting pilots may fly dual flights with a CCSC instructor under the same guidelines as introductory flights.


text:
TK This Week: Thanksgiving Edition
In which we give thanks for good ideas, poorly executed
Beginning a post-turkey descent to nap yesterday, I channel-surfed and caught a familiar sight: a wideout running past a Detroit Lion into the end zone. "You allow Will Fuller free release like that, forget about it," the color man noted. The score was about a million to six, early in the fourth.
I closed my eyes for maybe five seconds and it was happening again. This time it was a double-pass to Fuller, who walked in from about the 20, with Detroit's Justin Coleman diving and missing him at the goal line for effect. The announcers were trying not to laugh too hard.
Kurt Vonnegut wrote an underrated book called Galapagos in which the names of characters who were destined to die before sunset were marked with an asterisk. The next time they showed Lions coach Matt Patricia on the sideline, you could see the asterisk over his head. After the game, they asked Lions tight end T.J. Hockenson about the possibility that Patricia could be fired.
"I can't say," he said. "I'm not going to comment on somebody else's job. I'm just here to do mine."
Ouch. In the NFL, when players stop referring to their coach by name, it's over. It's like with an Ebola patient: once they start bleeding from the eyes, there's nothing left to do but lie to them.
Whose brilliant idea was it to put the Lions on every Thanksgiving? This tradition has made no one happy: not the poor embarrassed citizens of Detroit, not the rest of the country that has to watch these horrible scenes every year, not the NFL, nobody. The Lions are among humanity's great statistical anomalies. By accident, a sports team will be good once. The Cincinnati Bengals made the Super Bowl two times! The Lions have never been good at anything, except keeping coaches years past their expiration date and forcing generational players to retire young. The last time they won a playoff game, Bill Clinton was a sex symbol.
Nobody could have known what was coming when they first started the tradition back in the thirties. Today, the early holiday Lions game is about as enjoyable as a public service warning about prostate cancer. But it probably seemed like a good idea once. A lot of things are like that: good ideas, but poorly implemented, maybe by the wrong people.
Thanksgiving is one. Every November, modern Americans wear Pilgrim hats for fun. The Pilgrims crossed the Atlantic to escape fun. They were horrible people. A settler named Thomas Morton had the audacity to erect a Maypole and the Pilgrims burned his house down and had him "fett into the bilbowes," i.e. put in leg irons. The ideal Plymouth male hated women but was aroused by pennies. He employed punishments like whipping, the "ducking stool," and the cleft stick, which was a split piece of wood he'd cram on your tongue for lying, whispering in church, or other speech offenses.
The Pilgrim was the Anglo-Saxon version of the Taliban and his spirit — in the form of the censorious Yankee cheapskate who drove his sex impulse ten miles underground, in secret coprophilia sessions with paid ladies and gentlemen — lived on in America for centuries. This was before we even get to how he actually treated the indigenous population.
The catch was that the Pilgrims were escaping an even worse group of people, the English aristocrats of the sixteenth century. These were dandies in codpieces who wore the whitest possible face-powder, so no one would mistake them for someone who had to work outside. They'd made it the law of the land that everyone had to worship a faith created to legalize the urges of an obese hypersexualized serial killer of a king, who saw plots everywhere and beheaded a string of courtiers and brides. As Eddie Izzard would say, Thank you for flying Church of England, Anne Boelyn!
Put Pilgrims in the context of what they were fleeing, and they suddenly don't look quite as bad. Which is kind of how I feel about America generally. It's true, some of our first leaders weren't great people. But they were at least recoiling from an even worse group of people. They had some good ideas, too, not that all of them turned out so well. Was that all on them? Ask the people who owned the Lions in 1934 — the future can be hard to predict.
In any case, Happy Thanksgiving, if you're still of a mind to celebrate. In TK this week, you'll find:
For What are America's Wealthy Thankful? A Worsening Culture War. Essay on the increasing cultural divide, and who might benefit from it.
Meet the Censored: Andre Damon. TK talks to the writer and editor at the World Socialist Web Site, which has been at the center of the content-moderation debate.
New today: S—t Public Defenders See: Innocent, But Fined. An Iowa Legal Aid lawyer explains how in his state, when it comes to court costs, you're better off being guilty.
New today: Everbody's Saying It: "Guardrails." A new feature in which we catalog the in-fashion politico-phrase of the moment. This week, the latest craze in verbally safety-proofing democracy.
TK Math: Rudy Giuliani. Man leaks hair dye, grimaces, reminds us of something. Going to keep tinkering with this feature.
Thanks again, and have a relaxing weekend.
Lekimball
Writes Lekimball's Newsletter
And p.s. Yeah, ALL the Pilgrims were horrible people. Slavery existed all over the world, so it's not surprising it came here, too, and WE ended it. Our forefathers anticipated the end of it, if yo u don't think so read John Adams' tirades against it and the way they worded the constitution. John Adams is my cousin, both descended from Henry Adams of Braintree -- and he paid them and taught them and railed against it constantly on the senate floor. Washington and Jefferson made changes in the right direction. And just where were these wonderful people, the inherently wonderful ones? Just where did they come from? Indigenous Native Americans were violent as could be. Killed each other with abandon and owned slaves. Just where are these oh so wonderful people who were inherently good and never had to evolve into decent people? Give it a rest. So America is just so so. Whatever. NO people are great. They have all head to evolve and we did better than most. Too bad you can't be more thanksful for things.
yet another Pilgrim descendant chiming in to defend them. Yes, they were uptight and it's woke to make fun of them. But you and your fellow New England haters obsess about this prudery, which as you note is not that weird in the contest of the seventeenth century, and ignore a much more important contribution. The Pilgrims, who have morphed into today's Congregationalists and Unitarians, rejected all religious hierarchy and made the religion essentially democratic. So while the Catholic Church creaks on as a medieval relic, those cantankerous Pilgrims and their unique style of governance allowed their religion to adapt to the times. You'd be hard pressed to find more liberal denominations than the Congos and the Unitarians, which is a testament to just how flexible this religious structure was. And it's undeniable that New England, ruled by these churches through the nineteenth century, was responsible for the country's great universities, writers, philosophers, the Revolution and the abolition of slavery. All in all, it's a pretty good scorecard. Happy post Thanksgiving recovery everyone.
122 more comments…


text:
RT @EveryBat: BAT #534 The Alcathoe bat (Myotis alcathoe) from Europe. (Photo: Tomas Svacina) https://t.co/Fc0KXKWHKD 3 hours ago
RT @practiceupdate: Cardiorespiratory Fitness Linked to Gray Matter Volume ow.ly/xzO230q7d9u 3 hours ago
RT @Medscape: Experimental technique that uses an injectable ice slurry to zap away unwanted fat. ms.spr.ly/6011TkdiX 3 hours ago
RT @scisignal: The MARTX toxin of Vibrio cholerae contains effector domains that promote virulence while suppressing pro-inflammatory signa… 3 hours ago
RT @JCellBiol: .@SandraEdwJor @alglavic @bellaiche_y et al demonstrate the dual regulation of phagosomal degradation and migration by the l… 3 hours ago
Follow @MichaelBuratovi
Synthetic Silicate Stimulates Stem Cells to Form Bone Cells
Researchers from Boston, MA have used synthetic silicate nanoplatelest or layered clay to induce bone cell formation from stem cells in the absence of other bone-inducing factors.
Synthetic silicates are composed of either simple or complex salts of silicic acid (SiH4O4). Silicic acids have been used extensively in commercial and industrial applications that include food additives, glass and ceramic filler materials, and anti-caking agents.
In this study, novel silicate nanoplatelets were constructed that stimulated human mesenchymal stem cells to differentiate into bone-making cells in the absence of any bone-inducing growth factors or cytokines. The presence of the silicate triggers a set of events inside the mesenchymal stem cells that re-enacts the steps cell normally take during development when they form become bone cells. These exciting findings illustrate how the use of these silicate nanoplatelets in designing bioactive scaffolds for tissue engineering can lead to the formation of clinically useful bone tissues.
The lead author of this work, Ali Khademhosseini from the division of biomedical engineering at Brigham and Woman's Hospital, thinks that silicic acid derivatives might be useful in engineering bone. "With an aging population in the U.S., injuries and degenerative conditions are subsequently on the rise," said Khademhosseini. This means that there is also an increased demand for therapies to repair damaged tissues. Forming such tissues requires protocols to direct stem cell differentiation so that the cells can form new tissues and biomaterials. According to Khademhosseini, "Silicate nanoplatelets have the potential to address this need in medicine and biotechnology."
"Based on the strong preliminary studies, we believe that these highly bioactive nanoplatelets may be utilized to develop devices such as injectable tissue repair matrixes, bioactive filters, or therapeutic agents for stimulating specific cellular responses in bone-related tissue engineering," said Akhilesh Gaharwar, first author of this present study.
Future mechanistic studies are necessary to elucidate those underlying pathways that govern the induction of bone differentiation by materials like silicates. Such studies should lead to a better understanding of how particular strategies can be adjusted to improve the performance of lab constructed biomaterials, and accelerate patient recovery time.
Posted on June 6, 2013 June 6, 2013 Categories Biomaterials, Bone marrow stem cells, Bone treatments, Mesenchymal Stem Cells, Model Systems, Tissue EngineeringTags Bone engineering, osteogenesis, osteogenic growth factors, Silicates
For Treating Heart Attacks, Satellite Cells Lacking MyoD are Superior to Those With MyoD
Atsushi Asakura and his colleagues at the University of Minnesota Stem Cell Institute have extended some of their earlier findings in a paper that appeared in PLoS One last year. This paper is almost a year old by now, but its results are fascinating and are definitely worth examining.
In 2007, Asakura published a paper with the Canadian researcher Michael A. Rudnicki in the Proceedings of the National Academy of Sciences. In this paper, Asakura and his colleagues examined the ability of muscle satellite cells from MyoD- mice to integrate into injured muscle. I realize that last sentence just sounded like gobbledygook, to some of you, but I will try to put the cookies on a lower shelf.
Satellite cells constitute a stem cell population within skeletal muscle. They are a small population of muscle-making stem cells found in skeletal muscle and they express a whole host of muscle-specific genes (e.g., desmin, Pax7, MyoD, Myf5, and M-cadherin). Satellite cells are responsible for muscle repair, but previous work has shown that there are at least two populations of satellite cells in skeletal muscle. One population rapidly contributes to muscle repair, whereas the other population is more stem cell-like and remains longer in an undifferentiated state in the recipient muscle (see Beauchamp JR , et al (1999) J Cell Biol 144:1113–1122; Kuang S , et al (2007) Cell 129:999–1010). Presently, it is not clear which population is more efficient in repairing continuously degenerating muscle.
MyoD is a gene that encodes a protein that binds to DNA and activates the expression of particular genes. It plays a vital role in regulating muscle differentiation, and belongs to a family of proteins known as myogenic regulatory factors or MRFs. All MRFs are bHLH or basic helix loop helix transcription factors, and they act sequentially in muscle differentiation. MRF family members include MyoD, Myf5, myogenin, and MRF4 (Myf6). MyoD is one of the earliest genes that indicates a cell has committed to become a muscle cell. MyoD is expressed in activated satellite cells, but not in quiescent (sleeping) satellite cells. Strangely, even though MyoD marks myoblast commitment, muscle development is not dramatically prevented in mouse mutants that lack the MyoD gene. However, this is likely to result from functional redundancy from Myf5. Nevertheless, the combination of MyoD and Myf5 is vital to the success of muscle production.
Therefore, Asakura and his crew decided to isolated muscle satellite cells from mice that lacked functional copies of the MyoD gene. Making such mice is labor intensive, but doable with mouse embryonic stem cell technology. When such MyoD- mice were made, Asakura and others isolated the satellite cells from these mice and characterized them. They discovered in their 2007 paper, that the satellite cells from the MyoD- mice were much more stem cell-like than satellite cells from MyoD+ mice. The MyoD- satellite cells grew better in culture, integrated into injured muscles better and survived better than their MyoD+ counterparts.
Why is this important? Because when it comes to treating degenerative muscle diseases like muscular dystrophy, finding the best cell is crucial. MyoD+ satellite cells have been used, but they are limited in the amount of muscle repair they provide. MyoD- cells might be a better option for treating a disease like muscular dystrophy.
Or for that matter, what about the heart? Finding the right cell to treat the heart after a heart attack has proven difficult. There are some things bone marrow cells do well, and other things they do not do well when it comes to regenerating the heart. Likewise, there are some things mesenchymal do well and other things they do not do well when placed in a damaged heart. Can MyoD- satellite cells do a better job than either of these types of stem cells?
That was the question addressed in the 2012 Nakamura paper that was published in PLoS One. Clinical trials that have treated heart attack patients with injections of MyoD+ satellite cells into the heart have shown that such treatments can improve heart function, but usually only transiently. They also prevent remodeling of the heart after a heart attack. However, two larger studies failed to produce significant improvements in heart function compared to the placebo, and patients who received the satellite cell transplants were also susceptible to very fast heart beats (tachycardia). Because of these downsides, the excitement for transplanting muscle satellite cells into the heart has waned.
So how did MyoD- satellite cells do? All the laboratory animals used in this experiment (BALB/c mice) were given heart attacks, and injected with either MyoD+ or MyoD- satellite cells. The hearts of animals injected with MyoD- satellite cells were compared with animals whose hearts were injected with MyoD+ satellite cells.
In culture, the MyoD- satellite cells grew better than the MyoD+ cells. When injected into the heart, the MyoD- cells integrated into the heart muscle and spread throughout the heart muscle much more robustly than the MyoD+ cells. The MyoD- cells were also much less susceptible to cell death and survived better than their MyoD+ counterparts.
(A) These panels show MI induced by left coronary artery ligation. Wild-type and MyoD−/− myoblasts were directly injected into the peri-infarct regions of LV. After 1 week, X-gal staining of whole heart indicated that more MyoD−/− myoblasts engrafted than wild-type myoblasts (arrows). Arrowheads indicate left coronary artery ligation points. X-gal staining of cross sections indicated that more MyoD−/− myoblasts than wild-type myoblasts engrafted in both injured and uninjured areas of the heart. Arrows indicate engrafted lacZ+ wild-type and MyoD−/− myoblasts. Scale bars = 1 mm.
Functionally speaking for the heart, animals that had received transplantations of MyoD- satellite cells had higher ejection fractions, small areas of dead heart tissue, lower end systolic and end diastolic volumes, and more normal echocardiograms. Even though MyoD- cells differentiated into skeletal muscle and not heart muscle (no surprise there), the MyoD- cells induced a very substantial quantity of new blood vessels to sprout in the scar area.
(A) Two weeks post-transplantation, immunofluorescence staining of heart cross sections showed that the progeny of lacZ+ wild-type and MyoD−/− myoblasts formed nestin+ multinucleated skeletal myotubes. Laminin (red) indicates cardiomyocytes and skeletal myotubes. Arrows indicate lacZ+ donor cell-derived nuclei in nestin+ myotubes. (B) Comparison of the relative numbers of lacZ+/nestin+ myotubes for wild-type and MyoD−/− myoblasts 2 weeks after injection (n = 3).
From these experiments, it seems that the MyoD- satellite cells are superior to the MyoD+ satellite cells for treating heart after a heart attack. These cells secrete a whole host of factors that aid the heart in healing and also structurally support the heart and prevent remodeling.
Might it be possible to use such cells in human trials? Asakura notes that engineering MyoD- satellite cells would be impractical for human clinical purposes, but it might be possible to downregulate MyoD expression with drugs (bromodeoxyuridine) or other reagents (RNAi or Id protein transformation).
This work shows that there is a better way to use muscle satellite cells for heart treatments. It simply requires you to remove MyoD function, and the cells will grow and spread throughout the heart better, and more robustly augment heart function and healing.
See NakamuraY, et al PLoS One 7(7) 2012:e41736.
Posted on June 6, 2013 Categories Alternatives to Embryonic Stem Cells, Model Systems, Stem Cell Biology, Stem Cell Heart TreatmentsTags acute heart attacks, bHLH proteins, E box proteins, ejection fraction, end diastolic volume, End systolic volume, health, medicine, Mouse gene knock-outs, Muscle Satellite cells, Myf5, myocardial infarction, MyoD, Myogenesis, Myogenic Regulatory Factors, science, skeletal muscles