text:
These Photos Plunge You Into the Inner Madness of Guantánamo
'Welcome to Camp America' goes beyond the standard photobook.
Mark MurrmannOctober 7, 2017
Smoke Break, Camp AmericaDebi Cornwall, from "Welcome to Camp America"
Debi Cornwall's Welcome to Camp America: Inside Guantánamo Bay (Radius Books) is an exhaustively researched, exceptionally photographed documentation of one the most heavily guarded prisons in the world. The way in which photographs, interviews, and government documents intersect and overlap in a multifaceted layout makes the physical book itself becomes important to the narrative. As Cornwall says, the fold-over pages and other layout elements invite the reader to either "take what is given or choose to dig a little deeper." It's rare to find a photobook in which the book doesn't just act as an outlet, but actually amplifies the power of the work within.
It's no surprise that access at Guantánamo proved to be restrictive, even for Cornwall, who was first granted access in 2014 after a nine month clearance process. What can and can't be photographed on the base is highly controlled. When shooting film, she had to develop the work on base, under control of military censors. Working within those confines, Cornwall's work focuses on life and the every day elements at Gitmo—for US military personnel and, as much as possible, for detainees. Most of her photos, though, are hauntingly empty—empty cells, empty restaurants, empty golf courses. Operational security largely prevents the inclusion of people in photos. In the rare instance people appear, their back is to the camera.
Against this barren backdrop, Cornwall drops in still life photos of items available for purchase at the Gitmo gift shop. You can buy a bobblehead Fidel Castro ($20), a Camp X-Ray coffee mug ($7.99), plush rasta iguana ($4.99), I LOVE Gitmo lip balm (price not available). It's easy to laugh when you're on this side of the fence. But not all the still life images portray such a queasy playfulness. Cornwall also photographed items not available at the gift shop: shackles used to restrain detainees ($142.50), detainee-issue shoes ($8.59/pair), shirts ($21.95), and trousers ($26.95). It's surreal mix of images, made only more disorienting by the inclusion of the government documents—partially redacted, naturally.
Recreation Pen, Camp Echo
Liberty Center Band Room (Analog 2015)
Right: Turkey Vulture ($11.99); Left: Toddler Tee ($6.99)
What makes Camp America different from other photo projects on Guantánamo Bay—like Louie Palu's excellent Guantánamo, Paolo Pellegrin's multimedia piece of the same name, or Christopher Sims' project from 2009—is the inclusion of 14 inserts containing portraits of former detainees who have been released. Like the few soldiers who appear in the book, the detainees are photographed with their backs to the camera, faceless. But unlike the US soldiers we see in the book, these men are not completely anonymous. The inserts include basic information: where they're from, their current occupation, where they're photographed, how long they were held, when and where they were released, and the charges filed (if any). This humanizing aspect of the book, buffeted by pieces of interviews with detainees dropped in throughout the book, make it so much more than a quirky look at a secretive, tropical military base. Cornwall plunges you just a little into the utter madness of Guantánamo.
Djamel, Berber (Algeria)
Held: 11 years, 11 months, 18 days
Cleared: October 9, 2008 & May 8, 2009
Charges: never filed in U.S.
Acquitted and exonerated at trial in Algeria.
Looking homeward, outside Algiers
Murat, Turkish German (Germany)
Refugee counselor
Held: 4 years, 7 months, 22 days
Charges: never filed
Containerdorf, Refugee Housing, Bremen
"Guantánamo Bay's detention centers have now been open for more than fifteen years," writes Cornwall in an essay in the book, which is heavily and powerfully influenced by her past as a civil rights lawyer focused on wrongful convictions. "Of the 780 men who have been held there, only eight have been convicted in the military commissions, and five of those convictions were overturned on appeal. Nine captives have died. Hundreds have been cleared and released, returning home or, if U.S. authorities deemed it necessary, transferred to third countries pursuant to secret agreements between governments. As of this writing, 61 men remain in custody."
The book also includes essays from the president of the International Center of Photography, Fred Ritchin, and from a former Guantánamo detainee named Moazzam Begg. All text in the book is printed in both English and Arabic—an important nod to the book's audience beyond the usual English-speaking crowd. All these elements push this book past a mere photobook. It's an important documentation of an awful period in America's history, one that, it should be noted, is ongoing.
"Placing 'War on Terror' captives," Cornwall writes, "on an offshore military base has on one level been a great success: out of sight, out of mind. Over the last fifteen years, most Americans have stopped looking."
Welcome to Camp America will be on exhibition at New York's Steven Kasher Gallery, 26 October through 22 December, 2017 with a panel discussion, 28 October 2:30-4pm.
My Visit With One of the Forgotten Prisoners of Guantánamo
Noor Zafar
Eight Years Later, Obama Finally Moves to Shut Down Guantanamo
Max J. Rosenthal
The January 6 Committee Just Revealed Alarming Text Messages From Sean Hannity
Dan Friedman
Hero: Chris James, the Canadian Comedian Triggering Right-Wing Talk Radio Hosts


text:
2021 Budget: Government Extends Free Water, Electricity For Lifeline Consumers
0 0 Rock Venus 0248092481 Friday, March 12, 2021
Government has extended its free water and electricity for lifeline consumers to June 2021, caretaker Minister for Finance, Osei Kyei-Mensah-Bonsu,
Government has extended its free water and electricity for lifeline consumers to June 2021, caretaker Minister for Finance, Osei Kyei-Mensah-Bonsu, on Friday announced.
Presenting the 2021 budget statement and economic policies of government in Parliament on the theme: "Completion, Consolidation and Continuation", Kyei-Mensah-Bonsu said the decision to extend the programme is to lessen the plight of the vulnerable.
"I am happy to announce that His Excellency the president has approved the continuation of the provision of free water to up to 5 cubic meters that is 1000 gallons per month to vulnerable groups," he said.
Kyei-Mensah-Bonsu added: "In addition, we will continue to provide electricity to lifeline consumers up to the end of June 2021 when it is expected that many Ghanaians would have been vaccinated."
Government in April last year announced its intention to absorb electricity and water tariffs to make up for lost income as a result of the COVID-19 pandemic and its attendant lockdown and restrictions.
Government has also in the 2021 budget statement announced the suspension of vehicle income tax for commercial public transports, popularly called trotros and taxis, to reduce the cost of transportation under its tax relief programme.
Small businesses will also enjoy the suspension of income tax stamp payments, the Minister for Parliamentary Affairs and Majority Leader Osei Kyei-Mensah-Bonsu disclosed.
Kyei-Mensah-Bonsu also announced tax relieves of 30% on corporate income tax to benefit hotels, restaurants, education, arts and entertainment as well as travel and tours sectors.
"A waiver of penalty and interest on accumulated tax arrears up to December 2020 to reduce cash flow challenges will also target companies and individuals," he noted.
EweGhana.Net Inspiring Our Culture: 2021 Budget: Government Extends Free Water, Electricity For Lifeline Consumers
https://1.bp.blogspot.com/-jZy2Vsv9VEM/YEwAALzxZHI/AAAAAAAAwyE/sBtJ1d9Tf8EBP1kod6Kg-kiG54NPQPitACNcBGAsYHQ/s16000/619745368_635278.jpg
https://1.bp.blogspot.com/-jZy2Vsv9VEM/YEwAALzxZHI/AAAAAAAAwyE/sBtJ1d9Tf8EBP1kod6Kg-kiG54NPQPitACNcBGAsYHQ/s72-c/619745368_635278.jpg
https://www.eweghana.net/2021/03/2021-budget-government-extends-free.html

