text:
Dominic Brewer—Expert on Education Policy and Economics—Named Dean of the Steinhardt School
Education and Social Sciences Campus and Community
Research Steinhardt School of Culture, Education, and Human Development
Dominic Brewer – the Clifford H. and Betty C. Allen Professor in Urban Leadership at the University of Southern California and an expert in the economics of education and educational policy – has been named as Gale and Ira Drukier Dean of NYU's Steinhardt School of Culture, Education, and Human Development.
Dominic Brewer – the Clifford H. and Betty C. Allen Professor in Urban Leadership at the University of Southern California and an esteemed expert in the economics of education and educational policy – has been named as Gale and Ira Drukier Dean of NYU's Steinhardt School of Culture, Education, and Human Development. ©Steve Cohn
NYU President John Sexton and Provost David McLaughlin today named Dominic Brewer – the Clifford H. and Betty C. Allen Professor in Urban Leadership at the University of Southern California and an esteemed expert in the economics of education and educational policy – as Gale and Ira Drukier Dean of NYU's Steinhardt School of Culture, Education, and Human Development. He will take up his duties as dean on September 1, 2014.
John Sexton said, "The Steinhardt School is a school of unique complexity. Its scholarship covers a diverse range of fields – education, of course, but also studio arts and the performing arts; health-related fields; media, culture, and communications; food studies; and applied psychology, to name only some of its programs. The search for a dean required finding a person with an appreciation for a wide range of scholarly interests; the ability to lead a diverse faculty; a commitment to keep research and scholarship at the forefront of Steinhardt's agenda; and a vision for the school's future that connects it to NYU's other schools, our city's resources, and the global network NYU has built.
"And in Dominic Brewer, we have found such a person. His expertise in education economics and public policy, his experience at the RAND Corporation, his immersion in educational policy, and his own global background make him an ideal candidate for the deanship of Steinhardt.
"But beyond his impressive CV, what most struck the Dean Search Committee, so ably headed by Professor J. Lawrence Aber, was his evident ability to deal with complexity, his thoughtful balance of the visionary and the pragmatic, his forthrightness and sense of humor, his confidence, and his highly strategic approach to the issues confronting Steinhardt.
"And so, David McLaughlin, NYU's provost, and I proudly welcome Dominic Brewer to the NYU community, and ask all of NYU, and the Steinhardt community in particular, to join us in congratulating him. And we ask everyone to join us as well both in thanking the Dean Search Committee and Professor Aber for bringing us such an excellent candidate, and in thanking Mary Brabeck, Steinhardt's dean since 2003, for her outstanding service."
Dominic Brewer was named the Clifford H. and Betty C. Allen Professor in Urban Leadership at the Rossier School of Education at USC in 2007, where he also served five years in Associate and Vice Dean roles. Prior to joining the faculty at USC in 2005, he spent 11 years at the RAND Corporation, rising to vice president in 2004.
Dean Brewer is a labor economist specializing in the economics of education and education policy. He is the author of numerous books, articles and chapters on a broad range of education issues in both K−12 and higher education. His work includes empirical analyses of the effects of teachers on student achievement, class size (including a review of the research literature published in Scientific American), and charter schools as well as a book on competition in higher education, In Pursuit of Prestige (2001). Most recently, he was a co-editor of the major journal Educational Evaluation and Policy Analysis and is co-editor of the forthcoming Encyclopedia of Education Economics and Finance (2014). He currently serves as President of the Association for Education Finance and Policy (AEFP) for 2014-15 and is a fellow of the American Educational Research Association (AERA), elected in 2011.
He received his BA in philosophy, politics, and economics with first class honors from Oxford University in 1987, his MA in economics from the University of Wisconsin-Milwaukee in 1989, and his PhD in labor economics from Cornell University in 1994.
James Devitt
Social Isolation Among Older Adults Linked to Having Fewer Teeth
Food Labeling is Lacking in Online Grocery Retailers
'BRAINIACS' Episode 7: 6G and the Future of Wireless Tech
Your Anxiety Isn't Going Anywhere. Here's How To Put It To Work
The Curtain Rises on a More Inclusive Broadway
Physicists Discover How Particles Self-Assemble
NYU Wagner's NYC 2025 Initiative Plans Nov. 17 Discussion with the Association for a Better New York on Policies to Help the City to Advance


text:
The Power of Data for Healthy Communities
Author(s): Robert Wood Johnson Foundation
How can data illuminate health gaps and be a powerful tool for change?
Local health data are a powerful tool to help everyone in a community better understand the health of their neighborhoods—and provide a clear picture of the biggest health challenges and opportunities its residents experience.
Local health data can serve as a rallying point and common platform to help residents, community leaders, policymakers, and advocates come together to set common goals for improvement and drive change.
By analyzing data, we can tell a story about a community. Too often, these analyses reveal that not everyone in a community has access to the same opportunities to be healthy. Local health data illuminate where there are gaps, where some people and places are cut off from opportunities to be healthy, and where we can all come together to take action.
The Robert Wood Johnson Foundation supports multiple efforts to provide community leaders and residents with local health data, as well as data about the drivers of health at the state, county, city and census tract levels. These data resources allow communities to uncover health challenges, better target resources, and measure progress toward assuring a fair and just opportunity for health.
Download report (PDF)

redpajama_set_name: RedPajamaCommonCrawl


imahazimah Great seller to deal with! Prompt delivery!
mycloset.adia Great seller to deal with! Item delivered as described. Prompt delivery! Punctual! Punctual! Pleasant transaction! Thank you! Thank you! Thank you!
fyzyy Speedy replies Prompt delivery! Great seller to deal with! Great seller to deal with!


text:
Vehicular manslaughter: A serious crime
Vehicular manslaughter refers to the crime of accidentally killing someone while driving irresponsibly. Driving under the influence of drugs or alcohol (DUI), not following traffic rules, or exceeding speed limits are all examples of irresponsible driving.
Accidents resulting from negligent and illegal driving practices may cause the death of pedestrians, passengers of the driver's car, or those present in vehicle(s) that the driver collided with. Loss of any of these lives is considered the outcome of a crime for which the driver must be charged and ultimately punished. The driver is considered at fault because s/he drives under prohibited conditions, knowing very well that the consequences of their action might be fatal for someone.
Below mentioned are some of the driving practices that are punishable in the court of law following a life-threatening accident.
Ordinary negligence
Ordinary negligence means not observing caution that is ordinarily required while driving. For example, momentarily turning while talking to someone in the passenger seat may result in an accident, and hence be considered as an act of carelessness. Some states consider such acts of negligent driving punishable if the resulting accident causes someone to lose their life.
Criminal negligence
Certain states, however, only charge drivers with a vehicular manslaughter case if the act of carelessness falls under criminal negligence rather than ordinary negligence. Criminal negligence refers to driving practices that disregard others` safety knowingly and consciously as compared to ordinary negligence, which is an unintentional mishap resulting from a brief moment of distraction.
Examples of criminal negligence include non-compliance to traffic signal indicators, driving at the wrong side of the road, and exceeding speed limits.
It is a commonly known fact that driving under the influence of drugs or alcohol is strictly prohibited. Those who still choose to carry out such an activity put their lives, as well as those of others at risk. This is the most common cause of vehicular manslaughter cases.
Medical tests, acknowledgment by the defendant, and testimony by eye-witnesses are all means of proving that the offender was intoxicated at the time of the accident.
Vehicular manslaughter charges are not just limited to the above-mentioned scenarios but may also include other safety violations that the law considers as acts of irresponsibility; such as driving in prohibited areas, not taking into account the road signs, driving with obscured windshields that may hinder the driver's view, etc.
What are the penalties?
Punishment for vehicular manslaughter may vary according to the type of offense that caused the accident. For example, laws in most states have stricter consequences for drunk driving as compared to other forms of irresponsible driving. The exact penalty depends on state laws and case-specific circumstances. For example, in the state of Alabama vehicular manslaughter resulting from DUI can be charged with a sentence of up to 5 years while in Minnesota the punishment can be as severe as up to 30 years of prison time.
According to the law in Indiana, a convict of vehicular manslaughter may get sentenced to up to 6 years, along with having a fine imposed that may be as high as $10,000. Not only this, but the individual may also be banned from driving for about 2-5 years.
Furthermore, punishments also vary depending on how states classify the crime. While some categorize the incident as a felony or a misdemeanor after taking into account the circumstances under which the accident took place, others consider it a felony regardless of the situation.
Additional Complications
Besides being convicted on criminal grounds, the perpetrator of vehicular manslaughter may also be sued for wrongful death by family members of the deceased. As a result, the offender may be ordered by a civil court to pay a huge monetary amount to the family as compensation. This is likely to cause further stress to the convict.
What if the driver is not at fault?
Accidents may also be caused by the negligence of the victim or the actions of a third party. Hence, the driver is not always at fault. Pedestrians who cross the road incautiously, and at the wrong times are one example of careless victims. Therefore, occasionally such individuals, as well as other parties whose actions may affect the driver`s competency, may also be held responsible and treated as an offender.
Sometimes the victim and the defendant are equally at fault. For example, the accident may have been caused because both of them were exceeding the maximum speed limit, but one of the drivers, unfortunately, passed away leaving the others to face charges of vehicular manslaughter. In such cases, the defendant usually gets a concession by the civil court because of "contributory negligence". This is a theory which states that when both parties are responsible for an incident to a certain extent, one should not be solely made to bear all the consequences. However, this theory is usually not taken into account by the criminal court that focuses more on the mistake(s) of the defendant rather than the deceased.
One must immediately take legal help for a vehicular manslaughter case as it involves too many technicalities. If the defendant believes s/he is innocent, even then they would need to get a lawyer on board whose expertise lies in uncovering the true cause of the accident and investigating the extent to which other parties were responsible for the incident.
However, the aim of all drivers must be to avoid any such circumstances in the first place. Therefore, safe and careful driving must be ensured to prevent a loss of precious lives, irrespective of whoever may be at fault.
Intestate succession California: What happens to a deceased person's assets without a will
Death, precedented or not, is an unchangeable part of life. Many people are mentally and
Texas controversial abortion law remains in effect after the Federal appeals court to send the case to Supreme Court
The nation's most controversial and restrictive abortion law will stand on its position even in
SoClean lawsuit filed over health-related risks and misleading the public about Faulty CPAP Machines
SoClean was charged with several lawsuits with the accusation of falsely representing the efficacy and
Georgia felon accused of shooting two deputies is incarcerated after nearly a week-long manhunt
According to GBI – A manhunt for a felon, suspected of shooting two Georgia deputies
How to make personal injury claims on a boating accident lawsuit
Undoubtedly, boating is one of the relaxing activities under the sun for many. But there
PrevPreviousWhat is a furlough and what impact can it have on your employment?
NextWhat does it mean to prepare a hold harmless agreement: Why should you use a hold harmless agreement?Next
What is a furlough and what impact can it have on your employment?
What does it mean to prepare a hold harmless agreement: Why should you use a hold harmless agreement?


