I finally completed Dark Souls in 2018. It only took me 4 years and 38 days, but I did finally complete it and come to think of it, I have some things to say.
I began Dark Souls based on my dear friend and colleague Paul Berberich's proposal that we do a let's play. I would start my first character on his PC, and I would only play the game on that character on the Prepare to Die edition of the game on Steam.
So it was that Johnson came to be when we recorded that first fateful episode of Prepare to Suffer with Paul and Moe on September 11th, 2014. Much of Johnson's story is missing from YouTube (although we hope to rectify that eventually), but one thing that isn't missing is the point where he went hollow.
It would happen some time after we recorded the episode for the Well Played journal, but it was nonetheless Ornstein and Smough...or more aptly Smough's hammer that had the last word with Johnson. He rests on a hard drive that I believe Paul still has, but he is unlikely to ever kindle another bonfire or learn a new pyromancy.
His hollowness can be attributed to many things: The fan on Paul's PC had gotten excessively loud, our propensity for drinking craft beer certainly didn't help, the absolute and utter trainwreck my personal life became during late 2016 was a likely factor, and I mean, I just wasn't quite that good yet...and I wasn't playing a sorcerer.
So, when Dark Souls Remastered was released on PS4, I more or less immediately stopped playing Dark Souls 3 and started Yarnstin, first of her name...as far as I know. 4 months and 26 days (and 101 hours of gameplay) later, she had finally slain Lord Gwyn and I had finally beaten the game.
It was quite a journey, and I was fortunate to ultimately have Paul back with me in the same room when I completed it. I was honestly a little stunned in the moment. It was hard to comprehend that I was finally done...except of course, I wasn't because there was still Dark Souls 3...but done enough, done for now.
We went out for a beer.
Dark Souls is an extraordinary game. I'm on record talking about a lot of it academically and conversationally with Paul, but the thing I want to say here is different and in a sense I can only say after beating the game. Even though Dark Souls finally peters out and becomes a patchy wasteland of design in the very tippy end, it consistently rewards the player's effort from the very beginning, and it does so with style.
Dark Souls is of course known for providing opportunities to fail. What is less understood by most is how It also provides learning opportunities that are relatively accessible in those moments of failure. Some of the best deaths in boss fights and exploration give hints at how to overcome the whole challenge progressively. Slightly better thinking on the part of the player is rewarded with an additional understanding of an attacker's behavior. The positioning of threats in the environment and the geography itself unfolds a little more with every mistake, allowing for slightly more progress next time.
Not only does playing Dark Souls make you a better player in the way that great video games usually do, it does so in a way that helps you feel progressively competent over things that are initially both visually intimidating and mechanically difficult. Each progressive death paves the way to victory*. It is in short a damn fine example of a game as a learning engine.
Of course, I can't deny the fact that the 207 hours of ultimately fruitless gameplay that Jarnson has received on Dark Souls 3 helped me beat Dark Souls with Yarnstin. All those hours dodging, ducking, and having no choice but to get in close as a mercenary have not been without benefit. Nonetheless, Jarnson is likely destined for Johnson's fate. He resides at the Dragonslayer Armour, his twin sworded style simply too demanding for my own abilities as a player, at least for now. yarn however, she will persist. Sorcery in Dark Souls 3 has thus far felt a great deal like it did in Dark Souls, and she is perilously close to slaying the Abyss Watchers. I'm looking forward to revisiting the Pontiff.
* With the provision that the player is adequately sober and not on tilt.


text:
How do I get dumpster approval for the 50th & France district?
View the 50th & France District Construction Dumpster Regulation information.
Construction activities within the City of Edina are regulated by the Edina City Code and Minnesota State Building Code. The following permits may be required for your project:
• Building Permit: Required for any construction, alteration, repair, relocation, enlargement, demolition or change of use or occupancy to any building or structure regulated by the state building code. This includes building additions, decks, sheds more than 200 square feet, work to a permanent weather resistive surface (siding, roofing, windows) and finishing of previously unfinished spaces.
• Plumbing Permit: Required for the installation, alteration, repair or extension of any plumbing system or individual sewage disposal system. This includes the installation or replacement of a fixture, water heater, water softener, a backflow preventer for a lawn irrigation system and any other activity as required by the building official or plumbing inspector.
• Mechanical Permit: Required for the installation, alteration, repair or extension of any heating, ventilation or exhaust system, refrigeration unit, air conditioning unit, manufactured gas or wood fireplaces and stoves, manufactured chimney and venting systems, hot water, low pressure steam equipment or other mechanical equipment as required by the building official or mechanical inspector.
• Sewer/Water Permit: Required for any connection, disconnection, modification or repair to a sanitary sewer or water service distribution system.
• Electrical Permit: Required for any installation, alteration, repair or extension of electrical work for light, heat, power and any other activity as required by the building official or electrical inspector. All electrical permits are issued by the State of Minnesota. For more questions, please call 763-205-5015.
Permits for new or existing structures will be issued to home owners who homestead the property or contractors licensed by the State of Minnesota. The exception to this rule is mechanical and plumbing work. In both new and existing structures, mechanical and plumbing permits will only be issued to contractors licensed by the City of Edina when the owner does not reside in the home.
Please contact the Building Inspections Division at 952-826-0372 for more specific information or with specific questions about your project.
The City of Edina uses electronic permit application submission and plan review processes.
Electronic Permit & Plan Review Guide
3. When are inspections required?
Construction activities within the City of Edina are regulated by Edina City Code and the Minnesota State Building Code. Under these codes, it is the responsibility of the permit holder to schedule all required inspections, provide access to the area that must be inspected and provide a means for completion of the inspection.
Contact the building inspections division Monday through Friday, 7:30 a.m.–4:30 p.m. at 952-826-0372. Please have the permit number ready when calling.
4. How long does it take to get a permit?
The permit review timeline is dependent on several factors, including the number of permits under review at any given time and the completeness of those permit applications. We strive to meet the general rule of thumb of 5 to 10 business days for residential permits and 15 business days for commercial permits.
5. Can I start work without a permit?
No. Beginning work without a permit is a violation of state law. The city will fine a property owner or contractor who begins work without first obtaining a permit.
6. How much will a permit cost?
There is a permit fee estimator located on our City website at:
Estimate Permit Fees
7. How do I apply for an RPZ/PVB Permit?
Please send your RPZ/PVB report to [email protected] along with a good phone number to contact you.
We will setup the permit for you and then call for payment. The cost is $34.25 per report.
8. What work on my condo/townhome needs a permit?
Permits are required when you are doing construction to your unit for most types of work. Please see Edina Multi-Family Buildings: When is a Permit Needed (PDF) outlining who can do the work and which projects need permits. There may be exceptions.
9. What are the regulations regarding noise and after-hours work?
For demolition and construction of a new single family home: Deliveries of equipment and material to the site, work crews on site and construction and demolition activity are prohibited except between the hours of 7:00 a.m. and 7:00 p.m., Monday through Friday, and 9:00 a.m. and 6:00 p.m. on Saturday. Work is prohibited on Sundays and holidays (New Year's Day, Memorial Day, Fourth of July, Labor Day, Thanksgiving and Christmas). Edina City Code Chapter 10, Article IV
For all other construction-related projects: No person shall engage in or permit construction and repair activities involving the use of any kind of electric, diesel or gas-powered motor vehicles or machine or other power equipment, audible beyond the property line of the property where the activity is occurring, except:
For projects requiring a building permit with a building project value of $50,000.00 or less:
Monday—Friday, 7:00 a.m.—7:00 p.m.
Saturdays, Sundays and Holidays (New Year's Day, Memorial Day, Fourth of July, Labor Day, Thanksgiving and Christmas), 9:00 a.m.—5:00 p.m.
For projects requiring a building permit with a building project value of more than $50,000.00:
Saturdays, 9:00 a.m.—5:00 p.m.
Sundays and Holidays (New Year's Day, Memorial Day, Fourth of July, Labor Day, Thanksgiving and Christmas), no work
Edina City Code Chapter 23, Article II, Division 5, Sec. 23-124
The City recommends that if a neighbor is disrupted by construction noise outside of allowable hours, contact the Edina Police Department's non-emergency line at 952-826-1600.
10. How do I search for permits on a site address?
You can search for permits on a site address by going to:
Search for Permits
11. When does a permit expire?
A permit will be considered expired if there has been no work or inspection done in 180 days. The Chief Building Official is authorized to grant extension of time if there is justifiable cause demonstrated.
12. How do I get dumpster approval for the 50th & France district?
13. Does my dock need a permit?
Does my dock need a permit?
The City does not issue permits for docks.
The DNR does not require a permit to install, construct, or reconstruct a dock on shoreline property you own if you comply with this DNR guidance.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Getting exception while creating zip file I want to convert my log file into zip file. So for that I'm using Objective-Zip. But I'm getting exception
2018-08-02 11:53:57.901192+0530 Aglive[1076:511096] *** Terminating app due to uncaught exception 'OZZipException', reason: 'Can't open 'test.zip''
*** First throw call stack:
(0x18204b164 0x181294528 0x101371724 0x101371414 0x101109318 0x101108234 0x18b71cb20 0x18b7c5760 0x18b873aa8 0x18b866e5c 0x18b5f8464 0x181ff2cdc 0x181ff0694 0x181ff0c50 0x181f10c58 0x183dbcf84 0x18b6695c4 0x100f93f80 0x181a3056c)
libc++abi.dylib: terminating with uncaught exception of type OZZipException

This is my code
 NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
        NSString *filePath = [docDir stringByAppendingPathComponent:@"Logfile.txt"];
        OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:@"test.zip"
                                                                      mode:OZZipFileModeCreate];
        OZZipWriteStream *stream= [zipFile writeFileInZipWithName:@"Logfile.txt"
                                                 compressionLevel:OZZipCompressionLevelBest];

        [stream writeData:filePath];
        [stream finishedWriting];

This exception occurs just after code
OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:@"test.zip"
                                                                          mode:OZZipFileModeCreate];

I don't know why this exception occurs.Why it is trying to open that file instead of creating it?

A: I think that it can't find the path where create the zip file.
In the example files, it creates the archive with:
NSString *documentsDir= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *filePath= [documentsDir stringByAppendingPathComponent:@"test32_64.zip"];

OZZipFile *zipFile32= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeCreate legacy32BitMode:YES];

You can see that the filePath is the zip Path and with this it calls the alloc init.
Then it adds the file:
OZZipWriteStream *stream= [zipFile32 writeFileInZipWithName:@"abc.txt" fileDate:[NSDate dateWithTimeIntervalSinceNow:-86400.0] compressionLevel:OZZipCompressionLevelDefault];

And finally it writes and closes the stream and the file:
NSMutableData *writeData= [NSMutableData dataWithLength:4096];
int result= SecRandomCopyBytes(kSecRandomDefault, [writeData length], [writeData mutableBytes]);

XCTAssertEqual(0, result);

[stream writeData:writeData];

[stream finishedWriting];

[zipFile32 close];

