text:
Beyond coincidence in Hong-Ou-Mandel interferometry
Hamish Scott, Dominic Branford, Niclas Westerberg, Jonathan Leach, Erik M. Gauger
Institute of Photonics and Quantum Sciences
The Hong-Ou-Mandel effect provides a mechanism to determine the distinguishability of a photon pair by measuring the bunching rates of two photons interfering at a beam splitter. Of particular interest is the distinguishability in time, which can be used to probe a time delay. Photon detectors themselves give some timing information, however, while that resolution may dwarf that of an interferometric technique, typical analyses reduce the interference to a binary event, neglecting temporal information in the detector. By modeling detectors with number and temporal resolution we demonstrate a greater precision than coincidence rates or temporal data alone afford. Moreover, the additional information can allow simultaneous estimation of a time delay alongside calibration parameters, opening up the possibility of calibration-free protocols and approaching the precision of the quantum Cramér-Rao bound.
© 2020 American Physical Society. This article may be downloaded for personal use only. Any other use requires prior permission of the author(s) and the American Physical Society. The following article Scott, H., Branford, D., Westerberg, N., Leach, J. and Gauger, E., 2020. Beyond coincidence in Hong-Ou-Mandel interferometry. Physical Review A, 102(3) may be found at: https://doi.org/10.1103/PhysRevA.102.033714
Accepted author manuscript, 989 KB
Dive into the research topics of 'Beyond coincidence in Hong-Ou-Mandel interferometry'. Together they form a unique fingerprint.
interferometry Physics & Astronomy 100%
time lag Physics & Astronomy 65%
detectors Physics & Astronomy 64%
bunching Physics & Astronomy 46%
beam splitters Physics & Astronomy 42%
temporal resolution Physics & Astronomy 40%
time measurement Physics & Astronomy 31%
Scott, H., Branford, D., Westerberg, N., Leach, J., & Gauger, E. M. (2020). Beyond coincidence in Hong-Ou-Mandel interferometry. Physical Review A, 102(3), [033714]. https://doi.org/10.1103/PhysRevA.102.033714
Scott, Hamish ; Branford, Dominic ; Westerberg, Niclas ; Leach, Jonathan ; Gauger, Erik M. / Beyond coincidence in Hong-Ou-Mandel interferometry. In: Physical Review A. 2020 ; Vol. 102, No. 3.
@article{004d270679fc433b823206c654c0ad25,
title = "Beyond coincidence in Hong-Ou-Mandel interferometry",
abstract = "The Hong-Ou-Mandel effect provides a mechanism to determine the distinguishability of a photon pair by measuring the bunching rates of two photons interfering at a beam splitter. Of particular interest is the distinguishability in time, which can be used to probe a time delay. Photon detectors themselves give some timing information, however, while that resolution may dwarf that of an interferometric technique, typical analyses reduce the interference to a binary event, neglecting temporal information in the detector. By modeling detectors with number and temporal resolution we demonstrate a greater precision than coincidence rates or temporal data alone afford. Moreover, the additional information can allow simultaneous estimation of a time delay alongside calibration parameters, opening up the possibility of calibration-free protocols and approaching the precision of the quantum Cram{\'e}r-Rao bound.",
keywords = "quant-ph",
author = "Hamish Scott and Dominic Branford and Niclas Westerberg and Jonathan Leach and Gauger, {Erik M.}",
journal = "Physical Review A",
Scott, H, Branford, D, Westerberg, N, Leach, J & Gauger, EM 2020, 'Beyond coincidence in Hong-Ou-Mandel interferometry', Physical Review A, vol. 102, no. 3, 033714. https://doi.org/10.1103/PhysRevA.102.033714
Beyond coincidence in Hong-Ou-Mandel interferometry. / Scott, Hamish; Branford, Dominic; Westerberg, Niclas; Leach, Jonathan; Gauger, Erik M.
T1 - Beyond coincidence in Hong-Ou-Mandel interferometry
AU - Scott, Hamish
AU - Branford, Dominic
AU - Westerberg, Niclas
AU - Leach, Jonathan
AU - Gauger, Erik M.
N2 - The Hong-Ou-Mandel effect provides a mechanism to determine the distinguishability of a photon pair by measuring the bunching rates of two photons interfering at a beam splitter. Of particular interest is the distinguishability in time, which can be used to probe a time delay. Photon detectors themselves give some timing information, however, while that resolution may dwarf that of an interferometric technique, typical analyses reduce the interference to a binary event, neglecting temporal information in the detector. By modeling detectors with number and temporal resolution we demonstrate a greater precision than coincidence rates or temporal data alone afford. Moreover, the additional information can allow simultaneous estimation of a time delay alongside calibration parameters, opening up the possibility of calibration-free protocols and approaching the precision of the quantum Cramér-Rao bound.
AB - The Hong-Ou-Mandel effect provides a mechanism to determine the distinguishability of a photon pair by measuring the bunching rates of two photons interfering at a beam splitter. Of particular interest is the distinguishability in time, which can be used to probe a time delay. Photon detectors themselves give some timing information, however, while that resolution may dwarf that of an interferometric technique, typical analyses reduce the interference to a binary event, neglecting temporal information in the detector. By modeling detectors with number and temporal resolution we demonstrate a greater precision than coincidence rates or temporal data alone afford. Moreover, the additional information can allow simultaneous estimation of a time delay alongside calibration parameters, opening up the possibility of calibration-free protocols and approaching the precision of the quantum Cramér-Rao bound.
KW - quant-ph
JO - Physical Review A
JF - Physical Review A
Scott H, Branford D, Westerberg N, Leach J, Gauger EM. Beyond coincidence in Hong-Ou-Mandel interferometry. Physical Review A. 2020 Sep 10;102(3). 033714. https://doi.org/10.1103/PhysRevA.102.033714


text:
The Last Jump: Chapter 53
John Nevola
Chilton Foliat, England – August 28, 1944
�??My wounded are behind me and I will never pass them (in retreat) alive.�?�
Major General Zachary Taylor (1784 �?? 1850) at Buena Vista, 22 Feb 1847
The paratrooper standing at parade-rest in front of Corporal Jake Kilroy fainted. The medics quickly bore him out of the regimental formation on a litter. They did so unobtrusively so as not to disrupt the speaker facing the men of the 506th PIR. General Eisenhower didn�??t seem to notice.
It was Sunday, a customary day off for American soldiers not in combat. The morning broke with a typical misty rain from a cloud-shrouded sky. Some of the men complained when they were ordered to attend a service in Class-A uniform. The men who did most of the grousing were replacements. They were young, wet-behind-the-ears, green nobodies who the veterans disdained from the moment they arrived. They had not tasted blood and didn�??t count for much. Besides, the veterans had their own problems and their own nightmares to deal with.
Sergeant Bill Christian woke the men early enough to be on time. He was bumped to three stripes after he rejoined the Screaming Eagles at Sainte-Marie-du-Mont. The 2nd Platoon was decimated and the just-promoted First Lieutenant Frank West went about the gruesome task of assessing his losses. Stockett and Sosa were confirmed dead. Goldbacher and Smith were in a field hospital recovering from wounds received at Neuville-au-Plain and Zebrosky was still missing. There would be many letters to write once the confusion had been sorted out but for the moment West had to focus on the task at hand. He had to rebuild his command structure.
The 2,000 men of the 506th were herded onto freshly cleaned trucks and busses in Aldebourne for the short trip to regimental headquarters outside of Chilton Foliat. Christian gathered his squad and loaded them up. When the trucks arrived, the troops stepped off and formed up. The foggy mist gave way to an unusually bright sun, which soon poured blinding heat onto the overdressed soldiers from a bright blue cloudless sky. They marched crisply but slowly to the subdued melancholy strains of the �??Death March�?� played by an army band. What were the words, again? Jake thought to himself. Once in the dear, dead, days beyond recall.
The 506th formed up smartly, dressed the lines and stood at parade rest. They were assembled on the wide green lawn facing a temporary raised reviewing stand. A slight breeze whispered through the surrounding trees but offered little relief to the sweltering troopers.
Jake took in the scene. The grandiose sixteenth century estate of Lord Wills, with its colorful ivy covered brick walls, stood in stark contrast to the somber message to be delivered that day. Jake was surprised when someone mentioned that Littlecote, the name of the estate, was the site of an ancient Roman villa. He didn�??t even know the Romans expanded this far to the island of Britain. But he figured he should not have been surprised. After all, they were the mighty Romans who could have gone anywhere they damn well pleased and besides, there was a lot he didn�??t know. Something he was determined to fix after the War if he ever made it back home.
Jake looked up at the reviewing stand. He recognized regimental commander Colonel Robert F. Sink. And there was the unmistakable profile of General Eisenhower. Jake also recognized the Chaplain of the 506th PIR. He saw another general mount the platform and recognized him immediately. It was the CO of the 101st Airborne Division, Major General Maxwell D. Taylor. Jake knew him from the Rome Job and didn�??t like him from back then. He disliked him even more when the general broke his word about the Normandy jump.
Taylor told his men, �??Give me three days of hard fighting and you will be relieved.�?� Thirty-one days later, the wretched remnants of the once superbly trained and highly motivated division were pulled off the line and limped back to England. Jake held that lie against him. Taylor was a general. If he didn�??t have the authority to make that promise good, he should never have made it! If only Jim Gavin had been given the 101st. Things might have been different. The word was Gavin had been promoted to CO of the 82nd Airborne Division the previous day.
After the initial chaos of the night drop, members of different units began to assemble. Like raindrops forming into rivulets pooling into small streams and then rivers, the paratroopers coalesced to complete their missions. Along the way they cut phone wires, destroyed bridges, mined roads, ambushed convoys and captured and held the four causeway exits from Utah Beach. They owned the night. Acting on their own, these isolated units acquitted themselves admirably.
Once the 101st had assembled a formidable critical mass, they were ordered to attack and hold the strategic town of Carentan. This town stood at a vital road junction that would facilitate the link up of American forces from Utah and Omaha Beaches. The 101st took the town at great cost. They also took the towns of Sainte-Marie-du-Mont, Sainte-Come-du-Mont, occupied the town of Sainte-Sauver-Le-Vicomte and assisted in securing the Cherbourg Peninsula. They returned to England on 13 July. Fighting as regular infantry for thirty-one days, they were bled of many of their best troopers and left the flower of their great division in shallow dirt graves hastily dug throughout the bocage country of Normandy.
Casualty figures were still top secret but it was evident that every other bunk was empty and nearly every other man in the division was a replacement. Jake would eventually learn the division suffered 868 men killed, more than 2,300 wounded and nearly 700 missing. Many of the wounded would eventually return but the unit cohesion and high standards of training that weaves the fabric of an elite group was ripped asunder at Normandy.
Another formation of men began marching into the field. Jake peered over to see a group of Army Air Forces pilots who formed up alongside and to the left of the paratroopers. Jake realized these were pilots from the 15th Troop Carrier Wing, the unit that dropped the paratroopers on D-Day. What in the hell are they doing here?
Chaplain McGee stepped up to the microphone and tapped it. The thumping sound immediately got everyone�??s attention. Any chaplain who would drop into German occupied France at night armed with nothing but Rosary beads and a Communion kit easily won over the rough and tough paratroopers. They perked up as he stepped to the microphone.
Jake couldn�??t take his eyes off the pilots. They looked nervous and uncomfortable standing alongside the men they miss-dropped in Normandy. As Chaplain McGee was saying some fine words about the sacrifice of their paratrooper comrades not being in vain, Jake wondered how these men became transport pilots. Didn�??t they possess the right stuff to be fighter pilots? Did they not have the requisite skills to be bomber pilots? Were they volunteers? Or did the paratroopers get the pilot rejects and washouts from all of those other schools?
Chaplain McGee droned on. What could anyone possibly say to ease the pain of those who lost friends and brothers? That they did not die in vain and should inspire us? Hell, what difference does it make? They�??re dead. They�??re never going home!
Chaplain McGee stepped back from the podium, as if he read the disapproving mind of Jake Kilroy. A lieutenant stepped up and unfolded a paper. He began to read.
�??Almighty God, we kneel to thee and ask to be the instrument of Thy fury in smiting the evil forces that have visited death, misery and debasement on the people of the earth.�?�
What the hell does smite mean? Jake asked himself? I don�??t want to smite them. I want to kill every last fucking one of them!
�??Be with us, God, when we leap from our planes into the dark abyss as we descend in parachutes into the midst of enemy fire�?��?�
A paratrooper must have written this especially for this memorial service, Jake concluded. I need to listen to this.
�??Give us iron will and stark courage as we spring from the harnesses of our parachutes to seize arms for battle. The legions of evil are many, Father. Grace our arms to meet and defeat them in thy name and in the name of the freedom and dignity of man.�?�
Now Jake hung on every word. This was no �??turn the other cheek�?? prayer. This prayer asked God for help in dealing out revenge and retribution. I wonder if God is listening?
�??Let our enemies who live by the sword turn from their violence lest they perish by it.�?� Fat chance! They�??re going down swinging and I can�??t wait to help them perish by my Thompson!
�??Help us to serve Thee gallantly and be humble in victory.�?�
The young lieutenant stepped away from the microphone to make way for Taylor whose words were drowned out by a flyover of C-47 transports in formation. The flight only lasted a few minutes but it was enough to drown out most of Taylor�??s remarks. Nothing lost, thought Jake.
Eisenhower replaced Taylor at the microphone and scanned the assembled ranks before him. The men waited in eager silence to hear from their Supreme Commander.
�??Men of the Screaming Eagles,�?� he began. The man in front of Jake wobbled, leaned and toppled over onto the grassy field. The medics scurried there immediately to ferry him off on a stretcher. Jake missed a few words but picked back up on Ike�??s comments.
�??�?� and met every single one of your objectives. Men, you exceeded my most optimistic expectations and I want to personally congratulate you and thank you for a difficult job well done. Your countrymen owe you a great debt of gratitude.�?� Eisenhower paused.
�??Paratroopers, attention! Left face!�?� The troopers turned in unison to face the pilots.
�??Air Transport Command, attention! Right face!�?� The pilots turned to the right and were now facing the paratroopers.
�??You pilots need to look into the eyes and faces of the men you dropped in the wrong places at lower altitudes and faster speeds than you were ordered to.�?� There was undisguised anger in his voice. Eisenhower went on.
�??A lot of their buddies will not be coming back because of the way they were dropped.�?�
Most of the pilots knew Ike spoke the truth. There were silent gulps and lowered eyes from the most guilty. At the same time, those that performed well and knew it stood upright and defiantly glared back at the paratroopers.
Ike cleared his throat. �??We�??re going in again and perhaps again after that. I have to know that every pilot will be able to look me square in the eye and tell me you dropped your men where, and when they were supposed to be dropped.�?� Eisenhower glared at the pilots for a moment and stepped back from the microphone. It was the largest mass ass chewing Jake had ever seen.
Another lieutenant stepped up to the microphone and gave the orders for the men to face the reviewing stand. He began reading the names of the men killed in action, alphabetically. The impact on the assembled paratroopers was stunning. It was as if they had been collectively hit with a sledgehammer. Men gasped and struggled to maintain their self-control when they heard the name of a close friend. This group of rough and rugged warriors was reduced to a weeping mob of mourners by the time all 231 names of the dead in their regiment were read. At the completion of the memorial, taps was played and the men marched back to the trucks to the playing of �??Onward Christian Soldiers�?�. The powerful service moved Jake more than he realized. He knew too many of the names.
In combat, things move quickly. It�??s about survival and those who dally, think and mourn will not long avoid injury or escape death. Instincts and training take over. No time to think. No time to grieve. But now, back in garrison, there was too much time to think. Why was it that some came home while others did not? Was it luck? What was it that pushed some men toward danger while others would shrink and cower? The questions raced through his mind on the ride back.
Jake often considered courage or bravery to be a fixed but diminishable commodity. Each man had his own unique quantity. Each man depleted it at his own personal rate. It was a finite amount and if used too quickly, would be completely expended. When totally drained, only time away from combat could replenish it. Regardless of how many times the cycle occurred, the replacement supply of this intangible commodity never quite reached the prior level. He saw that on Tedesco�??s face in Neuville-au-Plain.
During the attack on Carentan, he felt his own resolve weakening. The vessel of his own courage was nearly drained. His nerves were shot. There was no audacity left. Perhaps it was because Johnny, his soul brother and one-man support system, was not there beside him. Or maybe it was because he had used so much of his courage so quickly and completely in Normandy already. Whatever the reason, he instinctively knew he desperately needed the cherished time away from combat to recharge his batteries. It was a mixed blessing to be re-staged in England after the Normandy drop. The time away from combat was a necessity. Jake wondered how infantrymen like Harley stayed on the line for so long.
It was almost three months since D-Day and two months since both airborne divisions returned to their respective bivouacs in England. Assimilating the replacements was a slow and tedious process, as most of the airborne veterans really wanted no part of the FNGs, the �??fucking new guys�?�. Some of the wounded began to trickle back to the 506th PIR. Training was stepped up and the entire division was re-equipped. Planned jumps were canceled with frightening regularity as Allied spearheads overran drop zones in France and nerves began to fray.
During this time, the Glider Troops were finally recognized with their own distinctive insignia and the same hazardous duty pay as their paratrooper brethren. After seeing the carnage of wrecked gliders all over Normandy and having fought side by side with the glidermen, every paratrooper firmly believed the belated acknowledgment was well deserved and long overdue.
In their spare time, what little of it they had, most of the paratroopers went to London. They partied and celebrated with much more recklessness than they did before Normandy. Fights were commonplace. Drunken paratroopers were thrown into jail with regularity and officers like Lieutenant West spent a fair amount of time extricating his bruised and battered warriors.
The men of the 506th knew to confine their wildest celebrations to places far away from Aldebourne. When they frequented the local pubs, they behaved like choirboys and spent their leisure time playing darts and learning local dance steps like the �??Bump-A-Daisy�?� and the �??Lambeth-Walk�?�. The paratroopers had become well known to the local people who cared for them as they would care for their own sons. The men respected the many sacrifices of their hosts and accepted their collective embrace. It was just a matter of time before they would depart on another mission and the next time they left they would not return to England.
Administratively, the status of numerous paratroopers was in a constant state of flux and confusion. There were thousands missing after the first few days. Some men drowned in the muck of the flooded Merderet River or landed in the angry English Channel and were never to be heard from again. Others joined different units, fought, died and were left on the battlefield for mostly colored troops of the Graves Registration details to sort out. Still other men who were erroneously reported missing or killed in action strolled into Aldebourne weeks after D-Day to the astonishment of grieving friends. Paratrooper units suffered the most confusion and uncertainty in the weeks following D-Day. They were also the victims of the most grievous administrative errors. In some cases, no details were available to console the next of kin. Worse yet, in spite of the onerous precautions and careful attention to detail, some of the notifications of killed or missing in action were sent out prematurely or were in error.
Finding Johnny after a harrowing few weeks was miraculous. He was in the First Army Hospital in St. Albans. It took a long time to determine his whereabouts because he was evacuated with the wounded from the 2nd Ranger Battalion. He was unconscious from blood loss and was near death, his buttocks ripped nearly to shreds. His wound was severe and there were many jokes. Even he could not help but chuckle when he thought about it. How do you tell people with a straight face you were shot in the ass?
The sniper�??s bullet entered the side of his right buttocks with a neat round hole. The bullet tumbled slightly in his flesh and exited in his crack with a larger more irregular bullet hole. The bullet then penetrated the left buttocks on the opposite side of the crack with an even more expansive penetration wound. By the time the round exited the left buttocks, the final exit wound was sizable and jagged. Johnny began losing blood rapidly. He was semi-conscious when the medic rolled him over to treat the wounds. The shot of morphine relieved the pain and Johnny fell asleep under the sedation. He awoke briefly on a stretcher aboard the ship ferrying wounded soldiers back to England. A bottle of plasma was hanging from an extension on his stretcher. The smells of dried blood, burnt flesh and antiseptic were everywhere. The navy corpsman gave him another shot of morphine and said something about a new miracle drug invented by some Limey, called Penicillin. Before Johnny could grasp what was happening, he was unconscious again.
The next time he awoke, he was in the hospital and lying on his stomach among a large contingent of seriously wounded men from the 2nd and 5th Ranger Battalions. The army nurse explained his wounds were severe but no longer life threatening. However, they required an extensive period of time to fully heal. He was told he was being rotated back to the States. He had received the proverbial �??million-dollar wound�?� along with the Purple Heart.
Johnny asked his nurse to contact his unit. She sent the information, which was delayed in transit. For over two months Private John P. Kilroy was carried on the regimental rolls as �??missing in action�?�.
Weeks rolled by and Johnny heard nothing as he remained bed bound, eating on his stomach. He was down to 150 pounds when Jake showed up one Sunday; having finally gotten word from regiment that Johnny was recuperating from wounds in a hospital outside of London.
The reunion was emotional. Both had been through a brutal time in the days following the invasion. They exchanged stories about their ordeals and what each of them had witnessed. They felt close enough to share their innermost fears.
Jake was interested in Johnny�??s chance meeting with his cousin. Johnny related all of the details but omitted the shooting of the prisoner. If Harley wanted Jake to know that, he would tell him himself. Johnny made a point to tell Jake that Harley ended up fighting with the 2nd Rangers on D-Day. However, he also told him that Harley was more proud of his Stonewallers and their courage on Omaha Beach than he could ever have imagined.
Jake found out that Johnny was scheduled to fly back to the States for further recuperation. Jake was happy for his friend but he didn�??t discuss it. While others might have celebrated, Jake knew his buddy well enough to know he would feel guilty about being sent home. So the subject never came up. But Jake had one thing to do before Johnny shipped out and he made sure to ask Johnny to be the best man at his wedding when they got back home. Johnny happily accepted.
On 25 August, Jake visited Johnny for what he believed to be the last time in England. The week before, on 19 August, a planned airborne drop on Chartres, France, was cancelled at the last minute. The paratroopers were geared up and loaded down when they got the word. General Patton had overrun the drop zone to the delight of the veteran paratroopers. Operation Transfigure was the sixteenth drop that had been scrubbed.
The trucks pulled up outside of Aldebourne and Jake and his squad mates jumped off and entered the converted horse stable that was their quarters. Standing in front of his bunk was a sight he never thought he would see.
�??Johnny! What the hell are you doing here? I thought you�??d be back in the States by now!�?� The two men gripped each other�??s shoulders and exchanged a brief bear hug.
�??I�??m really not bad enough to go home.�?� Johnny pointed to an empty bunk next to Jake�??s. �??Is that mine?�?�
The rest of the squad gathered around. Christian slapped Johnny on the back. �??Boy, you�??re nuts but we�??re glad to have you back.�?�
Johnny winced and dropped his gear on the bunk. �??The guys they�??re sending home are in really bad shape. Some had an arm or a leg missing or part of their skull was gone or they were badly burned. I just couldn�??t go home with them.�?� Johnny waved his hand at the assembled group of paratroopers. �??Any of you would have done the same thing.�?�
�??I don�??t know about that!�?� The voice belonged to Lieutenant Frank West as he entered the stable after hearing the commotion. �??But I�??m certainly glad to have you back.�?�
�??Thank you, sir. But I�??m afraid I might have made of mess of things.�?�
�??How�??s that, son?�?� West was barely older than most of his men but often used that term.
�??Well, sir, technically I�??m AWOL. I just packed up my stuff, and walked out of the hospital last night. Hitched a ride here. Heard rumors you were about to leave this beautiful island and make another jump. I didn�??t want to be left behind. I�??d rather be with the fellas.�?�
There was no official policy to return soldiers to their original units after they recovered from wounds. They were sent to a replacement depot, called a �??repple depple�?� by the GIs. Once there, they would be assigned to any outfit that had a need. This misguided policy was a huge morale-killer. It irritated and aggravated every soldier who wanted to rejoin his old outfit. The instances of paratroopers going AWOL from army hospitals to rejoin their units were epidemic in the weeks immediately following the invasion.
�??I�??ll take care of it,�?� West smiled. There were other cases and he had orders from Colonel Sink to protect those paratroopers who went AWOL to return to their unit and make it right with the army. �??No firing squad for you, Johnny. You�??ll just have to face Jerry like the rest of us.�?�
�??Thank you, sir,�?� Johnny replied with sincere appreciation.
The group dispersed, West heading immediately to the company headquarters to administratively rescue yet another faux deserter from the clutches of the Provost Marshal.
Johnny carefully lay down on the bunk on his stomach.
Johnny looked at Jake. �??I saw Sky. He came to visit in the hospital.�?�
�??How�??s he doing? I ran into him and the old outfit at Sainte-Mere-Eglise on D-Day.�?�
�??He�??s doing fine. They want to make him an officer.�?�
�??Good for him. He�??ll make a great officer.�?� Jake reflected for a moment. �??Remember back in jump school when he jumped in between us and saved your life?�?� Jake joked.
�??Yeah, took a lot of guts. He could have gotten you and him killed.�?� Johnny smiled at the exaggeration. �??Good man. Wish he was with us.�?�
They sat quietly for a few moments, Jake arranging his gear and Johnny trying to get comfortable on the cot. Jake broke the silence.
�??Jeez, Yank! Why�??d you come back? You had a ticket home."
Johnny took a deep breath. �??Couldn�??t do it, brother. Not with you and the rest of the boys still fighting here.�?� Johnny put his head down. �??I wanted to, believe me. My biggest fear is dying before I see my son and not being able to raise him and take care of him.�?� Johnny lifted his head. There were tears in his eyes. �??But I couldn�??t live with myself knowing that I left you and the boys. Besides, I have to make sure my son�??s godfather gets home,�?� Johnny smiled.
�??Well, you don�??t look like you�??re in such good shape to me,�?� Jake chided.
Johnny jerked his thumb over his prone shoulder. �??I�??ll be fine. I just need a little time to heal.�?� He broke into a big grin. �??It�??s painful to sit down.�?�
Jake laughed. �??Well, I guess if I want to make sure I have a best man when we get home, I�??ll just have to take care of your sorry ass.�?�
�??No pun intended,�?� Johnny added.
New guns not seen at SHOT
SCORE: Walker 2, Union Thugs 0
Written By John Nevola
John E. Nevola is a feature writer for Guns and Patriots. He is the author of The Last Jump, and his website is: www.thelastjump.

redpajama_set_name: RedPajamaCommonCrawl


text:
Die 4. Leichtathletik-Junioreneuropameisterschaften fanden vom 19. bis 21. August 1977 im Regionalen Sport Komplex Olimpijskyj in Donezk (heute Ukraine, seinerzeit Sowjetunion) statt.

Die Wettkampfergebnisse sind unter Weblinks zu finden.

Medaillenspiegel

Weblinks
 Wettkampfergebnisse auf wjah.co.uk, abgerufen 17. September 2013
 Results (Women) (PDF; 122 kB) Ergebnisse Frauen auf european-athletics.org, abgerufen 12. September 2013
 Results (Men) (PDF; 132 kB) Ergebnisse Männer auf european-athletics.org, abgerufen 12. September 2013

1977
Leichtathletikveranstaltung 1977
Junioreneuropameisterschaften 1977
Sportveranstaltung in Donezk

redpajama_set_name: RedPajamaWikipedia


text:
import cas
import threading
import time
import sys
import logging
if sys.hexversion >= 0x02070000:
    from logging import NullHandler
else:
    class NullHandler(logging.Handler):
        def emit(self, record):
            pass

logging.getLogger('pcaspy').addHandler(NullHandler())

from alarm import Severity, Alarm

class Manager(object):
    pvs = {}    # PV dict using port name as key and {pv base name: pv instance} as value
    pvf = {}    # PV dict using PV full name as key
    driver = {} # Driver dict

# Yes, this is a global instance
manager = Manager()

# decorator to register driver
def registerDriver(driver_init_func):
    def wrap(*args, **kargs):
        driver_instance = args[0]
        port = driver_instance.port
        driver_init_func(*args, **kargs)
        manager.driver[port] = driver_instance
    return wrap

# Driver metaclass to decorate subclass.__init__ to
# register subclass object
class DriverType(type):
    def __init__(self, name, bases, dct):
        if name != 'Driver':
            self.__init__ = registerDriver(self.__init__)
        return type.__init__(self, name, bases, dct)

class Data(object):
    def __init__(self):
        self.value = 0
        self.flag  = False
        self.severity  = Severity.INVALID_ALARM
        self.alarm = Alarm.UDF_ALARM
        self.time  = cas.epicsTimeStamp()

    def __repr__(self):
        return "value=%s alarm=%s severity=%s flag=%s time=%s" % \
               (self.value, Alarm.nameOf(self.alarm), Severity.nameOf(self.severity), self.flag, self.time)

class Driver(object):
    """
    This class reacts to PV's read/write requests. The default behavior is to accept any value of a write request
    and return it to a read request, an echo alike.

    To specify the behavior, override methods :meth:`read` and :meth:`write` in a derived class.
    """
    port = 'default'

    __metaclass__ = DriverType
    def __init__(self):
        """
        Initialize parameters database. This method must be called by subclasses in the first place.
        """
        self.pvDB    = {}
        # init pvData with pv instance
        for reason, pv in manager.pvs[self.port].items():
            data = Data()
            data.value = pv.info.value
            self.pvDB[reason] = data

    def read(self, reason):
        """
        Read PV current value

        :param str reason: PV base name
        :return: PV current value

        This method is invoked by server library when clients issue read access to a PV.
        By default it returns the value stored in the parameter library by calling :meth:`getParam`.

        The derived class might leave this method untouched and update the PV values from
        a separate polling thread. See :ref:`shell-command-example`, :ref:`simscope-example`.

        .. note:: This method is called by the server library main thread. Time consuming tasks
                  should not be performed here. It is suggested to work in an auxiliary thread.
        """
        return self.getParam(reason)

    def write(self, reason, value):
        """
        Write PV new value

        :param str reason: PV base name
        :param value: PV new value
        :return: True if the new value is accepted, False if rejected.

        This method is invoked by server library when clients write to a PV.
        By default it stores the value in the parameter library by calling :meth:`setParam`.

        .. note:: This method is called by the server library main thread. Time consuming tasks
                  should not be performed here. It is suggested to work in an auxiliary thread.

        """
        self.setParam(reason, value)
        return True

    def setParam(self, reason, value):
        """set PV value and request update

        :param str reason: PV base name
        :param value: PV new value

        Store the PV's new value if it is indeed different from the old.
        For list and numpy array, a copy will be made.
        This new value will be pushed to registered client the next time when :meth:`updatePVs` is called.
        The timestamp will be updated to the current time anyway.

        Alarm and severity status are updated as well. For numeric type, the alarm/severity is determined as the
        following:

            ========================    ============  ============
            value                       alarm         severity
            ========================    ============  ============
            value < *lolo*              LOLO_ALARM    MAJOR_ALARM
            *lolo* < value < *low*      LOW_ALARM     MINOR_ALARM
            *low* < value < *high*      NO_ALARM      NO_ALARM
            *high* < value < *hihi*     HIGH_ALARM    MINOR_ALARM
            value > *hihi*              HIHI_ALARM    MAJOR_ALARM
            ========================    ============  ============

        For enumerate type, the alarm severity is defined by field *states*. And if severity is other than NO_ALARM,
        the alarm status is STATE_ALARM.

        """
        # check whether update is needed
        same = self.pvDB[reason].value == value
        if (type(same) == bool and not same) or (hasattr(same, 'all') and not same.all()):
            # make a copy of mutable objects, list, numpy.ndarray
            if isinstance(value, list):
                value = value[:]
            elif str(type(value)) == "<type 'numpy.ndarray'>":
                value = value.copy()
            self.pvDB[reason].value = value
            self.pvDB[reason].flag  = True
        self.pvDB[reason].time = cas.epicsTimeStamp()
        alarm, severity = self._checkAlarm(reason, value)
        if alarm is not None: self.pvDB[reason].alarm = alarm
        if severity is not None: self.pvDB[reason].severity = severity
        logging.getLogger('pcaspy.Driver.setParam')\
            .debug('%s: %s', reason, self.pvDB[reason])

    def setParamStatus(self, reason, alarm=None, severity=None):
        """set PV status and severity and request update

        :param str reason: PV base name
        :param alarm: alarm state
        :param severity: severity state

        The PVs' alarm status and severity are automatically set in :meth:`setParam`.
        If the status and severity need to be set explicitly to override the defaults, :meth:`setParamStatus` must
        be called *after* :meth:`setParam`.
        """
        if alarm is not None:
            self.pvDB[reason].alarm = alarm
        if severity is not None:
            self.pvDB[reason].severity = severity
        self.pvDB[reason].flag  = True

    def setParamEnums(self, reason, enums, states=None):
        """ set PV enumerate strings and severity states

        :param str reason: PV base name
        :param list enums: string representation of the enumerate states
        :param list states: alarm severity of the enumerate states.

        The number of elements in *states* must match that of *enums*.
        If *None* is given, the list is populated with *Severity.NO_ALARM*.

        .. note:: The monitoring client will not receive this update. An explicit get is needed.
        """
        if states is None:
            states = [Alarm.NO_ALARM] * len(enums)
        if len(enums) != len(states):
            raise ValueError('enums and states must have the same length')
        pv = manager.pvs[self.port][reason]
        pv.info.enums = enums
        pv.info.states = states

    def getParam(self, reason):
        """retrieve PV value

        :param str reason: PV base name
        :return: PV current value

        """
        return self.pvDB[reason].value

    def getParamDB(self, reason):
        """
        Return the PV data information

        :param str reason: PV base name
        :return: PV current data information
        :rtype: :class:`Data`

        """

        return self.pvDB[reason]

    def callbackPV(self, reason):
        """Inform asynchronous write completion

        :param str reason: PV base name

        """
        pv = manager.pvs[self.port][reason]
        if pv.info.asyn:
            pv.endAsyncWrite(cas.S_casApp_success)

    def updatePVs(self):
        """Post update event on changed values"""
        for reason, pv in manager.pvs[self.port].items():
            if self.pvDB[reason].flag and pv.info.scan == 0:
                pv.updateValue(self.pvDB[reason])
                self.pvDB[reason].flag = False

    def _checkAlarm(self, reason, value):
        info =  manager.pvs[self.port][reason].info
        if info.type == cas.aitEnumEnum16:
            return self._checkEnumAlarm(info, value)
        elif info.type in [cas.aitEnumFloat64, cas.aitEnumInt32]:
            return self._checkNumericAlarm(info, value)
        elif  info.type in [cas.aitEnumString, cas.aitEnumFixedString, cas.aitEnumUint8]:
            return Alarm.NO_ALARM,Severity.NO_ALARM
        else:
            return None,None

    def _checkNumericAlarm(self, info, value):
        severity = Severity.NO_ALARM
        alarm = Alarm.NO_ALARM
        lolo = info.lolo
        hihi = info.hihi
        low  = info.low
        high = info.high

        if lolo >= hihi:
            valid_lolo_hihi = False
        else:
            valid_lolo_hihi = True

        if low >= high:
            valid_low_high = False
        else:
            valid_low_high = True

        if valid_low_high and value <= low:
            alarm = Alarm.LOW_ALARM
            severity = Severity.MINOR_ALARM

        if valid_lolo_hihi and value <= lolo:
            alarm = Alarm.LOLO_ALARM
            severity = Severity.MAJOR_ALARM

        if valid_low_high and value >= high:
            alarm = Alarm.HIGH_ALARM
            severity = Severity.MINOR_ALARM

        if valid_lolo_hihi and value >= hihi:
            alarm = Alarm.HIHI_ALARM
            severity = Severity.MAJOR_ALARM

        return alarm, severity

    def _checkEnumAlarm(self, info, value):
        severity = Severity.NO_ALARM
        alarm = Alarm.NO_ALARM

        states = info.states

        if value>=0 and value < len(states):
            severity = states[value]
            if severity != Severity.NO_ALARM:
                alarm = Alarm.STATE_ALARM
        else:
            severity = Severity.MAJOR_ALARM
            alarm = Alarm.STATE_ALARM

        return alarm, severity

# map aitType to string representation
_ait_d = {'enum'   : cas.aitEnumEnum16,
          'str'    : cas.aitEnumString,
          'string' : cas.aitEnumString,
          'float'  : cas.aitEnumFloat64,
          'int'    : cas.aitEnumInt32,
          'short'  : cas.aitEnumInt16,
          'char'   : cas.aitEnumUint8,
          }
class PVInfo(object):
    def __init__(self, info):
        # initialize from info dict with defaults
        self.count = info.get('count', 1)
        self.type  = _ait_d[info.get('type', 'float')]
        self.enums = info.get('enums', [])
        self.states= info.get('states',[])
        # initialize enum severity states if not specified
        if not self.states:
            self.states = len(self.enums) * [Severity.NO_ALARM]
        self.prec  = info.get('prec', 0.0)
        self.unit  = info.get('unit', '')
        self.lolim = info.get('lolim', 0.0)
        self.hilim = info.get('hilim', 0.0)
        self.hihi  = info.get('hihi', 0.0)
        self.lolo  = info.get('lolo', 0.0)
        self.high  = info.get('high', 0.0)
        self.low   = info.get('low',  0.0)
        self.scan  = info.get('scan', 0)
        self.asyn  = info.get('asyn', False)
        self.asg   = info.get('asg', '')
        self.reason= ''
        self.port  = info.get('port', 'default')
        # initialize value based on type and count
        if self.type in [cas.aitEnumString, cas.aitEnumFixedString, cas.aitEnumUint8]:
            value = ''
        else:
            value = 0
        if self.count > 1 and self.type is not cas.aitEnumUint8:
            value = [value] * self.count
        self.value = info.get('value', value)

class SimplePV(cas.casPV):
    """
    This class represent the PV entity and its associated attributes.

    It is to be created by server application on startup.
    It derives from :cpp:class:`PV` and implements the virtual methods.

    .. note:: This is considered an internal class and should not be referenced by module users.
    """
    def __init__(self, name, info):
        cas.casPV.__init__(self)
        self.name = name
        self.info = info
        self.interest = False
        if info.asg:
            self.setAccessSecurityGroup(info.asg)
        # scan thread
        if self.info.scan > 0:
            self.tid = threading.Thread(target=self.scan)
            self.tid.setDaemon(True)
            self.tid.start()

    def scan(self):
        while True:
            driver = manager.driver.get(self.info.port)
            if driver:
                gddValue = cas.gdd()
                self.getValue(gddValue)
                gddValue.setTimeStamp()
                self.updateValue(gddValue)
            time.sleep(self.info.scan)

    def interestRegister(self):
        self.interest = True
        return cas.S_casApp_success

    def interestDelete(self):
        self.interest = False

    def writeValue(self, gddValue):
        # get driver object
        driver = manager.driver.get(self.info.port)
        if not driver:
            logging.getLogger('pcaspy.SimplePV.writeValue').\
                warn('%s: No driver is registered for port %s', self.info.reason, self.info.port)
            return cas.S_casApp_undefined
        # call out driver support
        success = driver.write(self.info.reason, gddValue.get())
        value = driver.getParamDB(self.info.reason)
        if not success:
            logging.getLogger('pcaspy.SimplePV.writeValue').\
                warn('%s: Driver rejects value %s', self.info.reason, gddValue.get())
            value.severity = Severity.INVALID_ALARM
            value.alarm    = Alarm.WRITE_ALARM
        else:
            self.updateValue(value)
        return success

    def write(self, context, value):
        # delegate asynchronous write to python writeNotify method
        # only if writeNotify not present in C++ library
        if not cas.EPICS_HAS_WRITENOTIFY and self.info.asyn:
            return self.writeNotify(context, value)
        else:
            self.writeValue(value)
            return cas.S_casApp_success

    def writeNotify(self, context, value):
        # postpone request if one already in process
        if self.hasAsyncWrite():
            return cas.S_casApp_postponeAsyncIO

        # do asynchronous only if PV supports
        if self.info.asyn:
            # register async write io
            self.startAsyncWrite(context)
            # call out driver
            success = self.writeValue(value)
            # if not successful, clean the async write io
            # pass status S_cas_success instead of cas.S_casApp_canceledAsyncIO
            # so that client wont see error message.
            if not success:
                self.endAsyncWrite(cas.S_cas_success)
            # server library expects status S_casApp_asynCompletion if async write io has been initiated.
            return cas.S_casApp_asyncCompletion
        else:
            # call out driver
            success = self.writeValue(value)
            return cas.S_casApp_success

    def updateValue(self, value):
        if (self.interest):
            if type(value) != cas.gdd:
                gddValue = cas.gdd()
                gddValue.setPrimType(self.info.type)
                gddValue.put(value.value)
                gddValue.setTimeStamp(value.time)
                gddValue.setStatSevr(value.alarm, value.severity)
                value = gddValue
            self.postEvent(value)

    def getValue(self, value):
        # get driver object
        driver = manager.driver.get(self.info.port)
        if not driver:
            logging.getLogger('pcaspy.SimplePV.getValue')\
                .warn('%s: No driver is registered for port %s', self.info.reason, self.info.port)
            return cas.S_casApp_undefined
        # set gdd type if necessary
        if value.primitiveType() == cas.aitEnumInvalid:
            value.setPrimType(self.info.type)
        # set gdd value
        newValue = driver.read(self.info.reason)
        if newValue is None:
            logging.getLogger('pcaspy.SimplePV.getValue')\
                .warn('%s: Driver returns None', self.info.reason)
            return cas.S_casApp_undefined
        logging.getLogger('pcaspy.SimplePV.getValue')\
            .debug('%s: Read value %s', self.info.reason, newValue)
        value.put(newValue)
        # set gdd info
        dbValue = driver.getParamDB(self.info.reason)
        value.setStatSevr(dbValue.alarm, dbValue.severity)
        value.setTimeStamp(dbValue.time)
        return cas.S_casApp_success

    def getPrecision(self, prec):
        prec.put(self.info.prec)
        return cas.S_casApp_success

    def getUnits(self, unit):
        unit.put(self.info.unit)
        return cas.S_casApp_success

    def getEnums(self, enums):
        if (self.info.enums):
            enums.put(self.info.enums)
        return cas.S_casApp_success

    def getHighLimit(self, hilim):
        hilim.put(self.info.hilim)
        return cas.S_casApp_success

    def getLowLimit(self, lolim):
        lolim.put(self.info.lolim)
        return cas.S_casApp_success

    def getHighAlarmLimit(self, hilim):
        hilim.put(self.info.hihi)
        return cas.S_casApp_success

    def getLowAlarmLimit(self, lolim):
        lolim.put(self.info.lolo)
        return cas.S_casApp_success

    def getHighWarnLimit(self, hilim):
        hilim.put(self.info.high)
        return cas.S_casApp_success

    def getLowWarnLimit(self, lolim):
        lolim.put(self.info.low)
        return cas.S_casApp_success

    def bestExternalType(self):
        return self.info.type

    def maxDimension(self):
        if self.info.count > 1:
            return 1
        else:
            return 0

    def maxBound(self, dims):
        return self.info.count

    def getName(self):
        return self.name

class SimpleServer(cas.caServer):
    """
    This class encapsulates transactions performed by channel access server.
    It stands between the channel access client and the driver object.
    It answers the basic channel access discover requests and forwards the
    read/write requests to driver object.

    It derives from :cpp:class:`caServer`. In addition to implement the virtual methods,
    it adds method :meth:`createPV` to create the PVs and :meth:`process` to process server requests.
    ::

        server = SimpleServer()
        server.createPV(prefix, pvdb)
        while True:
            server.process(0.1)

    """
    def __init__(self):
        cas.caServer.__init__(self)

    def __del__(self):
        cas.asCaStop()

    def pvExistTest(self, context, addr, fullname):
        if fullname in manager.pvf:
            return cas.pverExistsHere
        else:
            return cas.pverDoesNotExistHere

    def pvAttach(self, context, fullname):
        return manager.pvf.get(fullname, cas.S_casApp_pvNotFound)

    def createPV(self, prefix, pvdb):
        """
        Create PV based on prefix and database definition pvdb

        :param str prefix:          Name prefixing the *base_name* defined in *pvdb*
        :param dict pvdb:           PV database configuration

        pvdb is a Python *dict* assuming the following format,
        ::

          pvdb = {
            'base_name' : {
              'field_name' : value,
            },
          }

        The base_name is unique and will be prefixed to create PV full name.
        This PV configuration is expressed again in a dict. The *field_name*
        is used to configure the PV properties.

        .. _database-field-definition:
        .. table:: Database Field Definition

          ========  =======    ===============================================
          Field     Default    Description
          ========  =======    ===============================================
          type      'float'    PV data type. enum, string, char, float or int
          count     1          Number of elements
          enums     []         String representations of the enumerate states
          states    []         Severity values of the enumerate states.
                               Any of the following, Severity.NO_ALARM, Severity.MINOR_ALARM,
                               Severity.MAJOR_ALARM, Severity.INVALID_ALARM
          prec      0          Data precision
          unit      ''         Physical meaning of data
          lolim     0          Data low limit for graphics display
          hilim     0          Data high limit for graphics display
          low       0          Data low limit for alarm
          high      0          Data high limit for alarm
          lolo      0          Data low low limit for alarm
          hihi      0          Data high high limit for alarm
          scan      0          Scan period in second. 0 means passive
          asyn      False      Process finishes asynchronously if True
          asg       ''         Access security group name
          value     0 or ''    Data initial value
          ========  =======    ===============================================

        The data type supported has been greatly reduced from C++ PCAS to match Python native types.
        Numeric types are 'float' and 'int', corresponding to DBF_DOUBLE and DBF_LONG of EPICS IOC.
        The display limits are defined by *lolim* abd *hilim*.
        The alarm limits are defined by *low*, *high*, *lolo*, *hihi*.

        Fixed width string, 40 characters as of EPICS 3.14, is of type 'string'.
        Long string is supported using 'char' type and specify the *count* field large enough.
        'enum' type defines a list of choices by *enums* field, and optional associated severity by *states*.

        *asyn* if set to be True. Any channel access client write with callback option, i.e. calling `ca_put_callback`,
        will be noticed only when :meth:`Driver.callbackPV` being called.

        """
        for basename, pvinfo in pvdb.items():
            pvinfo = PVInfo(pvinfo)
            pvinfo.reason = basename
            pvinfo.name   = prefix + basename
            pv = SimplePV(pvinfo.name, pvinfo)
            manager.pvf[pvinfo.name] = pv
            if pvinfo.port not in manager.pvs: manager.pvs[pvinfo.port]={}
            manager.pvs[pvinfo.port][basename] = pv

    def initAccessSecurityFile(self, filename, **subst):
        """
        Load access security configuration file

        :param str filename:    Name of the access security configuration file
        :param subst:           Substitute macros specified by keyword arguments

        .. note::
            This must be called before :meth:`createPV`.

        """
        macro = ','.join(['%s=%s'%(k,v) for k,v in subst.items()])
        cas.asInitFile(filename, macro)
        cas.asCaStart()

    def process(self, time):
        """
        Process server transactions.

        :param float time: Processing time in second

        This method should be called so frequent so that the incoming channel access
        requests are answered in time. Normally called in the loop::

            server = SimpleServer()
            ...
            while True:
                server.process(0.1)

        """
        cas.process(time)

redpajama_set_name: RedPajamaGithub


Total capacity approx. 5.9 fl. oz. Recommended pour 0.75-1.5 fl. oz.
Just what is meant by doubled wall ? Is there an air space in between the inner and outer? Thanks Ron.
BEST ANSWER: The Norlan Whisky Glass (set of 2) is formed with a glass blowing technique into two separate two-part molds: one for the inner wall, and one for the outer wall. This glass greatly improves the whole experience of drinking your favorite whisky. The height and diameter of the smallest aperture focuses the aromatics to the nose while simultaneously diffusing the ethanol away from the face, fantastically improving the taste of your whisky.
Ron, yes there is air space between the two (inner & outer) "glasses". There is a plug on the bottom of the glass that the instructions say is acrylic. Glasses can be washed in the dishwasher, but they are very light-weight and may fly around.
Yes, double wall -- there is a space between them. The inner compartment is kind of a tube like. Fits in the hand nicely to me.
Yes, inside is cold and outside is not. Gives it different lines and look and nice to drink form.
Yes, there are two separate surfaces with air between.
I would recommend hand washing the glasses.
Is this glass able to be engraved?
BEST ANSWER: I wanted to follow up about the The Norlan Whisky Glass engraving. We WILL be engraving these glasses in the Spring. I just saw a sample and they look great. This should happen in the next few weeks.
Any update on this? I would order these right now as a gift, but I would need to know pretty soon!
The etched Norlan Glasses should be available within the next two to three weeks.
That's great. Is there some way to be notified when they are available to order?
Ray - I just checked with the merchant and the Norlan glasses with personalization will be available on April 24,2018.
The Norlan Whisky Glass (Set of 2) is a featherweight double-walled hand blown glass. While the glass is sturdy, each wall is thin and breakage might occur during the engraving process.
BEST ANSWER: The Norlan Whisky Glass (Set of 2) are lead free. They are hand blown glasses made from borosilicate.
BEST ANSWER: No. It may appear to be because of the lighting. If you look at the drawing with the description for the product you will see that it is a double walled glass. This causes the lip of the glass to be a bit thicker than usual. That coupled with the lighting in the photograph is what is giving you the impression of a gold rim.
Nonetheless it is a wonderful way to enjoy you favorite whiskey!
Wine C, there is no gold rim on this glass. It is just regular clear glass on the rim. Thanks!
Nope.....plan glass through out......Photo illusion dealing with the gold rim!
These are great glasses for whiskey.
It's not; clear glass which large ice cubes do not fit into.
No. It is completely clear glass throughout.
Do they come in a box? I want it for a gift.
BEST ANSWER: The Norlan Whisky Glass (Set of 2) do come in sturdy packaging. I don't think you need a gift box.
Yes they are boxed. They have a wonderful rich feel and are light as a feather.
Yes, they come in a box and I have gifted them myself. Lucky person.
Nicely packaged in a tube. Would be good for a gift.
Yes, they come in a nice cylinder.
Yes these glasses come in a box.
Can you use ice with these glasses?
BEST ANSWER: Yes, Ice can be used in these glasses. There are times that I like a bourbon on the rocks. The insulating properties of this glass allows for a minimal amount of ice and the ice, if large enough, doesn't melt much to water down the bourbon.
The Norlan Whisky Glass (Set of 2) can absolutely accommodate ice. These are great glasses for anyone who enjoys drinking whiskey.
I don't see why you couldn't as long as you don't throw the ice in. Would be painful to break one of these beautiful glasses.
I would imagine that you could, although I never have, as I bought these to drink my scotch neat.
Small cubes fit but the larger square cube I usually use to drink whiskey does not.
Yes. The space inside will easily accommodate ice cubes.
Is it OK to use whiskey rocks in these glasses or do they scratch the surface of the inner glass?
The Norlan Whisky Glass (Set of 2) is made from hand-blown borosilicate glass and it is not recommended to be used with whisky stones as they can damage the inner wall.
My experience has only involved Scotch, neat. But the bottom of the glass is ribbed so you might want to wait and hear from someone who has used whiskey rocks to be sure. Hope this helps.
reserve all of your rocks and put them in a fishbowl. then fill it with water... then put fish in it. the fish will give your fancy rocks good company.
I would think it would be a bit small for the whiskey rocks, but don't think they would scratch. To me, it doesn't need the rocks.
I don,t believe they will scratch the glass, but i never add ice or water to my Scotch.
Have not tried rocks so am not able to answer.
Can I get different initials on each glass in the set of 2? I would like to buy one for my wife and one for me...we have different initials.
I was very skeptical about these glasses. They were supposed to create a whole new experience in my bourbon tasting. It did. The biggest difference is on the nose. These glasses cut down on the heat from the higher proof bourbons. No more nose hairs being scorched or sinuses becoming numb. And because of that you really can smell all the nuances in a bourbon! The difference between this glass and a glencairn when tasting is more subtle but still evident. I had some Old Forester 1920 abv about 57% on Monday in a Norlan. It was delicious. The next day I grabbed a Glencairn to a sip and itvsi much hotter and burning I poured it into the Norlan. It smoothed right out!
The glass does enhance flavor. BUT on second use it cracked allowing a small piece of glass to lodge between the double-wall and I had to throw it away. Not worth the money.
I am terribly sorry for the trouble with your order. I have issued a no charge replacement that should ship within 1 to 2 days. Again, my sincerest apologies. Cheers!
Not sure how it does it but all bourbon's taste better in this glass. The nose is also wonderful no mater the bourbon price. Was skeptical but not anymore!!!
My husband is a scotch consumer and is always on the prowl for a new bottle. It's hard to buy him a birthday present. I found these glasses to be attractive and unique. They also deliver a great whisky drinking experience.
Just got the glass and poured Knob Creek which in my normal tumbler would have a nose of alcohol mixed in. I was hocked that once I swirled the whiskey in the Norlan glass, no alcohol smell, I got the full smell/bouquet of the Knob. I then tried cask strength Wild Turkey (Rare Breed at 112 proof). Again only nosed the whiskey. The only reason I gave 4 stars is the glasses are very light in weight. I would have preferred a bit more heft to the glass.
I bought these to replace a broken Riedel Vinum single malt glass. Same price. These are light & flimsy feeling with a crude lip. Buy the Riedel instead.
The glasses are nice, look good and have a nice feel in the hand, but don't really deliver a better nose or taste profile than the standard whisky glass. For the same money, I'd recommend getting 4 of the 'regular' whisky tasting glasses.
Great small glass for enjoying your favorite brown liquid neat. You will be surprised at the increased sensory load using this unique glass provides.
I highly recommend these glasses . They are very comfortable and easy to hold in your hand. They visually display your whiskey in a fun and unique way . They allow you to easily experience the aroma of your chosen spirit and it's very easy to get the last of your drink without tipping your head all the way back.
I bought some for gifts to my friends and got some for myself as well.
They also come in nice packaging which makes them appear very high-end as a gift.
For the price you cannot go wrong .
The glasses are unique. The glass material is unique. They get the attention of onlookers. They are particularly attractive when there is whiskey in the glass because the color is reflected in the rim. Drinking from them is a nice experience. The downside is that the glasses are very light and a little small. Men are used to drinking from a heavy larger glass so drinking from these takes some adaptation. All and all a a very nice glass but I fear some may think a bit effete for the drinking man. I would purchase them again and believe they should be in every drinkers whiskey cabinet.
I bought these glasses for my husband who loves bourbon. He was excited to use them. Great gift.
I really like my new Norlan Whisky glasses. They are very easy to hold, and look great too. They make the experience of enjoying my nice whiskies and scotch better.
I appreciate the flavor of the scotch now since I've started using the glass.
The smell of the Scotch is wonderful making the enjoyment of happy hour worthwhile. The glasses are pricey but worth it.
You gotta love how these look and feel in your hand. They won't make an average whiskey taste like an exceptional whisky, but they do enhance the tasting experience.
It's much easier to pick up the subtle nuances both on the nose and the taste buds. They also seem to help mellow the ethanol from more high powered spirits. Overall, I'm very pleased with the purchase and will probably get another pair down the road. They'd make exceptional gifts for anyone who likes whisky.
I thought these glasses were a gimmick, but they really enhance the enjoyment of whiskey!
Unique and beautiful glass design that concentrates ambient light in a way that allows full enjoyment of the color and clarity of the contents. I see these glasses as a complement to Glencairns, and not a replacement for them. That said, I would still recommend them highly.
Bought these for my husband. They are gorgeous and my husband loves them for his bourbon. A nice addition to his bourbon bar.
My son gave me a set as a present and I was extremely skeptical about the claims of the Norlan Glass. We did a sniff and taste test with the Norlan and a standard Glencairn glass and the difference was noticeable. Both in detecting the aroma and reducing the burn of whisky, the Norlan was superior.
I bought these for a gift for my husband.
He loves these glasses. He believes whiskey tastes better when he uses them.
I bought these glasses for my son-in-law who loves to drink high end bourbons and whisky. I had purchased the Glencairn's for him two years ago but thought he might like these as well. I just asked him how he liked the Norlan's. He said he liked them so much he uses them exclusively. He did mention that if I was going to purchase them for someone else to make sure they liked to drink their liquor neat because the big ice cubes do not fit in the glasses.
Best gift he has gotten in years!
Husband got some for his birthday, asked for more for Christmas. He is very hard to buy for, but these glasses made him happy. They are beautiful glasses but mostly his whiskey seems to taste better in them. We also bought a set for both son-in-laws.
The perfect Holiday gift !
Simple safe order process and fast delivery. Great customer service.
Really light, definitely something to the science!
The glass holds the aroma, keeps the liquid cold and the outside is not cold to the touch. They look good with many different lines. Very interesting to drink from- I like them.
Great looking glass , ideal for drinking straight. Easy to hold.
We use these glasses for our finer sipping bourbons. Actually does bring out the flavors much better.
Lovely glasses. Bought for Christmas gifts. Highly reccommend.
We love the size - light and fits easy in your hand. Purchased 2 sets for holiday gifts. Unique and stylish...perfect for bourbon!
The presentation of the whisky in the glasses is amazing. The liquid appears to be floating in air. The visual is exceed by the delivery of the whisky. The bell shape captures the aroma beautifully and enhances the silky texture of the spirit. Norlan and Woodford is a sublime pairing.
My husband LOVES this glass. Our friends came to visit for a few weeks, loved them too, so we sent them a set. Everyone is very happy.
whiskey. Lovely to look at and lovely to use.
Beautiful workmanship. Gives a sense of satisfaction to have a great whiskey in a great glass. Enhances the aroma and flavor.
I think it does make bourbon taste better and they look great!
I gave this set to my son in law. He likes them. That's all I know.
My husband received these glasses for Christmas, and really loves them. He was not familiar with Norlan and was amazed to find that the glasses really do enhance the aroma and the taste of his whiskey.
My brother-in-law declared them instant heirlooms! He loves the way they feel and look. He loves everything about them! Thank you!
Awesome Christmas surprises for. My son!! He loves Irish whiskey so a fitting addition to his enjoyment!
The Norman Whisky Glass was a gift. He really appreciated it, and they are beautiful. Yes, I would certainly recommend them.
These were a gift for my nephew and he absolutely loves them!
I've enjoyed single malt scotch whisky for a number of years. Even to the extent our dog is named Macallan. The Norlan Whisky Glass has taken this enjoyment to another level. Kudos!
We really love these glasses. It really works to enhance whiskey and bourbon.


We hope you can join us Monday, April 22nd at 6:30pm at Christ Lutheran Church, 11720 Nieman Rd, as we celebrate a fun, fast short course season! The evening will include free Kona Ice, award recognition, a video featuring photo memories from our 2018-19 season, and distribution of Best Times Plaques. National qualifiers will also receive their TYR apparel.


* Show the content of the update script (if any).
// or an update of a present extension is triggered.
* TER2 connection handling class for the TYPO3 Extension Manager.
* array as key 0 and 1.
* @return array Array with result on success, otherwise an error string.
* Method collects and stores extension version details into the database.
- // order must match that of self::$fieldNamses!
+ // order must match that of self::$fieldNames!
* Method receives an update from a subject.
- * Method retrieves and initializes extension XML parser instance.
* Keeps current author company of an extension's version.
* Keeps country of currently processed mirror.
* Keeps XML parser instance.
+ * Keeps list of attached observers.
+ * Method attaches an observer.
+ * Method notifies attached observers.
* Method determines if a necessary PHP extension is available.
* Method tries to load the extension if necessary and possible.
- * Keeps list of attached observers.
- * Method attaches an observer.
- * Method notifies attached observers.
* Keeps current element to process.


text:
Caloptilia ecphanes is a moth of the family Gracillariidae. It is known from New South Wales, Australia.

References

ecphanes
Moths of Australia
Moths described in 1940


Have you ever wondered what two grumpy old bastards that are permanently stuck on 1980's and 1990's pop culture references think about modern tabletop roleplaying games? No? Want to hear old bastards troll a twenty-something year old about anime?
A State of Nerdvana examines all the nerdy things in life. TV, movies, games, and whatever else tickles our fancy. We invite you into our conversation, and we want you to take part!
Visit us on Facebook and Twitter, and rate us on iTunes. Being a geek may be chic, but we were there before it was cool. Share your thoughts with us!
Join us on our continued run through the Ravenloft module for D&D 1st ed. In this episode we deal with gargoyles and the chapel.
Mixing a group of Millennials and two old GenXers in a tabletop role playing group can be problematic. Join us on our journey to explore tabletop RPGs old and new as we seek a state of Nerdvana.


text:
Converse Domaination – Disruptive Adwords
Monday, December 20, 2010 | Engage, Headline, Influence
Here's an example of a great campaign from Anomaly known as Converse Domaination.
It's cool because it's conversational, clever, cost effective, and relevant to the audience.
Converse Domaination from Ross Martin on Vimeo.
Augmented Reality – using Webcam
Friday, August 6, 2010 | Augmented Reality, Consumer Generated, Engage, Headline, Industry News, Influence, Social Networks, virtual world
Oddcast has teamed up with Pointroll to create this cool Augmented Reality service which is driven from your webcam.
It's called Get Me In The Head and although the performance is a little slow it's still pretty cool
This video shows the features in case you don't have a webcam.
Ikea's clever Facebook campaign
Friday, November 27, 2009 | Consumer Generated, Design, Feature, Industry News, Influence, Word of Mouth
Sweden is known for it's innovation which not only expresses itself in design, but also in creative campaigns.
Agency Forsman and Bodenfors decided to use one of Facebook's built in features of "Tagging" to get the word out about Ikea's Malmo store opening. First, they created a Facebook profile for the store manager, Gordon Gustavsson. Then, over the next two weeks, uploaded images from of IKEA showrooms to his Facebook photo album.
To generate interest, they provided the incentive that the first person to tag their name to a product in the pictures, won that product !
As people tagged themselves to the pictures, their friends were made aware of the free offering via their facebook news feeds and hence interest in tagging themselves to a new bed, rug or vase spread quickly.
Social Media traffic catches Search
Thursday, November 26, 2009 | Engage, Headline, Industry News, Influence, Listen, Statistics, twitter, Word of Mouth
Alan Long, Research Director for Hitwise reports that Social Media Traffic in Australia has nearly caught Search as depicted by the following chart.
Top 10 Social Networks in Australia are shown here, dominated by Facebook which boasts over 8 million Australians.
The net affect is that companies need more than ever to develop a strategy for Listening and Engaging with these networks so that they have the ability to influence consumers.
Thursday, November 19, 2009 | Feature, Industry News, Influence, Social Networks
Relationships help sell Social Media
Tuesday, November 10, 2009 | Engage, Headline, Influence, Social Networks
It's surprising giving the hype surrounding Social Media, that it's still quite a challenge to sell the adoption of social media to organisations.
There are many obstacles that stand in the way of running social media campaigns such as
Risks associated with open conversations
Non existant Internal policies covering social media engagement
Lack of internal communication of social media engagement policies
Perceived lack of metrics
Clarity of roles for managing the campaign
Overcoming these and other hurdles requires an ability to understand which obstacles exist and also arming the right people with the knowledge and tools to overcome them.
As Gavin Heaton correctly points out in his post Social Media Experts Run Over By The Cluetrain
"for all the talk around social media (from agencies as well as from independent consultants), very few practice what they preach. Very few proposals or strategies are written with a view towards business – they provide almost no support for the marketers who need to sell these proposals and strategies back into their businesses."
Whilst the key is to give them reasons and support to overcome the inevitable detractors, the rational needs to be positioned according to the culture of the particular business.
Developing this understanding requires the building of relationships, which ironically many practitioners avoid.
Relationships are a core element of Social Media and a key catalyst for enabling the approval of Social Media campaigns


Hopi was pulled from a puppy mill by a small rescue group that had to close its operations when a partner suddenly passed away. He and 12 other pups came to live at HUA, and they are all just precious. Hopi is the sweetest little guy around. He is still a little bit shy from his time at the awful mill but he is coming around and learning to enjoy life. He is a very nice couch companion and was allowed to snuggle in the human bed when he was in his foster home. Hopi gets along super with his dog friends and is nice to everyone. He will absolutely adore having a family of his very own.
Be My Buddy! Write me a message and sponsor me until I am adopted.


text:
Q: Tengo errores con el @using (Html.BeginForm() estoy haciendo un Alta para una lista de tareas (To-Do List), y cuando quiero crear la tarea me salta un mensaje de que me falta un dato que, como usuario, no necesito completar.
Para éste proyecto uso dos tablas, "Folder" y "Tasks". Folder va a tener un Id (PK) y su nombre, y Tasks va a tener su Id (PK), un nombre y el IdFolder (FK de Folder). Esto lo hago para guardar cada Task dentro de su respectiva carpeta.
Ahora, cuando estoy en la vista "Create New Task":

*

*Si hago click en "Back To List", me pide que ingrese un nombre. Ésto supuestamente se arreglaba si en la tabla de la base de datos, al TaskName lo hacia nulleable, pero no funcionó. Si pongo un nombre y toco el mismo botón, retorna sin problemas.

*Si completo con nombre y hago click en Create, me pide Folder Field y que el botón de Back To List necesita un valor.

Cosa que quiero aclarar: El botón "Back To List" lo hice asi   <input type="submit" name="BtnBack" value="Back To List" class="btn btn-primary" />  ya que para volver al Index necesito el Id de la carpeta en la que estoy ubicado, pero no entiendo porqué me pide que tenga un valor si no lo estoy utilizando. Sirve principalmente para mandarle el Id al index y volver a dicha pagina, nada más.
CÓDIGO
CREATE:
@using (Html.BeginForm("Create", "Tasks", FormMethod.Post))
{

           @Html.ValidationSummary("", new { @class = "text-danger" }, "h3")

               @Html.LabelFor(m => m.TaskName)
               @Html.TextBoxFor(m => m.TaskName, new { @class = "form-control" })

               @Html.LabelFor(m => m.IsDone)
               @Html.CheckBoxFor(m => m.IsDone, new { @class = "form-control-checkbox" })

          <input type="submit" value="Create" class="btn btn-primary" />

           <input type="submit" name="BtnBack" value="Back To List" class="btn btn-primary" />

}
@*

CONTROLADOR:
  // GET: Tasks/Create
        public ActionResult Create()
        {
            return View();
        }

        // POST: Tasks/Create
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create(Tasks tasks, string BtnBack)
        {
            Tasks task = new Tasks();
            Folder folder = new Folder();
            int id = (int)HttpContext.Session.GetInt32("id");
            folder = GetFolder(id);

            try
            {
                if(BtnBack != null)
                {
                    return RedirectToAction("Index", new {id = folder.IdFolder });
                }

                if(_context.Tasks.Count(t => t.TaskName == tasks.TaskName) > 0)
                {
                    ModelState.AddModelError("", "Task name is already in use");
                }

                if (tasks.TaskName == null)
                {
                    ModelState.AddModelError("", "You must put a Name for the task.");
                }

                if (ModelState.IsValid)
                {
                    task.TaskName = tasks.TaskName;
                    task.IsDone = tasks.IsDone;
                    task.FolderId = folder.IdFolder;
                    task.Folder.FolderName = folder.FolderName;

                    _context.Add(task);
                    _context.SaveChangesAsync();
                    return RedirectToAction(nameof(Index));
                }

                return View(task);
            }
            catch
            {
                return View("Error");
            }
        }

redpajama_set_name: RedPajamaStackExchange


The day I started this blog again and put content, I wanted more and more visitors on my blog. My earlier blog theme had google adsense so that I can make some revenue. But in this theme I removed all that and it's clean again. I tried many tips and SEO stuff so that my blog gets good hits. As you can see I got 4200+ by all the efforts.
Since I'm active in many forums and blogs, I edited my profiles and signatures so that I get some hits. It worked and I got a good start. With the help of counter I came to know that many even bookmarked my blog. It's really good to know that people like my nonsense. And most of the hits come now from bookmarks. It's soothing but I want more and more new visitors.
While surfing along, Just out of curiosity I hit this link of Linkreferral.com. At first I thought it'll be one of those useless sites who claim to improve site rank and get free traffic. But something drived me to sign up and give this a try. And voila!!!! It works… When I signed up I took sometime and didn't put the link on my front page. But looking after the counter stats I now have a Linkreferral link.
The site is really good where individuals review your site. it's not just bots who comment and review. It's in real. For the first time I got some site that would really help to increase the traffic flow to my blog. And all this comes for free. you just have to take some time out to sign up and review some sites to increase credits.
The best thing of all is I get some good links and sites to visit. I can choose the category of my liking content. Find some good links. Review and rate them if I like. This site will surely make some revolution if it stays what it is with some improvements as the time goes.
So if you have a site, blog, forum then sign up and get some traffic flow.
This entry was posted in General, Website Reviews. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
Actually I was using linkreferral to get traffic to my site and, hopefully, sales. Instead of that I got people visiting my site just to get their daily 30 visits to remain in the top 10 to be seen and some of them made weird comments such as "chinesesilk what is it?" and gave me a crappy score (I sell silk products on ecrater). I mean, what kind of review was that except for lowering my score.
Everyday you have to visit 30 sites, make something like 5 comments and some other things. This is just a massive waste of time as people visit your site just a second to do the daily duty.
In a word, linkreferral is: useless!


text:
Bob Preloger Named Vice President for Advancement
Augustana College today announced that Bob Preloger has been named Vice President for Advancement.
In his new role, Preloger will be responsible for the College's Marketing and Communications, Alumni Relations and Fund Raising initiatives. He most recently served as Vice President for Marketing and Communications.
"With more than three decades of experience in the higher education industry, Bob is well-suited to lead our Advancement team," said Rob Oliver, president. "His knowledge and understanding of marketing, communications and enrollment strategies, combined with his commitment to and belief in this institution will be invaluable as we work to create an Augustana like never before."
Preloger joined Augustana in 1993 as Vice President for Enrollment. In 2004, he joined The Lawlor Group, a Minneapolis-based higher education marketing firm. He was named Vice President for Augustana's Marketing and Communications department in 2006. Prior to Augustana, he served as Associate Dean for Enrollment for North Dakota State University and as Vice President for University Relations for Concordia University Chicago. He earned his B.A. and M.A. from Concordia University Chicago.


Art has over 15 years of professional experience and is a lifetime auto enthusiast. His specialties are in fabrication, suspension and drive train repair and enhancement. His skills include rebuilding differentials and diagnosing suspension problems. He has a wealth of knowledge of anything that goes off road.
Andrea has a wide range of hands on experience from service writing to construction and even some time as a wild land fire fighter. She also has experience with part procurement and can locate the hard to find parts. She will work hard to find our customers just what they are looking for to give their vehicle MORE. Her hobbies include riding Harley Davidson motor cycles.
Charles is an off-road enthusiast experienced with Toyota 4x4 trucks. He has over 15 years of experience diagnosing and repairing a wide range of vehicles. He has been working as an independent mechanic and now is on our team here at 4x4 and More. When not working at our shop he is building one of his Toyota trucks or out on the trails with them.
Troy has 20 years of professional experience and is a lifetime auto enthusiast with special interest in European cars. His specialties are suspension, braking and performance. He is a TDI expert with the tools and knowledge to maintain Volkswagen diesel engines. His experience extends the MORE in 4x4 and MORE to maintenance and repair for TDI engines.
Adam is also a lifetime auto enthusiast. He has over 15 years experience working in auto repair. Most of his experience is with Honda dealerships. He also has experience working in an aftermarket tuner shop. He has top notch skills with tuning engines. His hobbies include building and driving his lifted Jeep Cherokee trail rig.
Caleb is our apprentice mechanic. He is very enthusiastic about 4x4's. He works with us full time during the day and goes to school at night working on his technical degree. In his spare time he is working on his own project vehicles, building his Suzuki Samurai up for the trails.
Harry has over 30 years of automotive experience including work as an independent mechanic and past partner in AAMCO transmission shop. He is our service writer and can help guide you through the process of getting the most value out of your vehicle. He is also a lifetime auto enthusiast with experience in off road vehicles. Old Toyota Land Cruisers are his favorite vehicles for the trails.
Dan has 30 years of experience in the OE automotive manufacturing industry. He is also a life time automotive enthusiast. Starting out in autocross at an early age required him to learn automotive repair to stay competitive at the track. His experience includes building a race car to SCCA ITS class specifications. He continues to participate in track days and autocross events. He also makes trips to Pismo and Hollister for off road adventures. Implementing quality standards used by the OE auto manufactures into maintenance, overhaul, repair and enhancement is a differentiator to our business. Dan has spent his career using data to find the most robust solution to mechanical problems. This experience drives the vision at 4x4 and More to be the highest quality auto repair shop.
Eric Forbes and Cat Forbes have given our team excellent mentor-ship as we build the company they grew to the next level. They continue to support us with their knowledge and experience gained from the history of building this business. Our team respects and values their support as mentors.


text:
Financing the UK's infrastructure: private and public gains
Gershon Cohen
The UK's deficit in infrastructure is vast; it requires private-sector capital and expertise to join with the public sector.
Over the past 20 years concessions in the form of private finance initiatives (PFIs) and public-private partnerships (PPPs) have enabled many new public buildings and services to be delivered. The UK alone has 1,000 PPP concessions. Furthermore, PPPs are one means of renewing infrastructure in an era when capital constraints mean that public finance is not always freely available.
The PPP framework can be a significant, beneficial tool for government procurement. For our future economic success we need to put well-framed critical infrastructure at the heart of the political agenda and create a new paradigm, where our decision-makers lay the national infrastructure foundations needed for the economy and its growth to be secure for future generations. Leveraging private investment will be vital, but doing so requires an informed and engaged approach.
Unfortunately, there is a mismatch between political attention spans and infrastructure investment timeframes. This is particularly so for large, high-profile infrastructure projects. The public sector, and the public more widely, rarely understand the techniques and skills required to evaluate a PPP concession. Certain concepts are vital, such as the time-value of money and nominal versus real cash flows and the rate at which these are discounted. This skills shortage reduces the ability to properly compare the value for money of different procurement approaches and weakens the oversight needed to review such decisions appropriately.
More than just getting the lowest bid price or transferring the most risk, it is essential to meet project requirements in the broadest sense. To address this, there is a comprehensive list of issues that need to be evaluated: transparency; urgency; accountability; risk transfer; budget; specification; flexibility; project complexity; and market competition. Not all infrastructure should use PPP frameworks, nor necessarily private investment at all: understanding when to seek private funding is as important as how to go about doing so.
One of the important procurement tools for the public sector is through the granting of infrastructure PPP concessions. Straightforward and commoditised procurements do not necessarily benefit from the rigours of the private finance approach. Similarly, where projects get too complex and specifications grow unwieldy, the constraints of private finance can undermine the quality delivered. Concessions rely on clear, upfront specification in order to optimise a series of asset management and investment trade-offs. This means that a concession tends not to be suitable where substantial flexibility is required, as in IT procurement.
Moreover, concessions are rigid and prevent governments from changing their budgets on a regular basis. Surprisingly, this can be a benefit masquerading as a cost. In most instances it would be perverse to suggest that deviations should be made from an optimally planned infrastructure maintenance regime. To argue for short-term budget flexibility is to saddle future taxpayers with a disproportionately higher backlog of maintenance work.
There is a crucial middle ground, wherein the involvement of private finance delivers substantial additional value to infrastructure investments.
For a concession to be efficient, both the specifications and project risks must be clear. Then the mix of private and public finance brings rigour, value and efficiency. Concessions generally take a long time to negotiate, which is partly due to their commercial complexity, but is also explained by the need for clear specification at the outset. The public sector needs to understand this in order for private finance to support the development of crucial infrastructure in the UK.
Concessions offer cost and project transparency and enable the public sector to enter into commitments with its eyes wide open. For example, building a new school is a financial commitment as well as a commitment to a community, and whereas under a concession the costs of the school are defined, conventionally the long-term costs of the commitment to the community are unknown. PPP concessions in general include not just the initial construction spend but all future operating, maintenance and life-cycle costs. Such transparency also enhances accountability; across much of the world concessions are promoted as a route to tackling corruption.
Whole-life costing, asking contractors and their lenders to put their money behind their forecasts for a concession, brings rigour and discipline to the procurement process. Addressing the life cycle of a project can reduce the need for ongoing investment and save substantial costs down the line. Properly developed and deployed, the private sector's higher cost of capital can be more than justified on the basis of risk transfer, enhanced planning, accountability and risk management.
Public- and private-sector actors are both needed if the UK's infrastructure requirements are to be met. The crucial question is not whether to use private finance, but rather how it can be involved most efficiently. That begins with recognising where PPPs can add most value, understanding the constraints and opportunities over the whole lifetime of a project, and developing the necessary skills on the public-sector side so that the UK's infrastructure can be procured effectively. This must be a key priority for the recently launched National Infrastructure Commission.
The views and opinions expressed in this article are those of the authors and do not necessarily reflect the views of The Economist Intelligence Unit Limited (EIU) or any other member of The Economist Group. The Economist Group (including the EIU) cannot accept any responsibility or liability for reliance by any person on this article or any of the information, opinions or conclusions set out in the article.
The network paradigm and the city
Open for business?
Disrupting Finance: The P2P view
Devolution and the future of public services
Inequality and the future of work
Investing in future skills
Recruitment and retention: A driver for transforming corporate culture?
Trust in Britain's businesses
Trends that will disrupt the UK business environment
As the UK ages the cost of disease will increase
The future of urban Britain
Major investment needed in UK infrastructure
Balancing the skills equation
Trust and change in capital markets
Gershon Cohen is the Head of Infrastructure Funds at Aberdeen Asset Management, the leading European asset management group ranked by AUM. He is responsible for the leadership and continued development of an infrastructure funds platform consisting of seven unlisted funds and $3.3bn of institutional investment under management. The funds are managed by a recognised and experienced team based in London, Edinburgh, Paris Madrid and Sydney and invest in infrastructure projects underpinned by long term government contracts predominantly in social and economic infrastructure.


The Nintendo GameCube Action Pad is enclosed in the original packaging of "Dancing Stage: Mario Mix" and can only be used with specially designed games. The use of the Action Pad varies with the type of game being played.
The Action Pad is connected to a controller connection socket. Please refer to the game's instructions for more information.
The dance mat has Z, START, A, B buttons, and the direction fields (up, down, left and right).


Heartbreak hurts. It hurts in the soul and heart. All our dreams are broken like a vase that falls to the ground hard and splits into pieces…or the same vase that has fallen many times and was always able to be saved but can no longer be fixed.
We no longer look at each other, we no longer like each other. The complicity and everything we built together has been lost, we have ceased to love… But, why? What has killed our love? How has it escaped from our hands like this?
Over time, the monotony, the differences, the distance…have separated us. Indifference has become a part of life.
Each couple is different and there are a thousand reasons why this love that united two people has now disappeared. Oftentimes we do not want to see what they're thinking. We give ourselves not one, but a thousand opportunities until we can't take it any longer, because everything has a limit.
We can no longer take all of the many fights and differences, the distance has been unbearable to carry or we have been together so long that we have neglected our love…We forgot to water it like the most beautiful of flowers.
What are the signs we are no longer in love?
1. You're no longer happy when they arrive.
Before you were looking forward to their arrival. You felt hope and no one could replace them. But now you are indifferent towards their presence. There are times where you don't even want them to arrive.
2. You no longer have sexual fantasies about your partner.
You longer think about your partner on a sexual level, nor do they even come to mind. And if you do, it's with other people. It's something you cannot help. Even if you're not cheating, your mind continues to betray them and you.
3. There are no more acts of love like an unexpected kiss, a caress, a gift.
It simply no longer exits. The affection that was demonstrated in so many ways has disappeared. You do not feel that sense and desire to kiss, caress or even hug them.
The flame is out, the affection has died, your feelings have become cold.
4. You avoid physical contact at all costs. You don't even want a single kiss.
You can't stand when they touch you or give you a kiss. Not only do you avoid it, but you reject it. When your partner does it, you respond with a snub or with indifference.
5. Your face expresses boredom or anxiety when you're with that person.
They say that the face is the mirror of the soul. Without realizing your sadness and discomfort, it will reflect on your face when you are with that person. But remember, it is not he or she who creates it. You do. Do not forget to take responsibility for your emotions.
6. You no longer care about what happens in their life.
Before you cared about how things went at work, if they were happy or sad, how things were going with their friends, and now…nothing. Sometimes you don't even remember… You're so immersed in your own thoughts that the space you had for your partner is gone.
7. That person is no longer attractive in any way.
Before you liked everything; their voice, their gestures, their physique, their personality, the way they looked, how they were with other people… everything! Now you do not find any of that enjoyable. Sometimes those same things that you liked now bother you.
8. You fantasize the possibility of having a relationship with other people around you.
When you're in love you do not have eyes for anyone else. When you no longer feel anything, you start to look the other way.
There are coworkers and friends you look at with different eyes…a world of possibilities opens up around you.
Before you talked about everything. Now you no longer have anything to talk about and, if you do, it's just when you fight, bring up things from the past, etc. Resentment has settled and has made you its slave.
10. They are no longer a part of your life: you never are together on anything.
Distance is physical and mental. Each day you feel more and more distant from your partner. The distances increase on the inside and out. And each day spend less time together.