Berserker Claw is the only Werewolf known to fight alongside humans against the forces of evil. Once the moon is full, his powers become mightier than one could ever expect.
1. Berserker Claw: With bloodmoon power, the raged claw will deal 5 attacks of increasing damage to an enemy.
2. Boomerang: The probability of back throwing is doubled, damage and stun for 2 rounds.
4. Bloodmoon Oath: Sign a contract with the Cursed Moon to exchange reason for attack.


TABUK CITY, Kalinga – "Agpagradwar akun iti maysa nga college ket pirmi ragsak ko kumbaga kala nga nakaala akun iti maysa nga trophy (Now that my child is graduating from college, I am very happy. It is as if I am earning a trophy.)", boasts Maribel V. Arboleda, 41 years old, a mother of 6 and a wife of a barber.
Maribel's family is a beneficiary of the Department of Social Welfare and Development's Pantawid Pamilyang Pilipino Program (4Ps) and Sustainable Livelihood Program (SLP).
In 2017, Maribel was provided with a food cart business through the SLP of the Department of Social Welfare and Development (DSWD).
"Idi umuna ket bassit lang ilaklakok. Kasla daytoy barbecue, maysa lang nga kilo iti gatangek inaldaw. Isu ti maituno ti malem. (When I was just starting with the food cart business, for instance the barbeque, I only purchased rone kilo of meat a day, which we sell in the afternoon)" she recalls.
Even though she had low income at first, Maribel saved and started to buy larger quantities of pork which she prepared and supplied to other street vendors in their neighborhood in Bulanao, Tabuk City, Kalinga which is what she does until now.
"Iti inaldaw, agatangakun iti 20 kilos ti pork nga tuduken mi. Ilakok iti 3 pesos per piece kadagiti kailyan mi nga mang-wholesale. Ada met ti 6,000 ko nga savings binulan nga usaren dagiti anak ko iti eskwela da, karkaru iti allowance ken tuition idyay ada iti college. (Now I purchase 20 kilos of pork which I prepare and sell at 3 pesos per stick to our fellow residents who are buying in wholesale. From a month's income, I separate PhP 6,000 as our savings which my children use in school especially for the allowance and tuition of my college student)," said Maribel.
Maribel remembers how very hard it was for their family to survive each day since they only relied on her husband who was barber earning a daily wage if 300-500, an income that she budgetd for their needs and children's tuition fees.
Maribel's hard work and careful budgeting allowed her to send all of their six children to school. "Madiskarte dapat, dagijay daduma iti savings mi ket pinag puonak iti sabali nga negosyo kasla iti wagwagan ken online buy and selling. (We should be innovative. From our savings, I ventured into second-hand clothes and online buy and selling business)," Maribel explained.
"Uray no marigatanak ipapatik ladta nga mangpadakkel iti pagbiyagan mi ta ammuk nga para kadagitoy anak ko. Kayat ko makita nga maka-eskwela da, maala da iti mayat nga trabaho ta madimi nga nu anyat kinarigat biyag me tadta ket isu paylaeng ituloy da. (Even though it is hard. I try my best to expand the livelihood that was provided because I want my children to finish their studies so that they could get good paying jobs and not experience poverty)," she added.
This year, Maribel's 1st child will finish Bachelor of Secondary Education in Tuguegarao, Cagayan.
"Agyamanak launay iti naited nga livelihood iti SLP, adan iti pangkabuhayan me nga isu mangtultulong kanyami nga umangat bassit panagbiyag mi. Adan iti mai-save nga mainayun nga usaren dagiti annak mi nga makaturpos iti eskwela da. (I am grateful for the livelihood provided by SLP. We now have additional source of income to help us lift our economic status, in addition we can save more money for our children's schooling)," Maribel said.


text:
Q: WAMP: Fatal error: Call to undefined function ibase_connect() I have a Windows 7 Pro x64 that runs the latest version of WAMP v2.4 x64, with Apache : 2.4.4 MySQL : 5.6.12 PHP : 5.4.12 PHPMyAdmin : 4.0.4 SqlBuddy : 1.3.3 XDebug : 2.2.3. When I run my code with the ibase_connect() function, I keep getting this error below:
Fatal error: Call to undefined function ibase_connect()

I've enabled the extension extension=php_interbase.dll in my php.ini without any luck. My PATH variable points to the right php bin folder, and I've tried following the instruction here http://www.alberton.info/firebird_php_windows.html, and also copying the php_interbase.dll file to my C:\Windows\system32 folder, but nothing's worked so far. Am I doing something wrong?
Please help.

A: Is this any help?
Note to Win32/Win64 Users

redpajama_set_name: RedPajamaStackExchange


Soma of the Aryans: an Ancient Hallucinogen?
Some 3,500 years ago, in the middle of the second millennium before Christ, a people that called themselves Aryans swept down from the north through Afghanistan and occupied the valleys of the Indus. They spoke an Indo-European language. They were hard fighters driving horse-drawn chariots. They sowed grain and bred cattle, horses, and sheep.
"Shamans are healers, seers, and visionaries who have mastered death. They are in communication with the world of gods and spirits. Their bodies can be left behind while they fly to unearthly realms. They are poets and singers. They dance and create works of art. They are not only spiritual leaders, but also judges and politicians, the repositories of knowledge of the culture's history, both sacred and secular.
Oldest Christian Bible – Let Translations Begin!
Will Harvard Drop Acid Again?
In a moment of delightful whimsy in the annals of drug history, Albert Hofmann, after purposely ingesting LSD for the first time, rode his bicycle home and experienced all manner of beatific and hellish visions. Hofmann, a chemist with Sandoz Laboratories in Switzerland, had recently synthesized the compound lysergic acid diethylamide (a/k/a LSD, or "acid") from ergot fungus.
Gov. Tim Pawlenty vetoed a bill to legalize marijuana for terminally ill patients late Friday evening, saying he sides with law enforcement opposition to the bill. Bill proponents say they will introduce a constitutional amendment to bypass the governor, noting overwhelming popular support in the state on the issue.
Obama's newly appointed drug czar, Gil Kerlikowske, says that the White House Office of National Drug Control Policy will change priorities to focus on prescription drug abuse, and favors a public health approach that emphasizes treatment and prevention over prison for drug abusers.
For much of the 20th century, mainstream science shied away from studying spirituality. Sigmund Freud declared God to be a delusion, and others maintained that God, if there is such a thing, is beyond the tools of science to measure. But now, some researchers are using new technologies to try to understand spiritual experience.
If nothing else, a century of prohibition on absinthe gave it the sort of aura of dissolute glamour that would-be brooding artists would drown their agents for. The two faces of absinthe offered possibilities to idealists the world over, searching for a muse or testing the limits of their risk-taking.
"The narcotic herbs were originally used in spa parlors as fragrance, but it later occurred to someone to smoke grass, and that's how it all started. One gram of weed costs 900 rubles ($27), and this dose is enough for five adults. We have been receiving many calls lately from people who suffered from smoking these herbs. It is possible to develop an addiction to this kind of smoking.
The coca bush originated in the rain forests of the Andes, and has been cultivated in South American for many purposes for thousands of years. The earliest evidence of coca leaf chewing comes from about 3000 B.C.E. In the Peruvian lowlands, many pre-Colombian graves have been found to contain the remains of coca leaves, lime, and artifacts used for coca consumption. However, such remnants are rarely found in the Andean highlands, mostly due to clumsy excavation methods.
The findings were published in the April 2009 issue of The Journal of Clinical Investigation. The study showed, conclusively, that THC (the active alkaloid in Cannabis) caused brain cancer cells to undergo a process called autophagy. This process causes cells to feed upon themselves, thereby destroying them, and not only did researchers witness this process, the specific route by which the autophagy process unfolds was isolated as well.


text:
You are at:Home»Smart News»BBM to be preinstalled on Android smartphones
BBM to be preinstalled on Android smartphones
By Heather McLean on	 November 27, 2013 Smart News
Messaging service from BlackBerry to be preinstalled on Android devices from top OEMs
Blackberry's BBM will soon come preinstalled on a variety of Android-based smartphones from OEMs across Africa, India, Indonesia, Latin America and the Middle East.
Beginning next month, Android smartphones from Be, Brightstar, Celkon, Evercoss, IMO, Micromax, Mito, Snexian, Spice, Tecno, TiPhone and Zen will include BBM preinstalled.
In addition, BlackBerry confirmed that BBM will also continue to be available as a free download from Android app stores, including Google Play.
'It is clear that smartphone customers see BBM as a must have app for active conversations. The uptake we have seen for BBM since the launch on Android and iPhone is amazing,' said Andrew Bocking, executive vice president for BBM at BlackBerry. 'We're thrilled to be working with leading Android smartphone manufacturers from across the globe to help bring their customers the best out-of-the-box experience with BBM preinstalled.'
BBM gives customers privacy, control and immediacy as they chat with their contacts, either one to one, in multiple chats or as part of a BBM Group. BBM's Delivered and Read statuses, as well as message-in-progress notices, keep people engaged and active in their conversations.
Said Janto Djojo, chief marketing officer at Evercoss: 'Mobile messaging is a top priority for Indonesian mobile users and BBM has long been the premium messaging brand. Mobile users want their conversations to be immediate, private and reliable, which makes BBM a great fit for our devices. BBM is incredibly popular in Indonesia and since it's availability on Android, it's become the must have messaging app for our customers. We are therefore thrilled to be working with the BBM team at BlackBerry to preinstall BBM on our devices, making it easier than ever for our customers to get connected to BBM contacts and start chatting.'
Added Jason Liu, marketing director at Tecno Group: 'BBM is extremely popular in Africa and we know our customers will appreciate the ability to quickly access BBM on their Tecno devices and start connecting with friends and family. BBM is now a central component of our Android-based smartphone platform offering. We are pleased to announce that we're working with the BBM team at BlackBerry to install BBM on the Android smartphones we bring to market.'
The BBM experience will continue to evolve for Android and iPhone users in the coming months, with updates that will include support for BBM Channels, a new service that will connect BBM users to communities of shared interests in a very engaging and intimate manner, as well as support for BBM Voice calling and BBM Video calling.