The answer to your last question is that in all the OZZipFileMode case (unzip, create and append) it prints the same log in the exceptions:
[OZZipException zipExceptionWithError:OZ_ERROR_NO_SUCH_FILE reason:@"Can't open '%@'", _fileName];

redpajama_set_name: RedPajamaStackExchange


On Wednesday 25th January, around 120 children and parents from the Annie M.G. Schmidtschool and day-care centre 2Samen participated in our Healthy Seas beach clean-up in the Netherlands. They bravely faced the cold for more than an hour, collecting over 330 kilograms of litter from the North Sea coast at Scheveningen. Upon return they weighed their bags at the surf school Hart Beach and received a welcoming reward: a hot chocolate!
Although the beach looked relatively clean at first sight, everybody was amazed at the amount of litter collected in only an hour. With our beach clean-up activities we want to raise the children's awareness of the problems of marine litter. Also, and even more so, we want to show them the link with their own behavior and how they can be an active part of the solution.
More than 80% of marine litter comes from land. We can all help to stop it!
Share the post "Successful Healthy Seas beach clean-up with schoolkids"


Burke Equipment Company is the Delmarva leader in Quality of Service. We provide on-site service as well as complete shop service for most tractors, equipment, and implements. From the simple oil change to complete engine overhauls, let Burke Equipment Company maintain your equipment and solve your problems.
Call on Burke Equipment Company to come to your rescue when tractors or equipment break down or require service in the field. Our expert technicians can be on site to get your equipment back up and running, often on the same day. Save valuable time and money versus transporting equipment to a service center. Keep your projects on schedule with less downtime by keeping Burke Equipment Company's phone number handy.
On-site service is available throughout the entire Delmarva Peninsula. We keep tractors and equipment running on the Delmarva Peninsula!
With this program, your equipment will be routinely serviced by a Kubota Certified Service Technician & using Genuine Manufacturer Parts.
Set-up the fixed price program that is right for you.
Call Burke Equipment Company for any questions.