redpajama_set_name: RedPajamaCommonCrawl


Sometimes it is necessary to temporarily store your belongings. At family company 't Hoentje & van der Zalm we work with closed and separate containers. This enables us to store your belongings in a dry, heated and secure environment. An inventory will be made of your belongings at your home and then directly placed in our wooden containers. Of course you are more than welcome to visit our premises and warehouses..
We can also take care of temporary storage and the transportation of furniture for furniture warehouses.
Copyright © 2019 - Verhuisbedrijf / Removal company 't Hoentje Van der Zalm B.V.


There were significant explores that have been done to demonstrate the medical advantages of trace minerals. In all actuality we can't get every mineral and vitamins that we require for our metabolic wellbeing from our regular dinners.
If we do not have enough minerals and vitamins in our body, our body's ability to fight against diseases will be reduced. Our body has been struck by such a significant number of components like stressors, poisons, medications and damage that would lose vitamins in the body all the more quickly. The air, food and water contamination gives us stretch that we have to take in more nutrients to help our body framework and discharge the toxins out from our body. There are additionally gadgets that would make us consume less calories since it brings us effortlessness of life, at that point we will eat less and it will be difficult to get every nutrient that we require, except if we take supplements. Get more info here at https://richminerals.com.
Selenium is one of the most important trace minerals because it protects your cell membranes and reduces the risk of cancer. It is known for its antioxidant properties and it improves the insusceptible framework of the body or the immune system. With selenium deficiency, there will be risk of heart attack, cancers and neuromuscular disorders like muscular dystrophy and cystic fibrosis. Get more facts about this dr.wallach products now!
Chromium and vanadium are valuable for diabetic patients since it is a need for glucose tolerance factor. Without chromium and vanadium, there will be risk of hypoglycemia and diabetes.
Tin is likewise critical on the grounds that it underpins the development of the hair and it enhances body reflexes. The same as the lithium, it diminishes forcefulness, implosion and violence. Tin deficiency can lead to symmetrical baldness and reduced response to noise. Lithium deficiency on the other side can lead to mental illness like depression, mania and suicidal thoughts and doings and also abuse.
Gallium regulates the cerebrum chemistry and the anti-tumor activity. Lack of gallium can lead to brain dysfunction.
Molybdenum and boron help to regulate calcium, magnesium and copper digestion and forestalls copper inadequacy and bone illnesses like osteoporosis and joint inflammation.
Zinc upgrades the resistant framework and when taken amid pregnancy, it anticipates birth defects. Zinc inadequacy can lead to infertility and infections.
These are the bewildering favorable circumstances of trace minerals that you need to think about. Understanding that we can't get these nutrients from our normal food, supplements should be considered. To get some answers concerning the surprising mineral upgrades, essentially click this page and discover more. To read more about supplements, go to https://www.huffingtonpost.com/topic/nutritional-supplements.


text:
About the iAccelerate business incubator & Accelerator
iAccelerate is a unique business accelerator and incubator program run by the University of Wollongong (UOW). It's a thriving community of like-minded entrepreneurs with vision, purpose and passion, growing their impact through exceptional education, mentoring and support among inspiring surrounds.
What is iAccelerate all about?
iAccelerate is more than just an incubator, a comprehensive and multi-faceted approach to empowering startups, scaleups and intrapreneurs to rapid and sustainable growth.
iAccelerate is a one-of-a-kind in the Australian startup marketplace, fusing incubation and acceleration to get you further than you've dreamed, faster than you could imagine.
How does iAccelerate work?
At iAccelerate, we do things differently. We've developed a unique formula that upskills and empowers you to turn your idea into a strong, sustainable business in record time.
Acceleration Programs
So you've got the spark, but you need the tools to make the most of it. We've got you covered with intensive and comprehensive programs to help you ignite your idea, shape it into a sustainable business and share your vision with the world.
The iAccelerate Pitch program arms startups with advanced skills in polishing and pitching their business idea to capture the hearts, minds and investment capital of potential partners.
Get pitch-ready
Educate Program
Our tailored education program gives entrepreneurs the practical skills to build and grow a sustainable business that links commercial success with a real and lasting societal contribution.
What is the iAccelerate Seed Fund?
The $10 million iAccelerate Seed Fund offers resident startups early-stage funding to accelerate their development and connect with funding opportunities in the future.
Uncover the potential
Structured and informal mentoring can make the world of difference, no matter what stage of development you and your business are at.
Our team are passionate professionals who believe deeply in the potential of iAccelerate's programs and residents to drive a revolution in innovation and technology, in our region and beyond.
iAccelerate's facilities are purpose-designed to resource, empower and inspire our thriving entrepreneurial community, delivering incredible collaborative and private spaces and crucial support services in a stunning location.
iAccelerate Economic Impact
We're Australia's leading accelerator/incubator, and with good reason. iAccelerate is delivering the goods on innovation, jobs and revenues, facilitating rapid acceleration of businesses and attracting new companies and industries to the Illawarra.
Tour and Information Sessions
The best way to get a real taste for what's possible here it is to step inside and see for yourself. Come along to one of our tour and information sessions – we'll show you around our spaces and facilities and take you through how our programs work.
Join our community and sign up to our mailing list.


mySCREEN sell a huge range of fashion focused phone and tablet accessories, provide repair services for phones and tablets, plus they offer advice on how to use/make the most of your smart device.
mySCREEN understand how much you use your phone and that your time is precious. That's why they offer ultra fast same day phone and tablet repairs - including all your favourite brands such as Apple, Samsung, Nokia, Sony, HTC, LG and more.
Our range of products covers everything from stylish phone, tablet and laptop cases to bluetooth devices and car brackets, in a huge range of styles and colors. Phones are more than just electronic communications devices… phones should be beautiful, phones should complement your personality and style, and your phone should be protected.
That's what mySCREEN is all about - accessorising and protecting your most valuable devices, and matching your smart phone or tablet to your personality and unique style. Whether you're looking for urban chic, bling, hipster or high end fashion labels such as swarovski - chances are mySCREEN have something to suit YOU.


text:
Q: Is there a good Google Sites competitor? A client of ours is a membership organization and they are looking for functionality that seems closely aligned with Google Sites capabilities.
They want a system where their members can have a content managed site of their own that one or more admins can create by submitting a simple form.
The member organization could then add/remove pages, add/edit/remove content, add their own users, modify their color scheme and layout.
They would like the ability to have a url structure like, "member_org_url_to_be_named/member_name" - but it could also be subdomains (i.e. "member_name.member_org_url_to_be_named").
So they need a security hierarchy to be able to have different levels of users:
Admin - can add/edit/remove sites, users, etc.
Member Admin - can add/edit content within their site, add users that are also able to add/edit content within their site.
Member user - can add/edit content within their site.
From what I've seen and read, Google Sites seems to be able to handle this functionality. It's a little difficult to get in touch with someone there who would be able to tell me this definitively, however. So I'm wondering if there are any other platforms that might be able to handle this workflow.
Obviously, I'd love to hear from anyone who has implemented a system like this before. I'd also love to hear from anyone who has actually used Google Sites.

