text:
Forum Post: "Supreme Court Judges Have Access to Guaranteed Care, Shouldn't You ?" by Rose Ann DeMoro.
Posted 8 years ago on March 31, 2012, 4:33 p.m. EST by shadz66
This content is user submitted and not an official statement
"Supreme Court Judges Have Access to Guaranteed Care, Shouldn't You ?"
by Rose Ann DeMoro.
March 30, 2012 "Common Dreams" ( http://www.commondreams.org/ ) --
Justices Antonin Scalia, Anthony Kennedy, Ruth Bader Ginsburg, and Stephen Breyer did not have much in common during the three days of debate on the 2010 healthcare law before the Supreme Court March 26-28.
But they did share one essential characteristic. All four will never have to worry about guaranteed access to healthcare.
They won't have to worry about being bankrupted by medical bills, about being denied needed treatment their doctor recommended because some insurance bean counter deemed it 'experimental' or 'not medically necessary.'
They won't have to worry about being barred from choosing the provider of their choice because they were 'out of network' or forced to keep an unwanted job to maintain their present employer-paid coverage.
Why? It's not just because of their wealth, or even their federal paychecks or federal health plan.
It's because all four are over 65, and thus eligible for Medicare – which gives the four justices the same guaranteed coverage that every other American at 65 has. The same coverage that all Americans need and deserve.
Regrettably, none of those roadblocks are removed under the law the judges spent so many hours debating.
More striking, this case which dominated the court's agenda and massive media coverage this week did not need to be in front of the court at all. If, the Obama administration and the Democrats on the Hill had fought for the reform they should have pursued from the outset – lowering the Medicare age to zero.
For more than 45 years, Medicare has stood the test of time and law.
It works, even when its opponents try to underfund or privatize or destabilize Medicare.
Today Medicare remains a more efficient, cost effective, humane system for delivering healthcare, and guaranteeing it to everyone who is eligible, in a far superior manner to the broken dysfunction privatized insurance system that is based on profit and ability to pay, not on patient need.
Sure, the Affordable Care Act does have positive elements, including some restrictions on the abuses that characterize the insurance industry, and the provision that lets young adults up to 26 to remain on their parents' health plan.
But even if Obamacare survives the court challenge – a prospect looking increasingly dim – it would leave millions of Americans out in the cold.
Despite its name the Affordable Care Act has done little to actually make healthcare affordable. Out of pocket health costs for families continue to soar. It does little to crack down on insurance companies denial of medical treatment they don't want to pay for. It leaves 27 million Americans with no health coverage, according to a Congressional Budget office estimate in early March.
And for many who are covered, it further tethers them to a callous, insurance system that treats patients as commodities, not as individuals with individual needs.
Whether the law is overturned or left in tact, our healthcare crisis will continue. A mountain of statistics bear the ongoing nightmare faced by far too many. Just a few examples:
A February Pew Center report noted a 16 percent jump in the number of Americans heading to emergency rooms for routine dental problems, at a cost of 10 times more than preventive care with fewer treatment options than a dentist's office.
Medical bills for years have been the leading cause of personal bankruptcy. Increasingly they ruin people's credit as well. A recent Commonwealth Fund report found that 30 million Americans were contacted by collection agencies in 2010 because of medical bills.
The percentage of adults with no health insurance at 17.3 percent in the third quarter of 2011 was the highest on record, up from 14.4 percent just three years earlier, Gallup reported.
On quality, the U.S. continues to lag far behind other nations.
More than 80 percent of U.S. counties trail life expectancy rates of nations with the best life expectancies, the University of Washington found last June. Some U.S. counties are more than 50 years behind their international counterparts.
There is an alternative, one that most of the other industrialized world has long embraced. One that should be back on the table whether the Court overturns the law or not.
Single payer, Medicare for all. If Medicare is good enough for grandma, and for Scalia and Breyer and Kennedy and Ginsburg, it ought to be good enough for all of us.
Rose Ann DeMoro is executive director of the 160,000-member National Nurses United, the nation's largest union and professional association of nurses, and a national vice president of the AFL-CIO. Follow Rose Ann DeMoro on Twitter : http://twitter.com/#!/NationalNurses .
fiat justitia ...
[The article is copied verbatim under "Fair Use" from : http://www.informationclearinghouse.info/article30948.htm / http://www.commondreams.org/view/2012/03/30-0 .]


text:
The slinging-handbags fight that boiled up when Take-Two Interactive honcho Strauss Zelnick gave THQ six months to live has been, officially and semi-politely, resolved.
Backing up, THQ has been in a bathtub full of trouble for much of this year. The publisher has shut down its kiddie division, fended off rumors it scrubbed its publishing schedule to prepare for a sale, and its stock hit the thin ice of being delisted .
So, when Zelnick shot off his mouth today at MIT about THQ's prognosis, there was some call for him to say "THQ won't be around in six months." Still, that kind of potshot is unbecoming of a chief executive. THQ's spokespeople said Zelnick's "perception of THQ is outdated and inaccurate. His comments are irresponsible and false. Perhaps he would be better off commenting on his own business." And, yeah, that's a salient point.
Zelnick then apologized for his remarks: "While discussing our strategy I spoke out of turn about someone else's. It was inappropriate and I regret it," he said in a statement reported by Game Informer.
THQ: Take-Two's Perception is 'Outdated' [Joystiq]

subset: commoncrawl


text:
DISINTEGRATE Roundup
July 31st, 2011
This month is a testament to the creativity of the community – there were lots of interesting interpretations of the theme and some very experimental ideas, not only did we get death by disintegration, but also melting ice blocks, fireflies following, and even a game that disintegrates its own mechanics!
My apologies for the slight delay in the round up for this month! But now, without further adieu, let's check out these 19 games:
Closer, by Vamsi Krishna. Veligatla
Get close, but not too close to disintegrate your enemies in this simple but fun game.
znMacedonia, by Zink Interactive
Fun, polished, stylish disintegration of ships by saucer.
Guide a block of ice to the end of the level past heated obstacles before you completely melt – simple, but pretty fun!
A unique physics puzzler exploring swinging and breaking ropes, easy to imagine this one working well on a touch screen.
Interesting concept in which the game disintegrates itself if you mess up!
Build up a base, attack your opponent, and launch a space ship to win, all while keeping your headquarters from being destroyed in this strategy game.
All sorts of interesting interactions to explore in this game as your try and reach the top.
Swarming Elements, by Spunkmeyer
Disintegrate spheres of different elements in this soothing, somewhat puzzley shooter.
Agent Atomic Actionfists, by Aidan Wolf
Fight terrorists, skydive, explore underwater, this challenging game has it all, disintegrating the boundaries of action games.
You are a Part of Me Now, by Joe
True to the title, collect bits that become part of you and use them to protect you!
Suboids, by Alejandro Echeverria
Subdivide, guide, and provide boids with a path around obstacles to the goals.
Defend your ship, moon, and planet with your disintegration beam from asteriods that are occasionally on fire. Make sure not to accidentally disintegrate your own planet!
A modern, realistic physics take on a classic puzzle game.
Help your wizard avoid the disintegration mist by building up a tower he can climp using tetris pieces.
Explore, grapple, and disintegrate a procedural slowly spinning world in this exploration game.
Capture the Fireflies, by Rodrigo
Collect little fire flies and lead them home across multiple levels in this elegant game.
Turtank, by Joao Amadeu Nascimento Vieira
A two player battle game in which two turtles enter, one emerges victorious and the other disintegrated!
Use laser beams to keep particles moving to make the biggest death ray blast you can before time runs out.
One Does Not Simply Walk Into Mordor, by Dominik Reisel
The only thing disintegrating here was my patience. Spoiler alert: you can simply walk into mordor…


text:
The new girl- everything about her captivates me- her...
- by scarred & Nightscar the Shadow Wolf
- Rating:
- Published: 29 Jan 2015
- Updated: 17 Mar 2015
- Status: In Progress
Nine years ago Skylar's mother died in a car accident. And now she has a even bigger problem to worry about. It actually happened when she went out to think about her mother's death. The next thing she knew wolves were mauling her. And now she's a werewolf. Tada. But she has to hide it from her father, her friends (who really aren't that great of friends), and her possibly-boyfriend-but-not-exactly-sure-best-guy-friend Jackson.
Who she really has a crush on.
Who she really has a crush on.
Join MovellasFind out what all the buzz is about. Join now to start sharing your creativity and passion
Loading ...


text:
Math Tutor Bellevue WA
Certified Math Tutor Bellevue WA. Find Affordable Tutoring for elementary school, middle school, high school and college.
Learning a language also enhances the skill to speak comprehensively with the words coming out in a constant flow, which can be slow or fast. Also, many people are against home education because they believe that the school teachers are better equipped to teach children than parents. When I corrected Tim's reading, he answered, "A vacuum is when there's no air or anything else inside." He knew the science concepts, but couldn't read the question. Students should be able to read a page of grade level material and miss no more than five to eight words. By jamespatrick : A how to tutorial about Online Science Tutoring, math help, tutor in math, Education with step by step guide from jamespatrick. He was very excited, and I took advantage of this as an opportunity to celebrate with him. That, of course, is the first step toward resolution of the problem. In a package of say a month with TransWebTutors, one can even enjoy unlimited tutoring. If a student is getting bad grades, a teacher can usually give you some idea of why. It's uncomfortable and impolite. What Should You Expect a Tutor to Do for Your Child and Your Family? Specified coaching: If you find that your child is weak in any particular subject then you could find tutors for that specific subject. A good home teacher can easily recognize the cause of problem and can help your child to cover up the problem efficiently. More often than not the issue underlying poor performance is not a lack of understanding, but a lack of skills and focus to organize the information they receive. The kids develop a remarkable array of strategies to avoid reading. Teens are much more receptive to learning when they feel that the information is relevant to their lives. A week after the complaint had gone through, my program manager called me to ask me if I could accept being assigned to tutor this student. Many folks in my situation stayed on active duty, but the medical board stateside evaluated me with a 30 percent disability. Admiring the sound of her voice, her accent, and other things about her not to be discussed in this paper. Bringing peace back to the family by ending the battle of the books is a worthwhile reason to hire a qualified tutor. If a webcam is not available, audio can be used. Conversation: Most of the companies now conduct communication tests to test the English language fluency of the candidates during the interviews. This may be the ultimate question. Errors on more words will seriously disrupt comprehension and cause the reader to miss important information. Study skills are an important part of learning. In these more advanced classes, the student should not have to worry about seeking math homework help to learn how to add or subtract fractions or work with imaginary numbers.
[ic_youtube keyword="math tutor"]
[ic_bing_related keyword="math tutor"]


text:
Welcome to the new CommScope.com experience. Need help? Get Help
What gift do you give the man with everything?Obviously, a gift that you can use as well. And we're thinking longer term than cookies or a tie.
Yes, the ideal Father's Day gift is an ARRIS SURFboard® modem. Hear us out. Dad already has a huge 4K Smart TV, maybe one too many laptops, and even that network of home spy cameras that he hooked up to the internet before it was cool. And what makes them all run faster and more reliably is our DOCSIS® 3.1 SURFboard SB8200 Cable Modem--designed to deliver the fastest available* broadband service, both now and well into the future.
It's one of the most advanced cable modems on the market which means it can also access the most demanding services dad loves-- like Virtual Reality and streaming Ultra HD.
So think of it: faster internet, happy devices, and Dad reminds you that you gave him something that he will actually use every day. Win-win.
*Actual rates may vary dependent on a number of factors including, but not limited to: the services offered by your cable service provider, network traffic, computer equipment, type of server, number of connections to server, and availability of internet router(s).


text:
The Cincinnati Reds have traded outfielder Norris Hopper to the Chicago White Sox for catcher Corky Miller, according to a press release.
Miller, who played sparingly for the Reds from 2001-2004, is hitting .205 while playing just 14 games for the White Sox this season.
Miller will report to Class AAA Louisville, where Hopper spent the entire season.
Here are Norris Hopper's stats.


text:
Amidst all the festivities, for those who are separated, especially from their kids, Christmas can be a very lonely and cruel time.
If you are alone at Christmas, be with those who love you- family or friends. Don't spend Christmas alone.
I received an email last week from the chair of Dads in Distress Support Services, Dean Mason. The email resonated so loudly with me, Dean was kind enough to allow me to post it here:
If you are alone at Christmas, be with those who love you- family or friends. Don't spend Christmas alone.
I received an email last week from the chair of Dads in Distress Support Services, Dean Mason. The email resonated so loudly with me, Dean was kind enough to allow me to post it here:
Dear DIDSS Supporters and Friends,
A few weeks ago I had a dream that was simply cruel. In the dream itself I was extremely happy, with my children and their mother. We were all really happy, doing ordinary household things, getting ready for school and work, chatting, organising, having the usual and manageable tensions of trying to get young children out the door on time.
When I woke up, and the glaring reality of being estranged for so many years dawned upon this dreamy feeling, the cruelty began. The dream itself was like a gush of fresh mountain air for a deprived soul, but in the light of day it was a complete brain-bender. Fortunately I'm not in a profession that requires intense attention to detail in every working minute. If I were I would have taken sick leave, or several mental health days if my employer allowed.
So I did what I have become accustomed to do in such times. Although I have called Mensline in the past, and found them very helpful, this time I didn't. I worked, I read, I wrote, I walked, I did intense cardio workouts, I tried to share these things with loved ones and friends, I tried to consider there might be positives to be found, I tried to ignore it all, I tried to understand it all. But, just like I hear people speak of various mental illnesses, for quite a few days I could not shake the awful grip this clash of dream and reality had on my concentration and well-being.
Then I read somewhere the neat observation that if it were not for the darkness of night we would not be able to see the stars. Imagine if we never knew the star system even existed, what a massive gap in our bank of human wisdom and endeavour that would create.
And so I began to acknowledge this episode as 'darkness' and even to acknowledge it as being something that is probably an essential part of my, and probably all, human (inner) experience. Yet it is one that we have no control over whatsoever, in timing, intensity or duration. All we know is that it might come and if it does, for most of us at least, it will eventually pass. From there I was able to give in a bit, and to almost allow it to define my – I felt, very – shitty daily experience, while trying to protect others around me from its effects.
Christmas time is ripe for these episodes, perhaps because the social expectation all around is to 'be happy' even when our living reality may be far from it. And when the impetus to 'be happy' is tied to the wonder of young children, and our relationship with our own children is strained to any significant degree, we unavoidably crash into another bend in the brain.
This year has been an especially proud one for DIDSS. The Board has smoothly transitioned from old to new with four new members joining and quickly engaging with the work at hand. Barry, our CEO, with Laurence and Phil our Regional Coordinators, and Alan our National Volunteer Coordinator, Jeff, Jane, John and others who help in head office have done a remarkable job exceeding our government-funded project requirements while also delivering a national 1300 service and supporting the many groups and buddy activities that continue to grow in number around the country. Establishing our first Mums In Distress group was a particular highlight. Support for grandparents, gay dads, and others not served well in today's environment will be explored further in 2013. Our quality assurance framework has also been established and is already showing marvelous signs of lifting our collective service standards without losing any of our peer-support grass-root strengths.
We have around 200 volunteers who perform a variety of support roles, giving selflessly of their time and energy week after week. This giving is similar to that of a parent to a child, it is unconditional. For me, to be an active part of an organisation that is founded on – and overwhelmingly committed to – this principle of 'love in action', is like bathing in light.
Thank you to everyone who has shown DIDSS their support in any way at all during 2012. We need each other, and together we can achieve some extraordinary things to relieve – and perhaps even prevent – the pain and suffering that so many experience when they go through a family breakup.
May your Christmas be full of that light that comes when individually, and collectively, we manage to face the darkness and look to what it shows.
Dean Mason
National Chairman
Dads in Distress Support Services
1300 support: 1300 853 437


text:
Our mobile site is optimized for smaller screens.
Est. Mortgage: $/month
Federal 30-year interest rate: 3.5% last updated on 2020-03-26
This product uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis.
Boston Lofts745 Boylston StreetBoston MA, 02116Office: 617-417-9237 / 617-642-4538
Call: 617-417-9237
or send a message:
Your Email Address
Your Questions & Comments
I have a question about this listing.
Your Questions & Comments
I would like to schedule a viewing for (ID # 72365119)
Recipient's Name
Recipient's Email
Your Questions & Comments
I found a listing on "Boston Lofts | Advisors Living" which you may be interested in:
Send me the deed for 6 Mission Street Boston MA 02120 (ID#:72365119)
Send me the survey or tax map for 6 Mission Street Boston MA 02120 (ID#:72365119)
I would like more information for 6 Mission Street Boston MA 02120 (ID#:72365119)
Your Offer
Boston Lofts | Advisors Living
| 745 Boylston Street , Boston , MA 02116
Phone: 617-417-9237 617-642-4538 | Email: firstname.lastname@example.com
VT Real Estate Web Design


text:
Carlos & Sylvia Garcia The Ministries of Amigo Fiel
Administrator: Alicia Aragon
Contact Phone: 505.338.3680
Team Background:
Carlos was raised in Juarez, Mexico, until he was sixteen, when his family relocated to Santa Fe in 1978. He graduated from high school with honors and went on to study at New Mexico State University and the University of New Mexico. Sylvia is a native of Santa Fe and received the Lord in 1985. Carlos and Sylvia married in July of 1987, and they began attending Calvary Chapel de Santa Fe that year. In 1998, they began attending Calvary Albuquerque.
Ministry Description:
The Lord led Carlos and Sylvia back to the neighborhood in Juarez where Carlos grew up, and they began a ministry called Amigo Fiel (Faithful Friend). This ministry includes a multipurpose facility, Casa Amigo Fiel, which is home to a church, an after-school program, a playground, and a community storeroom for food and clothing distribution.
Carlos oversees all church programs and teaches every other weekend. The facility offers young neighborhood children an after-school program, including a hot lunch, a Bible study, and a safe place to play. Sylvia takes the lead with the women and directs the children's ministry. She also oversees the collection and distribution of clothing and food to families in the neighborhood.
The Garcias also host short-term mission teams from various churches. This base contains the Garcias' home and a building that has dormitories for sixty short-term team members, a dining hall, and a kitchen. Carlos is also the Mexico logistics coordinator for Operation Christmas Child, a ministry of Samaritan's Purse since April of 2005. To support this missionary.


text:
If you're reading this, then you know that Callaway has announced the new premium forged Apex Muscleback Irons (available for custom order only on September 12, pre-orders are available now). Here are answers to 5 important questions about these new blades.
1. Let's start with a "big picture" question, what should we know about these irons?
Well let's first address this question with a question, how good do these things look?! They've got a clean, classic look and shape that scream muscleback, and yet they also stand out aesthetically. Having a distinct visual appeal is important, but these clubs are made for elite, low handicap players, so of course they have to perform.
And perform they do – they're premium forged designs that give players the shot-making precision they expect from a blade, along with the softest feel, optimized turf interaction and even playability. They look great, the technology and performance speak for themselves, and if you either play musclebacks or have thought of playing musclebacks, you need to put them in your bag.
2. So it does what a muscleback should do and gives you some playability too?
Correct, if you're good enough to play blades you're not looking for more distance, you want an iron you can control and shape shots with. You'll get that precision from Apex Muscleback, and you'll get optimized turf interaction and consistent spin from a lot of different lies. These irons give you the confidence to play any type of shot.
3. What are some of the key technologies?
We'll start with the Tour Validated shape. Our PGA Tour Staff Pros had a lot of input on this design – they wanted a classic muscleback shape and a specific style, so that's what we gave them.
We put in the same wide spaced grooves we used on Apex Pro Irons too to give players more control and consistent spin out of a variety of lies for shot-making and playability, which is really something when you think about it.
Then we get into the Forged Design – Apex Musclebacks are made from 1020 Carbon steel for the softest feel. We call it a "quad forged design" and aside from being a really cool name, it delivers the ultimate in craftsmanship and precision.
And to finish off the big features, let's spotlight the Optimized Sole Camber. As you might guess, it's a camber on the sole, and it's where all that turf interaction comes from.
4. So the Tour Players had a big influence on these irons?
They certainly did, and we couldn't be happier with all the feedback they gave us. A lot of the guys on the PGA play musclebacks so they know what they're really looking for in these kinds of irons. Their comments were instrumental in the design and how they perform, and we expect to see a lot of these sets on Tour soon.
5. Nice, anything else we should know?
The Apex Muscleback Irons are available for custom order online, including on Callawaygolf.com on September 12. As a special offer, golfers can also pre-order them now, and they come standard in a 2-PW setup.
For more on these irons take a look at our new Callaway Talks, and our new photo gallery.


text:
Eggnog Muffins | This Is Why I'm Full
Welcome to Eggnog Heaven! Well, you will be in Eggnog heaven when you make these amazing muffins! (Psssst, they are delicious with or without the glaze!)
I made these to take to a work potluck and they were a huge hit!
I doubled the recipe, which ended up being a good thing, it made around 3 dozen muffins, which isn't a ton but they are SO GOOD that it's worth the effort!
The hubby also loved these, it was a good thing that I kept some at home to take these photos, or the hubby wouldn't have been able to try them!
I even had some people that said that they don't like eggnog and they loved them!
Let us know what you think of our Eggnog Muffins and comment below with any questions/suggestions! Be sure and sign up for our Newsletter where we will be posting and sending out recipes we are going to make and giving you the opportunity to give us suggestions for what we should make next! Enjoy!
Eggnog Muffins
- 1 1/2 cups of eggnog
- 2 tsp Spiced Rum optional
- 1 cup white sugar
- 1 teaspoon Vanilla extract
- 1/2 cup butter at room temperature
- 2 1/4 cup All-purpose flour
- 1 5 ounce package instant vanilla pudding mix
- 2 tsp baking powder
- 1/2 tsp Salt
- 1/2 tsp ground nutmeg
- 1 cup sifted confectioners sugar
- 1 tbsp eggnog
- 2 tbsp Spiced Rum (also optional but delicious)
- 1/8 tsp ground nutmeg


text:
Manual download is when you select individual files and folders to download to your computer's hard drive, which is different than the automatic syncing that happens when you use Google Drive for your Mac/PC. Even if you use Google Drive for your Mac/PC to automatically sync your files, you can manually download a file to a different location on your computer.
The maximum download file size is 2 GB. If the file size of the download is larger than 2 GB, you'll see a message with a list of files that aren't included in the zip file.
You can download these files to your computer in the following formats:
- For documents: HTML, RTF, Word, Open Office, PDF, Text file.
- For spreadsheets: CSV, HTML, ODS, PDF, XLS, TXT (only for a single sheet)
- For presentations: PDF, PPTX, TXT
- For drawings: PNG, JPEG, SVG, PDF
Download a file to your computer from Google Drive
- Click the checkbox(es) next to the item(s) that you'd like to download.
- Expand the More drop-down menu, and select Download...
- Select a file format to which you'd like convert and download your item, such as Microsoft Word. If you select multiple items, they'll be compressed into a .zip file
- Click Download.
You can also download a file when you're viewing the file. Go to the File menu, point your mouse to Download as, and select a file format.


text:
Health Department: Cars a rapidly diminishing fraction of ozone problem. Test them anyway.
[media-credit name="Andy Cross, The Denver Post" align="alignleft" width="150″][/media-credit]
Passenger vehicles play a much smaller role in the battle to decrease ground ozone levels in the Front Range than one might think given the mandate that every car and light truck in the metro area pass biennial emissions tests.
According to a study paid for and accepted as good science by the state, cars and light trucks (which I'll just call "cars" for the rest of this post) create about 9 percent of the fumes that can become ozone when mixed with sunlight. (See pages 9 and 10.)
The study also says, as reported in today's Denver Post, that cars built since 1996 are 95 percent cleaner than cars built before then.
Given that older cars will continue to find their way to the scrap yard, it's reasonable to expect that in the near and extended future fighting ground ozone by targeting cars will be a less and less useful activity.
And by the way, cars built in 1996 and later actually know when they are polluting and they don't keep the information a secret from you or your mechanic. Ever notice that "Check Engine" light?


text:
29 June, 2010
I forgotI captivated Bono so much that was the only night on the tour where he forgot to phone the President:)
29 June, 2010
Crazy NiteI had gotten the front row tix as a surprise for my beau. Little was I to know that Bono would pull me up on stage for 3 songs during the encore, Desire, With or Without You and Love is Blindness. I have been told that I hold the record for the longest time on stage by a fan...even if not all I can remember is looking out and seeing 50,000 people on one of the last nights that they actually used CNE stadium and realizing how small we all really are. I also found out bono has freckles;) Overall...one of the craziest best nights of my life!!!! And BTW U2...thanks for an amazing backstage with non-stop beer...which is unusual...so cheers to you for letting me and my beau grab a buzz on the Dublin boys! People kept asking me if I was a plant...LOL! I can just remember thinking..."Don't screw up!" Thanks again!
17 December, 2009
Best concert of my lifeI remember this concert as being a highlight of my life at that point. I couldn't believe the magnitude of the stage, the videos, the whole production. There was so much to take in. I wished I could have seen it again but sadly at that time didn't make enough money to splurge on second show. I also remember the nightmare of getting out of the parking lot. Hightlights include Running to Stand Still and Satellite of Love. I don't know if the band will ever top that tour.


text:
typedef struct { Window window; /* screen saver window */ int state; /* ScreenSaver{Off,On,Disabled} */ int kind; /* ScreenSaver{Blanked,Internal,External} */ unsigned long til_or_since; /* milliseconds */ unsigned long idle; /* milliseconds */ unsigned long eventMask; /* events */ } XScreenSaverInfo; typedef struct { int type; /* of event */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came frome a SendEvent request */ Display *display; /* Display the event was read from */ Window window; /* screen saver window */ Window root; /* root window of event screen */ int state; /* ScreenSaver{Off,On,Cycle} */ int kind; /* ScreenSaver{Blanked,Internal,External} */ Bool forced; /* extents of new region */ Time time; /* event timestamp */ } XScreenSaverNotifyEvent;
Current X server implementations typically provide at least one form of "screen saver" image. Historically, this has been a copy of the X logo drawn against the root background pattern. However, many users have asked for the mechanism to allow them to write screen saver programs that provide capabilities similar to those provided by other window systems. In particular, such users often wish to be able to display corporate logos, instructions on how to reactivate the screen, and automatic screen-locking utilities. This extension provides a means for writing such clients.
XScreenSaverQueryExtension returns True if the XScreenSaver extension is available on the given display. A client must call XScreenSaverQueryExtension before calling any other XScreenSaver function in order to negotiate a compatible protocol version; otherwise the client will get undefined behavior (XScreenSaver may or may not work).
If the extension is supported, the event number for ScreenSaverNotify events is returned in the value pointed to by event_base. Since no additional errors are defined by this extension, the results of error_base are not defined.
XScreenSaverQueryVersion returns True if the request succeeded; the values of the major and minor protocol versions supported by the server are returned in major_version_return and minor_version_return .
XScreenSaverAllocInfo allocates and returns an XScreenSaverInfo structure for use in calls to XScreenSaverQueryInfo. All fields in the structure are initialized to zero. If insufficient memory is available, NULL is returned. The results of this routine can be released using XFree.
XScreenSaverQueryInfo returns information about the current state of the screen server in saver_info and a non-zero value is returned. If the extension is not supported, saver_info is not changed and 0 is returned.
The state field specifies whether or not the screen saver is currently active and how the til-or-since value should be interpreted:
The kind field specifies the mechanism that either is currently being used or would have been were the screen being saved:
The idle field specifies the number
of milliseconds since the last input was received from the user on any
of the input devices.
The event-mask field specifies which, if any, screen saver events this client has requested using ScreenSaverSelectInput.
XScreenSaverSelectInput asks that events related to the screen saver be generated for this client. If no bits are set in event-mask, then no events will be generated. Otherwise, any combination of the following bits may be set:
XScreenSaverSetAttributes sets the attributes to be used
the next time the external screen saver is activated. If another client
currently has the attributes set, a BadAccess error is generated and the
request is ignored.
Otherwise, the specified window attributes are checked as if they were used in a core CreateWindow request whose parent is the root. The override-redirect field is ignored as it is implicitly set to True. If the window attributes result in an error according to the rules for CreateWindow, the request is ignored.
Otherwise, the attributes are stored and will take effect on the next activation that occurs when the server is not grabbed by another client. Any resources specified for the background-pixmap or cursor attributes may be freed immediately. The server is free to copy the background-pixmap or cursor resources or to use them in place; therefore, the effect of changing the contents of those resources is undefined. If the specified colormap no longer exists when the screen saver activates, the parent's colormap is used instead. If no errors are generated by this request, any previous screen saver window attributes set by this client are released.
When the screen saver next activates and the server is not grabbed by another client, the screen saver window is created, if necessary, and set to the specified attributes and events are generated as usual. The colormap associated with the screen saver window is installed. Finally, the screen saver window is mapped.
The window remains mapped and at the top of the stacking order until the screen saver is deactivated in response to activity on any of the user input devices, a ForceScreenSaver request with a value of Reset, or any request that would cause the window to be unmapped.
If the screen saver activates while the server is grabbed by another client, the internal saver mechanism is used. The ForceScreenSaver request may be used with a value of Active to deactivate the internal saver and activate the external saver.
If the screen saver client's connection to the server is broken while the screen saver is activated and the client's close down mode has not been RetainPermanent or RetainTemporary, the current screen saver is deactivated and the internal screen saver is immediately activated.
When the screen saver deactivates, the screen saver window's colormap is uninstalled and the window is unmapped (except as described below). The screen saver XID is disassociated with the window and the server may, but is not required to, destroy the window along with any children.
When the screen saver is being deactivated and then immediately reactivated (such as when switching screen savers), the server may leave the screen saver window mapped (typically to avoid generating exposures).
XScreenSaverUnsetAttributes instructs the server to discard any previous screen saver window attributes set by this client.
XScreenSaverRegister stores the given XID in the _SCREEN_SAVER_ID property (of the given type) on the root window of the specified screen. It returns zero if an error is encountered and the property is not changed, otherwise it returns non-zero.
XScreenSaverUnregister removes any _SCREEN_SAVER_ID from the root window of the specified screen. It returns zero if an error is encountered and the property is changed, otherwise it returns non-zero.
XScreenSaverGetRegistered returns the XID and type stored in the _SCREEN_SAVER_ID property on the root window of the specified screen. It returns zero if an error is encountered or if the property does not exist or is not of the correct format; otherwise it returns non-zero.
XScreenSaverSuspend temporarily
suspends the screensaver and DPMS timer if suspend is 'True', and restarts
the timer if suspend is 'False'.
This function should be used by applications that don't want the screensaver or DPMS to become activated while they're for example in the process of playing a media sequence, or are otherwise continuously presenting visual information to the user while in a non-interactive state. This function is not intended to be called by an external screensaver application.
If XScreenSaverSuspend is called multiple times with suspend set to 'True', it must be called an equal number of times with suspend set to 'False' in order for the screensaver timer to be restarted. This request has no affect if a client tries to resume the screensaver without first having suspended it. XScreenSaverSuspend can thus not be used by one client to resume the screensaver if it's been suspended by another client.
If a client that has suspended the screensaver becomes disconnected from the X server, the screensaver timer will automatically be restarted, unless it's still suspended by another client. Suspending the screensaver timer doesn't prevent the screensaver from being forceably activated with the ForceScreenSaver request, or a DPMS mode from being set with the DPMSForceLevel request.
XScreenSaverSuspend also doesn't deactivate the screensaver or DPMS if either is active at the time the request to suspend them is received by the X server. But once they've been deactivated, they won't automatically be activated again, until the client has canceled the suspension.
Table of Contents


text: Tantalizing Tina loves to jump out of perfectly good airplanes. Her hobby is skydiving. She also want to save all the seals from being hunted. Tina is an ambitious gal at 20. If you want to find out more about this adventurous woman check out her interview in her members area.


text:
We are pleased to announce that we are assisting Goodwill Industries of South Florida in implementation of new case management software. Goodwill is dedicated to providing rehabilitation, on-the-job training, work experience, and placement services to help people with disabilities and special needs overcome barriers to employment and become employed in the community. Goodwill of South Florida is one of the largest Goodwills in the country and serves a diverse population.
The anticipated benefits from this change include:
- Streamlined processes
- Reduced redundant work
- Better data and improved ability to access data on clients, programs, and services provided, both for daily operations and for strategic decisions
- Better insights into outcomes achieved, and
- Improved and easier reporting.
With Catoctin Consulting, we will assist Goodwill with the change process, from requirement validation and planning onward. We look forward to working closely with them to make this effort a success!


text:
Cox Children's Center
The Cox Children's Center was established in 1970. The center is a resource for university students, faculty, staff, alumni and community clients.
"Our first child attended the UIS Cox Children's Center from the age of 10 months – 5 years. When I was researching possible daycare settings, I was very impressed with the professional, courteous manner in which all my questions were met – I had a checklist of things to ask (printed from an internet search)." – Leslie Ann Lesko
Read more of Leslie's Testimonial
"When we first moved to Springfield, one of the first concerns our family had was finding an excellent preschool for our oldest daughter, who was nearing the age of 3 and was incredibly shy given that our family had moved from Minnesota to Chicago, Chicago to Springfield in those three years." – Lisa Higgs
Read more of Lisa's Testimonial
"As working parents of twins, it was very difficult getting our children into a daycare setting. As a result, we bounced from daycare to daycare until we could find one that had openings, let alone fit our needs. We settled on in-home daycares but were never fully satisfied. We finally found what was needed at Cox Children's Center." – Sarah Hilligoss
Read more of Sarah's Testimonial
Phone, Email, Location
- (217) 206-6610
- email@example.com
- UIS Campus Map
More Information
- Pay your bill
- 2019-2020 Holiday Schedule
- Undocumented Students – Resources for DACA and non-DACA recipients and their allies
UIS Cox Children's Center receives Gold Circle of Quality designation
The University of Illinois Springfield Cox Children's Center has received the Gold Circle of Quality designation, the highest rating possible, from ExceleRate Illinois, the state's new quality rating and improvement system for early learning and development providers. Read more about the Gold Circle of Quality designation »


text:
Hong Kong: New Favorites (1st Part)
Hong Kong: New Favorites (2nd Part)
In Hong Kong: one of the best eggs I've ever had the pleasure of putting into my mouth, and one of the top 5 steaks I've eaten in my life. Ever.
But first some ramen. Ippudo has five stores in Hong Kong but that doesn't preclude the fact that we still have to queue for a table. Still, I'm happy to be here not least because of the stories told to me in reverential tones about the almost mythic quality of its ramen. To allow ourselves to be fully indoctrinated into Ippudo, we keep it simple: two orders of ramen and a plate of gyoza.
The Karaka is made with a tonkotsu broth, its mouth-coating creaminess slicked with a tongue-tingling miso. The chili has a forward flavor, forefront on tongue mitigated only by bites of the chashu (BBQ pork) and rings of scallions.
Ippudo is the first ramen store that I've been to where choices are asked to be made. My Bin leaves it up to the kitchen for his bowl of Karaka but I like options. For my Sapporo Miso ramen, I want a thin (not thick), hard (not soft or normal) noodle with normal (not light or heavy) oiliness. I also ask for sides of black fungus, and a hot spring (poached) egg. A lighter miso is used here so its flavor is more delicate, not as salty as the Karaka's. The noodles are practically al dente, the just-set egg sliding down their surfaces, staining the soup, which is a chicken-based broth. It's a complex, incomprehensible mix of ingredients, probably proprietary, an alchemy better savored than dissected. I peer into the murky mass and inhale deeply. My Bin and I slurp, suck, and swallow. Ramen is definitely not food for a first date.
I like Ippudo enough but I'm not blown away by it. I feel that this kind of ramen sophistication, if you will, has already reached Manila's shores.
My Bin and I lose one another inside Harbour City, Hong Kong's largest mall. A maddening mash-up of what's actually three malls in one – Ocean Terminal, Ocean Centre and Gateway Arcade – it's a retail rumble that boggles the mind and burns through my wallet. Like a homing pigeon, I redirect myself back to my husband via my mobile, and once reconnected, I obey the lure of the sweet at Maison Eric Kayser.
Eric Kayser is an illustrious French baker with outposts all over the world. Especially renowned for his croissants and artisanal breads, his Hong Kong flagship features a "Fast Gourmet restaurant and Bakery Grab & Go." The doughy marvels do indeed look marvelous but at 4pm, sugar is my succor.
The restaurant itself serves sandwiches and other quick-order food but I'm allowed to "grab and go" from the bakery as long as I order a drink. So I see and select a trio: a lemon tart, raspberry macaron with pistachio filling, and because I can never get enough pistachio, a pistachio macaron. They go nicely with my pot of black Darjeeling tea.
The lemon tart is almost a misnomer. Nary a hint of eggy cloy, it's just a flash of tang set on a barely-there shortbread crust. Masterful and almost upstaged by the raspberry macaron.
I adore raspberries, in part because my encounters with them are so infrequent. I pick at the fruit, savoring each juicy drupelet, thrilling at the crunch and ooze of macaron and cream when I bite down.
The pistachio filling in the raspberry macaron finds resounding glory in the pistachio macaron. Not too crispy, it's almost soft but its filling is exquisitely flavored. I nibble and sip my tea and feel a honeyed glow of happiness run through me.
One of the best egg dishes I've ever had in my life
The roast goose at Yun Kee is one of those dishes I can't forget even three years later and I want it again. So I have it again, along with all the requisite components for a satisfying dimsum brunch. I can say with utmost certainty however that I've come across something at Yun Kee that may trump that roast goose.
It's stated simply on the menu: smoked duck egg. That almost offhanded plainness however, couldn't have prepared me for what I deem to be one of the best egg dishes I've had in my life. On the plate, these orbs immediately compel with their glittering middles, they seem to bathe and bask in the restaurant's yellow light. Propped slightly askew on skeins of seaweed, the position assumed threatens an overflow captured as if in a suspended state: the forward pressure looks like a tongue, lush and lickable. It mirrors my own, I think, as I put one egg half into my mouth, eagerly, hungrily.
Bite. Teeth collide on cooked egg white rousing a river of yolk, golden and slow, to flow and fill. I taste the sun, seduction, then smoke. It souses on my tongue, sitting, waiting, but I don't want to swallow. I want to press pause and suspend this flavor forever. But swallow I do and simplicity – in design and taste – being its own reward, rewards me with a final, pleasurable immersion: a cloak of smoke and yolk lingering, caressing, a last, lusty lick goodbye.
One of the best steaks I've ever eaten
I thought that I enjoyed the bistecca alla Fiorentina that I ate in Florence when I was in Italy last year, but would it be sacrilege to say that I enjoy more this bistecca that I eat in Hong Kong? A massive Porterhouse fired over a charcoal flame, the recommended way to eat this meat is cool blue, or "…'til it doesn't moo" – bluntly put.
Bistecca Italian Steak House is my new mecca for meat. Coming so quickly after eating one of the best egg dishes of my life, I'm now eating what's proving to be one of the five best steaks I've had. Ever. The fact that we're allowed to have it cooked medium – in Florence we ate it rare – makes a difference, and the fact that this slab of succulence is crusted over in smoke – it's an unabashed expression of abundance, exuberance, and carnivorous desires set on fire. My mind short-circuits at the memory of it. I'm only sorry that the lighting is so bad – it makes taking decent pictures almost impossible.
That we are shamelessly eating steak with sides of roasted bone marrow speaks of our ardor: at a meal like this, you either go all the way or get out of the way. My Bin peers down at the bones. "My god, honey, the marrow's still boiling!" Two eaters, hot and bothered and already out of register – but pleasurably so – we remember to relish our side orders of new potatoes with bacon, and broccoli slathered in Fontina cheese. Both are so piled up with gloriousness – the potatoes: starchy and steamy insides, crusty outsides, smashed with bacon – that it's difficult to remember now quite how they tasted. It's because of the marrow, I say. And that god-blessed steak.
Bistecca Italian Steak House Hong Kong
Best pork pastry
Everyone has a favorite pork pastry, here's mine. On Fa Yuen Street in MongKok sits Hoixe Cake Shop. On the shelves and behind glass displays, other pastries will tantalize but I'm drawn to one: Barbecue Pork Puff. Its triangular shape surrenders a clutter of crumbs, a fluff of flour in mouth and nose, and then the unmistakable flavor of lard. Porky, fatty – yes, but consider what this magic ingredient does for texture, an almost flouncing lightness of crumb disintegrating and highlighting the slightly sweet, very barbequed pork filling. Hoovering up two in immediate succession and barely pausing to breathe in between, I have to ask my Bin to forcibly restrain me from buying more. Abundance is wonderful and welcoming, embarrassing composure due to gluttony is not. I look down and giggle at the mess of crumbs we've made.
Hoixe also serves a wonderful egg tart but if the crowds at the store beside it are an indication, then Sakurashima Bakery does them better. A choice of either a flaky or shortbread crust, Sakurashima's egg tarts – whatever my choice may be – offers delightful mouthfuls in various permutations. Realizing now that the egg tarts I've eaten in the past were too sweet, these custards hold only a suggestion of sweet – shimmering masses bound by only eggs, milk, and sugar, maybe vanilla essence too. They are lovely, to behold and to consume, and I buy some for the trip back home, edible mementoes of my passion for pastry.
Sakurashima Bakery
G/F, 7 Fa Yuen Street, MongKok, Hong Kong.


text:
Minimum size of a package must be sufficient to attach a packaging label of 100 mm x 150 mm to one of the sides of the package. Maximum dimensions of a package (pallet) – 1200 mm x 1000 mm x 1700 mm.
If a package is too small, it is difficult to attach a label to it and if the label is unreadable, the package cannot be transported. If a package is too large it cannot be accommodated into the vehicle and cannot be transported.
Goods or valuables may not protrude out of the package and/or palette, because any protruding parts will be damaged during loading.
Maximum weight of a package (pallet) may not exceed 700 kg. Heavier pallets must be divided into several packages that would not exceed the maximum weight.
A package must be sufficiently durable to make it possible to lift the package held by its sides without any items contained therein falling out. A package may not contain more goods than the package can accommodate.
Only new rigid corrugated cardboard boxes, envelopes or plastic bags shall be used for packaging. Packages will be placed on top of each other, so their sides must be rigid to withstand the static load without collapsing.
Packages stacked on a pallet must be rigid so that they would neither press each other nor slip to the sides. To this end, sufficient amount of shrink wrap must be used.
Filling hollow packages
Hollow packages must be filled with packing material (paper, shaving, cotton, plastic foam, bubble wrap) to absorb shock. If hollows are not filled, items inside the package will not be stable, knock against each other and against the packaging thus standing a risk of sustaining breaking or other damage. Items inside a package must not touch the sides of the package.
Leak tightness
If liquids are sent in tanks or special containers, make sure that their lids are protected, i.e. the lids may only be opened by removing the security seal.
Corrugated cardboard boxes must be taped with adhesive tape wrapped around the box in three places at least. If too little adhesive tape is used the box may fail to hold the items in it and open.
Adhesive tape
We suggest using special adhesive tape with logos that cannot be purchased without placing a special order.


text:
In China's epic 7,000 year history of rice farming, all but the last 30 has been what we would call "totally organic." Unfortunately 30 years is enough to derail a very fine and long love affair, with two developments popping up to threaten the stability of rice growing in China: the over use of chemical fertilizers and pesticides and the ever ominous shadow of uncontrolled genetic engineering.
Here's a look at the gorgeous terrace paddy fields of China's South, and a culture worth preserving.
© Greenpeace
(Unregistered) Suzanna
I recognize some of these pictures as being Yuanyang in Yunnan province, but what are the other locations of these photographs?
2014-04-13 at 14:58
Flag abuse
To post a comment you need to be signed in.
Are you sure to remove this comment?
Are you sure to report this comment as abuse?
1 - 12 of 1172 results.


text:
Instead of this:
<?php setcookie( "TestCookie", $value, time()+(60*60*24*30) ); ?>
You can this:
<?php setcookie( "TestCookie", $value, strtotime( '+30 days' ) ); ?>
Instead of this:
<?php setcookie( "TestCookie", $value, time()+(60*60*24*30) ); ?>
You can this:
<?php setcookie( "TestCookie", $value, strtotime( '+30 days' ) ); ?>
Want to remove a cookie?
Many people do it the complicated way:
setcookie('name', 'content', time()-3600);
But why do you make it so complicated and risk it not working, when the client's time is wrong? Why fiddle around with time();
Here's the easiest way to unset a cookie:
setcookie('name', 'content', 1);
Thats it.
something that wasn't made clear to me here and totally confused me for a while was that domain names must contain at least two dots (.), hence 'localhost' is invalid and the browser will refuse to set the cookie! instead for localhost you should use false.
to make your code work on both localhost and a proper domain, you can do this:
$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;
setcookie('cookiename', 'data', time()+60*60*24*365, '/', $domain, false);
You can use cookies to prevent a browser refresh repeating some action from a form post... (providing the client is cookie enabled!)
//Flag up repeat actions (like credit card transaction, etc)
if(count($_POST)>0) {
$lastpost= isset($_COOKIE['lastpost']) ? $_COOKIE['lastpost'] : '';
if($lastpost!=md5(serialize($_POST))) {
setcookie('lastpost', md5(serialize($_POST)));
} else {
//At this point, if $_POST['_REPEATED']==1, then the user
//has hit the refresh button; so don't do any actions that you don't
//want to repeat!
Hope that helps :)
If you are having issues with IE7 and setcookie(), be sure to verify that the cookie is set via http for http sites, and https for https site.
Also, if the time is incorrect on your server, IE7 will also disallow those cookies from being set.
Note on setting cookies allowing access to sites:
If you are not using something "personal" from the computer that you are sending the cookie too watch out. Via javascript it is possible to steal cookies from other users. Thus allowing the stealer to login to your site as another user that might not have access otherwise. Try to add something like the user's ip in the cookie and allowing access from that ip only with the stored cookie data.
[Editor's note: ... or simply use sessions. You can't be sure that the visitor will use the same IP the next visit. Not even on the next request (thanks to proxy servers)]
Note when setting "array cookies" that a separate cookie is set for each element of the array.
On high traffic sites, this can substantially increase the size of subsequent HTTP requests from clients (including requests for static content on the same domain).
More importantly though, the cookie specification says that browsers need only accept 20 cookies per domain. This limit is increased to 50 by Firefox, and to 30 by Opera, but IE6 and IE7 enforce the limit of 20 cookie per domain. Any cookies beyond this limit will either knock out an older cookie or be ignored/rejected by the browser.
If you're looking to set multiple values in your cookie (rather than setting multiple cookies) you might find these useful.
function build_cookie($var_array) {
if (is_array($var_array)) {
foreach ($var_array as $index => $data) {
$out.= ($data!="") ? $index."=".$data."|" : "";
return rtrim($out,"|");
function break_cookie ($cookie_string) {
foreach ($array as $i=>$stuff) {
return $array;
Hopefully someone finds these useful.
exmaple with test.com;
equal test.com
equal .test.com
equal .test.com
ps: .test.com has its self and child domain
If you're having problem with IE not accepting session cookies this could help:
It seems the IE (6, 7, 8 and 9) do not accept the part 'Expire=0' when setting a session cookie. To fix it just don't put any expire at all. The default behavior when the 'Expire' is not set is to set the cookie as a session one.
(Firefox doesn't complains, btw.)
Caveat: if you use URL RewriteRules to get stuff like this: domain.com/bla/stuf/etc into parameters, you might run into a hickup when setting cookies.
At least in my setup a change in one of the parameters resulted in the cookie not being 'there' anymore.
The fix is simple: specify the domain. '/' will usualy do fine.
If you want to delete all the cookies set by your domain, you may run the following:
$cookiesSet = array_keys($_COOKIE);
for ($x=0;$x<count($cookiesSet);$x++) setcookie($cookiesSet[$x],"",time()-1);
Very useful when doing logout scripts and the cookie name may have changed (long story).
Note that the $_COOKIE variable not will hold multiple cookies with the same name. It is legitimate to set two cookies with the same name to the same host where the sub domain is different.
setcookie("testcookie", "value1hostonly", time(), "/", ".example.com", 0, true);
setcookie("testcookie", "value2subdom", time(), "/", "subdom.example.com", 0, true);
The next request from the browser will have both cookies in the $_SERVER['HTTP_COOKIE'] variable, but only one of them will be found in the $_COOKIE variable. Requests to subdom.example.com will have both cookies, while browser request to example.com or www.example.com only sends the cookie with the "value1hostonly" value.
$kaker = explode(";", $_SERVER['HTTP_COOKIE']);
foreach($kaker as $val){
$k = explode("=", $val);
echo trim($k[0]) . " => " . $k[1];
// output
testcookie => value1hostonly
testcookie => value2subdom
if you are having problems seeing cookies sometimes or deleting cookies sometimes, despite following the advice below, make sure you are setting the cookie with the domain argument. Set it with the dot before the domain as the examples show: ".example.com". I wasn't specifying the domain, and finally realized I was setting the cookie when the browser url had the http://www.example.com and later trying to delete it when the url didn't have the www. ie. http://example.com. This also caused the page to be unable to find the cookie when the www. wasn't in the domain. (When you add the domain argument to the setcookie code that creates the cookie, make sure you also add it to the code that deletes the cookie.)
If you want to delete all cookies on your domain, you may want to use the value of:
<?php $_SERVER['HTTP_COOKIE'] ?>
rather than:
<?php $_COOKIE ?>
to dertermine the cookie names.
If cookie names are in Array notation, eg: user[username]
Then PHP will automatically create a corresponding array in $_COOKIE. Instead use $_SERVER['HTTP_COOKIE'] as it mirrors the actual HTTP Request header.
// unset cookies
if (isset($_SERVER['HTTP_COOKIE'])) {
$cookies = explode(';', $_SERVER['HTTP_COOKIE']);
foreach($cookies as $cookie) {
$parts = explode('=', $cookie);
$name = trim($parts[0]);
setcookie($name, '', time()-1000);
setcookie($name, '', time()-1000, '/');
The server my php code is running on has sessions disabled so I am forced to store a fair bit of arbitrary data in cookies. Using array names was impractical and problematic, so I implemented a splitting routine. I do not serialize any class instances, just arrays and simple objects.
In a nutshell, when setting a cookie value, I serialize it, gzcompress it, base64 encode it, break it into pieces and store it as a set of cookies. To fetch the cookie value I get the named piece then iterate through piece names rebuilding the base64 data, then reverse the rest of the process. The only other trick is deleting the pieces correctly.
Sessions are better, but if they are not available this is a viable alternative. I chose gz over bz for compression because it looked faster with only slightly worse ratios.
Here is a simplified version of my implementation. This is a good starting point but is not suitable for most uses. For example, the domain and path are hard coded and no return values are checked for validity.
define( 'COOKIE_PORTIONS' , '_piece_' );
function clearpieces( $inKey , $inFirst ) {
$expire = time()-3600;
for ( $index = $inFirst ; array_key_exists( $inKey.COOKIE_PORTIONS.$index , $_COOKIE ) ; $index += 1 ) {
setcookie( $inKey.COOKIE_PORTIONS.$index , '' , $expire , '/' , '' , 0 );
unset( $_COOKIE[$inKey.COOKIE_PORTIONS.$index] );
function clearcookie( $inKey ) {
clearpieces( $inKey , 1 );
setcookie( $inKey , '' , time()-3600 , '/' , '' , 0 );
unset( $_COOKIE[$inKey] );
function storecookie( $inKey , $inValue , $inExpire ) {
$decode = serialize( $inValue );
$decode = gzcompress( $decode );
$decode = base64_encode( $decode );
$split = str_split( $decode , 4000 );//4k pieces
$count = count( $split );
for ( $index = 0 ; $index < $count ; $index += 1 ) {
$result = setcookie( ( $index > 0 ) ? $inKey.COOKIE_PORTIONS.$index : $inKey , $split[$index] , $inExpire , '/' , '' , 0 );
clearpieces( $inKey , $count );
function fetchcookie( $inKey ) {
$decode = $_COOKIE[$inKey];
for ( $index = 1 ; array_key_exists( $inKey.COOKIE_PORTIONS.$index , $_COOKIE ) ; $index += 1 ) {
$decode .= $_COOKIE[$inKey.COOKIE_PORTIONS.$index];
$decode = base64_decode( $decode );
$decode = gzuncompress( $decode );
return unserialize( $decode );
Here's a more advanced version of the php setcookie() alternative function:
* A better alternative (RFC 2109 compatible) to the php setcookie() function
* @param string Name of the cookie
* @param string Value of the cookie
* @param int Lifetime of the cookie
* @param string Path where the cookie can be used
* @param string Domain which can read the cookie
* @param bool Secure mode?
* @param bool Only allow HTTP usage?
* @return bool True or false whether the method has successfully run
function createCookie($name, $value='', $maxage=0, $path='', $domain='', $secure=false, $HTTPOnly=false)
$ob = ini_get('output_buffering');
// Abort the method if headers have already been sent, except when output buffering has been enabled
if ( headers_sent() && (bool) $ob === false || strtolower($ob) == 'off' )
return false;
if ( !empty($domain) )
// Fix the domain to accept domains with and without 'www.'.
if ( strtolower( substr($domain, 0, 4) ) == 'www.' ) $domain = substr($domain, 4);
// Add the dot prefix to ensure compatibility with subdomains
if ( substr($domain, 0, 1) != '.' ) $domain = '.'.$domain;
// Remove port information.
$port = strpos($domain, ':');
if ( $port !== false ) $domain = substr($domain, 0, $port);
// Prevent "headers already sent" error with utf8 support (BOM)
//if ( utf8_support ) header('Content-Type: text/html; charset=utf-8');
header('Set-Cookie: '.rawurlencode($name).'='.rawurlencode($value)
.(empty($domain) ? '' : '; Domain='.$domain)
.(empty($maxage) ? '' : '; Max-Age='.$maxage)
.(empty($path) ? '' : '; Path='.$path)
.(!$secure ? '' : '; Secure')
.(!$HTTPOnly ? '' : '; HttpOnly'), false);
return true;
/*This code will demonstrate use of cookies with PHP
It is very easy to understand and is better for beginner to
understand and get idea about power of cookies when used
with PHP.Here we give user a form to choose colors he/she
likes for website and when he/she visits site again within one
hour his/her settings are saved and read from cookie
and he/she doesn't have to set the page color and page
text color again.You can change time from 3600
seconds to whatever you deem appropriate in your case.
if you don't understand anything please email me*/
#checking if form has been submitted
if (isset($_POST['submitted'])){
#if yes (form is submitted) assign values from POST array to variables
#set cookies
#in case user has come for first time and cookies are not set then
if ((!isset($_COOKIE['bgColor']) ) && (!isset($_COOKIE['txtColor']))){
$bgColor = "Black";
#if cookies are set then use them
$bgColor = $_COOKIE['bgColor'];
$txtColor = $_COOKIE['txtColor'];

<body bgcolor="<?php echo $bgColor ?>" text="<?php echo $txtColor ?>">
<form action= "<?php echo $_SERVER['PHP_SELF']; ?>" method ="POST">

Body Color:

<select name=bgColor>
<option value ="Red">Red</option>
<option value ="Green" selected>Green</option>
<option value ="Blue">Blue</option>
<option value ="Yellow">Yellow</option>
<option value ="Black">Black</option>
<option value ="Brown">Brown</option>
<option value ="White">White</option>

Text Color:

<select name=txtColor>
<tion value ="Red">Red</option>
<option value ="Green" selected>Green</option>
<option value ="Blue">Blue</option>
<option value ="Yellow">Yellow</option>
<option value ="Black">Black</option>
<option value ="Brown">Brown</option>
<option value ="White">White</option>
<input type ="hidden" name="submitted" value="true">

<input type="submit" value="remind">
If you ever find yourself in a situation where you need to overwrite a non-PHP application's session cookie, you can do that with the following line:
header("Set-Cookie: SIDNAME=$overwrite; path=/; secure");
I couldn't get setcookie() to do this for all major web browsers, but manually sending the header did the trick. Note: Remove secure if you aren't mandating SSL connections.
IE7 can have trouble with settings cookies that are embedded in an iframe. The problem lies with a W3C standard called Platform for Privacy Preferences or P3P for short.
To overcome, include the header:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
before setting the cookie.
A period in a cookie name (like user.name) seems to show up in the $_COOKIE array as an underscore (so user_name). This means that for example $_COOKIE["user_name"] must be used to read a cookie that has been set with setcookie("user.name" ...), which is already rather confusing.
Furthermore the variable $_COOKIE["user_name"] will retain the value set by setcookie("user.name" ...) and no amount of calling setcookie("user_name" ...) will alter this value. This is rather trivially fixed by clearing the "user.name" cookie, but it can take a while to realize this since there's only "user_name" in $_COOKIE.
Hope this saves someone some time.
You can also delete cookies by supplying setcookie an empty value.
setcookie("w3p_cookie", "");
About the delete part, I found that Firefox only remove the cookie when you submit the same values for all parameters, except the date, which sould be in the past. Submiting blank values didn't work for me.
Example :
- set -
<?php setcookie( "name", "value", "future_timestamp", "path", "domain" ); ?>
- delete -
<?php setcookie( "name", "value", "past_timestamp", "path", "domain" ); ?>
You can be sure about the cookie files contents weren't changed.
$Seperator = '--';
$uniqueID = 'Ju?hG&F0yh9?=/6*GVfd-d8u6f86hp';
$Data = 'Ahmet '.md5('123456789');
setcookie('VerifyUser', $Data.$Seperator.md5($Data.$uniqueID));
if ($_COOKIE) {
$Cut = explode($Seperator, $_COOKIE['VerifyUser']);
if (md5($Cut[0].$uniqueID) === $Cut[1]) {
$_COOKIE['VerifyUser'] = $Cut[0];
} else {
die('Cookie data is invalid!!!');
echo $_COOKIE['VerifyUser'];
Create a unique id for your site and create a hash with md5($Data.$uniqueID). Attacker can understant that it must be re-hash after change cookie content.
But doesn't. Because cannot guess your unique id. Seperate your hash and data with seperator and send that cookie. Control that hash of returned value and your unique id's is same returned hash. Otherwise you have to stop attack. Sorry for my poor english!
When using your cookies on a webserver that is not on the standard port 80, you should NOT include the :[port] in the "Cookie domain" parameter, since this would not be recognized correctly.
I had the issue working on a project that runs on multiple servers (development, production, etc.). One of the servers is running on a different port (together with other websites that run on the same server but on different ports).
My 2 functions to use "live cookies":
function SetCookieLive($name, $value='', $expire = 0, $path = '', $domain='', $secure=false, $httponly=false)
$_COOKIE[$name] = $value;
return setcookie($name, $value, $expire, $path, $domain, $secure, $httponly);
function RemoveCookieLive($name)
return setcookie($name, NULL, -1);
A few comments have suggested using serialize() to set object or array data into a cookie. There are a couple of reasons to be carefull with that technique:
Security: If the cookie is human readable, then it is also fairly easy for end users to play around with it. Wrapping your cookie setting and getting in an encryption routine will prevent tampering, and make sure that your cookies don't make any sense to any client-side exploits or other sites they get sent to thanks to browser bugs.
Bulk: If you serialize even a fairly simple class, then you get a lot of data. Large cookies will make browser requests fat and slow, and some browsers have a limit on cookie size, so think about what data you really need to persist, and create __sleep() and __wakeup() methods to package the data into the shortest possible form. You can get better and faster results when you write your own __sleep() and __wakup() to implode() or pack() your data, than by using zlib compress() on the serialized object.
Of notice, the cookie when set with a zero expire or ommited WILL not expire when the browser closes.
What happens is that the browser, when closes the window, if it is a well behaved browser, will delete the cookie from the cookie store.
However, the cookie will survive in the server until the garbage collector removes the session, which will happen only when it kicks in and checks the specified session is out of bounds of the setting stated in:
Please check also:
And in case of doubt, PHP runs on the webserver and has no way whatsoever to interact with a browser apart from receiving requests and answering with responses, so assuming that a cookie will be removed from a browser is just an "hint" for the browser. There is no warranty that such will happen as instructed.
That is one of the reasons why the cookie values sent to browsers by some platforms are encrypted and timestamped, to ensure that they are actual and not tampered.
It's worth a mention: you should avoid dots on cookie names.
// this will actually set 'ace_fontSize' name:
setcookie( 'ace.fontSize', 18 );
> "When deleting a cookie you should assure that the expiration date is in the past, to trigger the removal mechanism in your browser"
This part of the documentation is no longer accurate. On my version of PHP (5.6.28) setting a null, empty string or boolean false value causes the server to ignore your expire date parameter and always sends value "deleted" and expire date 1970-01-01 00:00:01.
Note that at least in PHP 5.5 setcookie() removes previously set cookies with the same name (even if you've set them via header()), so previously fired Set-Cookie headers with e.g. PHPSESSID name are not flushed to the browser. Even headers_list() doesn't see them after session_start():
header("Set-Cookie: PHPSESSID=abc; path=/; domain=.sub.domain.com");
header("Set-Cookie: PHPSESSID=abc; path=/; domain=.domain.com");
print_r(headers_list()); // here you see two Set-Cookie headers with domains for PHPSESSID
print_r(headers_list()); // here you don't; you see only one Set-Cookie produced by session_start()
I was searching for a simple example of creating a cookie, storing a random number and updating it on refresh. I couldn't find one so I had to figure it out on my own....
- - - -
One thing to *NOTE* is technically you can't update a cookie, you can only overwrite it with a new one with the same name.
- - - -
This creates a random number, stores it in a cookie, then references it on refresh, checks for duplicates and does necessary correction, then stores it again, rinse and repeat...
$MaxCount = 4;// set the max of the counter, in my tests "4" = (0,1,2,3) I adjusted below (+1) to get a "real" 4 (0,1,2,3,4) this is in reality 5 keys to humans, you can adjust script to eliminate "0", but my script makes use of the "0"
$random =(rand()%($MaxCount+1));//give me a random number limited by the max, adding "1" because computers start counting at "0"
if(!isset($_COOKIE['random'])){// check if random number cookie is not set
//echo"not set";
setcookie('random', $random);//set the cookie for the first time
$lastRandom= $_COOKIE['random']; //hold the last number if it was set before
if($lastRandom == $random){//some logic to avoid repeats
if($random < $MaxCount){//if below max, add 1
//echo "under the max, adding 1, ";
}elseif($random >= ($MaxCount-1)){// if for some reason the random number is more than max or equal to it -1, and an additional -1 for max count in initial var (so in reality this -1 from intial max var, and -1 from $random which should be the same number)
//echo "hit the max, subtracting 1, ";
//echo "no case match, adding 1, ";
//echo "(".$lastRandom.", ".$random. "), they matched initally - was it fixed?";
//echo "(".$lastRandom.", ".$random. "), they DO NOT match";
setcookie('random', $random);
//echo"is set: {$_COOKIE['random']}";
For those of your banging your head as to why a cookie is not present when Internet Explorer 6 prints, the explanation is quite interesting. After a bit of investigation, a cookie with an expiration time other than 0 fails to be passed from IE6 to the server when printing. A cookie with an expiration time of 0 is sent.
setcookie("TestCookie", $value, time()+3600); //will not be sent from Print / Print Preview in IE6
setcookie("TestCookie", $value, 0); //will be sent from Print / Print Preview in IE6
I'll let everyone figure out who's bright idea it was to not send normal expiring cookies when printing in IE6...
Be careful of using the same cookie name in subdirectories. Setting a simple cookie
<?php setcookie("region", $_GET['set_region']); ?>
both in the root / and for instance in this case /admin/ will create 2 cookies with different paths. In reading the cookies back only the first one is read regardless of path.
if you only want to do something once per unique visitor, you can test if a cookie is set, and if not, set the cookie and perform the action. This being the poorman's version, it has a problem, where if a user is blocking cookies they will appear as a first time visitor each time. What you can do to avoid this is to set a test cookie first and check that it exists. If it exists, then check to see if your second cookie has been set. If the first one is set, but the second isn't, then you know this is a first time visitor.
If you intend to use persistent cookies (vice session cookies that are deleted when the browser is closed) be aware:
1) Firefox appears to require that you include all paramaters, or it will ignore the expiration and treat the cookie as a session cookie
2) My version of firefox (188.8.131.52) defaults to 'keep cookies until i close firefox' , which essentially makes every cookie a session cookie. This of course sucks for devs, but i suppose is supposed to be a security feature for the end user. If the user wants to configure firefox to respect the expiration date and retain cookies beyond the session, the user must change it to 'keep cookies until they expire'.
If you want to delete a session cookie, you can do it with this code:
// many code
$sessionName = session_name();
$sessionCookie = session_get_cookie_params();
setcookie($sessionName, false, $sessionCookie['lifetime'], $sessionCookie['path'], $sessionCookie['domain'], $sessionCookie['secure']);
This works also well if the session cookie params or the session name were changed.
I have been tearing my hair out wondering why a cookie would not delete. Despite countless discussions of reasons this can happen all over the internet, none of them addresses my case. Here is what was happening:
My cookies have been formed kindof as an array, and the name of the cookie to be deleted is being passed in a variable, so I was using this to attempt to delete the cookie (stripped to the minimum for simplicity of the example):
But it simply would not work. Ultimately what DID work was this:
So I had to concatenate the variable to the "element id" and then the cookies deleted without any issue.
I hope this saves someone else from a sleepless night!!
Please note that setting the expiry to some timestamp in the past is a common way to get rid of a cookie. However, depending on the value you might set to "invalidate" a cookie immediately, this may pose a threat to the privacy of your user's data, especially when it comes to session cookies.
If you write "0" and "expire-in-the-past" into a session cookie, it remains on the client-side until the clean-up mechanism of the browser hits. (That might be anything from no-time to a very long time. I'm not even thinking of app-based mobile browsers that won't close properly or do their best to ignore standards and RFCs and stuff...)
So, if you have sufficiently messed up your ways of picking up existing session IDs and write-closing their data to your server, the session's data might move from file "sess_(random)" to "sess_0", because that is exactly the identifier that is referred in the cookie.
From now on (at least until your server decides to clean up) there is data laying open wide to anyone requesting the session "0". Which may happen by accident (i.e. another user gains an own "0"-cookie) or malice (i.e. forgery).
Long story short, ALWAYS use an empty string instead of a "0" value for invalidating a session cookie.
The following code snippet combines abdullah's and Charles Martin's examples into a powerful combination function (and fixes at least one bug in the process):
function set_cookie_fix_domain($Name, $Value = '', $Expires = 0, $Path = '', $Domain = '', $Secure = false, $HTTPOnly = false)
if (!empty($Domain))
// Fix the domain to accept domains with and without 'www.'.
if (strtolower(substr($Domain, 0, 4)) == 'www.') $Domain = substr($Domain, 4);
$Domain = '.' . $Domain;
// Remove port information.
$Port = strpos($Domain, ':');
if ($Port !== false) $Domain = substr($Domain, 0, $Port);
header('Set-Cookie: ' . rawurlencode($Name) . '=' . rawurlencode($Value)
. (empty($Expires) ? '' : '; expires=' . gmdate('D, d-M-Y H:i:s', $Expires) . ' GMT')
. (empty($Path) ? '' : '; path=' . $Path)
. (empty($Domain) ? '' : '; domain=' . $Domain)
. (!$Secure ? '' : '; secure')
. (!$HTTPOnly ? '' : '; HttpOnly'), false);
Basically, if the domain parameter is supplied, it is converted to support a broader range of domains. This behavior may or may not be desireable (e.g. could be a security problem depending on the server) but it makes cookie handling oh-so-much-nicer (IMO).
I've been pulling my hair for a couple of minutes (read: hours) and finally figured out why setcookie in my case, returned the "headers already sent"-error:
The file in question was orignally saved as ANSI in Notepad and worked flawlessly, but when saved with UTF-8-encoding, it didn't work. So after trying phpDesigner 7, I was able to both save the file in UTF-8 AND remove the BOM (byte-order-mark which is output BEFORE the cookie is set and thereby fails everything).
setcookie - value = "deleted" on IE
setcookie(session_name(), '', time()-42000, '/');
When "setcookie" is passed an empty value (ie, ''), it changes the value to the string "deleted" and sets the date to exactly one year and one second in the past, ignoring the expiration parameter.*
So, I'm guessing that if a client machine has its time set to more than a year in the past or if the browser is somehow broken, then a site visitor could potentially send a PHPSESSID with a value of "deleted". This will cause PHP to create a "sess_deleted" file in the sessions directory.
In my case, I was seeing several incidents per minute, with each user clobbering the other's session data causing all kinds of security and identity issues. Two changes seemed to have solved the problem:
1) Use session_id() in place of '' in setcookie, as well as pick a date that's far in the past (in this case Jan 1, 1970, 8:00:01AM):
setcookie(session_name(), session_id(), 1, '/');
2) Use session_regenerate_id() when logging a user in or otherwise changing their authority level.
Hope this helps somebody.
* Here is the relevant code in head.c:
if (value && value_len == 0) {
* MSIE doesn't delete a cookie when you set it to a null value
* so in order to force cookies to be deleted, even on MSIE, we
* pick an expiry date 1 year and 1 second in the past
time_t t = time(NULL) - 31536001;
dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, t, 0 TSRMLS_CC);
sprintf(cookie, "Set-Cookie: %s=deleted; expires=%s", name, dt);
Hei, so here is what problem I had, maybe it will help someone in the future:
I couldn't delete a cookie, not even set it a different value. I think that is because it had a name following the rule FirstSecondThird. So it had uppercase letters.
After I modified the name everithing worked.
Another note:
Just for safety you should put what you want to put in the cookie in a var first.
There are several characters that dont work correctly if part of the cookie name, I in particular ran into problems using = as part of the cookie name ie/
<?php setcookie('dE4fR=', $foo); ?>
this was as a result of base64_encode() ing a variable to use as the name. The cookie was being set fine but the = is stored as a little square character in the cookie which prevent proper retreival.
The solution for me was to use md5() instead of base64_encode() but any other method which avoids the = sign should also solve the problem
Beware: The Internet Explorer doesn't accept Cookies with an expiretime, which is to long. time() + time() for example doesn't work and the Cookie won't be created!
When setting a top level domain ex ".mydomain.com" you must add the secure arg so it should look like
setcookie("TestCookie", $value, time()+3600, "/", ".example.com", 0);
ignoring the secure arg makes IE ignores the cookie
to get the top level domain use
$myDomain = ereg_replace('^[^\.]*\.([^\.]*)\.(.*)$', '\1.\2',$_SERVER['HTTP_HOST']);
to avoid localhost switch use
$phpCkDmn = $_SERVER['HTTP_HOST'] != "localhost" ? $myDomain : false;
setcookie + header Location + IIS 5 = Trouble
It took me a long time to figure out what was causing a missing cookie in one system while it worked perfectly in another...
See this one: http://support.microsoft.com/kb/q176113/
In short, this WILL NEVER WORK IN IIS 5:
header("Pragma: no-cache");
header('Location: http://www.example.com/');
setcookie('BB','2',time() + 24 * 3600,'/');
You will ONLY get the Location Header, everything else will be "cut out" by IIS 5 CGI implementation.
1- Migrate to Apache/IIS6/Whatever
2- Use a Non Parsed Header Script (nph-*.php)
3- Try with header('Refresh: 0; $URL');
I hope this helps somebody not to spend hours knocking his/her head.
When deleting a cookie that was set in Javascript, add the path to the setcookie function, like so :
setCookie('cookie_name', '', time()-3600, '/');
P3P is a good idea. But.
IE 6 features an inadequate definition of third party cookies.
If your site is hosted on server A and your PHP stuff is coming in a framesetting from server B your setcookie-attempts will be blocked when default privacy settings are deployed. Your secondparty-cookie will be regarded as a thirdparty-cookie.
So what you do is not read the P3P-Internet Explorer 6-manual at MS but send a header like
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
before doing the setcookie-thing. This will enable your cookie to survive any IE-6 privacy settings.
You won't do this if you're working for some doubleclick institution, because if you do, you... you...well... you are not a very nice person!
If you experience problems on Microsoft Information Server (IIS) when setting a cookie via PHP and when PHP is running as a CGI binary it is not setting the cookie. After spending many hours on what the problem is here is what happens:
Observed: session cookies were expiring even though the session was still active. (To test, set a cookie expiry of 5 seconds and keep hitting the page every second. The session will expire and create a new SESSID after 5 seconds despite the fact that you hit the page only a second ago.)
Calling this function before starting the session fixed it. It copies the cookie contents back to itself while forcing an update to the expiry time in the cookie.
function FreshenSessionCookie($lifetimeSeconds, $cookieName = 'PHPSESSID')
if (isset($_COOKIE[$cookieName]))
$data = $_COOKIE[$cookieName];
$timeout = time()+$lifetimeSeconds;
setcookie($cookieName, $data, $timeout);
'session.cookie_domain' should be set to empty string for all local domain names, not only for 'localhost' (but should not be empty for local IP addresses):
ini_set('session.cookie_domain', (strpos($_SERVER['HTTP_HOST'],'.') !== false) ? $_SERVER['HTTP_HOST'] : '');
If you use a multiple cookie name with the function bellow
example :
don't work with array
error with "rawurlencode($name)"
I'm use : createcookie(array('member'=>'name'),'jack');
createCookie($name, $value='', $maxage=0, $path='',$domain='', $secure=false, $HTTPOnly=false)
list($k,$v) = each($name);
$name = $k.'['.$v.']';
$ob = ini_get('output_buffering');
// Abort the method if headers have already been sent, except when output buffering has been enabled
if ( headers_sent() && (bool) $ob === false || strtolower($ob) == 'off' )
return false;
if ( !empty($domain) )
// Fix the domain to accept domains with and without 'www.'.
if ( strtolower( substr($domain, 0, 4) ) == 'www.' ) $domain = substr($domain, 4);
// Add the dot prefix to ensure compatibility with subdomains
if ( substr($domain, 0, 1) != '.' ) $domain = '.'.$domain;
// Remove port information.
$port = strpos($domain, ':');
if ( $port !== false ) $domain = substr($domain, 0, $port);
// Prevent "headers already sent" error with utf8 support (BOM)
//if ( utf8_support ) header('Content-Type: text/html; charset=utf-8');
header('Set-Cookie: '.$name.'='.rawurlencode($value)
.(empty($domain) ? '' : '; Domain='.$domain)
.(empty($maxage) ? '' : '; Max-Age='.$maxage)
.(empty($path) ? '' : '; Path='.$path)
.(!$secure ? '' : '; Secure')
.(!$HTTPOnly ? '' : '; HttpOnly'), false);
header('Set-Cookie: '.rawurlencode($name).'='.rawurlencode($value)
.(empty($domain) ? '' : '; Domain='.$domain)
.(empty($maxage) ? '' : '; Max-Age='.$maxage)
.(empty($path) ? '' : '; Path='.$path)
.(!$secure ? '' : '; Secure')
.(!$HTTPOnly ? '' : '; HttpOnly'), false);
return true;
Beware of underscores in the hostname, because IE won't save cookies.


text:
After nearly a quarter century in deep crimson, the nearly 100-year-old walls of Wadsworth Atheneum Museum of Art's most recognized space, Morgan Great Hall, are gray. The shade is closer in hue to what they were when the hall was dedicated by J. Pierpont Morgan as a tribute to his father, Junius Spencer Morgan.
The American history paintings that had been hanging there will stay in the Austin Gallery, where they had been relocated during the 13-month overhaul of the hall, part of a $16 million renovation project that won't be complete until 2013.
In their place, the two-story expanse of wall space, which had held cloth work for so much of its existence that it was long known as Tapestry Hall, is now displaying oversize contemporary art from the museum's permanent collection.
Only a couple of the nearly 20 works had been on current display. Some hadn't been up for a decade, such as the Willem deKooning's 1969 "Montauk I." Others hadn't been shown at all, such as a large sculptural abstract by Elizabeth Murray, a gift last year from the Aldrich Contemporary Art Museum in Ridgefield, or a subtle color field work by Sean Scully purchased in 2009.
Patricia Hickson, the Emily Hall Tremaine Curator of Contemporary Art at the museum, hadn't seen much of the work herself until she went on a trip to the three off-site storage sites in the state. She found one — a vivid abstract by the German Ernst Wilhelm Nay acquired in 1964 — that had never been shown.
Along with these are some familiar works from the Atheneum collection, including a round geometric Frank Stella abstract, a Tom Wesselmann "Great American Nude #69," a camouflage-patterned Andy Warhol self portrait and a color field corner by Kenneth Noland.
The works are grouped generally, so they work together, in some cases even better than they planned, museum director Susan L. Talbott says, pointing out how the large Elizabeth Murray picks up some of the color and approach of Helen Frankenthaler's neighboring 1959 "Sea Picture with Black," which in turn resonates with the brooding Morris Louis cloud of paint above it, "Impending," also from 1959. And yet the most minimal flash of yellow in the Louis points down to the influential deKooning below it.
One whole wall is taken with the colors and numbers of Alfred Jensen's huge 1977 oil "The World as it Really Is," the largest painting in the display. Another wall-length space is taken up by Andreas Gursky's 16-foot-long photo of an outdoor rock-concert crowd, above which floats the similarly sound-oriented landscape of Bob Thompson's 1960 oil "Garden of Music."
It's nearby the other oversized German realist photo, the steady gaze of the young unnamed woman in Thomas Ruff's "Portrait," dressed in a jersey that might mistake her for a UConn Husky. It compares with the classical gaze of the 19th century William Wetmore Story statue of Alcestis next to it (and the non-gaze of the lips and hair of the Wesselmann above, all asking: How do male artists depict women?).
What exactly is Story's 1874 sculpture doing amid all this contemporary work? Well, it fits with other marble details of the hall by Beaux-Arts architect Benjamin Wistar Morris (who also did City Hall next door). Besides, Talbott says of the Story and the two other full-size sculptures of the same era by Edward Sheffield Bartholomew in other corners, "technically it's a huge job to get rid of them."
But she says, the more they all thought of it the more they liked the idea of new art remaining in dialogue with the old.
To balance such art in a fourth corner is something contemporary, in this case Nick Cave's 2009 sculpture assemblage of found crocheted and hooked rugs, "Soundsuit," which is of about the same size as the classical sculptures and their pedestals.
Likewise, a bust over a doorway on one side of the hall is balanced with a 1969 Jean Dubuffet sculpture, "Lion Rampant," of roughly the same size, across from it.
Cecil Adams, the head of museum design who is overseeing the renovation, says it's in the tradition of the vivid Sol LeWitt wall drawing that swirls in the otherwise old-style lobby.
To put up the initial display of contemporary work, Hickson says she wanted to get a full balance: "abstract and figurative, painting, photography, sculpture, male/female, ethnic diversity."
The works were mixed and matched in models that were made, says Adams, whose main concern was the installation of an innovative lighting system that uses natural light from skylights, but bounces upward to the atrium ceiling and back down so as to avoid having the works be struck by direct light. Some of the old pictures of the hall show dour strips of fluorescent tubes across the middle.
Other than the Dubuffet and Cave, there is no contemporary sculpture in the wide expanse in the center of the hall, where marble lions stood on pedestals in 1919 and a Morgan-lent suit of armor stood in the center in 1947, when the hall reopened to the public after being closed for more than a decade for lack of funds.
There are too many events held in Morgan Hall these days to make sculpture there practical, Talbott says. Besides, moving sculpture can be hazardous to the work.
As for the new, definitely not-red wall color, Talbott says once it was determined to be a space for contemporary art, "we agreed it had to be gray, not white, that would be too stark."
The precise shade was the process of experimentation, what would best show off plaster highlights that were repaired. In all, six shades of color were used to finish the hall, which in its original incarnation was done in a light beige.
Still to be renovated and opened are the hall's side galleries, which will be used to display largely decorative art and smaller works, Talbott says.
In its nearly 100-year-history, Morgan Hall has housed a number of exhibits, from children's art in 1938 to the a Paper Ball promenade in 1936 to a showcase for the traveling "Whistler's Mother" in 1965. And while it's occasionally shown some pieces of contemporary art, it's never been the basis of the entire space.
In its new incarnation, the individual modern works in the museum collection will rotate in and out: The deKooning is promised to a big show at the Museum of Modern Art in the fall; photography is too sensitive to be on display for extended lengths of time.
The historical paintings, "which are very important to people, especially school groups," Talbott says, will stay upstairs in the Austin Gallery, where, she adds, "We keep hearing how much better they like them up there."
And the new exhibits — including Patti Smith in the fall, and Andrew Wyeth to follow — will be installed in renovated space on the third floor.
"When I came to the Atheneum my goal was to shake things up," Talbott says.
In addition to a goal of community outreach, the idea was to change people's notions about what is, after all, the oldest public museum in the country. Presenting its most iconic hall as a showcase for contemporary art, Talbott says, is "a way to really show how vital, exciting, about today and innovative we are."
After nearly a quarter century in deep crimson, the nearly 100-year-old walls of Wadsworth Atheneum Museum of Art's most recognized space, Morgan Great Hall, are gray. The shade is closer in hue to what they were when the hall was dedicated by J. Pierpont Morgan as a tribute to his father, Junius Spencer Morgan.