text:
Movie review: Eddie Murphy's star rises again in 'Dolemite'
Al Alexander More Content Now
Never underestimate the power of a dream - or the talent of the much-maligned Eddie Murphy. That's the take away from Craig Brewer's "Dolemite Is My Name," a funny, foul-mouthed biopic in which the writers of "Ed Wood" serve up another helping of a delusional filmmaker casting reason to the wind in creating a cinema classic.
Well, "classic" might be too strong a word; "legend" is closer to the truth. And I'm not just talking about the 1975 Blaxploitation joint "Dolemite," but another golden oldie in Murphy, a comedian whose career had faded into irrelevance until Brewer ("Hustle & Flow") came along to resurrect the "Daddy Day Care" star by mercifully returning him to his R-rated roots. The result is a smorgasbord of vulgarity, with F-bombs and euphemisms for male and female genitalia dominating a script by Scott Alexander and Larry Karaszewski that's pee-your-pants hilarious.
That's just the surface. Deeper down resides something even more terrific about guts, determination and a refusal to take "no" for an answer. It's about drive and having the fortitude to defy all odds in chasing a vision held by not just one man, but an equally ignored group of talents gathering the will to lift themselves up right along with him. The era is the mid-1970s, but it retains a relevance to a modern film industry tending to box non-whites into roles of domestics and menial laborers, both on- and off-screen.
Now, as then, to be a star you must buck the system, which is exactly what part-time comedian and full-time record store flunky Rudy Ray Moore determines to do once he brings his pioneering style of funny to the masses, first via stage and recordings and then the ultimate: film.
There's a lot of Eddie Murphy in Rudy Ray Moore and vice-versa, making for something magical, as the two dynamic personalities merge into one. It's a beautiful thing, too. You might even say cathartic, as the character becomes a stand-in for anyone who's ever had a dream. We may not aspire to become "the godfather of rap," but it's no different than wanting to be the best salesman, the best broker, the best techie or even best dad. It's all about believing in yourself and creating your own breaks, which is what Rudy Ray does in transforming into his preening-pimp alter-ego, Dolemite.
Although Murphy is a solid decade older than Moore was in the early 1970s, you buy fully into what he's selling in bringing an icon of the African American community vibrantly to life. It begins where the character Dolemite began, at the famous Dolphins of Hollywood record store, a South L.A. emporium where a member of the local homeless community wanders in. Moore's bosses want the gentleman tossed out on his keister. But Rudy sees the broken man's true value. And that is in the stories he and his fellow vagrants recite about an uncouth pimp named Dolemite.
With a handful of cash, Moore plies the drifters into recounting their Dolemite tales, which he immediately incorporates into his comedy act, gradually transforming into the raconteur who rhymes like Ali and stings like another local black comedian named Richard Pryor. Throngs of African Americans love him, but not record executives. So, undeterred, Moore borrows his mother's life savings and goes DIY in producing LPs he records before small audiences crammed inside his tiny apartment.
Soon, the cash rolls in, and so do the offers. He signs with a label, then adds a sidekick in the full-figured funny gal, Lady Reed (Da'Vine Joy Randolph, sensational), and we're off on a four-lettered adventure that's as exuberant as it is invigorating. But we're just getting started. After a trip to see the dreadful "The Front Page" starring Walter Matthau and Jack Lemmon, Moore experiences his "eureka" moment when it hits him that he can make funnier movies than that in his sleep. Thus, a dream is born.
What Moore doesn't expect is filmmaking being so much harder than it looks. He needs help, and here's where Murphy and his delightful movie hit their stride, as Brewer surrounds his 200-megawatt star with some of the funniest black actors in the business - from Emmy-winner Titus Burgess to Wesley Snipes - to portray Moore's cast and crew in the making of a little film he titles "Dolemite."
What ensues shares much of the same DNA as "The Disaster Artist" and the aforementioned, "Ed Wood." But what makes it unique is the way Brewer's ensemble meld into something truly special. You can't help but get caught up in their unbridled enthusiasm and the pure joy everyone experiences; not just because they all click, but because they've all been presented an opportunity to perform in an industry that for decades had cast them aside as inferiors. The underlying message of pride and self-belief is kept subtle but proves quite moving - and, yes, funny.
The performances are universally outstanding, including an all-grown-up Kodi Smit-McPhee ("The Road," "Let Me In") as one of a handful of UCLA film students hired to join in, mainly because they have free-and-unfettered access to the expensive equipment needed to make a movie. But it's Murphy who brings it home. It's not an exaggeration to say it's the finest work of his career, and a lot of that, I think, is because Brewer has presented the Golden Child with a golden opportunity to return to his raunchy origins. It's almost like Murphy forgot he had it in him, and it took Brewer - and the movie - to provide the catalyst.
There's been Oscar talk; lots of it. But I fear the old white folks in the Academy will shun what they likely consider "filth." Let them think that. This movie isn't for them. It's for comedy fans that have been aching for a reason to bust a laugh and shed a tear - all at once. It's not perfect, but "Dolemite Is My Name" is - like Murphy - something to see to fully appreciate. Even more, it's a fitting tribute, not just to a long-forgotten movie, but to the hard-toiling geniuses who make the pictures we love, whether they involve great talents like Scorsese or little guys with enormous hearts like Rudy Ray Moore. His films may center on kung fu-kicking, pistol-packing "ho's and pimps," but what they're really about is spreading joy, something "Dolemite Is My Name" does with impunity. Oh, what fun it is!
Al Alexander may be reached at alexandercritica@aol.com.
Cast includes Eddie Murphy, Da'Vine Joy Randolph, Wesley Snipes, Michael-Keagan Key, Titus Burgess, Mike Epps, Kodi Smit-McPhee and Craig Robinson.
(R for some sexuality, full nudity and brief language.)
Grade: B+


text:
Prop 24 Week in Review (Week of 10/19)
Wow, as we write this there is only 9 days to Election Day, and already over 30% of Californians have voted! The week of 10/19 was a huge week for the Yes on Prop 24 campaign, as we showed continued momentum in support of Prop 24, incuding a major endorsement from Consumer Reports. Let's go through the highlights!
Consumer Reports Urges Californians to Vote Yes on Proposition 24
That headline above (and shown below) comes straight from the Consumer Reports' press release itself announcing this important consumer protection organization's endorsement and support of Prop 24.
In the press release, the following key points were made:
Consumer Reports has played a leading role in ensuring that the CCPA works for consumers. CR has documented companies' efforts to avoid complying with the CCPA since it went into effect in January 2020, and pointed out the difficulties that consumers have faced in exercising their new privacy rights. CR also fought on behalf of consumers for numerous pieces of legislation to strengthen the CCPA, and defended the CCPA from being weakened by a flurry of industry-supported bills in the 2019 legislative session. While the ballot measure is not perfect, it would address significant loopholes that companies have exploited to deny consumers' opt-out requests—loopholes that the legislature, despite the efforts of key champions in Sacramento, has not been able to address.
"Some of the biggest tech companies have refused to honor Californians' requests to stop the disclosure of their information for behavioral advertising, and they're lobbying for exemptions for these practices in other states," said Maureen Mahoney, policy analyst at Consumer Reports. "California consumers should use their power as citizens to vote for Proposition 24 to show that they will stand up for themselves if companies and legislators won't."
Justin Brookman, director of technology policy at Consumer Reports, said, "Despite the passage of the CCPA, few companies have meaningfully curbed their data-sharing practices, even when a consumer asks them to stop. Proposition 24 would close up some of the worst loopholes in the CCPA, to help make the new law more workable for consumers."
The press release was also followed by a blog post by Maureen Mahoney that further articulated the reasons for Consumer Reports endorsement of Prop 24.
The blog post makes a number of key points as detailed in this Tweet thread:
Lets break down Consumer Reports (@CRAdvocacy) endorsement of Prop 24 in a bit more detail. https://t.co/bdebNLnbQ6 #Prop24 #YesOn24 #YesOnProp24 pic.twitter.com/92BTsFNelf
— Yes on Prop 24 = Yes on Privacy (@YesOn24) October 23, 2020
Additional Important Endorsements
This week we saw additional endorsements and support of Prop 24 by significant privacy leaders, unions and business leaders.
Privacy Expert and Cambridge Analytica Whistleblower Brittany Kaiser Endorses Prop 24
Renowned consumer privacy expert Brittany Kaiser, Co-Founder of Own Your Data Foundation, data privacy advocate and Cambridge Analytica whistleblower, announced she is a Yes on Prop 24. Kaiser, featured in the Netflix documentary "The Great Hack," was a whistleblower against mega-data-broker Cambridge Analytica, and helped bring to light the company's manipulation and misuse of Facebook data that impacted both the 2016 U.S. Presidential Election and the U.K. Brexit referendum. She also testified before the U.K. Parliament and was a witness for the Mueller Investigation.
"I support Prop 24, which would be the strongest, most effective privacy legislation ever passed in this country," said Kaiser. "I urge Californians to vote yes on Prop 24, and for other states to follow this lead in their pursuits of consumer protection."
"The future of privacy relies on giving consumers the right to control and take ownership of their own data," Kaiser added.
Prominent Black Community Organizations Support Prop 24
This week the Yes on Prop 24 campaign received endorsements from prominent black community organizations, including the California Black Chamber of Commerce and the New Frontier Democratic Club. The California Black Chamber of Commerce is the largest African American non-profit business organization representing hundreds of small and emerging businesses, affiliates and chambers of commerce throughout the state. The New Frontier Democratic Club is the oldest and largest African American Democratic club in the State of California. They join Alice Huffman, President of the California NAACP; Lynette McElhaney, Oakland City Councilmember; Daraka Larimore-Hall, Vice-Chair of the California Democratic Party; Sean Dugar DNC Member and social activist; Los Angeles Sentinel; Watt Times; Sacramento Observer; San Deigo Voice and Viewpoint; and Sun Reporter in endorsing Prop 24. Here is what Jay King of the California Black Chamber of Commerce has to say about Prop 24:
Endorsements from Nurses, Firefighters and Education Leaders
The Yes on 24 campaign also receivedimportant endorsements from the United Nurses Associations of California (UNAC), California Professional Firefighters, immediate past President of the California Teachers Association (CTA), Eric Heins, past President of CTA, Dean Vogel, and immediate past President of the California Federation of Teachers (CFT), Joshua Pechthalt.
Here is what Eric Heins, immediate past President of CTA. had to say about Prop 24:
Endorsements from Community and School Leaders, Advocates to Protect Kids Online
Prop 24 was also endorsed by a number of prominent community and school leaders this past week. Here is what Valerie Amezcua, Vice President of Santa Ana Unified School District, has to say on Prop 24:
Opinion Piece in La Opinion
Lydia F. de la Torre, privacy advocate, of Counsel at Squire Patton Boggs and adjunct professor at Santa Clara Law School, published an opinion piece in the La Opinion arguing Prop 24 would allow Californians to regain control over their personal information. Lydia is a leading national expert on California privacy law.
Additional Newspaper Endorsements
Finally, Prop 24 saw a significant number of newspaper endorsements, including including the Los Angeles Sentinel, Watts Times, Sacramento Observer, San Diego Voice and Viewpoint, and Sun Reporter.
Even smaller regional newspapers endorsed Prop 24 such as the Almanac News serving the mid-peninsula area of the Bay Area.
The support of Prop 24 by these news outlets follows the very significant endorsements by the LA Times, Sacramento Bee, Fresno Bee and Modesto Bee.
Expect more good news this week! And remember to vote, and when you do, Vote Yes on Privacy and Vote Yes on Prop 24!
PreviousYes on Prop 24 Campaign Announces Endorsement from Data Privacy Advocate and Cambridge Analytica Whistleblower, Brittany Kaiser
NextPrivacy ballot measure could give you more control over personal data — again


The design of the kayak comes from the Eskimos of Southwestern Greenland, with dimension-sawn wood substituted for a frame of carved driftwood and bones, and canvas substituted for animal skins. The building techniques are simple but elegant, incorporating modern adhesives to reduce the number of screw fastenings and the degree of precision required, while still creating a strong, light boat. Ordinary shop tools and locally available woods will suffice. The two kayaks shown under construction in this book's many photos and drawings--a 17-footer and an 18-footer--were built from the same lines and offsets (included in the book). Putz shows how to scale the boat up or down to any size using a pocket calculator. He also shows how to cover the boat with fiberglass rather than canvas if desired. Copyright © Libri GmbH. All rights reserved.
ils:.b10736098|Book|Books||English|International Marine Pub. Co.,||pages cm.


I've been working in Liwonde National Park, Malawi, with an elite team of specially trained British soldiers, known as CPO's (counter poaching operatives) who alongside rangers from African Parks are combating the soaring illegal wildlife trade.
Worth an estimated £17bn a year, poaching and trafficking is pushing species towards extinction, fueling corruption and funding organised crime and terrorism. The British Army's involvement is thanks, in part, to the Prince of Wales. A lifelong conservationist, his Charitable Foundation funded counter-poaching trial in 2015, in which rangers were trained using British military techniques. The trials success led to the development of the CPO team in Malawi.
The CPO's patrol with the extraordinarily dedicated team of rangers from African Parks for six days at time, living entirely in the bush.
Liwonde's 57000 hectares are home to a spectacular array of wildlife, including African elephant, and black rhino, both subject to intense poaching pressure.
African elephant numbers across the continent have slumped to 350,000 from an estimated 5m at the beginning of the 20th century. The population declined by 30% between 2007-2014, largely due to poaching; approx 20,000 killed every year for their tusks.
There are currently only about 5000 black rhino left in Africa; on average 1 rhino is killed every 8 hours by a poacher.
Humbling to work alongside Roya Nikkhah and witness this extraordinary selfless dedicated group of individuals pushing back against the tide of poaching, and for many species the inevitable race towards extinction. Thanks also to Russ O'Connell at the Sunday Times Magazine for presenting the opportunity for me to look at this.
Published in the magazine today and available everywhere online.


Mini Greenhouse, Mini Garden Greenhouse, Hot Sale Mini Greenhouse manufacturer / supplier in China, offering Hot Sale Mini Garden Greenhouse, 2017 Hot Sale New Style Plastic Film Tunnel Greenhouse for Cucumber, Hot Sale PC-Sheet Greenhouse for Agricultural & Commercial and so on.
Gable 7500 Commercial Greenhouse. Item No. CG-GB75. From: $10,568.80 View details. Arch 6500 Commercial Greenhouse. Item No. CG-AR65. From: $15,827.00 View details.
Gothic Arch Greenhouses is teamed up with the best commercial greenhouse builders offering you the best greenhouse construction, commercial greenhouses kits, plastic greenhouses and greenhouses design services ideal to meet your specific needs at affordable rates.
Hothouses, Plastic Greenhouse, Multi-Span Greenhouse manufacturer / supplier in China, offering Low Cost Plastic Film Greenhouse for Commercial Sales, 2017 Hot Sale New Style Plastic Film Tunnel Greenhouse for Cucumber, Hot Sale PC-Sheet Greenhouse for Agricultural & Commercial and so on.
Manufacturing affordable and reliable residential, educational, and commercial greenhouses and conservatories.
Find best value and selection for your commercial quality greenhouse hot house plastic film search on eBay. World's leading marketplace.
From production greenhouse kits to commercial greenhouse equipment, FarmTek has a professional greenhouse that will provide year-round production for propagation and growing.
Yoderbilt Portable Greenhouse are beautiful home greenhouses for sale including 8-Ft. & 12-Ft. Greenhouses that are treated, stained and include free delivery.
Glasshouses (new and secondhand), plastic houses and retractable … design and construction services and is a leading provider of customised commercial greenhouses.


As Ramadan drew to a close, members of the Islamic Cultural and Welfare Association (ICWA) in Batley Carr were out hand-delivering Eid gifts to the local community.
The scheme was instigated by the Chief Imam.
A spokesperson from ICWA said: "Eid is a celebratory day after the conclusion of fasting in Ramadan and we were approached to see what we could do as a community to share the joy of Eid and continue to foster our good links with the wider community.
"We are proud to say we have an excellent relationship with the local authority, surrounding schools and our community.
Batley and Spen MP Tracy Brabin was one of the recipients of the gifts and promised to deliver one to Labour leader Jeremy Corbyn.


Though the image of the solo creative genius is inspiring, you might be surprised to know that, for centuries, artists regularly used assistants and apprentices – Michelangelo, Rembrandt and Rubens all relied quite heavily on them in their studios. With the proper support, the work of one genius can be magnified. This is strikingly evident when viewing Michelangelo's Sistine Chapel and then learning of the extensive support he received from numerous assistants who helped with everything from mixing paints and scrambling up and down ladders, to one highly trusted assistant being allowed to paint a part of the background. Yes, in the end Michelangelo created the masterpiece, but his team enabled him to produce the stunning success on such a massive scale.
Although the old masters tended to be very open about the identity of their assistants, that kind of transparency is rarely seen today. However, for marketing agencies that are collaborating with outside resources, a synergy is created between the brightest experts, resulting in brilliant outcomes for clients.
Harnessing talent points in creative and digital.
Analytics alone can't rescue a lack of creative.
The use of outside creative support can be an overlooked resource for digital agencies when the fast-paced demands of content marketing must often be met at backbreaking speeds. Sole reliance on in-house resources can limit creative capabilities. As branding focus continues to shift toward digital initiatives and analytics, industry leaders are asking that we not forget about the core fundamentals, which must include strong creative.
Smart digital agencies realize that, where big data is fantastic for what it tells us about customers, there are other vital pieces to the marketing puzzle that must not be neglected, such as resonating with a brand's audience using great visuals and storytelling.
This is why digital agencies are increasingly looking to creative agency partners like Matter for support outside their core capabilities, and to assist them with multiple communication channels. For example, a savvy digital marketing agency may work together with a creative agency for visual design or a client's request for collateral materials – all in an effort to complement their digital marketing efforts.
Our digital partners bring our creative to life.
As a creative agency, we appreciate the high level of talent and commitment that's required to successfully assist clients with digital needs. That's why we partner with trusted digital experts that are the best in the field, rather than staffing an extensive in-house digital team. This allows Matter to provide the best outcomes in brand communications, while passing along our cost efficiencies in maintaining low overhead to our clients.
The end results have been highly successful – particularly in healthcare – where complex information must be translated to the key audience in the most accurate, yet also engaging, fashion.
When our client Stryker Orthopaedics asked us to develop a series of interactive online sales training modules for its well-trained sales force, we jumped at the opportunity and enlisted two digital partners. Matter was well aware that, when it comes to educating a sales force online regarding the complexities of medical devices, human anatomy and how people respond to and recover from injury and surgery, the challenges can be daunting.
Collaborating with our back-end development partners and a specialized medical animation studio from the outset, we created a series of modules effectively demonstrating how Stryker products work in a variety of clinical scenarios. The animations incorporated 3-D anatomically accurate renderings that could be easily rotated to display anterior, lateral and posterior views. In addition to the various view options, the vascular, ligament, muscular and nervous systems and organs were layered in and could be toggled on and off at will, allowing trainees to truly experience the anatomy and how Stryker's products work in a more comprehensive way.
Together, the teams completely transformed numerous visual and information points – including content development and management, images, X-rays, glossary terms, medical reference works, renderings and videos – ultimately producing a simple yet highly sophisticated interactive product that helps sales reps navigate their multifaceted learning journey via an online portal.
Our role places creative on a pedestal.
Another added benefit of our partnerships with outside digital experts has been Matter's ability to retain a sharp focus on our core capabilities of producing thought-provoking, breakthrough creative – even in industries such as medical devices, where fresh thinking in visual messaging has not always been seen as helping a brand resonate with its ideal audience.
One such example illustrated in our work for ConMed, a medical technology company with an emphasis on surgical devices and equipment for minimally invasive procedures. ConMed engaged Matter to visually articulate the benefits of one of their products which restores the surgeon's natural vision and depth perception during minimally invasive procedures.
Since the human body is usually portrayed as skeletal or via crosscut illustration, Matter developed a more creative model by use of artistic expression to symbolize human anatomy. This unique visual messaging successfully achieved ConMed's goal of resonating with its target audience, attracting new patients to hospitals that offer this innovative device to surgeons.
At Matter Creative Group, we not only have great respect for the innovative minds in the digital design and digital marketing arena, but we are well-versed in translating visual design and brand messaging across all communication channels. We welcome discussions about your next project and how we can help bring a brand's vision and message to the hearts and minds of their ideal customers.
Is Matter Creative Group the right agency partner for you?
Marketing Director searching for the perfect branding balance between art and science that results in a positive customer engagement. On a tireless quest for the big, unique idea that sparks a connection inside the mind of consumers.
We're driven by a curiosity to explore new boundaries for your brand with fresh and better ways to tell your story. It's our passion to excite and delight you with thought-provoking creative that delivers results.


text:
\section{INTRODUCTION}
\input{sections/introduction.tex}

\section{RELATED WORK}\label{sec:relwork}
\input{sections/related_work.tex}

\section{METHODS}\label{sec:cfn}
\input{sections/cf_normalization.tex}

\section{COMPLEXITY METRICS}\label{sec:complexity}
\input{sections/classification_complexity.tex}

\section{EXPERIMENTS}\label{sec:experiments}
\input{sections/experiments.tex}

\section{CONCLUSION}\label{sec:conclusion}
\input{sections/conclusion.tex}

\subsubsection*{Acknowledgements}
The authors would like to thank Katie Henry for her help in developing the sepsis classification DAG and Peter Schulam for suggesting experiment 5.1.1 and help clarifying presentation of the method.

\subsubsection{Potential Outcomes}
\textbf{Potential Outcomes}

The proposed method involves the estimation of counterfactuals, which can be formalized using the Neyman-Rubin potential outcomes framework \citep{neyman1923,rubin1974}. For outcome variable $Y$ and intervention $A$, we denote the potential outcome by $Y(a)$: the value $Y$ would have if $A$ were observed to be $a$.

In general, the distributions $p(Y(a))$ and $p(Y|A=a)$ are not equal. For this reason, estimation of the distribution of the potential outcomes relies on two assumptions:

\textbf{Consistency}: The distribution of the potential outcome under the observed intervention is the same as the distribution of the observed outcome. This implies $p(Y(a)|A=a) = p(Y|A=a)$.

\textbf{Conditional Ignorability}: $Y(a) \perp\!\!\!\perp A | X$, $\forall a \in A$. There are no unobserved confounders. This implies $p(Y(a)|X, A=a') = p(Y(a)|X, A=a)$.

\textbf{Counterfactuals and SEMS}

\citet{shpitser2008complete} develop a causal hierarchy consisting of three layers of increasing complexity: association, intervention, and counterfactual. Many works in causal inference are concerned with estimating average treatment effects---a task at the intervention layer because it uses information about the interventional distribution $p(Y(a)|X)$. In contrast, the proposed method requires counterfactual queries which use the distribution $p(Y(a)|Y, a', X)$ s.t. $a\not = a'$ \footnote{The distinction is that $p(Y(a)|X)$ reasons about the effects of causes while $p(Y(a)|Y, a', X)$ reasons about the causes of effects (see, e.g., \citet{pearl2015causes}).}. That is, given that we observed an individual's outcome to be $Y$ under intervention $a'$, what would the distribution of their outcome have been under a different intervention $a$?

In addition to the assumptions for estimating potential outcomes, computing counterfactual queries requires functional or structural knowledge \citep{pearl2009}. We can represent this knowledge using causal structural equation models (SEMs). These models assume variables $X_i$ are functions of their immediate parents in the generative causal DAG and exogenous noise $u_i$: $X_i = f_i(pa(X_i), u_i)$. Reasoning counterfactually at the level of an individual unit requires assumptions on the form of the functions $f_i$ and independence of the $u_i$, because typically we are interested in reasoning about interventions in which the exogenous noise variables remain fixed. We build on this to estimate the latent counterfactual variables introduced within the proposed procedure.

\subsection{BACKGROUND}
\input{sections/background.tex}

\subsection{COUNTERFACTUAL NORMALIZATION}
\subsubsection{Assumptions About Structure of the Graph}
Counterfactual Normalization uses a DAG, $\mathcal{G}$, that
represents the causal mechanisms relating variables in a prediction problem. Let $\mathbf{O}$ denote the observed variables, and $T\in\mathbf{O}$ be the target variable to predict ($T$ is unobserved in test distributions). We make no further assumptions about the edges relating observed variables. Let $ch(\cdot)$ and $pa(\cdot)$ represent children and parents in $\mathcal{G}$, respectively.

$\mathcal{G}$ can contain unobserved variables $\mathbf{U}$, which we will use to represent domain-dependent confounding. An unobserved variable must have at least two children so that it confounds the relationship between its children. Domain-dependent confounding occurs when $p(\mathbf{U}|pa(\mathbf{U}))$ or $p(ch(\mathbf{U})|\mathbf{U})$ changes across domains. $\mathcal{G}$ can also contain an additional variable $S$ which represents the selection mechanism that induces selection bias in the training data. The mechanism is given by $p(S=1|pa(S))$ where $pa(S)$ is assumed to be nonempty and $S$ is always assumed to be conditioned upon in the training domain.

\newlength{\textfloatsepsave} \setlength{\textfloatsepsave}{\textfloatsep} \setlength{\textfloatsep}{0.1in}
\begin{algorithm}[!t]\label{alg:stable}
 \KwIn{Graph $\mathcal{G}$, number of variables $N$, observed variables $\mathbf{O}$, target $T$}
 \KwOut{Stable conditioning set $\mathbf{Z}$, Vulnerable set $\mathbf{V}$}
 $\mathbf{Z}=\mathbf{O}\setminus T$\;
 $\mathbf{V}=\emptyset$\;
 \For{$k=1$ to $N-1$}{
 Conditioned on $\mathbf{Z}$, find the set $\mathbf{A}$ of active paths starting with $T$ and ending at $v\in \mathbf{Z}$ of length $k$\;
 \For{active path $a\in\mathbf{A}$}{
    $v=$ last variable in $a$\;
    \If{$a$ is unstable}{
    $\mathbf{Z} = \mathbf{Z}\setminus v$\;
    $\mathbf{V} = \mathbf{V}\bigcup v$\;
    }
 }
 }
 \caption{Constructing a Stable Conditioning Set}
\end{algorithm}

\subsubsection{Constructing a Stable Set}
The goal of Counterfactual Normalization is to find a set of observed variables and adjusted versions of observed variables that contains no active unstable paths while maximizing the number of active stable paths it contains. First, we define an \emph{unstable path} to be a path to the target $T$ that contains variables or edges which encode a distribution that can change across environments. These are edges involving unobserved variables $\mathbf{U}$ (domain-dependent confounding) or the selection mechanism variable $S$. Thus, an unstable path is a path to $T$ which contains $S$ or a variable in $\mathbf{U}$.

We can find a set, $\mathbf{Z}$, of observed variables with no active unstable paths using Algorithm \ref{alg:stable}, which considers active paths of increasing length that begin with $T$, and removes \emph{vulnerable} variables $\mathbf{V}$ reachable by unstable active paths.
\begin{theorem}
Algorithm \ref{alg:stable} will result in a set $\mathbf{Z}$ that contains no unstable active paths to $T$.
\end{theorem}
\begin{proof}[Proof Sketch]
We show that on iteration $k$, removing a variable from $\mathbf{Z}$ does not create an active unstable path to a member of $\mathbf{Z}$ of length $\leq k$ (see supplement).
\end{proof}

We now consider expanding the stable conditioning set $\mathbf{Z}$ by including some variables in $\mathbf{V}$ or adjusted versions of these variables. The adjusted versions are counterfactuals which we place on a modified DAG $\mathcal{G}^*$ through a procedure called \emph{node-splitting}.

\setlength{\textfloatsep}{0.1in}
\begin{algorithm}[!t]\label{alg:node}
\DontPrintSemicolon
 \KwIn{Graph $\mathcal{G}$, node $Y$, observed parents of $Y$ to intervene upon $\mathbf P$}
 \KwOut{Modified graph $\mathcal{G}^*$}
 1. Insert counterfactual node $Y(\mathbf{P}=\bm{\emptyset})$\;
 2. Delete edges $\{x\rightarrow Y: x\in pa(Y)\setminus \mathbf{P}\}$ \;
 3. Insert edges $\{x\rightarrow Y(\mathbf{P}=\bm{\emptyset}):x\in pa(Y)\setminus \mathbf{P}\}$\;
 4. Insert edge $Y(\mathbf{P}=\bm{\emptyset})\rightarrow Y$\;
 \caption{Node-splitting Operation}
\end{algorithm}
\subsubsection{Node-Splitting}
Assume each variable $v\in\mathcal{G}$ has a corresponding structural equation in which it is a function of its parents and an exogenous, unobserved, and independent noise term: $v=f_v(pa(v),\varepsilon_v)$. We want to compute a counterfactual version of $v$ in which we remove the effects of (i.e., intervene upon) some of its parents. Denote the set of parents we intervene upon as $\mathbf{P}$. Given $v$'s factual value and the factual values of $\mathbf{P}$, we calculate the counterfactual value $v(\mathbf{P}=\emptyset)$ (remove the effects of parents in $\mathbf{P}$ by intervening and setting these parents to ``null''). In the diagnosis example of Figure \ref{fig:dag}b, an example counterfactual variable would be $Y(C=\emptyset)$: the patient's blood pressure if we removed the effects of the treatments they were given. Note that we must observe the factual value of parents we intervene on---they must be observed variables.

Removing the effects of only a subset of the parents requires being able to consider the effects of a parent while holding fixed the effects of the other parents of the variable. For this reason, we assume that the effects of parents on children are independent---they have no interactions. We specifically consider \emph{additive} structural equations which satisfy this requirement. Estimation of the counterfactuals requires fitting the relevant structural equations using the factual outcome data by maximum likelihood estimation. We can now define the node-splitting operation, which is given in Algorithm \ref{alg:node}. Given a variable and the subset of its parents to intervene upon, we set the intervened parents to ``null'' and place a latent counterfactual version of the variable onto the graph as a parent of its factual version. Unlike traditional SEM interventions, we retain the factual version of the parents we intervene on in the graph. The counterfactual version subsumes the parents (in the original graph $\mathcal{G}$) of its factual version that were not intervened upon. The modified graph $\mathcal{G}^*$ is an equivalent model of the factual data generating process.

The consequence of node-splitting is that while the factual version of a variable may be vulnerable, after intervening on some of its parents its counterfactual version may no longer be vulnerable. Consider a vulnerable variable $v$ which, if added to a stable conditioning set $\mathbf{Z}$, would yield at least one unstable active path to $T$. If the unstable path is of the form $v \leftarrow X \dots T$, then since $X$ is a parent of $v$ we can intervene on $X$. After node-splitting the new path would be $v(X=\emptyset)\rightarrow v \leftarrow X \dots T$. Since $v$ is not conditioned on, this collider path is blocked. Thus, this unstable path is not active for $v(X=\emptyset)$ though it was active for $v$. However, if the unstable path were of the form $v \rightarrow X \dots T$, then we cannot intervene on $X$ (not a parent of $v$) and any counterfactual version of $v$ will inherit the unstable active path: $v(\emptyset)\rightarrow v\rightarrow X \dots T$. The first case shows that for unstable paths from a vulnerable variable $v$ that begin through a parent of $v$, intervening on the parent yields a counterfactual in which these unstable paths are not active. The second case shows that unstable active paths from $v$ that begin through a child of $v$ cannot be removed by node-splitting. We can also intervene on a variable's observed parents that are not along unstable paths. As we discuss in Section \ref{sec:complexity}, the potential benefit is that counterfactual variables have reduced variance than their factual versions.

A question remains: does conditioning upon a stable counterfactual version of a vulnerable variable cause any unstable paths to become active? Conditioning on a variable can only open collider paths, so the only cases we must consider are when the counterfactual is a collider or descendant of a collider. In these cases, the active paths that meet at the collider are reachable by the counterfactual through at least one of its parents. However, we know that these paths are stable since the counterfactual is stable: we would have intervened on any parents which were along unstable paths. Thus, conditioning on a stable counterfactual does not activate any new unstable paths.

\setlength{\textfloatsep}{0.1in}
\begin{algorithm}[!t]\label{alg:CFN}
 \KwIn{Graph $\mathcal{G}$, Vulnerable set in reverse topological order $\mathbf{V}$, Stable set $\mathbf{Z}$, Target $T$}
 \KwOut{Final conditioning set $\mathbf{Z'}$}
 $\mathbf{Z'}=\mathbf{Z}$\;
 \For{$v\in\mathbf{V}$}{
 \uIf{$v$ has no active stable paths w.r.t. $\mathbf{Z'}$}{pass\;}
 \uElseIf{$v$ has no active unstable paths w.r.t. $\mathbf{Z'}$}{$\mathbf{Z'}=\mathbf{Z'}\bigcup v$}
 \uElseIf{all unstable paths w.r.t. $\mathbf{Z'}$ from $v$ to $T$ are through observed parents $\mathbf{P}\subseteq pa(v)$ of $v$}{
 Node-split and modify $\mathcal{G}$\;
 $\mathbf{Z'}=\mathbf{Z'}\bigcup v(\mathbf{P}=\emptyset)$\;}
 \Else{pass\;}
 }
 Prune $\mathbf{Z'}$ of variables with no active stable paths.
 \caption{Retaining Vulnerable Variables}
\end{algorithm}

\subsubsection{Adding to the Conditioning Set}
After finding a stable set $\mathbf{Z}$ of observed variables to condition upon, we must consider adding back each of the vulnerable variables that were removed. First, there may be variables with no unstable active paths because collider paths became inactive after these variables were removed from $\mathbf{Z}$. Second, we know that if a variable's active unstable paths go through observed parents, we can intervene on those parents, node-split in $\mathcal{G}^*$, and add the counterfactual version to the conditioning set. Because conditioning on the counterfactual may open stable paths involving its non-vulnerable parents, we want to make sure that non-vulnerable parents that may be in $\mathbf{V}$ (first case) are considered after the counterfactual. For this reason, we consider adding the variables in $\mathbf{V}$ to $\mathbf{Z}$ in reverse topological order. Algorithm \ref{alg:CFN} shows the procedure for adding variables to $\mathbf{Z}$. We condition on the resulting set, $\mathbf{Z'}$ and use it to predict $T$ by modeling $p(T|\mathbf{Z'})$.
\begin{theorem}
Algorithm \ref{alg:CFN} does not activate any unstable paths and results in a stable set $\mathbf{Z'}$.
\end{theorem}
\begin{proof}[Proof Sketch]
We show all branches in the algorithm do not activate unstable paths (see supplement).
\end{proof}

\begin{figure}[!t]
\begin{center}
\centerline{\includegraphics[scale=0.25]{figures/new-cf-example.pdf}}
\caption{(a) The DAG of causal mechanisms for the expanded medical screening example. (b) The modified DAG after node-splitting yielding the latent signal value under no treatment or chronic condition $Y(a, c)$. (c) The modified DAG after node-splitting and additionally adjusting for other covariates $Y(a,c,x)$.}
\label{fig:cf-dag}
\end{center}
\vskip -0.2in
\end{figure}
\subsubsection{An Example}
To illustrate node-splitting and Counterfactual Normalization, consider the expanded domain-dependent confounding diagnosis example in Figure \ref{fig:cf-dag}a. $C$ represents a chronic condition (e.g., heart disease), $A$ represents treatments (e.g., beta blockers), and $X$ represents age (a demographic risk factor). $D\in \mathbf{U}$ is an unobserved variable, and we allow $p(C|D)$ to vary across domains.

In finding a stable set $\mathbf{Z}$, we remove $C$ (unstable path of length 2), and then $A$ and $Y$ (unstable paths of length 3) which yields $\mathbf{Z}=\{X\}$. Now we consider the variables in $\mathbf{V}=\{C,Y,A\}$ in reverse topological order. $Y$ has unstable active paths through $A$ and $C$. Since they are observed variables, we intervene on them to generate the counterfactual $Y(C=\emptyset,A=\emptyset)$ in Figure \ref{fig:dag}b and add it to $\mathbf{Z'}$ after node-splitting. Now consider $A$, which has no stable active paths to $T$ so we do not add it to $\mathbf{Z'}$. Similarly, $C$ has no stable active paths. Thus, $\mathbf{Z'} = \{Y(C=\emptyset,A=\emptyset), X\}$ is the conditioning set we would use to predict $T$ by modeling $p(T|\mathbf{Z'})$.

\subsection{SIMULATED EXPERIMENTS}
\subsubsection{Linear Gaussian Example}
\setlength{\textfloatsep}{\textfloatsepsave}
\begin{figure}[!t]
\begin{center}
\centerline{\includegraphics[scale=0.43]{figures/linear-mse.pdf}}
\caption{Test MSE as $w_2$ varies in the linear experiment. Performance of CFN and Ideal remains stable while the naive model's performance can arbitrarily worsen.}
\label{fig:lin-mse}
\end{center}
\vskip -0.4in
\end{figure}
We consider a regression version of the simple domain-dependent confounding example in Figure \ref{fig:dag}b in which $D$ is unobserved. We simulate data from linear Gaussian SEMs in which every variable is a linear combination of its parents plus Gaussian noise. Thus, every edge in the graph has a corresponding weight which is the coefficient of the parent in the SEM (for full specification consult the supplement). In particular, we let $C = w_2 D + \varepsilon_C$, $\varepsilon_C \sim \mathcal{N}(0, \sigma^2_C)$. We manifest domain-dependent confounding by varying $w_2$ in different test domains (from $w_2=2$ in the train domain), thus changing $p(C|D)$.

First, note that in the ideal case if we could observe $D$ then the unstable edge $D\rightarrow C$ is not in any active paths to $T$ when $C$, $Y$ and $D$ are conditioned upon. This means a least squares regression modeling $E[T|C,Y,D]$ will have stable predictive performance regardless of changes to $w_2$ and $p(C|D)$. This is visible in Figure \ref{fig:lin-mse} in which the mean squared error (MSE) of the ideal model (red points) stays constant despite changes in $w_2$.

We could naively ignore changes to $p(C|D)$ and model by conditioning on vulnerable variables $E[T|C,Y]$, but the naive model's performance will vary in test domains as a result of using the unstable path. In fact, the MSE of the naive model (blue points in Figure \ref{fig:lin-mse}) appears to increase quadratically as $w_2$ changes from its training value.

Alternatively, we can use Counterfactual Normalization (CFN). $C$ and $Y$ are vulnerable, but we can condition on $Y(C=\emptyset)$.
First, we fit the structural equation for $Y$ from training data: $Y = \hat{w}_3 T + \hat{w}_4 C$.\footnote{$^\wedge$ denotes an estimated value.} We then estimate $\hat{Y}(\emptyset) = Y - \hat{w}_4C$. Finally, we model $E[T|\hat{Y}(\emptyset)]$ which conditions on a stable set. The MSE of CFN is stable (green points in Figure \ref{fig:lin-mse}), but it can be outperformed by the naive and ideal models because CFN isolates paths that include $D$.

\subsubsection{Cross Hospital Transfer}

\textbf{Ensuring Stable Performance}
\begin{table}[!t]
\centering
\caption{Simulated Experiment Results}
\label{table:sim-exp1}
\small
\begin{tabular}{|l|l|l|}
\hline
\textbf{Method}    & \textbf{Source AUROC} & \textbf{Target AUROC} \\ \hline
Baseline & 0.95                  & 0.80                  \\ \hline
CFN                & 0.96                  & 0.97                  \\ \hline
CFN (vuln)      & 0.97                  & 0.92                  \\ \hline
\end{tabular}
\vskip -0.2in
\end{table}

We consider a simulated version of the diagnosis problem in Figure \ref{fig:cf-dag}(a), but remove $X$ from the graph. We let $A$ represent the time since treatment and simulate the exponentially decaying effects of the treatment as $f(A) = 2\exp(-0.08A)$ where the treatment policy depends on $C$. $C$ and its descendants ($A$ and $Y$) are vulnerable.

We simulate patients from two hospitals (full specification in the supplement). In the source hospital there is a positive correlation between $C$ and $T$, while in the target hospital $p(C|D)$ changes yielding a negative correlation. At the source hospital smaller $A$ are associated with $T=1$ while at the target hospital $A$ is uncorrelated with $T$. The structural equation for $Y$ remains stable: $Y = -0.5T  -0.3C + f(A) + \varepsilon_Y$, $\varepsilon_Y \sim \mathcal{N}(0, 0.2^2)$. We train using data from the source hospital and evaluate performance at both the source and target hospitals.

Counterfactual Normalization requires us to estimate the latent variable  $Y(A=\emptyset, C=\emptyset)$. We first fit the structural equation for $Y$ using maximum likelihood estimation, optimized using BFGS \citep{chong2013introduction}. Then, we compute the counterfactual: $Y_i(A=\emptyset, C=\emptyset) = Y_i - \hat{\beta} C_i - \hat{f}(s_i)$ for every individual $i$ at both hospitals, which can be done without observing $T$. We compare a counterfactual model (CFN) $p(T|Y(\emptyset, \emptyset))$ with a baseline vulnerable model $p(T|Y,A,C)$ and counterfactual model that uses vulnerable variables $p(T|Y(\emptyset, \emptyset), Y,A,C)$ using logistic regression and measure predictive accuracy with the area under the Receiver Operating Characteristic curve (AUROC).

\begin{table}[!t]
\centering
\caption{Simulated Classification Complexity Metrics}
\label{table:metrics-sim-exp1}
\small
\begin{tabular}{|l|l|l|l|}
\hline
\textbf{Method} & \textbf{Fisher's} & \textbf{Distance} & \textbf{MST} \\ \hline
Baseline & 0.66                        & 0.10                    & 0.56                \\ \hline
CFN             & 3.13                        & 0.02                    & 0.22                \\ \hline
\end{tabular}
\vskip -0.1in
\end{table}
The results of evaluation on the patients from the source and target are shown in Table \ref{table:sim-exp1}. The accuracy of models that use vulnerable variables does not transfer across hospitals, with the baseline suffering large changes in performance. Instead, CFN transfers well while performing competitively at the source hospital, despite not using unstable paths which are informative in the training domain.

Normalizing BP ($Y$) for treatment ($A$) and chronic condition ($C$) greatly increases the separability by class in the training data as measured through the classification complexity metrics in Table \ref{table:metrics-sim-exp1}. The feature with the maximum Fisher's Discriminant Ratio in the baseline model is $C$, but this is much smaller than the ratio for the latent feature in CFN. The large decrease in the MST metric indicates fewer examples lies on the class boundary in the normalized problem, and the decrease in intraclass-interclass distance is due to a combination of increased separability and reduced intraclass variance of the latent variables. This is visible in the class conditional densities of factual and counterfactual $Y$ (see supplement).

\textbf{Accuracy of Counterfactual Estimates}
\begin{figure}[!t]
\begin{center}
\centerline{\includegraphics[scale=0.38]{figures/sim-exp-perturbation.pdf}}
\caption{Performance as the accuracy of counterfactual estimates decreases.The error bars denote the standard error of 50 runs.}
\label{fig:exp1-perturb}
\end{center}
\vskip -0.4in
\end{figure}

In this experiment, we examine how the accuracy of counterfactual estimates affects model stability and performance. We expect models that do not use vulnerable variables to have more stable performance, but they may be less accurate in the source domain than models which use vulnerable variables. We bias the true counterfactual values by adding normally distributed noise of increasing scale. Then, we train the counterfactual logistic regressions (with ${p}(T|{Y}(\emptyset,\emptyset))$ and without ${p}(T|{Y}(\emptyset,\emptyset), C, A, Y)$ vulnerable variables) to predict $T$ and evaluate the AUROC at the source and target hospitals. We vary the standard deviation of the perturbations from $0.05$ to $1$ in increments of $0.05$, repeating the process 50 times for each perturbation.

The results, shown in Figure \ref{fig:exp1-perturb}, confirm what we expect: removing vulnerable variables leads to more stable performance, but performance in the source domain is always lower than when including vulnerable variables. Further, when the counterfactual estimates are accurate (low MSE), removing vulnerable variables yields better performance in the target domain. However, when the MSE is high, the noise removes both the information captured by the adjustment and the information contained in $Y$ itself, causing the model to perform worse in the target domain than a model using vulnerable variables.

\subsection{REAL DATA: SEPSIS CLASSIFICATION}
\subsubsection{Problem and Data Description}
\begin{figure}[!t]
\begin{center}
\centerline{\includegraphics[scale=0.25]{figures/sepsis-dag.pdf}}
\caption{Real data experiment DAG of causal mechanisms. The outcome $Y$ is INR and the target $T$ is sepsis. $S$ represents selection bias.}
\label{fig:inr-dag}
\end{center}
\vskip -0.4in
\end{figure}

We apply the proposed method to the task of detecting sepsis, a deadly response to infection that leads to organ failure. Early detection and intervention has been shown to result in improved mortality outcomes \citep{kumar2006duration} which has resulted in recent applications of machine learning to build predictive models for sepsis (e.g., \citet{henry2015targeted,soleimani2017scalable,futoma2017ICML,futoma2017MLHC}).

To illustrate, we consider a simplified\footnote{Sepsis involves many physiologic markers and corresponding treatments and chronic conditions. We select a small number of variables to demonstrate the key technical concepts.} cross-sectional version of the sepsis detection task using electronic health record (EHR) data from our institution's hospital. Working with a domain expert, we determined the primary factors in the causal mechanism DAG (Figure \ref{fig:inr-dag}) for the effects of sepsis on a single physiologic signal $Y$: the international normalized ratio (INR), a measure of the clotting tendency of blood. The target variable $T$ is whether or not the patient has sepsis due to hematologic dysfunction. We include seven conditions (such as chronic liver disease and sickle cell disease) $\mathbf{C}$ affecting INR that are risk factors for sepsis \citep{goyette2004hematologic,booth2010infection}. We consider five types of relevant treatments $\mathbf A$: anticoagulants, aspirin, nonsteroidal anti-inflammatory drugs (NSAIDs), plasma transfusions, and platelet transfusions, where $A_{ij}=1$ means patient $i$ has received treatment $j$ in the last 24 hours. Finally, we include a demographic risk factor, age $X$. For each patient, we take the last recorded measurements while only considering data up until the time sepsis is recorded in the EHR for patients with $T=1$.

27,633 patients had at least one INR measurement, 388 of whom had sepsis due to hematologic dysfunction. We introduced selection bias $S$ as follows. First, we took one third of the data as a sample from the original target population for evaluation. Second, we subsample the remaining data by rejecting patients with any treatment and without sepsis with probability $0.9$. Third, we split the subsampled data into a random two thirds/one third train/test splits for training on biased data and evaluating on both the biased and unbiased data to measure stability of prediction performance. We repeated the three steps 100 times. We normalize INR in all experiments.

\subsubsection{Experimental Setup}
We apply the proposed method by fitting an additive structural equation for $Y$ using the Bayesian calibration form of \citet{kennedy2001bayesian}:
\begin{align*}
    Y_i &= \beta_{0} + \beta_{1} T_i + \bm{\beta}_{2}^T \mathbf{A}_i + \bm{\beta}_{3}^T \mathbf{C}_i + \beta_{4} X_i\\
    &+ \delta(T_i, \mathbf{A}_i, \mathbf{C}_i, X_i) + \varepsilon\\
    \delta(&\cdot) \sim \mathcal{GP}(0, \gamma^2 K_{rbf})\\
    \varepsilon &\sim \mathcal{N}(0, \sigma^2)\\
\end{align*}
\vskip -8 mm
where $\delta(\cdot)$ is a Gaussian process (GP) prior (with RBF kernel) on the \emph{discrepancy function} since our linear regression model is likely misspecified.

Due to selection bias and few sepsis examples, for better calibration we place informative priors on $\beta_1, \mathbf{\beta}_2,$ and $\mathbf{\beta_3}$ using $\mathcal{N}(1, 0.1)$ for features that increase INR (e.g., $T$ and anticoagulants) and $\mathcal{N}(-1, 0.1)$ for features that decrease INR (e.g., sickle cell disease and plasma transfusions). For full specification of the other priors  consult the supplement. We compute point estimates for the parameters using MAP estimation and the FITC sparse GP \citep{snelson2006sparse} implementation in PyMC3 \citep{salvatier2016probabilistic}.

While the only vulnerable variables are $\mathbf{A}$ and $Y$, we additionally remove the effects of $\mathbf{C}$ and $X$:
\begin{equation}
{Y_i}(\bm{\emptyset},\bm{\emptyset}, \emptyset) = Y_i -  \hat{\bm{\beta}}_{2}^T \mathbf{A}_i - \hat{\bm{\beta}}_{3}^T \mathbf{C}_i - \hat{\beta}_4 X_i
\end{equation}
We consider three logistic regression models trained on the biased data for predicting $T$: a baseline using vulnerable variables $p(T|\mathbf{A},\mathbf{C}, Y, X)$, a counterfactually normalized model $p(T|\mathbf{C}, Y(\bm{\emptyset},\bm{\emptyset}, \emptyset), X)$, and a counterfactually normalized model with vulnerable variables $p(T|\mathbf{C}, Y(\bm{\emptyset},\bm{\emptyset}, \emptyset), Y, X)$. We evaluate prediction accuracy on biased and unbiased data using AUROC and the area under the precision-recall curve (AUPRC).

\subsubsection{Results}
\begin{figure}[!t]
\begin{center}
\centerline{\includegraphics[scale=0.4]{figures/biased-AUC.pdf}}
\caption{Results for models trained and tested on the selection biased data. In order the average AUROCs are 0.98, 0.96, and 0.98 and the average AUPRCs are 0.45, 0.38, and 0.45. Error bars denote 100 run $95\%$ intervals.}
\label{fig:biased-AUC}
\end{center}
\vskip -0.2in
\end{figure}

\begin{figure}[!t]
\begin{center}
\centerline{\includegraphics[scale=0.4]{figures/unbiased-AUC.pdf}}
\caption{Results for models trained on biased data and tested on unbiased data. In order the average AUROCs are 0.95, 0.96, and 0.95 and the average AUPRCs are 0.24, 0.30, and 0.24. Error bars denote 100 run $95\%$ intervals.}
\label{fig:unbiased-AUC}
\end{center}
\vskip -0.4in
\end{figure}
The selection bias causes a small shift in the marginal distribution of $T$ between populations, such that $2\%$ of the selection biased population has sepsis while $1.4\%$ of the unbiased population has sepsis.
Since most of the examples are negative, the AUPRC is a more interesting measurement because it is sensitive to false positives.

The resulting AUCs when predicting on selection biased data are shown in Figure \ref{fig:biased-AUC}. As expected, the counterfactually normalized model (CFN) performs worse than models using vulnerable variables because it does not take advantage of the unstable path created by selection bias. On unbiased data (Figure \ref{fig:unbiased-AUC}), however, CFN not only outperforms both vulnerable models, but its performance is also more stable to the selection bias: the decrease in AUPRC from source to target is much smaller for CFN.

Interestingly, the the performance of the two vulnerable models is nearly identical. This implies that the CFN model with vulnerable variables does not learn to use counterfactual features, perhaps because the unstable path through selection bias encodes a much stronger relationship. The AUPRC of the non-vulnerable CFN model in selection biased and unbiased data is in between the AUPRC of the vulnerable CFN model in selection biased data (upper bound) and unbiased data (lower bound). This is encouraging, because Figure \ref{fig:exp1-perturb} suggests that if CFN performance were worse in the unbiased data than the vulnerable model's performance, then the counterfactual estimates may be inaccurate. Ultimately, we were able to leverage Counterfactual Normalization to remove vulnerable variables resulting in stabler performance, while outperforming the vulnerable models in unbiased data.
\section{Counterfactual Normalization Proofs}
\subsection{Proof of Theorem 1}
We must show that on iteration $k$, removing a variable from $\mathbf{Z}$ does not create an active unstable path to a member of $\mathbf{Z}$ of length $\leq k$.

\begin{proof} Suppose, by contradiction, that on iteration $k$ removing a variable $v\in\mathbf{Z}$ with an active unstable path of length $k$ to $T$ results in an active unstable path of length $\leq k$ with respect to another variable $x\in\mathbf{Z}$.
Note: removing a variable from a conditioning set cannot create new collider paths. Let $\dots$ denote that direction of edge does not matter. We will consider all cases of how $v$ can relate to an unstable path to $x$ from $T$. In the first two cases, $x$ comes before $v$ in the unstable active path to $v$.

Case 1: $T \dots x \dots unstable \dots v$. $x$ does not have an unstable path to $T$. If it did, the path would be of the form $T\dots unstable\dots x \dots unstable \dots v$. Thus, $x$ would have been removed from $\mathbf{Z}$ in a previous iteration because the unstable path is of length $\leq k$ and its active status does not depend on $v$.

Case 2: $T \dots unstable \dots x \dots v$. This is an unstable path to $x$ of length $\leq k$. $x$ cannot be in $\mathbf{Z}$ since it would have been removed in a previous iteration as the active status of this path does not depend on $v$.

Case 3: $T \dots unstable \leftarrow v \rightarrow \dots x$. Creates new active path of length $>k$.

Case 4: $T \dots unstable \rightarrow v \rightarrow \dots x$. Creates new active path of length $>k$.

Case 5: $T \dots unstable \leftarrow v \leftarrow \dots x$. Creates new active path of length $>k$.

Case 6: $T \dots unstable \rightarrow v \leftarrow \dots x$. We remove $v$ from the conditioning set (so it is now considered unobserved). Thus, this collider path is not active. If a descendent of $v$ is conditioned on, then this is an unstable active path of length $> k$.

In all cases, either $x$ would have been removed from $\mathbf{Z}$ before iteration $k$ or the new unstable active path would be of length $>k$. This is a contradiction since we assumed $x\in\mathbf{Z}$ and that the procedure would result in a new active unstable path of length $\leq k$.
\end{proof}

\subsection{Proof of Theorem 2}
We must show that Algorithm \ref{alg:CFN} will not activate any unstable paths with respect to the initial stable set $\mathbf{Z}$. While considering each vulnerable variable $v\in\mathbf{V}$, the resulting set $\mathbf{Z'}$ must remain stable.

\begin{proof}
We assume the initial set $\mathbf{Z}$ is stable. The only way to activate a path (stable or unstable) by adding to a conditioning set is if the new variable being added is a collider or descendant of a collider.

Algorithm \ref{alg:CFN} only adds to $\mathbf{Z}$ in branches 2 and 3 of the if-else. We consider each branch in turn.

In branch 2, the vulnerable variable $v\in\mathbf{V}$ has no active unstable paths to $T$. Thus, by adding $v$ to $\mathbf{Z}$, no unstable path from $v$ to $T$ is active. Next we consider the possibility of $v$ being a collider or descendant of a collider. In these cases, if $v$ activates a path all branches of the activated path $\dots \rightarrow collider \leftarrow \dots$ will be reachable by $v$. Since $v$ has no unstable active paths to $T$, none of the branches of the collider can be unstable paths to $T$. Thus, the collider path is not unstable.

In branch 3 of the if-else, the active unstable paths of the vulnerable variable $v\in\mathbf{V}$ all go through some subset of the observed parents of $v$. Denote this subset of parents of $v$ as $\mathbf{P}\subseteq pa(v)$. We intervene on $\mathbf{P}$ and node-split to add the counterfactual $v(\mathbf{P}=\emptyset)$ to the modified graph. The modified graph contains the path $v(\mathbf{P}=\emptyset) \rightarrow v \leftarrow \mathbf{P}$. Conditioning on $v(\mathbf{P}=\emptyset)$ does not allow for paths through the collider $v$. We know the paths through the parents of $v(\mathbf{P}=\emptyset)$ are stable because we intervened on all parents on unstable paths from $v$. Further, there are no active unstable paths through children of $v$ otherwise $v$ would not be considered in branch 3. As in the case of branch 2, if $v(\mathbf{P}=\emptyset)$ is a collider or descendant of a collider, then since all parts of any activated collider path are reachable from the counterfactual variable through its parents, they must be stable.

Thus, when Algorithm \ref{alg:CFN} adds a variable or counterfactual variable to the stable set $\mathbf{Z}$, no unstable paths are activated and the set remains stable.
\end{proof}

\section{Linear Gaussian Experiment Details}\label{sec:appendix}
\subsection{Simulation Details}
We generate the data from the following linear Gaussian SEMs:
\begin{align*}
    &D = \varepsilon_D\\
    &T = w_1 D + \varepsilon_T\\
    &C = w_2 C + \varepsilon_C\\
    &Y = w_3 T + w_4 C + \varepsilon_Y\\
    &\varepsilon_D,\varepsilon_T,\varepsilon_C,\varepsilon_Y\sim \mathcal{N}(0, 0.1^2)
\end{align*}
In the training domain, we set $w_2=2$ and $w_1,w_3,w_4 \sim \mathcal{N}(0, 1)$. We simulated 100 test domains by varying $w_2$ from $-3$ to $7$ in equally spaced increments. In all domains we generated 30000 samples. We fit all models (structural equation of $Y$, naive model, ideal model, and counterfactually normalized model) on the training data using least squares then applied them to all test domains.
\subsection{Counterfactual Normalization}
\begin{figure}[!h]
\begin{center}
\centerline{\includegraphics[scale=0.48]{figures/lin-sem-cf.pdf}}
\caption{Modified graph after node-splitting.}
\label{fig:lin-sem-node-split}
\end{center}
\vskip -0.2in
\end{figure}
$D$ is unobserved and $p(C|D)$ varies between domains. Thus, $C$ is vulnerable becomes conditioning on $C$ results in the unstable active path $C\leftarrow D \rightarrow T$. $Y$, as a descendant of $C$, is also vulnerable because without conditioning on $C$, conditioning on $Y$ results in the unstable active path  $Y \leftarrow C \leftarrow D \rightarrow T$. The only shared child of vulnerable variables and $T$ is $Y$. This means we need to perform node-splitting on $Y$ to generate an intermediate counterfactual version, $Y(C=\emptyset)$ for which we have removed the effects of the vulnerable parent $C$. The graph after node-splitting is shown in Figure \ref{fig:lin-sem-node-split}.

The counterfactual variable $Y(C=\emptyset)$ inherits the parents of $Y$ from the original graph that we did not intervene upon (i.e., set to null). In this case, the parents it inherits are $T$ and the unpictured $\varepsilon_Y$. The SEMs in the modified graph are:
\begin{align*}
    &D = \varepsilon_D\\
    &T = w_1 D + \varepsilon_T\\
    &C = w_2 C + \varepsilon_C\\
    &Y(C=\emptyset) = w_3 T + \varepsilon_Y\\
    &Y = Y(C=\emptyset) + w_4 C\\
    &\varepsilon_D,\varepsilon_T,\varepsilon_C,\varepsilon_Y\sim \mathcal{N}(0, 0.1^2)
\end{align*}
Importantly, note that the counterfactual $Y(C=\emptyset)$ is now a random quantity, while $Y$ is a \emph{deterministic} function of $Y(C=\emptyset)$ and $C$. The modified SEMs are observationally equivalent to the original SEMs (marginalizing over the latent counterfactual yields the same joint as in the original system).

We can recover $Y(C=\emptyset)$ by observing $Y$ and $C$: $Y(C=\emptyset) = Y - w_4 C$.
This makes clear the role of the intermediate counterfactual variable: it isolates the effect of the target on the outcome from the effects of vulnerable variables (or any other parents we set to null) on the outcome.

\section{Cross Hospital Transfer Experiment Details}
\subsection{Simulation Details}
We generate data at the source hospital as follows:
\begin{align*}
    &D \sim Bernoulli(0.5)\\
    &T|D=1 \sim Bernoulli(0.7)\\
    &T|D=0 \sim Bernoulli(0.1)\\
    &C|D=1 \sim Bernoulli(0.9)\\
    &C|D=0 \sim Bernoulli(0.1)\\
    &A|C=1 \sim 24 * Beta(0.5, 2.1)\\
    &A|C=0 \sim 24 * Beta(0.7, 0.2)\\
    &Y \sim \mathcal{N}(-0.5T + -0.3C + f(A), 0.2^2)\\
    &f(A) = 2\exp(-0.08A)
\end{align*}

At the target hospital, we change $p(C|D)$ and $p(A|C)$:
\begin{align*}
    &D \sim Bernoulli(0.5)\\
    &T|D=1 \sim Bernoulli(0.7)\\
    &T|D=0 \sim Bernoulli(0.1)\\
    &C|D=1 \sim Bernoulli(0.1)\\
    &C|D=0 \sim Bernoulli(0.9)\\
    &A|C=1 \sim 24 * Beta(1.7, 1.1)\\
    &A|C=0 \sim 24 * Beta(1.7, 1.1)\\
    &Y \sim \mathcal{N}(-0.5T + -0.3C + f(A), 0.2^2)\\
    &f(A) = 2\exp(-0.08A)
\end{align*}

We generate 2000 patients from the source hospital, using 1600 for training and holding out 400 to evaluate performance on the source hospital. We evaluate cross hospital transfer on 1000 patients generated from the second hospital.

\subsection{Class Conditional Densities}
\begin{figure}[h]
\begin{center}
\centerline{\includegraphics[scale=0.43]{figures/sim-exp1-bp-density.pdf}}
\caption{The distribution of factual (solid line) and estimated counterfactual (dashed line) blood pressures at the source hospital in the simulated experiment. It is easier to discriminate $T$ from counterfactual BP than from observed BP due to decreased overlap in the distributions.}
\label{fig:exp1-bp-density}
\end{center}
\end{figure}

\section{Real Data Experiment Details}\label{sec:appendix-real-data}
Our posited structural equation for INR ($Y$) is a linear regression of the parents of $Y$ in Figure 5. The seven conditions ($\mathbf{C}$) we include are liver disease, sickle cell disease, chronic kidney disease, any immunodeficiency, any cancer, diabetes, and stroke. In the statistical uncertainty quantification community, one technique for parameter calibration when the computer model is misspecified is to jointly estimate model parameters with an explicit discrepancy function that captures model inadequacy (Kennedy and O'Hagan, 2001). The discrepancy function has a Gaussian process prior. The parameters to estimate are the linear regression parameters $\bm \beta$, the observation noise scale $\sigma$, the RBF kernel output scale $\gamma$, and the kernel lengthscales $\bm \ell$.

We placed the following priors on parameters:
\begin{align*}
    &\gamma \sim Half\mathcal{N}(1) \\
    &\sigma \sim Half\mathcal{N}(1) \\
    &\bm \ell \sim Gamma(4, 4) \\
    &\beta_0 \sim \mathcal{N}(0, 1)\\
    &\beta_1, \bm{\beta}_2^{(1, 2, 3, 5)}, \bm{\beta}_3^{(1)} \sim \mathcal{N}(1, 0.1)\\
    &\bm{\beta}_2^{(4)}, \bm{\beta}_3^{(2)} \sim \mathcal{N}(-1, 0.1)\\
    &\beta_4 \sim \mathcal{N}(0, 0.1)
\end{align*}
We used the PyMC3 FITC sparse GP approximation implementation with 20 inducing points initialized by k-means.

redpajama_set_name: RedPajamaArXiv


Oh Arduino, is there anything you can't do when put in the right hands? The hands in this case belong to a guy named Joven of ProtoDojo, and they whipped up the contraption you can see in the video below. Basically, it's a wired NES controller that goes to an Arduino board, which in turn controls a set of servos. Those servos articulate conductive arms to touch the screen in just the right places. The whole contraption enables a rather playable version of Reckless Racing, making it feel all the more like the RC Pro Am successor it's trying to be. Check it out in the video below, and then hope that Jovan hurries up and posts the instructions so we can start building our own.


I was just chilling at home after work with my flatties, and Elsie looked out the window and said 'OH MY GOD SANTA!' This is what we saw… So many Santa's!
Last weekend Leigh and I went to Taupo to visit our friend Krystie and her baby, Tayla. When I first met Tayla she was 6 weeks old. Now she is 6 months old. I've heard that babies change drastically in a short time, so I was excited to see the wee one again.
The Lion King was the major draw card for our quick trip across the ditch last weekend! However, we still managed to squeeze in a few activities over the 3 days we were there.
The Next Step In My Social Media Obsession!


text:
Kamel Ouejdide  (born 1 May 1980) is a French-Moroccan former professional footballer who played as a striker.

Career statistics

References

External links

1980 births
Living people
Footballers from Rabat
Association football forwards
Moroccan footballers
Ligue 2 players
Championnat National players
Süper Lig players
Challenger Pro League players
Stade Malherbe Caen players
Red Star F.C. players
Göztepe S.K. footballers
Fortuna Düsseldorf players
ASOA Valence players
FC Sète 34 players
Clermont Foot players
AS Cannes players
Racing de Ferrol footballers
R.F.C. Seraing (1922) players
RWS Bruxelles players
Moroccan expatriate footballers
Moroccan expatriate sportspeople in Belgium
Expatriate footballers in Belgium
Moroccan expatriate sportspeople in Germany
Expatriate footballers in Germany
Moroccan expatriate sportspeople in Turkey
Expatriate footballers in Turkey
Francs Borains players

redpajama_set_name: RedPajamaWikipedia


UniProtKB/Swiss-Prot : 75 Parkinson-dementia syndrome: A syndrome characterized by parkinsonism, tremor, rigidity, dementia, ophthalmoparesis and pyramidal signs. Neurofibrillary degeneration occurs in the hippocampus, basal ganglia and brainstem nuclei.
Search GEO for disease gene expression data for Parkinson-Dementia Syndrome.


Kaur surname definition: this surname in other languages, spelling and pronunciation variants of last name Kaur.
Means "princess", ultimately from Sanskrit कुमारी (kumari) meaning "girl". In 1699 Guru Gobind Singh gave all his Sikh female followers the surname Kaur and all males Singh. In many instances, it is also used as a middle name with the family name serving as the surname.
Where does the surname Kaur come from?
Surname Kaur most common in Indian (Sikh).
Source for last name Kaur: Nickname.


text:
Ludovic Fabregas (* 1. Juli 1996 in Perpignan, Frankreich) ist ein französischer Handballspieler. Der Kreisläufer spielt seit 2018 für den FC Barcelona in der spanischen Liga ASOBAL. Im September 2021 wurde ihm für den Gewinn der Goldmedaille mit der französischen Nationalmannschaft bei den Olympischen Spielen in Tokio der Ritterorden der Französischen Ehrenlegion verliehen.

Karriere

Verein
Der 1,98 m große und 100 kg schwere Rechtshänder begann mit dem Handballspiel 2004 bei Banyuls HB. 2011 wechselte er in die Jugendabteilung von Montpellier Handball. Beim französischen Rekordmeister debütierte Fabregas in der Saison 2013/14 in der Ligue Nationale de Handball und im EHF-Pokal. Mit Montpellier gewann er 2016 den französischen Pokal und Ligapokal und wurde 2015 und 2018 Vizemeister. Im EHF-Pokal 2013/14 unterlag er im Endspiel Pick Szeged. 2018 triumphierte er in der EHF Champions League und im Super Globe. Anschließend wechselte der Kreisläufer zum spanischen Spitzenklub FC Barcelona, mit dem er 2019 und 2020 jeweils Meisterschaft, Copa ASOBAL, Königspokal und Supercup gewann. In der EHF Champions League verlor er das Finale 2020 gegen den THW Kiel. Im darauffolgenden Jahr gewann er mit Barcelona die EHF Champions League. Fabregas wurde von der IHF als einer von fünf Kandidaten für die Wahl zum Welthandballer des Jahres 2021 nominiert. In der Saison 2021/22 verteidigte er mit Barcelona den Titel in der Champions League. Im Finale verwandelte er den entscheidenden Siebenmeter im Siebenmeterwerfen zum Titelgewinn. Zur Saison 2023/24 wechselt er zum ungarischen Rekordmeister Telekom Veszprém.

Nationalmannschaft
Mit der französischen Junioren-Auswahl gewann Fabregas die U-18-Handball-Europameisterschaft der Männer 2014 und U-19-Handball-Weltmeisterschaft 2015.

In der Französischen A-Nationalmannschaft debütierte Ludovic Fabregas am 10. Juni 2015 gegen Tschechien. Er bestritt bisher 122 Länderspiele, in denen er 272 Tore erzielte. Bei den Olympischen Spielen 2016 gewann er die Silbermedaille. Bei der Weltmeisterschaft 2017 wurde er Weltmeister. Bei der Europameisterschaft 2018 und der WM 2019 gewann er Bronze. Mit Frankreich gewann er bei den Olympischen Spielen in Tokio die Goldmedaille. Zusätzlich wurde er am Turnierende in das All-Star-Team gewählt. Bei der Weltmeisterschaft 2023 gewann er mit Frankreich die Silbermedaille, zudem wurde er erneut ins All-Star-Team gewählt.

Erfolge
 mit Montpellier HB
 Französischer Vizemeister 2015, 2018
 Französischer Pokalsieger 2016
 Französischer Ligapokal 2016
 EHF-Pokal-Finalist 2014
 EHF-Champions-League-Sieger 2018
 Super-Globe-Sieger 2018

 mit dem FC Barcelona
 Spanischer Meister 2019, 2020, 2021, 2022
 Spanischer Pokalsieger 2019, 2020, 2021, 2022
 Spanischer Königspokal 2019, 2020, 2021, 2022
 Spanischer Supercup 2018, 2019, 2020, 2021
 Katalanischer Supercup: 2018, 2019, 2020, 2021, 2022
 EHF-Champions-League-Sieger 2021, 2022
 EHF-Champions-League-Finalist 2020
 Super-Globe-Sieger 2019
 All-Star-Team der Liga ASOBAL: 2019, 2020, 2021, 2022

 mit der Französischen Nationalmannschaft
 U-18-Europameister 2014
 U-19-Weltmeister 2015
 Olympische Spiele: Gold 2020, Silber 2016
 Weltmeisterschaft: Gold 2017, Silber 2023, Bronze 2019
 Europameisterschaft: Bronze 2018

Weblinks

 Ludovic Fabregas auf der Webseite der Liga ASOBAL
 Ludovic Fabregas auf der Webseite des französischen Handballverbandes

Einzelnachweise

Handballnationalspieler (Frankreich)
Weltmeister (Handball)
U18-Junioren-Europameister (Handball)
U19-Junioren-Weltmeister (Handball)
Handballspieler (FC Barcelona)
Handballspieler (Montpellier Handball)
Olympiateilnehmer (Frankreich)
Olympiasieger (Handball)
Teilnehmer der Olympischen Sommerspiele 2016
Teilnehmer der Olympischen Sommerspiele 2020
Spanischer Meister (Handball)
Kreisläufer
Mitglied der Ehrenlegion (Ritter)
Franzose
Geboren 1996
Mann


text:
Romosexuality : Rome, homosexuality, and reception.
Ingleheart, Jennifer (2015) 'Romosexuality : Rome, homosexuality, and reception.', in Ancient Rome and the construction of modern homosexual identities . Oxford: Oxford University Press, pp. 1-35. Classical presences.
The ancient Romans (and Greeks) had very different ways of conceptualizing and talking about sexual desire and behaviour from those that are familiar in the modern West; most relevantly for the purposes of this volume, they did not universally categorize people according to their sexual conduct using the modern binary of homosexual/ heterosexual, and the application of such terminology (or terms such as lesbian or bisexual) to antiquity is therefore anachronistic and potentially misleading. Nevertheless, throughout this volume, the words 'homosexuality' and 'homosexual' (as an adjective) are used in reference to desire, love, and sexual encounters in antiquity between persons of the same sex, male and female, whereas 'heterosexuality' and 'heterosexual' denote such interactions involving persons of opposite sexes; when there is a need to distinguish between male and female homosexuality, 'male homosexuality' has been used to refer to incidences of the former, and 'female homosexuality' or 'lesbianism' for the latter, but in general the term 'homosexuality' should be understood as referring to both male and female same-sex love, given its Greek etymology from ὁμο- (< ὁμός = 'the same'). Such usage is based on pragmatic considerations, obviating the need for awkward and lengthy periphrases, and these words should always be understood in inverted commas when encountered in this volume with reference to the ancient world, without any presumption of identity on the part of the actors involved.
Publisher-imposed embargo
File format - PDF (Copyright agreement prohibits open access to the full-text) (348Kb)
https://global.oup.com/academic/product/ancient-rome-and-the-construction-of-modern-homosexual-identities-9780199689729
HTML CitationASCII CitationDRO publication listOpenURL ContextObjectEndNoteBibTeXMODSOpenURL ContextObject in SpanDIDLEP3 XMLJSONDublin CoreReference ManagerEprints Application ProfileSimple MetadataReferMETS Export


text:
from neuralnet import *
from dbm import *
from dbn import *
from sparse_coder import *
import cudamat as cm
import numpy as np
from cudamat import gpu_lock
from time import sleep

def LockGPU(max_retries=10):
  for retry_count in range(max_retries):
    board = gpu_lock.obtain_lock_id()
    if board != -1:
      break
    sleep(1)
  if board == -1:
    print 'No GPU board available.'
    sys.exit(1)
  else:
    cm.cuda_set_device(board)
    cm.cublas_init()
  return board

def FreeGPU(board):
  cm.cublas_shutdown()
  #gpu_lock.free_lock(board)

def LoadExperiment(model_file, train_op_file, eval_op_file):
  model = util.ReadModel(model_file)
  train_op = util.ReadOperation(train_op_file)
  eval_op = util.ReadOperation(eval_op_file)
  return model, train_op, eval_op

def CreateDeepnet(model, train_op, eval_op):
  if model.model_type == deepnet_pb2.Model.FEED_FORWARD_NET:
    return NeuralNet(model, train_op, eval_op)
  elif model.model_type == deepnet_pb2.Model.DBM:
    return DBM(model, train_op, eval_op)
  elif model.model_type == deepnet_pb2.Model.DBN:
    return DBN(model, train_op, eval_op)
  elif model.model_type == deepnet_pb2.Model.SPARSE_CODER:
    return SparseCoder(model, train_op, eval_op)
  else:
    raise Exception('Model not implemented.')

def main():
  board = LockGPU()
  model, train_op, eval_op = LoadExperiment(sys.argv[1], sys.argv[2],
                                            sys.argv[3])
  model = CreateDeepnet(model, train_op, eval_op)
  model.Train()
  FreeGPU(board)
  #raw_input('Press Enter.')

if __name__ == '__main__':
  main()

redpajama_set_name: RedPajamaGithub