text:
Q: How can I add individual html code on WooCommerce after each single product summary How can I add individual HTML code for individual products?
Here is the screenshot: https://i.stack.imgur.com/QeGGw.png
Regards
Golam Rabbi

A: You can try this:
function html_below_product_tabs() {
    echo 'Content you want to place';
}

add_action('woocommerce_product_after_tabs', 'html_below_product_tabs');


text:
Q: change/update ecryptfs password using passphrase after resetting account password after I couldn't log in into my old ubuntu instance I've reset the password via instructions in https://askubuntu.com/a/24024/639921
now, after I try to log in it just loops me back to the login screen I think it may be due to the \home being encrypted, because after going to the terminal I'm able to log in correctly, but can't access my files, I see just the Access-Your-Private-Data.desktop and README files
ecryptfs-mount-private asks for a login password, which I lost/reset
I've got a potential ecryptfs passphrase saved, but I'm not sure on how to handle this situation, can I please get some suggestions?
for example: how to update the ecryptfs password using the passphrase?


This entry was posted on Tuesday, January 21st, 2014 at 2:01 AM	and tagged with Haiku, Love, Passion, Rejection, Voice and posted in Poetry.	You can follow any responses to this entry through the RSS 2.0 feed.
Justin, thank you so much. I'm always overwhelmed by the support I've gotten for sharing the little I have to share. It's comments like yours that make me think, "OK, I'll keep trying." =) Thank you!


The RAF's four-engine Halifax bomber flew on most of the main raids over Germany in the Second World War, as well as in operations from Italy, in North Africa and the Far East, and after the war on the Berlin Air Lift. Jonathan Falconer reviews the design and operation of the Halifax and offers a detailed close-up look at its construction. Fascinating insights into the recovery and restoration of Halifax airframes include the RAF Museum's Mk II (W1048) and the superb A Mk VII (NA337) in the National Air Force Museum of Canada.