A: (Disclaimer: I work for Google. I don't know much about Sites though.)
Have you actually tried to use Google Sites for this? It strikes me that it shouldn't take very long to give it a whirl. If you have any Sites-specific questions, the Google Sites help centre and user forum are probably good starting places.

A: This sounds like content management with roles. Drupal fits this purpose pretty much perfectly.
http://drupal.org/

A: I've used Google Sites (the free "standard edition") a very little bit, it was easy to setup + easy to reconfigure my DNS records via nearlyfreespeech.net to setup CNAME and MX records to a domain I own.
The mailing list stuff works nicely. The site editing is very easy for anyone to use but a  bit slllllooooowwww and somewhat clumsy, and doesn't appear to "play nicely" with the concept of uploading/downloading via FTP/SFTP/etc. I don't like the idea of my group's users spending all this time developing a website, that I can't backup or transfer to someone other than Google if I run into an issue.
I don't know if these issues are addressed in the pay version of Google Sites. For the moment I'm definitely keeping the email-mailing-list features going, but looking around elsewhere for something similar that works better.
(If you find something please post!)

redpajama_set_name: RedPajamaStackExchange


text:
At the Market
Queen Of The Sands
Ashlei Clixx [0-2++] Rihiku Hitsugaya [0-2+] Violette Castelle [0-5+]
Re: At the Market
Ayane Redwood
~ I want to see the world live in peace and harmony... also a world full of Teddy bears. Can't forget that! ~
The room was silent except for the sound of a grown man crying. This seemed to have triggered something in Ayane's mind as she suddenly started coughing. The girl had woken up from her temporary faint and slowly pulled herself up. Poliro would have obviously noticed by now but before he could do anything, Ayane lunged forwards to where he was sitting and threw her arms around him.
"Im sorry, im sorry!" Ayane then held on as though she was trying not to lose something and her grip was tight. "Im just not very good with... that sort of thing..." Ayane had never had a friend before herself and just by talking Ayane's nervous get the better of her. Hopefully the girl would eventually get over her unstable emotions towards the very forward Poliro. "Im sorry..."
Portaliya
Experienced Member
Location : England
Nenka Fotia 3-5 D+
Poliro suddenly jumped in hope that she had gotten up when he heard her cough. When she got back up, he suddenly had a glimmer of happiness, but was caught off by Ayane throwing herself onto him. As she hugged him, he felt trapped since she was holding onto him pretty tight but didn't say anything. Seeing her apologise, he responded. "You.. don't have to apologise.. it was my fault... I said the words that made you pass out. Don't blame yourself... It was.. me. He still weeped slowly.
"I really don't deserve a friend.. if I can't even talk to them without them passing out cause of what I said. I don't.. Its obvious Poliro was still shaken by himself because of her passing out. He was deeply in despair, and it would take some effort now to drag him out of it before he gave into it. But the question was now, what could Ayane do about it?
Even though Ayane was holding him tightly and apologised for her weak mind, Poliro still kept himself in the dark. He said he didn't deserve a friend and this really made Ayane feel upset and worthless to him. She let go of the guy as he started to cry again and climbed next to him on the bed by sitting on her legs.
Then after getting herself at the right angle, Ayane reached out at Poliro's shoulders and hauled herself forwards and held onto his shoulders. The amazing thing, was Ayane hadn't just sat back and let things pass like she would do with any other guy. She grabbed Poliro from this position and kissed him forcefully for about ten seconds. She then fell back to sitting on the bed and spoke. "Don't blame yourself for me, your the best friend I've ever had..."
Poliro still felt despaired, but then he got kissed by Ayane forcefully. This sent him into a deep shock, his eyes widened as far as he could. He felt tense and his heart began to beat more rapidly. It was like he was in a fight, as he had a sudden urge of adrenaline. In his mind a voice began echoing. "Get out.. Get out of this pit... in these ten seconds, he didn't resist, he embraced her kiss. When she let go, she could see him smiling again.
Her words after that made him feel even better, she could clearly see he was happier, but then he went red himself. "That-Thats the first time... a girl... ever...kissed.. me.. it felt very.. good." He then proceeded to then wrap her arms around Ayane, hugging her, if she didn't resist. "Your my only friend... that makes you the best friend i've had.. He then let go, still smiling. It had appeared he was quite happy now.
Ayane smiled happily after cheering her friend up. he gave her another hug and she smiled ever more. She was truly happy now that he wasn't upset about her. "I've never kissed a guy before... I know very little about the living worlds way of doing things as I've been here for so long. but I know what im doing I think..."
Ayane went a tad red again as she was freely speaking about this topic to poliro like it was nothing to her now. Then an earlier topic got into Ayane's head. She knew he wanted to avenge himself and also grow stronger. Ayane finished their morning with her next sentence. "Poliro... Let's start training together... Im sure I can help you now Ive seen your heart"
Thread locked, as its also completed
Sᵃ ᶥ ᶦ ˣ ♚
Location : The Land of Canabu' (Canada)
Elaine, Sugiuran of Time ♘ 0-5 Aceldama, Northern Queen ❅ 2-2 Yuzuki, The Cry baby Brute ☮ 2-5 Lycoris, The Blood Shinigami ☈ 3-4 Blank, The Danava of Necro ✞ 5-3
✖| Clean Up Time!! |✚
┣▇▇▇═─ ▸ ☠ ◂ ─═▇▇▇┥
It's been 2014 or even before that!
There for I will be locking this thread, feel free to revisit this and keep on reading!
Off to the Market
Fortune's Market
Just Another Day at The Market [Open]
A Demon In The Market.... shopping??
The Market Place [MINI EVENT]


Up to this level of Python, you have learned data structure of Python. Python collections module of Python includes implementations of several data structures that extend those found in other modules. Gradually you will learn the power of collections module. Let us discuss its power one by one.
d1 is ordered dictionary here.
Let us discuss the comparison between regular Python dictionary and Python ordered dictionary.
You can see that order dictionary is retaining their order in which contents are added.
By default dictionary is sorted according to key.
The above lambda function change the key to its value. Because ordered dict is return (key, value) pair. Lambda function make key = value, Thus ordered dictionary will be sorted by its value.
lambda function is explained in special function section.


text:
'use strict';

angular.module("TrackerApp.ApiPath.services", [])
    .factory("PathResolver", function(){
        return {
            baseApiAuthPath: "/api/auth",
            baseApiNoAuthPath: "/api/noauth",
            baseApiSysAdminPath: "/api/admin",
            baseFileDownload: "/files/"
        }
    })

    .factory('PathService', function(PathResolver, QueryStringNames, utils){
        return {
            account:{
                login: PathResolver.baseApiNoAuthPath + "/account/login",
                logout : PathResolver.baseApiAuthPath + "/account/logout",
                profile: PathResolver.baseApiAuthPath + "/account/myprofile",
                removeToken: function(token){ return PathResolver.baseApiAuthPath + "/account/session/" + token; },
                getTokens: PathResolver.baseApiAuthPath + "/account/token/list",
                passwordRecoverToken: PathResolver.baseApiNoAuthPath + "/account/passwordrecover",
                verifyToken: PathResolver.baseApiNoAuthPath + "/account/verifytoken",
                changeMyPassword: PathResolver.baseApiAuthPath + "/account/changemypassword",
                changePassword: PathResolver.baseApiSysAdminPath + "/account/changepassword"
            },

            file:{
                download:PathResolver.baseApiAuthPath + "/file",
                upload:PathResolver.baseApiAuthPath + "/file",
                directoryGrid:PathResolver.baseApiAuthPath + '/files/directory/grid',
                fileGrid:PathResolver.baseApiAuthPath + '/files/file/grid'
            },

            group: {
                load: function(id) { return PathResolver.baseApiAuthPath + "/group/" + id; },
                save: PathResolver.baseApiSysAdminPath + "/group",
                remove: function(id) { return PathResolver.baseApiSysAdminPath + "/group/" + id; },
                grid:PathResolver.baseApiAuthPath + "/group/grid",
                list: PathResolver.baseApiAuthPath + "/groups",
                groups:function(id){ return PathResolver.baseApiAuthPath + "/user/" + id + "/groups" },
                users:function(id){ return PathResolver.baseApiAuthPath + "/group/" + id + "/users" },
                addGroupUser: PathResolver.baseApiSysAdminPath + "/group/users/add",
                removeGroupUser: PathResolver.baseApiSysAdminPath + "/group/users/remove"
            },

            issue: {
                createMeta: function(data){
                    var url = PathResolver.baseApiAuthPath + "/issue/createmeta";
                    if(data.pkey){
                        url += "/" + data.pkey;
                    } else {
                        data.pkey = "";
                    }
                    url += "?" + utils.queryStringFromObject(data);
                    return url;
                },
                load: function(data){
                    if(data.id){
                        return PathResolver.baseApiAuthPath + "/issue/" + data.id;
                    } else {
                        return PathResolver.baseApiAuthPath + "/issue?" + utils.queryStringFromObject(data);
                    }
                },
                getChildren:function(id){return PathResolver.baseApiAuthPath + "/issue/" + id + "/children"},
                move:function(id){ return PathResolver.baseApiAuthPath + "/issue/" + id + "/move"; },
                save: function (data) {
                    var parent = '';
                    if(data.parent){
                        parent=data.parent.id;
                    }
                    return PathResolver.baseApiAuthPath + "/issue?" + QueryStringNames.parent + "=" + parent;
                },
                remove: function(id){ return PathResolver.baseApiAuthPath + "/issue/" + id; },
                grid: PathResolver.baseApiAuthPath + "/issue/grid",

                assignToMe:function(data){ return PathResolver.baseApiAuthPath + "/issue/assigntome?" + utils.queryStringFromObject(data); },
                reporterIsMe:function(data){ return PathResolver.baseApiAuthPath + "/issue/reporterisme?" + utils.queryStringFromObject(data); },

                changeStatus: function(data){ return PathResolver.baseApiAuthPath + "/issue/status?" + utils.queryStringFromObject(data); },

                commentAdd:function(data){ return PathResolver.baseApiAuthPath + "/issue/" + data.issue.id + "/comment" },
                commentUpdate: function(data){ return PathResolver.baseApiAuthPath + "/issue/" + data.issue.id + "/comment" },
                commentRemove: function(data){ return PathResolver.baseApiAuthPath + "/issue/" + data.id + "/comment" },
                commentList: function(data){ return PathResolver.baseApiAuthPath + "/issue/" + data.id + "/comments"},

                subscriptionToggle:function(data){ return PathResolver.baseApiAuthPath + "/issue/" + data.id + "/subscription/toggle" },
                mySubscriptions: PathResolver.baseApiAuthPath + "/issue/mysubscriptions",
                subscribedSelected:function(id){ return PathResolver.baseApiAuthPath + '/issue/' +  id + '/subscribedselected' ;},
                subscriptionToggleAny: PathResolver.baseApiAuthPath + '/issue/subscription/toggle/any',

                attachments:function(data){ return PathResolver.baseApiAuthPath + "/issue/" + data.id + "/attachments"; },
                attachmentAdd:function(data){ return PathResolver.baseApiAuthPath + "/issue/" + data.issue.id + "/attachment";},
                attachmentRemove:function(data){ return PathResolver.baseApiAuthPath + "/issue/" + data.id + "/attachment"; },
                attachmentLoad:function(id){ return PathResolver.baseApiAuthPath + '/issue/attachment/' + id; },
                currentUserSubscribed:function(id){ return PathResolver.baseApiAuthPath + "/issue/" + id + "/subscribed"; },

                /* dashboard and reporting */
                groupAll:function(params){ return PathResolver.baseApiAuthPath + "/issue/groupall?" + utils.queryStringFromObject(params); },
                groupByDataType:PathResolver.baseApiAuthPath + '/issue/group/bydatatype'
            },

            permissionScheme: {
                load: function(id) { return PathResolver.baseApiAuthPath + "/permissionscheme/" + id; },
                save: PathResolver.baseApiSysAdminPath + "/permissionscheme",
                remove: function(id) { return PathResolver.baseApiSysAdminPath + "/permissionscheme/" + id; },
                clear: function(id) { return PathResolver.baseApiAuthPath + "/permissionscheme/" + id + "/clear"; },
                grid: PathResolver.baseApiAuthPath + "/permissionscheme/grid",
                list: PathResolver.baseApiAuthPath + "/permissionschemes",
                names:PathResolver.baseApiAuthPath + "/permissionnames",
                projects:function(id){ return PathResolver.baseApiAuthPath + "/permissionscheme/" + id + "/projects"; }
            },

            permissionSchemeItem: {
                add: PathResolver.baseApiSysAdminPath + "/permissionschemeitem/add",
                remove: PathResolver.baseApiSysAdminPath + "/permissionschemeitem/remove",
                list: function(id){ return PathResolver.baseApiAuthPath + "/permissionschemeitems/" + id;},
                permissionAvailableUser:PathResolver.baseApiAuthPath + "/permissionschemeitem/user/available"
            },

            priority: {
                load: function(id) { return PathResolver.baseApiAuthPath + "/priority/" + id; },
                save: PathResolver.baseApiAuthPath + "/priority",
                remove: function(id) { return PathResolver.baseApiAuthPath + "/priority/" + id; },
                grid: PathResolver.baseApiAuthPath + "/priority/grid",
                list: PathResolver.baseApiAuthPath + "/priorities"
            },

            project: {
                createMeta: function(id){ return PathResolver.baseApiAuthPath + "/project/createmeta?" + QueryStringNames.id + "=" + id; },
                load: function(id){ return PathResolver.baseApiAuthPath + "/project/" + id; },
                create: PathResolver.baseApiAuthPath + "/project",
                update: PathResolver.baseApiAuthPath + "/project",
                remove: function(id) { return PathResolver.baseApiAuthPath + "/project/" + id; },
                grid: PathResolver.baseApiAuthPath + "/project/grid",
                projectRoles:function(id){
                    return PathResolver.baseApiAuthPath + "/projectrole/project/members?" + QueryStringNames.project + "=" + (id || "");
                },
                projectRoleMembers:function(id){ return PathResolver.baseApiAuthPath + "/projectrole/" + id + "/members"; },
                projectRoleProjectMembers:function(id){ return PathResolver.baseApiAuthPath + '/project/' + id + '/members';},
                projectRoleMemberAdd:PathResolver.baseApiAuthPath + "/projectrole/members/add",
                projectRoleMemberRemove:PathResolver.baseApiAuthPath + "/projectrole/members/remove"
            },

            role: {
                load: function(id){ return PathResolver.baseApiAuthPath + "/role/" + id; },
                save: PathResolver.baseApiSysAdminPath + "/role",
                remove: function(id) { return PathResolver.baseApiSysAdminPath + "/role/" + id; },
                grid: PathResolver.baseApiAuthPath + "/role/grid",
                list: PathResolver.baseApiAuthPath + "/roles"
            },

            status:{
                load: function(id){ return PathResolver.baseApiAuthPath + "/status/" + id; },
                save: PathResolver.baseApiSysAdminPath + "/status",
                remove: function(id){ return PathResolver.baseApiSysAdminPath + "/status/" + id; },
                list: function(workflow){ return PathResolver.baseApiAuthPath + "/statuses/" + workflow; }
            },

            user: {
                load: function(id){ return PathResolver.baseApiAuthPath + "/user/" + id; },
                changePassword: PathResolver.baseApiSysAdminPath + "/user/changepassword",
                save: PathResolver.baseApiSysAdminPath + "/user",
                remove: function(id) { return PathResolver.baseApiSysAdminPath + "/user/" + id; },
                grid: PathResolver.baseApiAuthPath + "/user/grid",
                list: PathResolver.baseApiAuthPath + "/users"
            },

            workflow: {
                load: function(id){ return PathResolver.baseApiAuthPath + "/workflow/" + id; },
                createMeta: function(id){ return PathResolver.baseApiAuthPath + '/workflow/' + id + '/createmeta'; },
                save: PathResolver.baseApiSysAdminPath + "/workflow",
                remove: function(id) { return PathResolver.baseApiSysAdminPath + "/workflow/" + id; },
                grid: PathResolver.baseApiAuthPath + "/workflow/grid",
                list: PathResolver.baseApiAuthPath + "/workflows"
            },

            workflowStep: {
                save: PathResolver.baseApiSysAdminPath + "/workflowstep",
                remove: function(id){ return PathResolver.baseApiSysAdminPath + "/workflowstep/" + id; },
                list: function(workflow){ return PathResolver.baseApiAuthPath + "/workflowsteps/" + workflow; },
                availableSteps: function(data){ return PathResolver.baseApiAuthPath + "/workflowsteps/available/" + data.workflow + "?" + QueryStringNames.status + "=" + data.status; },
                availableStepsUser: function(data){ return PathResolver.baseApiAuthPath + "/workflowsteps/user/" + data.workflow + "?" + QueryStringNames.status + "=" + data.status; },
                members:function(id){ return PathResolver.baseApiAuthPath + "/workflowstepmembers/" + id; },
                memberAdd:PathResolver.baseApiSysAdminPath + "/workflowstepmember/add",
                memberRemove:PathResolver.baseApiSysAdminPath + "/workflowstepmember/remove",
                memberGroups:function(id){ return PathResolver.baseApiSysAdminPath + "/workflowstep/" + id + "/groups"; },
                memberUsers:function(id){ return PathResolver.baseApiSysAdminPath + "/workflowstep/" + id + "/users"; }
            }
        }
    })

    .factory('RunApiService', function(utils){
        return {
            generateUrl:function(baseUrl, params){
                if(!params){
                    return baseUrl;
                } else {
                    return baseUrl + "?" + utils.queryStringFromObject(params);
                }
            }
        }
    })

redpajama_set_name: RedPajamaGithub


text:
Q: How to grab row and column info from a label inside a grid in WPF? I have a 3x3 grid that I use as a gameboard for tic tac toe. Each grid has a label that can display "X" "O" or "". Each of these labels contains row and column information for where they are located to. I am trying to get that information from code file. So far I have:
        <Label Grid.Row="0" Grid.Column="0" Name="lblZeroxZero" MouseDown="lblZeroxZero_MouseDown" FontSize="72" Padding="5" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
    <Label Grid.Row="0" Grid.Column="1" Name="lblZeroxOne" MouseDown="lblZeroxOne_MouseDown" FontSize="72" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
    <Label Grid.Row="0" Grid.Column="2" Name="lblZeroxTwo" MouseDown="lblZeroxTwo_MouseDown" VerticalContentAlignment="Center" FontSize="72" HorizontalContentAlignment="Center" />
    <Label Grid.Row="1" Grid.Column="0" Name="lblOnexZero" MouseDown="lblOnexZero_MouseDown" HorizontalContentAlignment="Center" FontSize="72" VerticalContentAlignment="Center" />
    <Label Grid.Row="1" Grid.Column="1" Name="lblOnexOne" MouseDown="lblOnexOne_MouseDown" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontSize="72" />
    <Label Grid.Row="1" Grid.Column="2" Name="lblOnexTwo" MouseDown="lblOnexTwo_MouseDown" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontSize="72" />
    <Label Grid.Row="2" Grid.Column="0" Name="lblTwoxZero" MouseDown="lblTwoxZero_MouseDown" FontSize="72" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" />
    <Label Grid.Row="2" Grid.Column="1" Name="lblTwoxOne" MouseDown="lblTwoxOne_MouseDown" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontSize="72" />
    <Label Grid.Row="2" Grid.Column="2" Name="lblTwoxTwo" MouseDown="lblTwoxTwo_MouseDown" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontSize="72">

Those are my labels and in my code file I want to get the Grid.Row and Grid.Column info. When I type lblZeroxZero. the intellisense doesn't bring up any properties that contain the row and column information. Does anyone know how to get this info? Do I have to access it from the datagrid as opposed to the label?
Edit: Some more info
In my codefile I have this method (not complete yet)
    private int[] GetLabelPosition(Label lbl)
    {
        int[] rowColumnInfo = new int[2];
        if (lbl.Name == "lblZeroxZero")
        {
            rowColumnInfo[0] = 0;
            rowColumnInfo[1] = 0;
        }
        else if (lbl.Name == "lblOnexZero")
        {
            rowColumnInfo[0] = 1;
            rowColumnInfo[1] = 0;
        }
        return rowColumnInfo;
    }

Currently, the only way I know how to get the label's row and column info is by looking at its name. I would like to get the Grid.Row and Grid.Column information without having to create a bunch of specific cases for each label name.

A: Use the Attached Properties GetRow and GetColumn at Grid. Example
int row = Grid.GetRow(lblZeroxZero);
int column = Grid.GetColumn(lblZeroxZero);

Update
In your case, you could do something like
private int[] GetLabelPosition(Label lbl)
{
    return new int[] { Grid.GetRow(lbl), Grid.GetColumn(lbl) };
}

A: As OJ suggested, you should use data binding.  This lets you separate the problem of presenting the game on the screen from the problem of managing the game's internal logic.
You'll need to create a Cell class that exposes Row, Column, and Owner properties.  The class will need to implement INotifyPropertyChanged so that when the Owner gets changed, it can alert the UI by raising the PropertyChanged event.  Finally, the class will implement a SelectCellCommand, which will set the Owner for the cell appropriately when it's executed (and whose CanExecute property will be set to false once the cell's owner has been set).
You'll create a collection that contains nine of these Cells, with Row, Column, and Owner properties set to the appropriate initial values.  All of your game logic (e.g. who's turn is it?  Has someone won?) will examine this collection.
In the UI, you'll create an ItemsControl that's bound to the collection of Cells.  Each item in the control will be a cell in the grid.
You'll set the ItemsPanel to a Grid, which will tell the ItemsControl how to lay its items out.  You'll create an ItemContainerStyle that assigns the Grid.Row and Grid.Column attached properties to the items' containers - the ItemsControl creates an ItemsPresenter for each object in the ItemsSource, and the Grid.Row and Grid.Column properties must be set on this object in order for the Grid to see them and know where to put them.
Finally, the control will contain an ItemTemplate that describes how each item should be displayed.  I'm using a Button (since you want there to be a command that executes when the user clicks on it) that contains a TextBlock which displays the X or the O in Owner.
It might look something like this:
<ItemsControl ItemsSource="{Binding {StaticResource Cells}}">
   <ItemsControl.ItemsPanel>
      <ItemsPanelTemplate>
         <Grid>
            <Grid.ColumnDefinitions>
               <ColumnDefinition/>
               <ColumnDefinition/>
               <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
               <RowDefinition/>
               <RowDefinition/>
               <RowDefinition/>
            </Grid.RowDefinitions>
         </Grid>
      </ItemsPanelTemplate>
      <ItemsPanel.ItemContainerStyle>
         <Style TargetType="ItemPresenter">
            <Setter Property="Grid.Column" Value="{Binding Column}"/>
            <Setter Property="Grid.Row" Value="{Binding Row}"/>
         </Style>
      </ItemsPanel.ItemContainerStyle>
      <ItemsPanel.ItemTemplate>
         <DataTemplate DataType="local:Cell">
            <Button Command="{Binding SelectCellCommand}" VerticalContentAlignment="Center" HorizontalContentAlignment="Center">
               <TextBlock FontSize="72" Source="{Binding Owner}"/>
            </Button>
         </DataTemplate>
      </ItemsPanel.ItemTemplate>
   </ItemsControl>
</ItemsControl>

Why go through all of this?
Well, let's look at the problems that your current design has that this doesn't:

*

*If you want to change the layout of the cells in your design, you have nine different controls you need to fix.  Here, you just change the DataTemplate for the cells.

*There's no need for nine different event handlers.  Because the buttons are bound to command objects that are properties of the Cell, you don't need to implement any way of finding out which cell the user just clicked on - the command is the way.  Also, you can disable the command (and its button) very simply once the Owner is set.

*All of your game logic can look at a simple data structure - a collection of Cell objects - without being concerned about how the UI works.
Finally, and most important, data binding is the core of WPF application development.  It's what makes developing WPF applications far easier than it was to implement WinForms applications.  If you're learning WPF without learning binding, you're wasting time.

A: +1 for Meleak's first answer, but I'd also like to suggest that instead of using codebehind, why don't you instead use databinding? It'll greatly simplify your code.


text:
The Truth About Pesky's Pole
Johnny Pesky will be honored by the Boston Red Sox tonight and his #6 will be officially retired. The ceremony will come on the eve of his 89th birthday -- and I'm thrilled that the Red Sox are doing this while Pesky is still around.
Two years ago, the Red Sox formally named the right field foul pole "Pesky's Pole". If you listen to a national broadcast or an out-of-town announcing team from Fenway, chances are that sometime during the night, they will mention the history behind the pole. If you are lucky, they'll offer a benign explanation. The worst offenders, however, are the ones who call it "the Pesky Pole" and then never explain why, leaving casual viewers in the dark -- or thinking perhaps that the pole itself is pesky, like maybe it moves sometimes.
In June 2002, Pesky told the Globe that Mel Parnell
was broadcasting a game with Ken Coleman and Ned Martin one night [between 1965 and 1968]. Someone hit a home run down the line and right around the pole, and Mel started talking about a game I hit one right around the pole to win it. The game was around '49 or '50, and I hit one late that won it for us. It might have even hit the pole. ... Mel came up with the name "Pesky Pole" in that broadcast ... and it stuck.
I have often wondered whether these stories are true. Were most of Pesky's home runs hit down the right field line -- listed as 302 feet from home plate though probably more like 295? Did most of them barely sneak into the stands?
Pesky, a left-handed batter, hit 17 home runs in his 10-year major league career. He hit 13 of them with the Red Sox -- and six were hit at Fenway Park.
Rob Neyer, in "Feeding The Green Monster" (his account of attending every game at Fenway in 2000), states that he had read* how Pesky's home runs had "often" hit the pole. Neyer was naturally suspicious, so he got the dates of Pesky's Fenway home runs and went off to look at microfilm of the Globe and Herald.
(*: Looking through my own books, I cannot find any reference to Pesky actually hitting the pole with a home run. Almost all of what I see online states that Pesky hit his home runs "just beyond" or "around the pole". And oddly, "Red Sox Century" does not mention the pole at all.)
Neyer lists the six home runs and quotes from the two newspapers on page 70 of his book:
Globe: "nearness to the foul line"
Herald: "barely penetrated the stands"
Globe: "into the second or third row"
Herald: "a few feet ... fair"
Globe: "three feet inside the foul pole"
Herald: "into the right field ... grandstand"
Globe: "into the right field pavilion"
Herald: (no specifics)
Globe: "a good way beyond the foul pole"
Herald: "into the right field grandstand"
Globe: "into the right field grandstand"
Herald: "into the right field stands"
It's clear that Pesky never hit the right field pole with a batted ball, though it appears that perhaps three of his home runs -- hit over the course of two seasons (five years) -- landed near the pole. I don't know how much of a pull hitter Pesky was, but he never hit a home run in Boston over the Wall or to center field.
In that Globe interview, Pesky mentions winning a game for Parnell with a shot "around the pole" late in a game. (Some accounts say it was a walk-off home run.) However, this never happened. Only one of Pesky's six Fenway home runs came in a game pitched by Parnell. That was on June 11, 1950 and Pesky's two-run shot came in the first inning. In addition, Boston lost that game (in 14 innings) -- the Tigers swept a doubleheader that day -- and Parnell got a no-decision.
Pesky also told the Globe:
The one I remember most was Opening Day 1946 when I hit a two-run homer in the eighth right around the pole to win it for us.
This may be correct. Pesky did hit a home run on Opening Day in 1946 (April 20) -- and Boston won the game 2-1. I do not have a box score to confirm the inning.
From the evidence above, the legend of Pesky and his pole may be partially accurate and partially a myth. Maybe Pesky hit many foul balls down the right field line that were almost home runs -- and that added to the legend in the mind of people like Parnell? Perhaps, but in my recollection, no one has ever mentioned his propensity to hit foul balls down the line. It is always home runs -- and home runs only.
But none of this should detract from what Pesky has done for the Red Sox organization over the last six decades. I'm glad the club is willing to bend its strict (and quite possibly outdated) rules regarding retired numbers, because if anyone deserves the honor, it's John Michael Paveskovich.
by allan at 8:46 PM
Jere said...
The '46 opening day HR was in the eighth, according to articles I'm seeing on line. One article says "Pesky's four-master went into the left field stands near the foul pole." I have to believe they meant right field, as there were no Monster Seats back then--the only fair stands near a pole were in RF.
In the '46 WS, one article about Game 5 at Fenway says "Johnny Pesky sent the next one 'zooming down the right field foul line only to see it curve outside f, at the foul pole." Interesting that this foul ball was mentioned in an article--maybe it was memorable enough to help the legend along. (Don't know why that "f" is there--must be words missing.)
I also found out his first hit of that WS was down the third base line.
And Ken Coleman wasn't there till '66. So that incident would've been '66-'68. Then again, Pesky replaced Parnell in the booth in '69--why would all four have been in the booth together? Maybe at the end of '68, they were introducing Pesky for next year/saying farewell to Parnell?
FenFan said...
Nice work, redsock!... and you tie it up well by saying that, regardless of the truth, Johnny Pesky has been a dedicated employee of the Red Sox for nearly sixty years and it's a fitting tribute beyond what has already been done.
mugro said...
Redsock, this wonderful article is but one example of why you win awards for this blog and why I can't wait to read it every day.
Great job, and fascinating stuff!!
Also, congratulations to Johnny Pesky for his lifetime of service to the Boston Red Sox!
I remember reading somewhere that it was at first kind of a lighthearted jab at Pesky, i.e., "the only way he'll ever hit a homerun is to wrap it around that pole."
But I have no idea where I read that.
Great post, Allan. I had always wondered about the facts behind the pole stories.
So what are the Red Sox official rules for retiring numbers?
redsock said...
Herald: "According to the team source, the Red Sox have long debated changing the standards a player must reach in order to have his number retired. The current policy, put in place by the previous ownership, holds that a player must be enshrined in the National Baseball Hall of Fame, have played at least 10 years with the Red Sox, and have finished his career with the club."
Pesky never said he was in the booth, just that Parnell said it while he (Parnell) was in the booth.
It certainly could have started that way.
I knew I had read that stuff about the microfilm awhile ago, but could not remember where. It was quite a long search until I found out it was in that Neyer book.
Speaking of Neyer, his latest book (Big Book of Baseball Legends) is full of this sort of thing. Recounts an oft-told story and then checks out the details of it.
Neyer used to do that in some of the old Bill James Abstracts (they were called "tracers" back then, when Neyer was James's assistant). I loved them then -- and can't wait to read the new book.
White said...
I remember my mother complaining about Pesky hitting foul ball after foul ball. Not being a patient women, she wasn't his biggest fan. But that could be part of why the pole is named after him.
L-girl said...
peaking of Neyer, his latest book (Big Book of Baseball Legends) is full of this sort of thing. Recounts an oft-told story and then checks out the details of it.
I hope he includes how he investigated - that's a really interesting part of the story to anyone who has done research of their own.
Nice to see Pesky's full name, too. Not being a long-time fan, I had never seen it before.
"Pesky never said he was in the booth, just that Parnell said it while he (Parnell) was in the booth."
I know, but in the 60s, it's not like it got archived on the internet. So either he happened to be listening, or heard about it. But it seems like the type of story you tell only if you heard it. And since the four people involved include the three announcers, plus the guy who replaced # 3, I feel like Pesky must've been there, and Parnell told the story because he was there. I could be wrong.
And Amy--after reading Allan's answer about team policy, you're saying, "but Fisk didn't finish his career in Boston, and his number's retired." They changed the rules for him, too. Clearly these rules need to be officially changed. I'd change 'em to: "whoever we want to be in is in, but we promise not to let just anybody in...."
They gave Fisk some "job" to make it seem like he was now employed by the Red Sox. fromw hat i have seen on NESN, his job is to wear hideously ugly shirts while standing in the luxury boxes.
I think I read on SoSH that he lives in Chicago and apparently still does stuff for the White Sox too.
I'm of mixed opinion on having Pesky's number retired. On the one hand, he was a pretty crappy baseball player. On the other hand, he's put in six decades with the Sox. If there were a way to honor him with a big plaque (or name a prominent part of Fenway after him, possibly a pole of some sort) rather than retire his number, that might be preferable. On the other hand, it'd be weird if anyone did wear his number, and no one's about to give out his number, so there'd at least be a de-facto number retirement that we might as well make official.
I didn't even realize that he's currently working for the White Sox.
Also, "His primary hobby is in cultivating orchids, of which he has maintained a collection of 300."
nixon33 said...
cool info! thanks
On the other hand, he's put in six decades with the Sox.
I think this should have equal weight, maybe more weight, for a retired number than contributions as a player. It's not the Baseball HoF.
It's a way of honouring a lifetime with a team, and in baseball the highest honour a team can give you is the retired number.
It would seem stingy, almost mean, not to. And he's old. Gotta do it now, or it will be a missed opportunity and a big regret.
Clearly these rules need to be officially changed.
Definitely. Finishing a career with a team can't be a criteria any more.
Just seems like his number was what he wore as a player, whereas the post-'67ish he's done has been out of uniform. If Theo leads this team to another dozen championships and retires, they'd have to retire something other than his number. I'm just not sure what.
I can be happy for the guy, though. Really they should get the MLB to revise its asinine anti-nonagenarian policies and let the guy hang out in the dugout as something other than an official coach. But they should do that anyway.
They can retire Theo's cell phone.
On the one hand, he was a pretty crappy baseball player.
That's just not true. Please find me a list of great defensive shortstop(/thirdbasemen, I guess) who routinely onbased around .400 during the late 40's early 50's.
He's not a hall-of-famer, obviously, but he was incredibly valuable for a good portion of his career.
Lowell, Drew Both Upbeat, Hope To Play
Beckett: "Just A Freak Deal"
Lester And Matsuzaka To Start ALDS; Beckett Tentat...
Herald: Beckett Has Oblique Injury; Francona Confi...
G161: Yankees at Red Sox, PPD.
ALDS Schedule
G159: Red Sox 6, Spiders 1
YED Contest Update
Red Sox To Retire Pesky's #6
Yankees Never Mentioned Torre In Stadium's Closing...
G156: Spiders 4, Red Sox 3
The Tub That Ruth Built
G155: Red Sox 3, Blue Jays 0
Ortiz: No Singles For Two Weeks
How Can We Miss You If You Won't Go Away?
Something Else #21: Odds And Ends
G152: Rays 10, Red Sox 3
Everything And More: David Foster Wallace And Infi...
Drew Improving, May Play Friday
G150: Red Sox 13, Rays 5
RIP, DFW
Kottaras Is 3rd Canadian-Born Red Sox Catcher
We Need A Name For This
A 9/11 Discussion
Something Else #20: Sonny Rollins
G145: Rays 4, Red Sox 2 (14)
Papelbon High-School Dancing Video
NYP: "Fake Joba Bedded 100 Girls"
Sox Call Up Canadian Catcher
One Week Later
Posnanski On Rose And Jeter
G142: Red Sox 7, Rangers 2
G141: Rangers 15, Red Sox 8
Firebrand Q Of The Week
Something Else #19: Velvet Underground
Pedroia: "Jerry Remy Stunk"
Bi-Cycle
September Begins: It's A WC Race


text:
Дін Майкл Орніш (нар. 16 липня 1953 року) — американський медик і дослідник. Президент та засновник некомерційного Науково-дослідного інституту профілактичної медицини в Саусаліто, штат Каліфорнія, і професор клінічної медицини Каліфорнійського університету у Сан-Франциско. Автор «Програми доктора Діна Орніша, присвяченої профілактиці хвороби серцевої недостатності: Їжте і худніть», він відомий прихильник дієт та змін способу життя для лікування та профілактики захворювань серця.

Особисте життя
Орніш, уродженець Далласа, штат Техас, випускник Далласської вищої школи Hillcrest. Він здобув ступінь бакалавра мистецтв з відзнакою факультету гуманітарних наук університету штату Техас в Остіні.  Він здобув ступінь Доктора медичних наук в Бейлорському медичному коледжі, був фахівцем клінічної медицини в Гарвардській медичній школі.

Професійна підготовка
Орніш відомий своїм підходом до профілактики  ішемічної хвороби серця та інших хронічних захворювань. Він стверджує, що важливо змінити спосіб життя, перейшовши на рослинну дієту , припинити курити та додати помірне навантаження, і навчитися справлятися з стресом (можна розпочати заняття з йоги та медитації). Орніш не є прихильником строгої вегетаріанської дієти; програма дозволяє споживання продуктів тваринного походження.

З 1970 по 1990 рр. Орніш та інші досліджували вплив дієти та рівня стресу на людей із серцево-судинними захворюваннями. Дослідження, опубліковані в наукових журналах, стали основою "Програми, присвяченої профілактиці хвороби серцевої недостатності" Орніша. Вона поєднує дієту, медитації, тренування і в 1993 році стала першою нехірургічною, нефармацевтичною терапією серцевих захворювань. За винятком мануальної терапії, це була перша альтернативна медична техніка, яку не викладали в традиційних навчальних програмах медичної школи.

Орніш протягом 16 років співпрацював з центрами медичного страхування "Madicare" та державної програми медичної допомоги "Medicaid", щоб створити нову категорію - інтенсивну реабілітацію серця, яка зосереджує увагу на зміні способу життя. У 2010 році компанія з медичного страхування "Medicare" почала відшкодовувати витрати на програму Орніша для людей, які страждали від серцевих нападів, болю у грудях, перенесли операцію шунтування коронарних судин. На додаток до програми Орніша, Medicare та Medicaid виплачують страхування за програми з інтенсивної реабілітації серця, створені Центром довголіття імені дієтолога Прітайкіна та Інститутом медицини Бенсона-Генрі при Загальноклінічній лікарні штату Массачусетс.

Орніш був лікарем-консультантом колишнього президента Білла Клінтона з 1993 року, він першим попросив Хілларі Клінтон проконсультуватися з шеф-кухарями Білого дому та особистого літака президента Air Force One. У 2010 році, після коронарного шунтування колишнього президента, Клінтон, натхненний Орнішем, почав дотримуватись рослинної дієти.

У 2011 році Барак Обама включив Орніша  до Консультативної групи з питань профілактики та охорони здоров'я.

Розбіжність думок
У березні 2015 року газета"The New York Times" опублікувала "Міф про білкові дієти", стаття критикує дієти Орніша з високим вмістом тваринних жирів та білків. Автор Мелінда Веннер Мойєр відповіла Орнішу в американському науково-популярному журналі "Scientific American"; розкритикувала наукові та дієтичні рекомендації Орніша, заявивши, що він використовував оманливу статистику. Орніш відстоював свою точку зору, посилаючись на ряд досліджень, які стверджували, що Мойєр помиляється стосовно статистики, яку він наводив. У відповідь Мойєр написала ще одну статтю, критикуючи аргументи Орніша: "Дієта Орніша могла б бути удосконаленим варіантом американської дієти, якби люди могли б реально дотримуватися її довгостроково. Але його твердження про небезпеку насичених жирів і червоного м'яса виходять за межі науки і в деяких випадках суперечать їй "

Бібліографія
Програма доктора Діна Орніша з профілактики серцево-судинно недостатності  Нью-Йорк: Random House, 1990; Книги Ballantine, 1992.
Їжте більше, важте менш  Нью-Йорку: HarperCollins Publishers, 1993,
Страви на кожен день з д-ром Деном Орнішем Нью-Йорк: видавництво HarperCollins, 1996,
Любов і виживання: наукова основа цілющої сили близькості  Нью-Йорк: Гарпер Колінз, 1998.
Спектрум  Нью-Йорк: книги Ballantine, 2008.

Примітки

Зовнішні посилання

 Official site

Американські лікарі XX століття
Американські письменники здоров'я та велнес
Американські євреї
Фірмові найменування дієтичних продуктів
Випускники Медичного коледжу в м. Бейлор
Прихильники харчування дієти
Мешканці загальної лікарні штату Массачусетс
Персоналії:Даллас
Каліфорнійський університет, факультет Сан-Франциско
Техаський університет у випускниках Остіна
Випускники університету Райс
Американські лікарі 21 століття
Американські дієтологи

redpajama_set_name: RedPajamaWikipedia


Your privacy is of paramount importance to us. In fact, we know that you care how information about you is used and shared, and we appreciate your trust that we will do so carefully and sensibly. We do not provide your personal information (such as your name, email, phone number, address, or credit card information) to other companies, except as required to transact business on your behalf: with the airlines to book your flights and purchase tickets, or with credit card companies to redeem your miles or points.
We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. We want you to feel confident about using this website to make travel arrangements, and we are committed to protecting the information we collect. While no website can guarantee security, we have implemented appropriate administrative, technical, and physical security procedures to help protect the personal information you provide to us. For example, only authorized employees are permitted to access personal information, and they may only do so for permitted business functions. In addition, we use encryption when transmitting your sensitive personal information between your system and ours, and we employ firewalls and intrusion detection systems to help prevent unauthorized persons from gaining access to your information.
We use Google AdWords Remarketing to advertise trigger across the Internet. AdWords remarketing will display relevant ads tailored to you based on what parts of the AlphaFlightGuru.com website you have viewed by placing a cookie on your machine. THIS COOKIE DOES NOT IN ANYWAY IDENTIFY YOU OR GIVE ACCESS TO YOUR COMPUTER The cookie is used to say "This person visited this page, so show them ads relating to that page." Google AdWords Remarketing allows us to tailor our marketing to better suit your needs and only display ads that are relevant to you.
Occasionally, at our discretion, we may include or offer third party products or services on our website. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites, and we recommend that you examine the privacy statements posted on those other websites to understand their procedures for collecting, using, and disclosing personal information.
As described on Safe Harbor Privacy Statement, we comply with the US-EU Safe Harbor Framework and the US-Swiss Safe Harbor Framework as set forth by the US Department of Commerce regarding the collection, use and retention of personal information from European Union member countries and Switzerland.


Take a look at a few neighborhoods in Rosharon Texas! Located along Highway 288 South, this quaint town offers homes in all price points in New Construction, Resale & Land! Call The Christina Jones Team for a more extensive search custom fit to your criteria!
We also offer New Home Construction Representation and am there through every stage of the building process. There may be many homes not listed here on this page that are being ready to be built…Give us a call at 281-698-7986 for a more detailed search specific to your needs or for a tour of any of these homes!
**Under Construction Check Back Often for More Neighborhoods!