text:
Trade Talk: Some Playmaking Flair for the City of Wind
Posted on 11 Feb 2021 11 Feb 2021 by Stephen PridGeon-Garner8 Minutes Read
Currently 11-13 and tied for 12th in the West, the New Orleans Pelicans are lingering on the edge of fringe playoff contention. This is about where it was presumed they would be, as their deemed ceiling for the 2020-2021 season is not relatively high in respect to the rest of the West.
Along with fringe playoff chances, they have compiled one of the "weirdest" rosters in the NBA.
Their star players, Zion Williamson and Brandon Ingram, are talents in themselves. How those two mesh continues to be the entity under the biggest microscope for them. Neither works all that well off the ball, and neithers game truly compliments the others in a sustainable fashion.
That dynamic trickles down almost their entire roster, including the topic of this post.
The 2nd overall pick of the 2017 NBA Draft has had a stigma attached to his game, being that he cannot shoot reliably enough (which he has addressed) to warrant an impact on the game. Which, in turn, stagnates him reaching a level of productivity to warrant his draft position appropriate.
Though that is partly true, as he probably won't ever reach that stratosphere of production a 2nd overall pick warrants, it undermines his overall game and how serviceable he truly is.
Sure, there are a few anomaly-type draft picks that would succeed regardless of which franchise or situation they were drafted to. For most though, the situation they are drafted into plays a large part in their development and career trajectory.
Lonzo was drafted to a Lakers team in flux, where no guard has been a good fit long enough over the last six seasons (see D'Angelo Russell, Isaiah Thomas, Jordan Clarkson, and Jose Calderon to name a few) and we all know the scrutiny any lead guard lives under in Los Angeles.
He was then traded to a Pelicans team that doesn't have a roster construct lenient toward his strengths in style of play as a combo guard with lead guard tendencies, and it seems as if, in alignment with his contract, his time has about run out with the Pelicans per The Athletics Shams Charania.
The Pelicans, viewed as a key team in NBA trade market, are receiving calls on Lonzo Ball and JJ Redick from interested teams and have shown openness to discussing both, per sources.
More in latest Inside Pass at @TheAthletic: https://t.co/KpLWLLTMZ3
ESPNs Brian Windhorst has also been on the record naming the Bulls as a team with interest.
All of this to say, it appears a trade is imminent for both of these veteran guards from New Orleans, as upper brass is pressuring newly hired coach Stan Van Gundy to delegate more rotation minutes in favor of younger talents like Nickeil Alexander-Walker and Kira Lewis Jr, the Pelicans most recent draft picks.
What's the most ideal situation for Lonzo?
A team with a primary and a secondary (and maybe even a tertiary) scorer to be placed ahead of him in its scoring dynamic. Most or all of which needing to be viable in operating off the ball, with the ability to play with pace.
That team also needs to have a bigman that can be a factor in pick and roll play as well as pick and pop, or two players giving their own variant of each dynamic. If either of those players can provide vertical spacing, even better.
Enter the Chicago Bulls 👀
Tied for 10th in the East at 10-14
The Bulls have been linked to Lonzo for over a year now (and teams having a player on their radar for so long typically lead to action taken). When said player fills a void your franchise has longed to address, that likelihood increases.
Third in pace (in contrast to the Pelicans style of play, ranked 21st), the Chicago Bulls are the most perfect fit for the services of Lonzo Ball 🎯.
They currently have the aforementioned roster necessities to both appease and compliment what Lonzo brings to the table.
A prolific (and I mean PROLIFIC) primary scorer in Zach LaVine (28 PPG), reliable secondary and tertiary scorers in Lauri Markkanen (19 PPG) and Coby White (15.5 PPG), and two trees that would benefit from a guard able to operate in the pick and roll or pick and pop in Markkanen and Wendell Carter Jr.
Of their top eight players in minutes per game (their deemed core rotation), six of those players shoot over 34% from 3.
Notice the likes of LaVine, Markkanen, Williams, and White, who are all enjoying great success from deep this season, as they would be the direct beneficiaries of Lonzo's integration into Donovans system.
The Bulls have challenged Coby White to learn how to play lead guard on the fly, and, not to the Carolina products fault as growing pains were expected, that has stagnated their growth and potential as the transition has been less than seamless. He's just not a point guard, and he's admittedly been a scoring guard essentially his entire life.
Lonzo's offensive dynamic
Insert Lonzo Ball onto this roster and he naturally repositions White into the role of sixth man, where he would be most effective and rank amongst the leagues best. That is a win for both Ball, White individually, and the Bulls as a collective.
Ball would also allow for less of a playmaking demand on both White as well as LaVine, while giving Billy Donovan lineup versatility to play any tandem of LaVine, White, and Ball, making for one of the most fun guard trio's in the NBA.
Just imagine Zach LaVine and how he would absolutely flourish as the second-side playmaker in an offense where the play initiator is borderline elite in passing and vision. Even more, imagine Ball and his threat to get down hill, especially off of a ball screen, attracting enough attention for LaVine to use his off the ball cutting ability to slip back door or cut opposite side for alley-oops 🤯.
In small ball lineups Donovan could experiment with having all three share the floor for short stretches in the rotation.
In regards to shooting, the Bulls are fifth in the league in corner 3PA's (10.7%), and fourth in the league in corner 3PM's at a 43.8% conversion rate.
Take a look at Lonzo's shot chart below from this season, one which he's tied a career-high at 38% from deep.
per Cleaning the Glass
Notice how he would fit with this team in both shot selection and where his success comes from. Specifically from the corners, Lonzo is in the 80th percentile in attempts and converting successfully in the 100th percentile at 54% (19/35).
Last nights game versus the Bulls, a potential audition of sorts
His frequency at the cup has gone down since arriving in New Orleans, in contrast to what it was in Los Angeles. So he leaves a lot more to be desired as a downhill driver in freethrow attempts per game. That can be directly attributed to personnel though, having Zion, Adams, and Derrick Favors as a template of the paint-dwelling types of bigmen that clog the lane in his time with New Orleans. I'd expect for his frequency at the cup to ascend back toward what it was in Los Angeles, which is more true to his style of play.
Lonzo's defensive dynamic
Though a tad bit overrated in common perception, Ball is still more than serviceable and will make plays on that end. He still has potential to become a consistent fringe all-nba defensive team worthy talent, and would be able to grow in a better situation for himself on that end of the floor. Of note, he's yet to have a negative season-long impact in defensive +/-, which means each of his teams throughout his career has been better with him on the floor than with him off. In some instances, his teams have been immensely better with him on, versus off, and the Bulls could certainly use an influx of plus defenders, especially from guard.
The fourth-year guard does come with flaws of his own. He leaves more to be desired in on the ball defense at times from the point of attack (so no Bulls fans, he is not like Kris Dunn was in that regard). He has had an issue playing without fouling at numerous times in the season thus far.
He will however play with consistent energy defensively, as he can serve as an irritant if nothing else on the ball. He will also pick up opposing guards 94 feet at times and fully tap into his strengths as a defender shooting passing lanes and using his length to create deflections, allowing for more play in transition (where he would be a lot of fun in the open floor with LaVine, White, and Williams changing ends, just imagine that).
Notice his energy on the ball, and his activity and anticipation off the ball. Also, notice how quick he changes ends of the floor after a steal, and imagine the pieces the Bulls have filling the lanes around him in transition.
Pairing ball with LaVine defensively would have its benefits. Though he receives a lot of flack for his ability, LaVine does not come up short in effort on that end. Having Ball and his energy/effectiveness in tandem with LaVines efforts can suffice.
Add to that what their rookie Patrick Williams has shown defensively, and Wendell Carter's continued growth on that end, and you have a foundation being built.
Ball fits the timeline of this roster age-wise, and would be a piece that unlocks a new level to this Bulls rebuild. One that may even allow them to ascend into the play-in tournament tier of the Eastern Conference this season.
There is some risk involved, but the potential in reward far outweighs that.
The Trade
Given the demand for his services are not relatively high, and competition won't be an issue regarding attaining him from New Orleans, I would expect for negotiation to not be all that complicated.
The trade could include more players, which would in turn include more pick compensation being swapped, nonetheless this could be a foundational template for a transaction.
Via tradenba.com
The Pelicans receive one of the most coveted trade targets in Thaddeus Young, a versatile defender, one that could play with Steven Adams or, of course, Zion Williamson, as well as a second round pick in next years draft.
There are 3-team trade scenarios I thought of, allowing the Pelicans to cut their ties with both Ball and Redick at once. One of which where this same trade is made m, then add in the Rockets swapping Oladipo for Redick for example, but that get complicated in regards to ancillary players added to match salary, though it makes sense.
Nonetheless, the Bulls have the assets to attract the Pelicans attention, and to execute a trade for Lonzo. I expect the Pelicans to part ways with the UCLA product relatively soon as the trade deadline looms, and I believe the Bulls are the best destination for his services.
What are your thoughts on Lonzo with the Bulls? Do you think adding him to the Bulls makes them better both short-term and long-term? Do you think the Pelicans would see receiving a combination of Young, or Satoransky, or Felicio, or Temple as enough in return? Would the Pelicans be willing to take on the Otto Porter Jr.'s $28.4M expiring deal (though salary filler olympics would ensue to make the trade a success)? Comment here or on social media and let me know!
All stats derive from NBA.com, Basketball-Reference.com or CleaningTheGlass.com unless stated otherwise.
← Awards Recipients through First Quarter
Friday Five's (2.5-2.12) →
Raptors Rumors: Gary Trent Jr, OG Anunoby, Fred VanVleet, Pascal Siakam, Nick Nurse 31 Jan 2023
Michael Scotto


text:
Суперкубок Андорри з футболу 2005 — 3-й розіграш турніру. Матч відбувся 18 вересня 2005 року між чемпіоном Андорри клубом Сан-Жулія та володарем кубка Андорри клубом Санта-Колома.

Матч

Деталі

Посилання
 Матч на rsssf

2005
Андорра

redpajama_set_name: RedPajamaWikipedia


text:
Industry-Funded Research For Antibacterial Products: Boon Or Bane?
By P.J. Heller
As hospitals struggle to reduce drug-resistant bacterial infections among patients, one of the tools they have turned to is germ-killing chemical chlorhexidine.
But a recent Reuters news report raises serious questions about studies conducted by medical researchers promoting the use of the powerful antiseptic – studies paid for by companies that manufacture and market the antibacterial products.
"Makers of products using chlorhexidine to fight bacteria in hospitals provide support for scientists who repeatedly find those products to be very effective – even as concerns about safety have mounted," the special report by Reuters said.
". . . as use of chlorhexidine products has grown, so have concerns about their effectiveness and safety ¬– and about the role of industry-backed research in promoting them. The industry money funding chlorhexidine research muddies the message of the results, in the view of many health experts," the report said.
The news agency cited funding for a patient study on chlorhexidine wipes provided by manufacturer Sage Products, at Rush University Medical Center in Chicago. The findings, published in 2006, reported that the wipes were highly effective at preventing vancomycin-resistant enterococci (VRE), an antimicrobial-resistant bacteria which most often occurs in hospitals. VRE outbreaks, which have occurred worldwide, can be fatal.
Following publication of its study, Rush University Medical Center received a $1 million donation from a family foundation of Sage's founder. According to Reuters, the money was to go to Dr. Robert A. Weinstein, the senior scientist who conducted the chlorhexidine study. The foundation said the money was to be used for research and that there were no strings attached to the funds.
"Since then, Sage has provided funding and millions of dollars in wipes for studies by Weinstein and his colleagues," Reuters reported, noting that during that time " . . . Weinstein and his colleagues have published 11 articles on six trials that endorse daily washing of patients with Sage's patented wipes – an 'off-label' use, as the U.S. Food and Drug Administration (FDA) has approved the wipes only for cleaning patients before surgery."
Those findings, as well as others that were published following industry-backed funding and support, raise questions about their validity and about whether results may have been skewed, according to health experts.
Such concern is nothing new, having been raised in other industry-backed research projects, such as for infant formula, tobacco and alcohol.
"Opinions are divided on whether research and educational material funded by the tobacco, alcohol, or infant formula industries can be scientifically sound or whether it is inevitably tainted," the National Institutes of Health Opinions noted nearly a decade ago.
For his part, Weinstein, an infectious-disease specialist at Rush, told Reuters that Sage did not meddle in his research or have any input into his findings. He also said he published a brief negative reviews of Sage's products in a European journal in 2010, according to Reuters. Many of his studies were co-sponsored by the Centers for Disease Control, which was "looking over my shoulder." he told the news agency.
Nevertheless, the World Health Organization suggests that "pharmaceutical company funded research is more likely to show results favorable to the product being studied than research funded from other sources.
"There is an association between the opinions of investigators about products and their source of funding but causality has not been established," WHO said.
Questions about industry-funded medical research were also raised in a 2012 article in Scientific American.
"Many clinical research studies are funded by pharmaceutical companies and there is a general perception that such industry-based funding could potentially skew the results in favor of a new medication or device," it said. "Pharmaceutical companies or device manufacturers need to increase the sales of newly developed drugs or devices in order to generate adequate profits. It would be in their best interest to support research that favors their corporate goals. Even though this rationale makes intuitive sense, it does not necessarily prove that industry-funding does influence the results of trials. However, there is also data to support the fact that the funding source does seem to correlate with the outcomes of clinical trials."
The Reuters article pointed out that declining government funding for medical research made industry support even more necessary. Nearly 75 percent of all funding for clinical trials in the United States currently comes from corporate sponsors, according to health experts.
There is also a lot of money is at stake for companies that market antiseptics and disinfectants such as chlorhexidine wipes. BCC Research estimates that the global market for those products will increase to $7.9 billion in 2020, up from $5.6 billion in 2015, a compound annual growth rate of 7 percent during those five years.
Of particular concern with the studies, according to Reuters, was that while industry-funded research has found chlorhexidine products to be extremely effective, questions have been raised about effectiveness and safety.
"Despite all the promising study results, the number of hospital-acquired drug-resistant infections has remained stubbornly high," Reuters noted.
In February, the FDA issued a warning about possible allergic reactions to products containing chlorhexidine. Some deaths were reported, according to Reuters.
The FDA had issued a warning in 1998 to healthcare professionals about the risk of serious allergic reactions with products, such as dressings and intravenous lines, that contain chlorhexidine gluconate.
In its most recent warning, the FDA said that "rare but serious allergic reactions have been reported with the widely used skin antiseptic products containing chlorhexidine gluconate. Although rare, the number of reports of serious allergic reactions to these products has increased over the last several years."
The FDA asked manufacturers of over-the-counter antiseptic products containing chlorhexidine to add a warning label to their products about the risk.
Reuters reported that the number of adverse events reported to the FDA with possible links to chlorhexidine nearly tripled between 2007 and 2016 from an average of 85 per year to 226; the number stayed fairly even for the first seven years but then jumped in both 2015 and 2016. It noted, however, that a "reported event" may not be caused by the product and that not every adverse event is reported.
Among adverse events cited included anaphylaxis shock (120 reports), skin irritation, rashes and burns (325 mentions) and life-threatening events (48 reports). Seven deaths were reported.
The chlorhexidine product ChloraPrep was cited for about one-third of the allergic reactions, Reuters said. The product was originally sold by CareFusion; the California company was acquired in 2015 by Becton, Dickinson for $12.2 billion.
CareFusion in 2014 agreed to pay the U.S. government $40.1 million to settle allegations in a whistleblower suit that it paid kickbacks and promoted its products for uses that were not approved by the FDA.
The allegations centered on CareFusion's payment of $11.6 million in kickbacks to Dr. Charles Denham to get him to "recommend, promote and arrange for the purchase of ChloraPrep by healthcare providers," according to the Justice Department. At the time, Denham was the co-chair of the safe practices committee at the National Quality Forum, a non-profit organization that reviews, endorses and recommends standardized healthcare performance measures and practices.
In 2015, the Justice Department announced that Denham had agreed to pay $1 million "to settle allegations that he violated the False Claims Acts by soliciting and accepting kickbacks."
"Kickback schemes undermine the integrity of medical decisions, subvert the health marketplace and waste taxpayer dollars," said then-Acting Assistant Attorney General Benjamin C. Mizer. "Doctors and other healthcare professionals who accept illegal inducements undermine the public's trust in federal healthcare programs . . ."
There was no determination of liability in either settlement, Justice Department officials said.
In 2008 – and again last year – Sage issued a recall of its chlorhexidine wipes because the chemical could be contaminated, Reuters reported. The recall was sparked after the wipes were linked to infections by Burkholderia cepacia, a known cause of infections in hospitalized patients and which are often resistant to common antibiotics. Six patients involved in a study funded by Sage were among those infected due to the contamination.
That 2008 recall prompted a temporary halt in the Sage study, according to Reuters. Weinstein described the recall as a "treatment interruption" in a 2013 article in the New England Journal of Medicine and said the wipes "were safe and effective." He made no reference to the six B. cepacia infections, Reuters said.
Dr Michael W. Climo, lead author of the study and a professor at Virginia Commonwealth University, told Reuters the infection references were deleted from the manuscript "for brevity" and "because they didn't directly relate to the wipes' effectiveness in reducing drug-resistant infections."
Sage, founded in 1971, was acquired for $1 billion in 2012 by Madison Dearborn Partners, a private equity investment firm. Four years later, in 2016, Sage was acquired by the Stryker Corp., a medical technology company based in Kalamazoo, Mich., for $2.7 billion. Sage is a business within the Stryker Medical Division.
That same year, Sage expanded its voluntary worldwide recall of its chlorhexidine wipes due to potential product contamination with the bacteria B. cepacia.
"Topical administration of a product with B. cepacia may cause serious infections in patients whose bodies cannot fight disease or in hospitalized patients, as well as certain other patient groups," the company said. "These infections could be life-threatening."
The U.S. is not alone in having concerns about chlorhexidine. In 2012, the British government warned of the risk of anaphylactic reaction due to chlorhexidine allergy. According to Reuters, the number of adverse events jumped from 14 in 2007 to 117 in 2016.
"The MHRA (Medicines and Healthcare products Regulatory Agency) has received a number of reports of anaphylactic reactions following the use of products containing chlorhexidine," it reported.
In March, a month after the latest FDA warning, Ireland's Health Products Regulatory Authority (HPRA) also issued a warning about the risks associated with medical devices containing chlorhexidine. The HPRA said the antiseptic agent had recently been associated with "serious but rare anaphylactic reactions due to chlorhexidine allergy" as well as "severe chemical injury and burns in premature infants."
Meantime, Reuters reports that debate continues over the benefits of bathing patients with chlorhexidine wipes. Studies co-written by Weinstein of Rush University Medical Center endorsed that practice, saying that adult patients bathed with Sage's wipes showed a decrease in drug-resistant cultures and that the wipes reduced MRSA (Methicillin-resistant Staphylococcus aureus) cultures in intensive-care units. MRSA infection is caused by a type of staph bacteria that's become resistant to many of the antibiotics used to treat ordinary staph infections.
According to the study, "Daily bathing with chlorhexidine-impregnated washcloths significantly reduced the risks of acquisition of MDROs (multidrug-resistant organisms) and development of hospital-acquired bloodstream infections."
Others have questioned the way the study was conducted and the possible risks of using chlorhexidine every day. Among concerns was whether antibiotic-resistant bacteria could also develop a resistance to chlorhexidine.
Reuters said the Sage wipes are approved by the FDA for cleaning skin before surgery but not for universal daily bathing. However, it said the company can advise medical practitioners about such an off-label use, leaving it up to them to decide whether to use the wipes for off-label purposes.
A federal lawsuit in 2014 against Sage, by a fired employee, alleged the company was involved in off-label marketing by attempting to get researchers and others to promote daily bathing of patients. The suit was settled last year but terms weren't disclosed, Reuters said. It said Stryker issued a written statement saying "Sage denied and continues to deny the allegations brought forth in the suit."
Published quarterly, Healthcare Environmental Solutions brings you important stories about:
Healthcare Environmental Solutions features articles and services relevant to your daily operations.
Click here for printable mail in form, and Subscribe to Healthcare Environmental Solutions Today!


The emissaries of the Dark Reverie arrived and announced the final test of the Primeval Battlefield would be started a month from now.
The entire city was stirred, and the atmosphere instantly became nervous.
The disciples of the various powers that had entered Primeval City chose to enter closed door cultivation, and they cultivated strenuously for the sake of making preparations to greet the final test.
At the central part of the Northeast area was an expanse of overgrown weeds and only a single stone tablet stood towering there. The stone tablet was 1.5m in height and 0.65m in width, its surface was mottled and dark with dark brown colored moss and green colored moss stretching all over, and it emitted an ancient and aged aura.
"The reason behind this is this Battlevow Tablet." Yun Lansheng had an extraordinary bearing, and his snow white hair fluttered as he raised his hand to point towards the stone tablet before him and spoke with a light voice.
"This is the place the gods vowed to do battle?" The nearby Chen Xi gazed at the stone tablet and was able to clearly notice the word 'Battlevow' on the surface of the stone tablet. It was written with vigorous strokes and a natural style, and it emitted an oppressive aura.
Most astonishing of it all was the color of the words, it was actually written with blood and branded onto the stone tablet, causing the bloody aura of battle and slaughter to assault their faces.
At this moment, Chen Xi faintly felt as if he was within the battle of the gods, and before him lay countless skeletons, rivers of blood, and mountains of corpses. Over a million cries of battle covered the heavens and the earth like thunderclaps that surged down from the nine heavens, and it caused him to be practically suffocated and drenched in cold sweat.
Even though it has experienced the corrosion of countless years, the words on this stone tablet seem as if they'd just been inscribed, and it possesses a horrifying aura of battle that seems breathtaking.
"Be careful, you must not inspect the Battlevow Tablet with your Divine Sense, otherwise you'll be directly annihilated by the battle intent of the gods contained within it. Even an Earthly Immortal Realm expert is unable to survive it." Yun Lansheng warned from the side with a serious expression.
At this moment, it wasn't just the expression of Chen Xi that went pale, even Huangfu Qingying and the others went pale, and their gazes carried a trace of deep awe as they looked at the Battlevow Tablet.
"Since the treasures left behind by the gods are buried beneath the Battlevow Tablet, could it be that the gods weren't afraid that others would dig out and take away the treasures?" Young Master Zhou couldn't help but ask.
When he spoke up to here, a trace of recollection suffused his eyes as he sighed. "After all, all those gods of the primeval times were supreme existences that were capable of easily shaking the three dimensions. The treasures they left behind have transformed into a part of the Primeval Battlefield since long ago. If it wasn't like this, all the treasures here would have been taken away long ago, and how could they possibly be able to continue existing through the countless years until now?
A wisp of wonder couldn't help but arise in the hearts of everyone when they heard this. Just the treasures they left behind were capable of making Heavenly Immortals be unable to take them away, so exactly how formidable were the gods of the primeval times?
"In other words, only those that pass the test are able to enter the Dark Reverie. Then what about those that don't pass the test?" Chen Xi couldn't help but ask.
Everyone was instantly horrified. Dead? Did they die from competing with others? Or did they die from the sudden event?
"Why? Senior, can you slightly leak some information so that we can be prepared?" Young Master Zhou pursued curiously.
Even though everyone was mentally prepared since the beginning, they couldn't help but feel a wave of disappointment when they heard this answer.
The upheaval of the three dimensions, the members of the various powers of the Dark Reverie feel insecure!?
Chen Xi and the others were instantly shocked in their hearts. They'd had various guesses before this, yet never had they imagined that the answer would actually be so terrifying and actually involve the upheaval of the three dimensions!
The three dimensions meant the Mortal Dimension, the Immortal Dimension, and the Netherworld. Moreover, these three dimensions included countless large and minor worlds, and the scope they referred to was simply boundlessly vast to an unimaginable level.
For example, the Mortal Dimension contained 3,000 large worlds, as well as millions upon millions of minor worlds. The races and species born within these countless worlds were more than just millions upon millions!
Not to mention the Immortal Dimension and Netherworld, they similarly possessed various strange and unusual planes and species.
Yet now, a calamity was actually capable of involving the entire three dimensions. Even if Chen Xi's current state of mind had already been tempered to the point of being firm like a rock, he was still unable to restrain from having a tempestuous storm arise within his heart after hearing this, and he was unable to calm down for a long time.
Yun Lansheng couldn't help but laugh bitterly without end when he saw the changes in everyone's expressions. Only this crazy old fellow would dare speak about this freely, huh?
"That's correct. To you or me, a thousand years might pass by just from a period of cultivation to these little fellows, they still have a long path to take, so they don't have to be alarmed." Madman Liu actually acted contrary to his normal behavior and had a rare moment of agreeing to what Yun Lansheng had said.
Chen Xi and the others unconsciously heaved a sigh of relief.
There was another 1,000 years before the upheaval of the three dimensions, and so long as they seized this time to make sufficient preparations, then they wouldn't have to be too alarmed.
After all, every single one of them was still young, and their cultivations had already attained the Rebirth Realm. 1,000 years of time was sufficient for them experience an extremely great leap in their cultivation.
Of course, the precondition was that they were able to survive.
According to what Yun Lansheng said, the Battlevow Tablet required one to drip their blood onto it and establish ownership of it. Only in this way would one be able to be acknowledged as the person that controls this area.
Moreover, only in this way would one have the opportunity to obtain a treasure of the gods after the final test ended.
Besides that, the method of establishing ownership was known to only the emissaries of the Dark Reverie. This was also why all the cultivators in the city knew of the existence of the Battlevow Tablet, yet none of them paid attention to it.
As one of the emissaries of the Dark Reverie, Yun Lansheng naturally knew the method, but the opinion of Chen Xi and the others varied towards the person that would establish ownership of it.
As far as Huangfu Qingying, Qing Xiuyi, Fan Yunlan, and the others were concerned, no matter if it was reputation or cultivation, this opportunity ought to belong to Chen Xi.
Perhaps, in their hearts, only Chen Xi possessed the prestige to obtain the treasure of the gods in the end.
This was a type of trust that had arisen from experiencing countless incidents and time, and another might not be able to attain such a height.
In other words, Chen Xi seemed to have already become the leading figure amongst all the disciples of the Darchu Dynasty now, and he couldn't be replaced.
It wasn't that he didn't want to obtain a treasure that the gods left behind, but he had too many treasures in his possession, and he utterly didn't need one more.
Moreover, he had other arrangements. After the final test ended, all of them would be entering the Dark Reverie, and at that time, it would perhaps be the time they would have to be separated temporarily.
So he wanted to prepare a gift for all of these companions that had fought with him and gone through thick and thin with him.
No matter what, all of them were his companions from the Darchu Dynasty. Even if they'd entered the Dark Reverie, it would still be like this, so compared to the friendship between them, some treasures were utterly nothing.
Treasures could still be found, yet the loss of friendship would be a regret in one's life.
Chen Xi's decision didn't just cause Qing Xiuyi, Zhen Liuqing, Fan Yunlan, Young Master Zhou, Ling Yu, and Zhao Qinghe to be surprised, even the person concerned, Huangfu Qingying, had an astounded expression that couldn't be concealed on her face.
No one had expected that Chen Xi would actually give away such a great opportunity, and he'd done it so readily and so generously.
On the other hand, Yun Lansheng and Madman Liu were shocked, and they felt it was extremely strange.
After all, that was a treasure of the gods, and it was even more formidable than an Immortal Artifact. Even they who were Earthly Immortal Realm experts felt extremely envious towards this, yet Chen Xi had actually given it away so readily and without the slightest hesitation, so how could they not be surprised?
"Chen Xi, you…" Huangfu Qingying was dazed and at a loss for what to do.
"We've all come from the Darchu Dynasty and received too much kindness from his Majesty Emperor Chu, yet always had no way of repaying him. Receive this opportunity in his Majesty's place." Chen Xi smiled and teased.
Everyone else was stunned before nodding in unison, as they respected Chen Xi's decision.
Huangfu Qingying was extremely touched in her heart, and her eyes actually faintly went red as tears almost trickled down from her eyes. She knew that Chen Xi said this only because he didn't want her to feel ill at ease when receiving this gift.


text:
RONNIE DEAN GILLIAND
Ronnie Dean Gilliand, 63, of Premier passed away Friday, November 4, 2016 in Golden Harvest Long Term Care, Welch. Born January 23, 1953 in Welch he was the son of the late Arthur Gilliand and Joann Vaughn Gilliand. He was a former sanitation worker. Those left to cherish his memory are a son, Ronald Frost of Bluefield, VA; two daughters, Vickie Lambert of Premier and Kristal Dudleson of Roderfield; two brothers, John Gilliand of Pineville and Douglas Gilliand of Hinton; two sisters, Linda Patrick of Davy and Teresa Smith of Burlington, NC; seven grandchildren, Brittany Naylor, Kristen, Brandon and Joseph Dudleson, and Cara, Kaitlyn and Ronald "Little D" Frost; and three great grandchildren. It was his wish to be cremated, and the family has honored his wish. The Douglas Mortuary of Welch is serving the family.
Ronnie Dean Gilliand, 63, of Premier passed away Friday, November 4, 2016 in Golden Harvest Long Term Care, Welch. Born January 23, 1953 in Welch he was the son of the late Arthur Gilliand and Joann Vaughn Gilliand. He was a former... View Obituary & Service Information
The family of RONNIE DEAN GILLIAND created this Life Tributes page to make it easy to share your memories.
Ronnie Dean Gilliand, 63, of Premier passed away Friday, November...
Send flowers to the GILLIAND family.


With its carefully selected handcrafted furniture, home accessories & giftware, My Little Vintage is a feast for the eyes! This gorgeous and electic shop offers everything from old to new, antique to handmade. There is a wealth of inspiration for those who enjoy arts, crafts and exploring something just a little different. If you are looking for a truly unique experience, then this is the place for you.


text:
Tenth Anniversary Canada Reads Contenders Revealed on CBC's Q!
Submitted by erin on November 24, 2010 - 5:57pm
Jian Ghomeshi revealed the five finalists for the 2011 Canada Reads competition and brought four of the five panelists together for the first time Wednesday morning. (The fifth contender, Sara Quin of Tegan and Sarah, was on tour in India but sent in her pre-recorded battle-cry.)
The Canada Reads contenders this year are:
The Best Laid Plans (McClelland & Stewart) by Terry Fallis, defended by CNN anchor Ali Velshi
The Birth House (Vintage Canada) by Ami McKay, defended by designer Debbie Travis
The Bone Cage (NeWest Press) by Angie Abdou, defended by former NHL star Georges Laraque
Essex County (Top Shelf Productions) by Jeff Lemire, defended by singer-songwriter Sara Quin
Unless (Vintage Canada) by Carol Shields, defended by actor Lorne Cardinal
For more information about the authors, the books, the panelists and the competition, visit the CBC Canada Reads website.
Related item from our archives
Word on the Street Relocates
View more items filed under "Festivals, Reading Series & Literary Events" in our Open Book Archives.
Submitted by danielle on May 31, 2012 - 10:07am
Word on the Street, Toronto's literary festival, will be relocated this year to the streets surrounding Queen's Park. After spending the last eight years on the green lawn of Queen's Park, which is currently undergoing restorations, the festival will now be spread along University Avenue and Queen's Park Crescent to Wellesley Street and College.
Word on the Street takes place September 23, 2012.
For more details, read this Quill & Quire article.
authorblogs
Copyright © 2007-2014 Open Book: Toronto. All rights reserved. Site built by The Intelligent Machines Co-operative.


tags: astronomy, events, Cape Town.
On 2011 November 15 Prof Robert De Mello Koch delivered an AIMS/Science Out Loud public lecture, titled "From Spacetime and Quantum Mechanics to String Theory".
Prof Robert De Mello Koch: "In string theory we replace point like particles by little loops" and sometimes a boy's track-suit pants.
"We review our current understanding of gravity, summarized in Einstein's theory of General Relativity. and our understanding of the remaining three forces in nature, in terms of the exchange of force carrying particles in Quantum Field Theory. A unified description of nature requires a synthesis of General Relativity and Quantum Field Theory into a single framework. The most promising candidate for this unified theory, String Theory, is described."
Prof Koch holds a South African Research Chair in Theoretical Physics at the University of the Witwatersrand.


text:
package org.sejda.sambox.pdmodel;

import static java.util.Objects.nonNull;
import static java.util.Optional.ofNullable;
import static org.sejda.sambox.cos.COSName.DECODE_PARMS;
import static org.sejda.sambox.cos.COSName.DL;
import static org.sejda.sambox.cos.COSName.F;
import static org.sejda.sambox.cos.COSName.FILTER;
import static org.sejda.sambox.cos.COSName.F_DECODE_PARMS;
import static org.sejda.sambox.cos.COSName.F_FILTER;
import static org.sejda.sambox.cos.COSName.LENGTH;

import java.awt.Point;
import java.awt.geom.Point2D;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

import org.sejda.sambox.contentstream.PDContentStream;
import org.sejda.sambox.cos.COSArray;
import org.sejda.sambox.cos.COSArrayList;
import org.sejda.sambox.cos.COSBase;
import org.sejda.sambox.cos.COSDictionary;
import org.sejda.sambox.cos.COSFloat;
import org.sejda.sambox.cos.COSName;
import org.sejda.sambox.cos.COSNumber;
import org.sejda.sambox.cos.COSObjectable;
import org.sejda.sambox.cos.COSStream;
import org.sejda.sambox.pdmodel.common.PDMetadata;
import org.sejda.sambox.pdmodel.common.PDRectangle;
import org.sejda.sambox.pdmodel.common.PDStream;
import org.sejda.sambox.pdmodel.interactive.action.PDPageAdditionalActions;
import org.sejda.sambox.pdmodel.interactive.annotation.AnnotationFilter;
import org.sejda.sambox.pdmodel.interactive.annotation.PDAnnotation;
import org.sejda.sambox.pdmodel.interactive.measurement.PDViewportDictionary;
import org.sejda.sambox.pdmodel.interactive.pagenavigation.PDThreadBead;
import org.sejda.sambox.pdmodel.interactive.pagenavigation.PDTransition;
import org.sejda.sambox.util.Matrix;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * A page in a PDF document.
 *
 * @author Ben Litchfield
 */
public class PDPage implements COSObjectable, PDContentStream
{
    private static final Logger LOG = LoggerFactory.getLogger(PDPage.class);
    private static final List<COSName> VALID_STREAM_KEYS = Arrays.asList(LENGTH, FILTER,
            DECODE_PARMS, F, F_FILTER, F_DECODE_PARMS, DL);

    private final COSDictionary page;
    private PDResources pageResources;
    private ResourceCache resourceCache;
    private PDRectangle mediaBox;
    private COSDictionary pageTreeParent;

    /**
     * Creates a new PDPage instance for embedding, with a size of U.S. Letter (8.5 x 11 inches).
     */
    public PDPage()
    {
        this(PDRectangle.LETTER);
    }

    /**
     * Creates a new instance of PDPage for embedding.
     *
     * @param mediaBox The MediaBox of the page.
     */
    public PDPage(PDRectangle mediaBox)
    {
        page = new COSDictionary();
        page.setItem(COSName.TYPE, COSName.PAGE);
        page.setItem(COSName.MEDIA_BOX, mediaBox);
    }

    /**
     * Creates a new instance of PDPage for reading.
     *
     * @param pageDictionary A page dictionary in a PDF document.
     */
    public PDPage(COSDictionary pageDictionary)
    {
        page = pageDictionary;
    }

    /**
     * Creates a new instance of PDPage for reading.
     *
     * @param pageDictionary A page dictionary in a PDF document.
     */
    PDPage(COSDictionary pageDictionary, ResourceCache resourceCache)
    {
        page = pageDictionary;
        this.resourceCache = resourceCache;
    }

    /**
     * Creates a new instance of PDPage for reading.
     *
     * @param pageDictionary A page dictionary in a PDF document.
     */
    PDPage(COSDictionary pageDictionary, ResourceCache resourceCache, COSDictionary pageTreeParent)
    {
        page = pageDictionary;
        this.resourceCache = resourceCache;
        this.pageTreeParent = pageTreeParent;
    }

    /**
     * Convert this standard java object to a COS object.
     *
     * @return The cos object that matches this Java object.
     */
    @Override
    public COSDictionary getCOSObject()
    {
        return page;
    }

    /**
     * Returns the content streams which make up this page.
     *
     * @return content stream iterator
     */
    public Iterator<PDStream> getContentStreams()
    {
        List<PDStream> streams = new ArrayList<>();
        COSBase base = page.getDictionaryObject(COSName.CONTENTS);
        if (base instanceof COSStream)
        {
            streams.add(new PDStream((COSStream) base));
        }
        else if (base instanceof COSArray array)
        {
            for (int i = 0; i < array.size(); i++)
            {
                COSBase baseObject = array.getObject(i);
                if (baseObject instanceof COSStream stream)
                {
                    if (nonNull(stream))
                    {
                        streams.add(new PDStream(stream));
                    }
                }
                else
                {
                    LOG.warn("Page has contents object that is not a stream: " + baseObject);
                }
            }
        }
        return streams.iterator();
    }

    @Override
    public InputStream getContents() throws IOException
    {
        COSBase base = page.getDictionaryObject(COSName.CONTENTS);
        if (base instanceof COSStream)
        {
            return ((COSStream) base).getUnfilteredStream();
        }
        if (base instanceof COSArray streams && ((COSArray) base).size() > 0)
        {
            byte[] delimiter = new byte[] { '\n' };
            List<InputStream> inputStreams = new ArrayList<>();
            for (int i = 0; i < streams.size(); i++)
            {
                COSBase strm = streams.getObject(i);
                if (strm instanceof COSStream stream)
                {
                    inputStreams.add(stream.getUnfilteredStream());
                    inputStreams.add(new ByteArrayInputStream(delimiter));
                }
            }
            return new SequenceInputStream(Collections.enumeration(inputStreams));
        }
        return new ByteArrayInputStream(new byte[0]);
    }

    /**
     * Returns true if this page has contents.
     */
    public boolean hasContents()
    {
        COSBase contents = page.getDictionaryObject(COSName.CONTENTS);
        if (contents instanceof COSStream)
        {
            return ((COSStream) contents).size() > 0;
        }
        if (contents instanceof COSArray)
        {
            return ((COSArray) contents).size() > 0;
        }
        return false;
    }

    /**
     * A dictionary containing any resources required by the page.
     */
    @Override
    public PDResources getResources()
    {
        if (pageResources == null)
        {
            pageResources = new PDResources(ofNullable(
                    (COSDictionary) PDPageTree.getInheritableAttribute(page, COSName.RESOURCES,
                            COSDictionary.class)).orElseGet(() -> {
                COSDictionary emptyRes = new COSDictionary();
                // it's illegal for a page to not have resources, either direct or inherited. According
                // to the specs "If the page requires no resources, the value of this entry shall be an
                // empty dictionary." so we fix it.
                page.setItem(COSName.RESOURCES, emptyRes);
                return emptyRes;
            }), resourceCache);
        }
        return pageResources;
    }

    /**
     * This will set the resources for this page.
     *
     * @param resources The new resources for this page.
     */
    public void setResources(PDResources resources)
    {
        pageResources = resources;
        if (resources != null)
        {
            page.setItem(COSName.RESOURCES, resources);
        }
        else
        {
            page.removeItem(COSName.RESOURCES);
        }
    }

    /**
     * This will get the key of this Page in the structural parent tree.
     *
     * @return the integer key of the page's entry in the structural parent tree or -1 if there
     * isn't any.
     */
    public int getStructParents()
    {
        return page.getInt(COSName.STRUCT_PARENTS);
    }

    /**
     * This will set the key for this page in the structural parent tree.
     *
     * @param structParents The new key for this page.
     */
    public void setStructParents(int structParents)
    {
        page.setInt(COSName.STRUCT_PARENTS, structParents);
    }

    @Override
    public PDRectangle getBBox()
    {
        return getCropBox();
    }

    @Override
    public Matrix getMatrix()
    {
        // todo: take into account user-space unit redefinition as scale?
        return new Matrix();
    }

    /**
     * A rectangle, expressed in default user space units, defining the boundaries of the physical
     * medium on which the page is intended to be displayed or printed.
     */
    public PDRectangle getMediaBox()
    {
        if (mediaBox == null)
        {
            COSBase base = PDPageTree.getInheritableAttribute(page, COSName.MEDIA_BOX);
            if (base instanceof COSArray)
            {
                mediaBox = new PDRectangle((COSArray) base);
            }
        }
        if (mediaBox == null)
        {
            LOG.debug("Can't find MediaBox, will use U.S. Letter");
            mediaBox = PDRectangle.LETTER;
        }
        return mediaBox;
    }

    public PDRectangle getMediaBoxRaw()
    {
        COSBase array = PDPageTree.getInheritableAttribute(page, COSName.MEDIA_BOX);
        if (array instanceof COSArray)
        {
            return PDRectangle.rectangleFrom((COSArray) array);
        }
        return null;
    }

    /**
     * This will set the mediaBox for this page.
     *
     * @param mediaBox The new mediaBox for this page.
     */
    public void setMediaBox(PDRectangle mediaBox)
    {
        this.mediaBox = mediaBox;
        if (mediaBox == null)
        {
            page.removeItem(COSName.MEDIA_BOX);
        }
        else
        {
            page.setItem(COSName.MEDIA_BOX, mediaBox);
        }
    }

    /**
     * A rectangle, expressed in default user space units, defining the visible region of default
     * user space. When the page is displayed or printed, its contents are to be clipped (cropped)
     * to this rectangle.
     */
    public PDRectangle getCropBox()
    {
        try
        {
            COSBase base = PDPageTree.getInheritableAttribute(page, COSName.CROP_BOX);
            if (base instanceof COSArray)
            {
                return clipToMediaBox(new PDRectangle((COSArray) base));
            }
        }
        catch (Exception ex)
        {
            LOG.debug("An error occurred parsing the crop box", ex);
        }

        return getMediaBox();
    }

    public PDRectangle getCropBoxRaw()
    {
        COSBase array = PDPageTree.getInheritableAttribute(page, COSName.CROP_BOX);
        if (array instanceof COSArray)
        {
            return PDRectangle.rectangleFrom((COSArray) array);
        }
        return null;
    }

    /**
     * This will set the CropBox for this page.
     *
     * @param cropBox The new CropBox for this page.
     */
    public void setCropBox(PDRectangle cropBox)
    {
        if (cropBox == null)
        {
            page.removeItem(COSName.CROP_BOX);
        }
        else
        {
            page.setItem(COSName.CROP_BOX, cropBox.getCOSObject());
        }
    }

    /**
     * A rectangle, expressed in default user space units, defining the region to which the contents
     * of the page should be clipped when output in a production environment. The default is the
     * CropBox.
     *
     * @return The BleedBox attribute.
     */
    public PDRectangle getBleedBox()
    {
        try
        {
            PDRectangle trimBox = getBleedBoxRaw();
            if (inMediaBoxBounds(trimBox))
            {
                return trimBox;
            }
        }
        catch (Exception ex)
        {
            LOG.debug("An error occurred parsing page bleed box", ex);
        }
        return getCropBox();
    }

    public PDRectangle getBleedBoxRaw()
    {
        return PDRectangle.rectangleFrom(
                page.getDictionaryObject(COSName.BLEED_BOX, COSArray.class));
    }

    /**
     * This will set the BleedBox for this page.
     *
     * @param bleedBox The new BleedBox for this page.
     */
    public void setBleedBox(PDRectangle bleedBox)
    {
        if (bleedBox == null)
        {
            page.removeItem(COSName.BLEED_BOX);
        }
        else
        {
            page.setItem(COSName.BLEED_BOX, bleedBox);
        }
    }

    /**
     * A rectangle, expressed in default user space units, defining the intended dimensions of the
     * finished page after trimming. The default is the CropBox.
     *
     * @return The TrimBox attribute.
     */
    public PDRectangle getTrimBox()
    {
        try
        {
            PDRectangle trimBox = getTrimBoxRaw();
            if (inMediaBoxBounds(trimBox))
            {
                return trimBox;
            }
        }
        catch (Exception ex)
        {
            LOG.debug("An error occurred parsing page trim box", ex);
        }
        return getCropBox();
    }

    public PDRectangle getTrimBoxRaw()
    {
        return PDRectangle.rectangleFrom(
                page.getDictionaryObject(COSName.TRIM_BOX, COSArray.class));
    }

    /**
     * This will set the TrimBox for this page.
     *
     * @param trimBox The new TrimBox for this page.
     */
    public void setTrimBox(PDRectangle trimBox)
    {
        if (trimBox == null)
        {
            page.removeItem(COSName.TRIM_BOX);
        }
        else
        {
            page.setItem(COSName.TRIM_BOX, trimBox);
        }
    }

    /**
     * A rectangle, expressed in default user space units, defining the extent of the page's
     * meaningful content (including potential white space) as intended by the page's creator The
     * default is the CropBox.
     *
     * @return The ArtBox attribute.
     */
    public PDRectangle getArtBox()
    {
        try
        {
            PDRectangle artBox = getArtBoxRaw();
            if (inMediaBoxBounds(artBox))
            {
                return artBox;
            }
        }
        catch (Exception ex)
        {
            LOG.debug("An error occurred parsing page art box", ex);
        }
        return getCropBox();
    }

    public PDRectangle getArtBoxRaw()
    {
        return PDRectangle.rectangleFrom(page.getDictionaryObject(COSName.ART_BOX, COSArray.class));
    }

    /**
     * This will set the ArtBox for this page.
     *
     * @param artBox The new ArtBox for this page.
     */
    public void setArtBox(PDRectangle artBox)
    {
        if (artBox == null)
        {
            page.removeItem(COSName.ART_BOX);
        }
        else
        {
            page.setItem(COSName.ART_BOX, artBox);
        }
    }

    /**
     * Clips the given box to the bounds of the media box.
     */
    private PDRectangle clipToMediaBox(PDRectangle box)
    {
        PDRectangle mediaBox = getMediaBox();
        PDRectangle result = new PDRectangle();
        result.setLowerLeftX(Math.max(mediaBox.getLowerLeftX(), box.getLowerLeftX()));
        result.setLowerLeftY(Math.max(mediaBox.getLowerLeftY(), box.getLowerLeftY()));
        result.setUpperRightX(Math.min(mediaBox.getUpperRightX(), box.getUpperRightX()));
        result.setUpperRightY(Math.min(mediaBox.getUpperRightY(), box.getUpperRightY()));
        return result;
    }

    /**
     * @return true if the given box fits into the media box
     */
    private boolean inMediaBoxBounds(PDRectangle box)
    {
        PDRectangle mediaBox = getMediaBox();
        return nonNull(box) && mediaBox.getLowerLeftX() <= box.getLowerLeftX()
                && mediaBox.getLowerLeftY() <= box.getLowerLeftY()
                && mediaBox.getUpperRightX() >= box.getUpperRightX()
                && mediaBox.getUpperRightY() >= box.getUpperRightY();
    }

    /**
     * Returns the rotation angle in degrees by which the page should be rotated clockwise when
     * displayed or printed. Valid values in a PDF must be a multiple of 90.
     *
     * @return The rotation angle in degrees in normalized form (0, 90, 180 or 270) or 0 if invalid
     * or not set at this level.
     */
    public int getRotation()
    {
        COSBase obj = PDPageTree.getInheritableAttribute(page, COSName.ROTATE);
        if (obj instanceof COSNumber)
        {
            int rotationAngle = ((COSNumber) obj).intValue();
            if (rotationAngle % 90 == 0)
            {
                return (rotationAngle % 360 + 360) % 360;
            }
        }
        return 0;
    }

    /**
     * This will set the rotation for this page.
     *
     * @param rotation The new rotation for this page in degrees.
     */
    public void setRotation(int rotation)
    {
        page.setInt(COSName.ROTATE, rotation);
    }

    /**
     * This will set the contents of this page.
     *
     * @param contents The new contents of the page.
     */
    public void setContents(PDStream contents)
    {
        page.setItem(COSName.CONTENTS, contents);
    }

    /**
     * This will set the contents of this page.
     *
     * @param contents Array of new contents of the page.
     */
    public void setContents(List<PDStream> contents)
    {
        COSArray array = new COSArray();
        for (PDStream stream : contents)
        {
            array.add(stream);
        }
        page.setItem(COSName.CONTENTS, array);
    }

    /**
     * This will get a list of PDThreadBead objects, which are article threads in the document. This
     * will return an empty list of there are no thread beads.
     *
     * @return A list of article threads on this page.
     */
    public List<PDThreadBead> getThreadBeads()
    {
        COSArray beads = page.getDictionaryObject(COSName.B, COSArray.class);
        if (beads == null)
        {
            return new COSArrayList<>(page, COSName.B);
        }
        List<PDThreadBead> actuals = new ArrayList<>(beads.size());
        for (int i = 0; i < beads.size(); i++)
        {
            COSBase item = beads.getObject(i);
            PDThreadBead bead = ofNullable(item).filter(d -> d instanceof COSDictionary)
                    .map(COSDictionary.class::cast).map(PDThreadBead::new).orElseGet(() -> {
                        LOG.warn("Ignored thread bead expected to be a dictionary but was {}",
                                item);
                        return null;
                    });
            if (nonNull(bead))
            {
                actuals.add(bead);
            }
        }
        return new COSArrayList<>(actuals, beads);
    }

    /**
     * This will set the list of thread beads.
     *
     * @param beads A list of PDThreadBead objects or null.
     */
    public void setThreadBeads(List<PDThreadBead> beads)
    {
        page.setItem(COSName.B, COSArrayList.converterToCOSArray(beads));
    }

    /**
     * Get the metadata that is part of the document catalog. This will return null if there is no
     * meta data for this object.
     *
     * @return The metadata for this object.
     */
    public PDMetadata getMetadata()
    {
        return ofNullable(page.getDictionaryObject(COSName.METADATA, COSStream.class)).map(
                PDMetadata::new).orElse(null);
    }

    /**
     * Set the metadata for this object. This can be null.
     *
     * @param meta The meta data for this object.
     */
    public void setMetadata(PDMetadata meta)
    {
        page.setItem(COSName.METADATA, meta);
    }

    /**
     * Get the page actions.
     *
     * @return The Actions for this Page
     */
    public PDPageAdditionalActions getActions()
    {
        COSDictionary addAct = page.getDictionaryObject(COSName.AA, COSDictionary.class);
        if (addAct == null)
        {
            addAct = new COSDictionary();
            page.setItem(COSName.AA, addAct);
        }
        return new PDPageAdditionalActions(addAct);
    }

    /**
     * Set the page actions.
     *
     * @param actions The actions for the page.
     */
    public void setActions(PDPageAdditionalActions actions)
    {
        page.setItem(COSName.AA, actions);
    }

    /**
     * @return The page transition associated with this page or null if no transition is defined
     */
    public PDTransition getTransition()
    {
        return ofNullable(page.getDictionaryObject(COSName.TRANS, COSDictionary.class)).map(
                PDTransition::new).orElse(null);
    }

    /**
     * @param transition The new transition to set on this page.
     */
    public void setTransition(PDTransition transition)
    {
        page.setItem(COSName.TRANS, transition);
    }

    /**
     * Convenient method to set a transition and the display duration
     *
     * @param transition The new transition to set on this page.
     * @param duration   The maximum length of time, in seconds, that the page shall be displayed
     *                   during presentations before the viewer application shall automatically
     *                   advance to the next page.
     */
    public void setTransition(PDTransition transition, float duration)
    {
        page.setItem(COSName.TRANS, transition);
        page.setItem(COSName.DUR, new COSFloat(duration));
    }

    /**
     * This will return a list of the annotations for this page.
     *
     * @return List of the PDAnnotation objects, never null. The returned list is backed by the
     * annotations COSArray, so any adding or deleting in this list will change the document too.
     */
    public List<PDAnnotation> getAnnotations()
    {
        return getAnnotations(annotation -> true);
    }

    /**
     * This will return a list of the annotations for this page.
     *
     * @param annotationFilter the annotation filter provided allowing to filter out specific
     *                         annotations
     * @return List of the PDAnnotation objects, never null. The returned list is backed by the
     * annotations COSArray, so any adding or deleting in this list will change the document too.
     */
    public List<PDAnnotation> getAnnotations(AnnotationFilter annotationFilter)
    {
        COSArray annots = page.getDictionaryObject(COSName.ANNOTS, COSArray.class);
        if (annots == null)
        {
            return new COSArrayList<>(page, COSName.ANNOTS);
        }
        List<PDAnnotation> actuals = new ArrayList<>();
        for (int i = 0; i < annots.size(); i++)
        {
            COSBase item = annots.getObject(i);
            PDAnnotation annotation = ofNullable(item).filter(d -> d instanceof COSDictionary)
                    .map(COSDictionary.class::cast).map(PDAnnotation::createAnnotation)
                    .orElseGet(() -> {
                        LOG.warn("Ignored annotation expected to be a dictionary but was {}", item);
                        return null;
                    });
            if (nonNull(annotation) && annotationFilter.accept(annotation))
            {
                actuals.add(annotation);
            }
        }
        return new COSArrayList<>(actuals, annots);
    }

    /**
     * Assuming the rotated crop box is plane where the lower left corner has coordinates 0,0 and
     * assuming the given point belongs to this plane, it returns the unrotated media box
     * coordinates where this point should be drawn
     *
     * @param point
     * @return
     */
    public Point cropBoxCoordinatesToDraw(Point2D point)
    {
        PDRectangle cropBox = getCropBox();
        double x = point.getX() + cropBox.getLowerLeftX();
        double y = point.getY() + cropBox.getLowerLeftY();

        if (getRotation() == 90)
        {
            x = cropBox.getUpperRightX() - point.getY();
            y = cropBox.getLowerLeftY() + point.getX();
        }
        else if (getRotation() == 180)
        {
            x = cropBox.getUpperRightX() - point.getX();
            y = cropBox.getUpperRightY() - point.getY();
        }
        else if (getRotation() == 270)
        {
            x = cropBox.getLowerLeftX() + point.getY();
            y = cropBox.getUpperRightY() - point.getX();
        }

        return new Point((int) x, (int) y);
    }

    /**
     * This will set the list of annotations.
     *
     * @param annotations The new list of annotations.
     */
    public void setAnnotations(List<PDAnnotation> annotations)
    {
        page.setItem(COSName.ANNOTS, COSArrayList.converterToCOSArray(annotations));
    }

    @Override
    public boolean equals(Object other)
    {
        return other instanceof PDPage && ((PDPage) other).getCOSObject() == this.getCOSObject();
    }

    @Override
    public int hashCode()
    {
        return page.hashCode();
    }

    /**
     * @return the resource cache associated with this page, or null if there is none.
     */
    public ResourceCache getResourceCache()
    {
        return resourceCache;
    }

    /**
     * Get the viewports.
     *
     * @return a list of viewports or null if there is no /VP entry.
     */
    public List<PDViewportDictionary> getViewports()
    {
        COSBase base = page.getDictionaryObject(COSName.VP);
        if (!(base instanceof COSArray array))
        {
            return null;
        }
        List<PDViewportDictionary> viewports = new ArrayList<>();
        for (int i = 0; i < array.size(); ++i)
        {
            COSBase base2 = array.getObject(i);
            if (base2 instanceof COSDictionary)
            {
                viewports.add(new PDViewportDictionary((COSDictionary) base2));
            }
            else
            {
                LOG.warn("Array element {} is skipped, must be a (viewport) dictionary", base2);
            }
        }
        return viewports;
    }

    /**
     * Set the viewports.
     *
     * @param viewports A list of viewports, or null if the entry is to be deleted.
     */
    public void setViewports(List<PDViewportDictionary> viewports)
    {
        if (viewports == null)
        {
            page.removeItem(COSName.VP);
            return;
        }
        COSArray array = new COSArray();
        for (PDViewportDictionary viewport : viewports)
        {
            array.add(viewport);
        }
        page.setItem(COSName.VP, array);
    }

    /**
     * @return the user unit. This is a positive number that shall give the size of default user
     * space units, in multiples of 1/72 inch, or 1 if it hasn't been set. This is supported by PDF
     * 1.6 and higher.
     */
    public float getUserUnit()
    {
        float userUnit = page.getFloat(COSName.USER_UNIT, 1.0f);
        return userUnit > 0 ? userUnit : 1.0f;
    }

    /**
     * Get the user unit. This is a positive number that shall give the size of default user space
     * units, in multiples of 1/72 inch. This is supported by PDF 1.6 and higher.
     *
     * @param userUnit throws IllegalArgumentException if the parameter is not positive.
     */
    public void setUserUnit(float userUnit)
    {
        if (userUnit <= 0)
        {
            throw new IllegalArgumentException("User unit must be positive");
        }
        page.setFloat(COSName.USER_UNIT, userUnit);
    }

    /**
     * Removes from the page dictionary all non spec compliant keys.
     *
     * @see https://github.com/torakiki/pdfsam/issues/383
     */
    public void sanitizeDictionary()
    {
        getContentStreams().forEachRemaining(s -> {
            COSStream stream = s.getCOSObject();
            List<COSName> invalid = stream.keySet().stream()
                    .filter(k -> !VALID_STREAM_KEYS.contains(k)).toList();
            invalid.forEach(stream::removeItem);
        });
    }

    public COSDictionary getPageTreeParent()
    {
        return pageTreeParent;
    }
}

redpajama_set_name: RedPajamaGithub


text:
import os
import time

class Logbook(object):

    def __init__(self):
        """
        Class initialization
        """
        self._id = time.strftime("%d%m%Y_%H%M%S", time.gmtime()) #id of the log, it's the timestamp
        self._trial = 0
        self._pinv = 0.0
        self._rinv = 0.0
        self._pmult = 0.0
        self._rmult = 0.0
        self._gaze = False
        self._pointing = False
        self._timer = 0
        self._mp3 = ""

        #create the file
        open(self._id + ".csv", 'a').close()

        #Write the header as first line
        try:
           path_to_file = self._id + ".csv"
           with open(path_to_file, "a") as f:
               f.write( "trial, person_investment_first, robot_investment_first, person_investment_second, log_robot_investment_second, player_b_investment, pmf, bmf, person_total, gaze, pointing, timer_first, timer_second" + '\n')
               f.close()
        except:
           # log exception
           print("* LOGBOOK: execpion creating the header.")

    def AddTextLine(self, stringToAdd):
        try:
            path_to_file = self._id + ".csv"
            with open(path_to_file, "a") as f:
                f.write( stringToAdd + '\n')
                f.close()
        except:
            # log exception
            print("* LOGBOOK: execpion adding a text line to the file.")

    def AddLine(self, trial, pinv_first, rinv_first, pinv_second, rinv_second, pbinv, pmult, bmult, total, gaze, pointing, timer_first, timer_second):
        '''Add a line in the log file

        trial, person_investment_first, robot_investment_first, person_investment_second, robot_investment_second, " +
        player_b_investment, person mult factor, player b mult factor, total, gaze, pointing, timer_first, timer_second "
        '''
        try:
            #self._trial = trial
            #self._pinv = pinv
            #self._rinv = rinv
            #self._pmult = pmult
            #self._rmult = rmult
            #self._gaze = gaze
            #self._pointing = pointing
            #self._timer = timer

            path_to_file = self._id + ".csv"
            with open(path_to_file, "a") as f:
                f.write( str(trial) + "," + str(pinv_first) + "," +  str(rinv_first) + "," + str(pinv_second) + "," + str(rinv_second) + "," + str(pbinv)
                         + "," + str(pmult) + "," + str(bmult) + "," + str(total) + "," + str(gaze) + "," + str(pointing) + "," + str(timer_first) + "," + str(timer_second) + '\n')
                f.close()
        except:
            # log exception
            print("* LOGBOOK: execpion adding a line to the file.")

    def SaveFile(self, filePath):
        print(filePath)
        if os.path.isfile(filePath):
            self._path = filePath
            self._doc = minidom.parse(filePath)
            print("PARSER: the XML file was correctly loaded.")
            return True
        else:
            print("PARSER: Error the XML file does not exist, please check if the path is correct.")
            return False