What's interesting to me is the argument that feminists have "too much time on their hands" if they are concerning themselves with submitting real gender neutral patches that make sense (ie. not this). Compare that to the creation of "languages", fake patches, and troll accounts in order to attempt to discredit actual points made by feminists.
I find the second immensely more of a "waste of time".
I have to say, I support this type of thing. It is social commentary in a way. Every patch that gets merged (as this one did) that is absolutely ridiculous shines a bright light on the fact that it isn't the content of the patches that matter.
If you can't tell the difference between an obvious troll with an email address "feministsoftwarefoundation@loves.dicksinmyan.us" and a ridiculous patch from a real one, I think the community needs to take a beat and think about why. Why could it be taken seriously? Why wasn't it challenged? Are we so terrified of being called a sexist that we will do insane things?
I would argue that changing language to be gender neutral hardly counts as insane.
They wanted song lyrics changed, they wanted libraries that are provided upstream changed (which the author has no control over).
Both of those requests are insane.
They are trolls. They are disappointed that project maintainers are empathetic and merging the pull requests. What do they do? They ask for an impossible request and demand it again and again in the hopes they'll piss someone off.
The aim of it all?
To make all feminists look like crazy women who you just can't get along with!
How does this help anti-feminists?
It will inspire you to just tell your woman to get in the kitchen whilst you pick the chili dog out of your neckbeard, dust curmbs off of your formidable beer gut, and submit your newest groundbreaking post to /r/theredpill.
Forgive the rant, but I've seen way more sexism today than I care to see. The apologists are just as bad if not worse.
>To make all feminists look like crazy women who you just can't get along with!
Because any disagreement with fringe feminists, or "SJWs", is misogyny?
Does disagreeing with the popular male opinion make me a "Social Justice Warrior"?
I'm curious... how do you, whatever your background may be, define what is a fringe feminist? I'm interested in how you figure out what is important to a feminist and what makes her a fringe feminist? Are you, or have you ever been totally or partially female?
Furthermore, what would you consider an "acceptable feminist"? How can feminists fight for their rights in a way you approve of?
I'm sorry, but opinions don't have genders.
That's a pretty commonly used phrase, "The popular X opinion". However, I guess it would be more accurate to say "The opinion most commonly held by X". I still think you are being pedantic though.
Additionally, we already do not use a singular (thou/thee) for 2nd person anymore, only "you"
If you think they are helping the cause, feel free to support them. When the line between legitimate complaints and open insulting mocking is so fuzzy that a developer can't tell the difference and applies that patch out of fear, I think that is an awful thing for feminism.
The beautiful thing is the developer need not worry about whether or not it's a legitimate complaint or "open insulting mocking"!
Will this positive or negatively effect X cause? Will it reduce the quality of my code?
1. I think it's pretty clear that part of making github libraries more welcoming to women is having gender neutral documentation. How would you guys like reading "if her" instead of "if his"? Well, we have the privilege of that not bothering us as much since we don't have to deal with those micro-aggressions, but hopefully you get the point!
It also says a lot about the current state of "feminism" (whatever no-true-scotsman definition of the word might take) is with regards to the coding community.
I beg of you all.
1: "They's" is wrong. Don't do this with a blind global replace, but read what you're modifying.
2: Some of the changes are a quote from a song. No idea what that quote is doing in the code, but misquoting is not an improvement.
It doesn't help that the person proposing the change is behaving like a troll. But if someone wants to do this change correctly, I'm all for it.
Handled with class by Chris. No drama, no fanfare. Good job.
What is amazingly sad is that an obvious troll was taken seriously. Has the discussion gotten so skewed that obvious trolls can't be seperated from real complaints?
Swift action was taken out of fear -- fear of being called a sexist, fear of being judged... it just makes me sad all around.
I wasn't sure if it was a troll or a mentally unstable person (although trolls arguably are too,) but either way this was still an excellent way to deal with this.
Ideally Chris would've made the troll improve the correctness of his edits, in which case they might actually end up having a net positive effect, but it was still handled pretty well.
Really? Gotta be honest, I found it sad. Not on behalf of the troll -- it is a clever sort of social commentary (if it was intentional social commentary). Pointing out with a bright light that we will apply insane patches rather than even be lightly brushed with the label sexist.
Fear? Or perhaps empathy? If someone claims to feel excluded by my language and it doesn't pain me to fix that, why shouldn't it be fixed?
It did pain him to fix it. As he said, it was other peoples code that is included (and will be replaced on next pull)... and other parts where even song lyrics (from Monty Python Lumberjack). Changing others people code or song lyrics makes no sense.
with class or out of fear because of the insane bullying that went on in https://github.com/joyent/libuv/pull/1015 ?
I foresee both sincere and satirical efforts of such extremist "gender neutral" feminist edits to increase in the coming months after the libuv incident.
"They" is plurals. It doesn't make sense to replace all he's and she's with they.
It does, but you need to do it correctly. "They's" is stupid and wrong. Had it been changed to "they're", it'd be fine.
I thought this too, but apparently "They's" is correct? I'm not all too sure, but all in all none of it seems like a big deal to me.
no. you don't use me. I shall not get used, sir!
Do people join the "Feminist Software Foundation" when they've given up on actual software development and instead prefer to incite needless gender warfare?
Gender warfare? Tell me you are practicing your hyperbole cbeach!


Browse businesses looking to expand in and around Teller County.
Located in the Centennial State, as of the 2010 census, Teller County had a population of 23,363.
Are you looking to own your own franchise business in, or around, Teller County, CO? Well, you are in luck! Browse any of these multiple franchises, shown below, to request FREE information about the opportunities that interests you or click here to see the full list of franchises looking to expand throughout Colorado.
Listed below you will find population, income and education related statistics, as well as other pertinent information, for Teller County, CO.
When compared to the state's average median age of 36.2 years, Teller County's median age is 12.6 years older.
When compared to the median income of individuals working in Colorado, Teller County's average income is $58 more than that of the state.
Teller County has 10% fewer citizens, with bachelors degrees, than the general population's average, in Colorado.


Our client, a huge Australian company, is seeking an experienced Business Process Analyst to join their highly collaborative team.
The ideal candidate will have a Utilities background, with experience in the documentation of 'as is' and 'to be' business processes and experience utilising BPMN 2.0.
For more information or a confidential discussion, please contact Nick Munro quoting: 191630 or please click the APPLY NOW button!


LONE GROVE — While the temperature outside might have been dropping Thursday, the action on the first day of the Longhorn Invitational tournament in Lone Grove was fast and furious on the girls side of the bracket as Plainview and Dickson and Lone Grove were in action.
An upset nearly occurred in the opening game of the day on Thursday, as the Dickson Lady Comets gave a strong effort, but eventually fell against the No. 16 Marlow Lady Outlaws.
Dickson struggled in the first quarter offensively, but came to life before halftime, cutting an 18-4 deficit to 18-12 at the 2:51 mark of the second.
Marlow would eventually though take a 24-16 lead into the locker room at the half.
After the break, the Lady Comets couldn't contain Marlow, as the Lady Outlaws raced out to a 36-18 advantage with 3:50 left in the third.
However, the Lady Comets still managed to keep things relatively close as they were down 40-30 going to the fourth quarter.
Unfortunately, Dickson never got any closer than eight points in the fourth at 40-32.
Audrey Young led the Lady Comets with 15 points in the game followed by Sienna Young with seven points and Keely King with six points.
Dickson will play Lawton Christian in the Consolation Semifinals today at 10 a.m.
The No. 20 Plainview Lady Indians had very little trouble earning a place in the semifinals, as they cruised past a short-handed Lawton Christian squad Thursday.
Plainview briefly fell behind 2-0 just 31 seconds into the game, but ended the first quarter on a 23-0 run before extending its lead to 30-4 at the halftime break.
The Lady Indians starters sat out the second half as Plainview outscored the Lady Crusaders 20-12 in the third and fourth quarters.
Kyra Treadwell led the scoring for Plainview with 10 points followed by Jentry Clemons with nine points.
Anna Simmons added seven points with Riley Grant scoring six points.
Plainview will meet Marlow in the semifinals today at 4 p.m.
Lone Grove's Lady Horns certainly gave their fans plenty of excitement in their contest Thursday night.
The unfortunate part was a victory over Cache didn't come with the package.
Despite holding a third quarter lead, the Lady Horns weren't able to sustain the advantage down the stretch and were defeated by the Lady Bulldogs.
Both teams came out strong in the first quarter as it was even at 9-9.
Lone Grove managed to gain some momentum before halftime, leading by as many as eight points at 24-16, before eventually taking a 26-19 into the locker room.
However, Cache began its comeback in the third quarter as the Lady Buldlogs cut into the Lady Horns lead, eventually trimming it to one point in the third at 28-27.
Lone Grove however, still managed to hold a 32-29 lead going to the fourth quarter.
But with 5:53 left in the fourth quarter, the Lady Bulldogs took the lead back at 38-34 and eventually outscored the Lady Horns 8-1 down the stretch.
Cheyanne Davis led the scoring for the Lady Horns with 10 points with Anna Black scoring eight points.
Lone Grove will be back in action today at 1 p.m.


text:
Comrade Greg Stadler
March 20, 2010 August 1, 2015
In 1966 I was living the good life. I had a job that paid very well and had just married my sweetheart when I received a draft notice a month after returning from our honeymoon. We packed up our belongings, and at age 19 I was off for adventure and the Army's all expense paid tour of Southeast Asia. Meanwhile, my wife went to live with her parents.
I entered the Army at Ft Lewis, Washington and after completing basic training, went to Ft Polk, Louisiana for Leadership School and then AIT (Advanced Infantry Training) at "Tigerland,"one the Army's jungle warfare schools. Just prior to graduating from AIT I received word that one of my best friends had been killed on December 28th while on an operation with the 1st Cav. in Vietnam. I was beginning to feel a little uneasy about my adventure tour.
In February of 1967 I flew by commercial jet from Oakland, to Anchorage, then Yokota, Japan and finally arrived at the air base at Bien Hoa. Stepping From there I was shuttled in an open duece-and-a-half truck to the 25th Infantry Division Base Camp at Cu Chi. The heat was unforgiving and whenever we would come to a stop we were beseiged by the mamasans (women) and babysans (young girls) along the roadside who were selling trinkets and cold coke in the traditional glass bottles. The temptation for the coke was great, but we had been advised not to drink it for fear of ground up glass, which could tear up a man's intestines. Some ignored the advice and purchased the coke, while the rest of us looked with disbelief and suspicion.
When we arrived at Cu Chi, the base camp looked pretty bleak—everything was a dusty brown. There were no trees, just temporary wooden buildings, dirt roads and olive drab tents and equipment. The reddish brown dust clung to everything, giving the large base camp a bleak, monochromatic appearance. The Tropic Lightening Division had shipped over from Hawaii and aggressively engaged the enemy during its 6 years in Vietnam. The Division had 21 Medal of Honor winners while there. After being issued combat gear and a weapon I was placed in a training program with an aviation unit for a few days. It gave newcomers like myself, some familiarity with helicopters—"slicks, gunships, and medevac choppers." In country we came to rely upon them to great extent.
My assignment brought me to the 2nd Bn, 14th Infantry, "Golden Dragons," a battalion having a long history dating back to the Civil War campaigns. As an infantry unit we distinguished ourselves in Vietnam by receiving the Valorous Unit Citation, Vietnam Civil Actions Unit Citation and Vietnam Gallantry Cross Unit Citation. Incidentally, the same unit received another Valorous Unit Citation for its gallantry in rescuing the Army Rangers that were trapped in Mogadishu, Somalia. That operation was accurately portrayed in the movie "Black Hawk Down."
For a short time I was assigned as an anti-tank crewmember (my specialty) on the jeep-mounted 106mm recoilless rifle. However, the 106s were used primarily for base camp perimeter defense, and it wasn't long before I started going out on sweep and destroy operations as a rifleman. We called it being a "grunt." Brand new grunts were affectionately referred to as FNGs, which stood for F***ing New Guys!
Then I became the platoon leader's RTO and carried a 25 lb. Prc-10 radio on my back. On one of my early operations I was an M60 machine gunner on a scout jeep and saw the vehicle on front of me explode when it ran over a land mine, injuring the two guys in the truck. Some times we would hitch a ride with a mechanized unit and ride on the top of the APCs (armored personnel carriers), which was a little like riding an elephant. Most of the time I carried my ever-faithful M16 rifle and had no desire to ride inside one of the tracks.
My first major operation was Junction City, which was the largest operation during the war. Twenty-two battalions from various units participated. Every time we went out we encountered some action. Our area of operations included the Hobo Woods, the Boi Loi Woods, Iron Triangle, and the pineapple fields. The terrain varied from triple canopy jungle to rice paddies, hedgerows, streams and swamps. We frequently uncovered extensive underground tunnels and bunkers and on one occasion captured an extensive weapons cache. After a month or two our battalion moved to Tay Ninh, which was close to the Cambodian border and Nui Ba Dien (Black Virgin Mountain). We conducted our operations in War Zone C around Dau Tieng, the Michelin Rubber Plantation, and "unofficially" crossed over into Cambodia on a few occasions.
In hindsight I have to believe that my guardian angel was looking out for me, or else I was extremely lucky, because I was not wounded although I came very close several times. Being on an operation for days or weeks at a time, we sometimes had to drink brown water from muddy streams. The heat could be intense and people suffered from heat strokes—especially when we ran out of water and walking with gear and ammo became an all out effort.
After Operation Manhattan I was transferred to the 199th Light Infantry Brigade as part of the Army's Infusion Program. The Army didn't want all the seasoned veterans leaving the war zone at the same time so a system was developed for "infusing" the seasoned people into other units to stagger their rotations. The 199th was a separate Light Infantry Brigade built around four elite infantry units with a glorious past. The brigade motto was Light, Swift, and Accurate. I served with Echo Compay, 2nd Bn, 3rd Infantry "Old Guard." The 3rd Infantry Regiment was the Army's very first American Regiment constituted in 1784 and had quite a colorful history. It has the distinction of being the Official Honor Guard for the President, providing Tomb Guards at the Tomb of the Unknowns at Arlington, and performing the ceremonial functions for the nation's capitol.
Shortly after my arrival to Echo Company I was promoted to sergeant and as a squad leader took out ambush patrols in Gia Dinh and Long An Provinces. We were usually flown by huey into areas for company sized sweep and destroy missions by day and sent out on squad sized ambush patrols at dusk. Instead of operating out of a base camp, Echo Company occupied a small village named Long Duc in the Mekong Delta, using it as our home base of Operations. Our village was surrounded by rice paddies and streams. From there we would be picked up and inserted by chopper into areas of known activity, like the Rung Sat Zone, The Pineapple, Rach Kien, Can Giouc, and other areas in the Mekong Delta. Read about a Day in the Delta click here
Many of our operations were conducted jointly with the 33rd Bn, ARVN Rangers. At times we were transported by LCM (landing craft) down the Nha Be River and dropped off in the early hours of the morning so we could cordon and search a village. We operated in terrain that consisted of rice paddies, streams, nippa palm, mangrove swamps, sampans, small villages, pagodas and old French forts that dotted the landscape. Leaches, mosquitoes, flying red ants, snakes, spiders, rice paddy crabs, and large rats were in abundance and made life interesting. Most of us came down with jungle rot as a result of being in water all the time.
At the close of 1967 Echo Company moved out of Long Duc to an AO north of Saigon around Phouc Vinh to conduct search and destroy operations in areas where the terrain consisted of small hills, jungle and hard ground. During the Tet Offensive large concentrations of VC and NVA were infiltrating from the Ho Chi Minh trail with the intention of taking Saigon. Our Brigade was awarded the Valorous Unit Citation and Presidential Unit Citation for stopping the 274th and 275th VC Regiments dead in their tracks during the defense of Long Binh, Bien Hoa, and Saigon.
With only 3 days remaining in country, I was picked up by helicopter from a hilltop, leaving my friends, and saying some quick "good-byes." On February 17th I rotated back home to "the world," for a brief leave. Then my wife and I drove our VW Beetle to Ft Campbell, Kentucky where we lived off base in Clarksville, Tennessee. I was assigned to the 1st Infantry Regiment, a unit in the 6th Infantry Division. Most of us were Vietnam vets. We conducted field-training exercises in the Kentucky countryside and also trained extensively for riot control. Our unit was on-call to handle situations if they got out of control. The cities and university campuses throughout America were a hotbed of war protest and violence. During the Chicago riots, we anticipated that we would be called upon to suppress the protesters, but the situation was handled with National Guard or reserve units.
In August of '68 I was honorably discharged from the Army and drove back to Oregon in a new car ('68 Nova SS) to resume my life in the working world and get a university education. As I reflect back to those days in the testing ground of Vietnam, I realize that I learned some important lessons as a young man. I had the good fortune to have served with some great people. I will never forget them, nor will I forget all the people who supported us.
Company E 2nd BN 3rd Inf. US Army website http://www.the-old-guard.org/ECHONEW/
Echoes in the Delta
THE SHORT REPRIEVE
By Greg Stadler
In the month of December 1967, our village of Long Duc was mortared for the 3rd or 4th time while I was there. Shortly after that Echo Company moved out of the village to a new area of operations north of Saigon. After our move we had a couple days in Long Binh to regroup and recharge prior to being re-deployed to a new area of operations. Frankly, this was a real surprise and we couldn't believe that we were in an actual base camp after being in the paddies and swamps for months. During our short reprieve in Long Binh, two events stand out in my mind. One was the BBQ that took place near the airstrip. The other was an afternoon pass we received that allowed us to go into Bien Hoa.
PASS THE BBQ SAUCE
I hadn't spent any time at the BMB (Brigade Main Base) except for a brief stop as I passed through there to pick up orders when I was transferred to the Old Guard from the Golden Dragons. After arriving we were informed that there was a BBQ lunch available near battalion headquarters. This was a totally unexpected, but welcomed event. That particular day we were able to have steaks and beer, with corn on the cob, making it seem like an incredible luxury. As grunts we were not used to this kind of thing. I'm not sure who was orchestrating this little shindig, but if you've been eating mostly C-rations for months on end, then the thought of steak and beer sounds pretty damned exciting. I made sure I was there.
The BBQ grills were 55-gallon drums that had been cut in half lengthwise and supported by waist height angle iron legs. A couple of these drums were arranged end-to- end and filled with charcoal with a steel grate placed on top of each drum. Sirloin steaks and hamburgers covered the top of the gratings. I chose a steak that looked good and watched with anticipation until it was a juicy medium rare. Just watching it made my taste buds go into a frenzy.
The day was hot, but we were able to have a good time and actually relax a bit. Pat Downey and I were at the BBQ having some ice cold cans of beer while making short order of the steak, potatoes, corn on the cob and other things that appealed to any red-blooded American male in the decade of the sixties. There were no concerns about cholesterol, calories or carcinogenic BBQ sauce.
We talked about home, our wives, sports, favorite cars, our neighborhood back home, and what we would do when we got back. Our remaining time in country was getting short, and as we sat there we shared our dreams and our joys. Pat and I were both Roman Catholic and we wore the Saint Christopher medal around our neck. As we drank our beer he told me a bit about Chicago and his passion for cars—especially stock cars. He was a stock car racer—the only one I had ever met. He even had a photo of his car. We both had an Irish-Catholic heritage and Pat had an easiness about him that made for a fun time. We told jokes, laughed and enjoyed a few hours of rare relaxation.
After we were finished with the meal, we wandered over to the nearby airfield and looked at the aircraft parked on the runway. There were some single engine surveillance aircraft used by forward air controllers, lots of hueys, and some jets. There was one very intriguing aircraft that got our immediate attention. Neither of us could identify the plane. It was long and looked like a rocket with swept triangular wings. It was unlike anything I had ever seen, nor have I seen one since. I just happened to have my pockets-sized Minolta slide camera with me, so I took a quick snapshot with 16 mm slide film. For some reason there were very few people around.
Pat and I took turns climbing in and out of the pilot's seat of a huey, while we took each other's picture. I caught one of him as he opened the door of the huey and pointed his finger at me. Then I stood beside a single engine fixed- wing plane while he took another of shot of me. I guess it was like having you picture taken next to your favorite car. The huey was our vehicle. The Army used the huey for slicks (infantry troop transports), gunships (equipped with rockets and electric gattling guns), and medevac transports for the wounded. Those birds allowed us to deploy rapidly and often in a war that defined the era of the air mobile infantryman. They resupplied us with water, c-rations and ammunition when we were in remote locations. Without the medevac ships the Vietnam Memorial wall in Washington DC would have undoubtedly been much longer.
I asked Pat what he was going to do when he returned to the States and he said, "race stock cars, what else?" He loved it, which was evident when talking to him. I thought that one day I'd probably hear about him winning the big races. He talked about his excitement for full throttle acceleration in the stock car that he had built, and his pride for the trophies he had won. Pat took an interest in my tales of the '57 Chevy Bel Air 2 door hardtop that I had restored to pristine condition. I had the car painted a corvette color called Glen Green— a dark metallic green. As I recall, he was a Ford man and would give me a bad time about owning a General Motors product. There were two big camps for car lovers in those days— Ford and Chevy. His '56 Ford plainly identified him as a Ford loyalist. Our story telling and reminiscing went on for the remainder of the afternoon.
We both had wives at home and talked about the day when we could just spend time with them doing the things that made us happy. My new bride and I had been married one month when I was drafted in August of 1966. We had taken a honeymoon in Carmel, Monterey and the California coast and had just moved into an apartment when the official greetings came from Uncle Sam. Now we had made it to January 1968 and both of us were going to rotate home in a few weeks. In the previous month our village was mortared before we moved out. We had been mortared 3 or 4 times while we were there and on the last time a mortar round hit Pat's hooch, causing it to burn to the ground. Maybe it was some kind of omen.
That afternoon was the last time Pat and I had an opportunity to talk much. We were on the move a lot after that. Sadly, he never got the opportunity to return to his wife Maryanne, whom he called Scooze, and his auto racing, but he'll always be a trophy winner in my mind.
BACK ALLEY COWBOYS
The next day we were informed that we were going to be allowed to get a pass to go into Bien Hoa for a time to explore the city and have a few hours of fun. We were issued the passes and walked out to the main gate, where taxi drivers in Lambrettas stopped to take GIs into the city. A small group of four or five of us hailed a taxi driver and piled onto his Lambretta. The vehicle was like a miniature truck with two bench seats in the rear. The driver did not want to take all of us since it would overload his small vehicle. But, we persuaded him to take us and gave him a bunch of piasters—money being the international language common to all.
We were off to Bien Hoa and after a few minutes, came to a long uphill grade. The guy at the wheel shifted down and the small engine made a high-pitched whine that continued as we slowly climbed the hill. The sound was somewhat like the tinny sound of a Honda 50 trail bike wound to the max in low gear. Wing-ding-ding-ding; wing-ding-ding-ding! Soon, the strain was too much for this poor little mini-truck and the engine blew its guts in a cloud of dark gray smoke! We pulled quickly over to the shoulder of the road as smoke continued to rise from the small engine. The driver started going nuts and cursed us in Vietnamese, making waving motions with his hands. "Number 10, GI" he said. "Number-fucking-ten GI." As we all bailed out of the back of the truck, he shouted at us, demanding money for repairs. We felt very little pity on him, but did give him some extra piasters. Then, we waved down another taxi, jumped in and drove away while waving to him as we laughed our fool heads off. The poor guy was still shaking his fist at us while we left him standing there.
We were dropped off somewhere on the main road as it entered the commercial part of the city. We walked along the side of the dusty road, being assaulted by all sorts of sights and smells. There were street venders everywhere. As we walked we were approached by young boys trying to sell everything from trinkets, to pornography, and even their sixteen year old sister. " Hey, GI—you want number one boom-boom? Number one French girl! You come with me, GI. I show you number one short time!" Then he gave me a wide grin and tugged at my arm. This went on incessantly as we walked down the street. No sooner had we convinced one kid we weren't interested, than another one would appear and start all over with the same aggressive routine. These kids were street wise beyond their years— experienced street hustlers by the time they were7 or 8 years old.
We came to a place on our left that was a bar and decided to check it out. So we all went inside and found a round table large enough to seat us all. The waitress was a very beautiful petite woman. She had skin that was fair and radiant, large brown eyes that were expressive and enticing, long black eyelashes, and shiny black hair. She was wearing a silk gown that was gathered at her small waist that was no larger than a power lifter's bicep. It was quite a sight for a bunch of field grunts who had rarely seen anything better looking than a water buffalo.
Soon, we had our drinks and began to loosen up and tell jokes. A young lady in an elegant silk dress approached and sat down at the table with us. Soon she was the center of attention. After our drinks ran dry, we ordered another round and she asked one of us to buy her a Saigon Tea— another way to hustle GIs out of their paychecks. However, months in the bush tend to make a young man vulnerable to the clever wiles of the beautiful young ladies in silk. Many of them had delicate features, petite figures, and the sales skills that rivaled those of Tom Hopkins or Zig Ziglar.
After some time, we heard a ruckus going on and looked around the room. There was an ARVN soldier seated with a couple others a few feet away; he was so drunk he was cross-eyed and waving his head back and forth. He was shouting obscenities when suddenly he stood to his feet and started waving his 38 caliber Smith and Wesson revolver at everyone. For a few seconds he pointed the pistol in my direction and I flashed momentarily on a morbid thought. I thought to myself, "it could end right here. I might be cut down by this drunken maniac here in this bar." There wouldn't be much glory in that. The Army would send a letter home to my parents telling them of my courageous exploits in Bien Hoa bar. Then I wondered how the local newspaper would handle it. "Local Portland boy survives combat, only to die in bar—friends toast departed comrade with Saigon Tea!"
Everyone in the place froze for a moment, while the drunken ARVN soldier's friends finally persuaded him to put his gun away. That did it! We decided there must be a better place to get a drink and relax, so we moved on. We walked back out to the street and readjusted our eyes to the harsh light. All of us laughed and talked about the experience as we made our way deeper into the bowels of the city.
As we walked we passed more venders, encountered more hustlers, and absorbed it all as though it was a stroll through a carnival. We were relaxed, yet always aware of the unexpected. On our right we passed by a Catholic orphanage with dirty white stucco walls, a tile roof, and shuttered window openings. It seemed out of context, like a kindergarten in the midst of a lion's den.
Continuing further, we came to an area where the crowded sidewalks grew denser and the buildings were built close together. A couple of my friends stopped to look at trinkets and souvenirs that a street vender was selling from his cart. The cart had two bicycle wheels and a hinged glass top that he kept locked. His wares were displayed beneath the glass cover on the cart. Everything was up for barter, of course.
As my friends were haggling with the street vendor over some truly priceless souvenir, I stood by a few feet away amusing myself by looking at the action on the street. All at once a kid about 15 years old ran by me, bumping me off balance, while grabbing the new wrist- watch off my arm. I didn't see it coming. He was fast and ran like greased lighting down a narrow side alley. I followed in hot pusuit, with a vengeance in my eyes. I was sure I could catch him. Wrong! He suddenly disappeared in the shadows of the dingy alley.
I had run a couple hundred feet down the alley when I noticed an alcove on my right with an open doorway. I looked inside and saw an old man who was a tailor. He was standing at his sewing machine and looked up at me as I approached. I asked him in my rudimentary Vietnamese, if he had seen a young boy who stole my watch. He said, "cum buec"—he did not understand. I knew he was lying by the look in his eyes. I was getting nowhere with the old guy, so I walked back out into the alley, thinking I might see some sign of the young thief. When I got to the center of the alley, a crowd of young men, about my age, emerged from the shadows to my right.
These guys were what we commonly referred to as "cowboys." Cowboys were draft dodgers, thieves, hoods and hustlers who made their living on the streets, the black market, and back alleys. They plied their illegal craft, taking advantage of the infusion of GI money into the Vietnamese economy. The leader of this group of thugs was short, but cocky and aggressive. He quickly approached me, demonstrating his bold leadership to his comrades. He came directly at me with a karate stance, then lunged forward with his left hand extended like a knife cutting the air, yelling "yeeaahh!" Without hesitating, I hit him with a left jab square to his nose. That sent him reeling backward several feet, taking the wind out of his sails. His friends caught him as he hurled to the ground. They looked at me with disbelief in their eyes. Then they straightened him up and pushed him back at me for a second attempt. This time he was more reluctant to strike out at me. I took advantage of his hesitation and hit him again. Then, some of his friends hit me across the shoulder with a big stick that looked like a 2 by 4, followed by a large brick that hit me in the side of the head. My adrenalin must have been running full tilt because I just seemed to shrug it off like swatting at an annoying fly.
At that point, I swung again hitting the second man in the head, putting him on the ground. By now I figured I was going to have to fight my way out through all of them, or look for an exit opportunity. I didn't want to dwell on the prospect of being beaten, robbed and left for dead in the alley. The rest of the group started to close in for the kill while I glanced over my shoulder quickly. I saw two more cowboys approaching quietly from my rear. They were still 30 feet behind me. Discretion seemed like the better part of valor, so I took a giant step back, while keeping my eyes on the group in front of me and my fists at the ready. Then suddenly I spun around and started hauling my buns down the narrow alley. When I got to where the two men were they started to move out of the way. I stuck a stiff right arm out, parallel with the ground, and caught one of them under the chin in the windpipe. He landed on his tail. His friend made no attempt to stop me as I continued my sprint from the alley to the main street.
I kept running till I arrived back at the street, breathing heavily. None of the cowboys bothered to follow me; they faded back into the shadows of the alley. I looked to my right and saw my friends still gathered there still talking with the street vender. Still breathing heavily, I walked up to them and said "so, where were you guys?" "We wondered what happened to you, they said." I couldn't believe it; they didn't seem very concerned. I said, "I'm sure glad you guys were there when I needed you." I was angry that I had lost my watch, but relief began to wash over me as I realized that I still had my life and my wallet. I had been suckered down the alley in an old ploy, so they could overpower me and take whatever money and valuables I might have. I wondered how many others had succumbed to this ploy.
While I stood there with my friends, I decided to purchase an old- fashioned folding straight razor from the vendor and stuffed it in my pants pocket for protection. I felt a little naked in the aftermath of my encounter without a weapon, and didn't want to be caught unprepared. We started walking down the road again and I related my story to my friends. They couldn't believe what had happened to me. I kept my hand close to the razor for the remainder of the day realizing that the combat zones in Vietnam were not clearly defined. Death could come around any corner at any time. It could be a small child carrying a grenade, or from the friendly village man, who donned his black pajamas and AK-47 at night using satchel charges to bring death upon the Americans.
TEA TIME IN BIEN HOA
By this time we were getting hungry and started asking if there were a good restaurant where we could get a meal. We were told about the American Club. We walked a few more blocks, then caught a Bien Hoa taxi—actually a bicycle powered rickshaw. We piled in two rickshaws and headed for the club while these small guys with sturdy legs hauled us on their bicycle-powered rickshaws. We did our best to create some rivalry and encouraged them to race each other.
At the American Club we were told we could get a message before dinner. Naturally this option sounded appealing, so we were given private rooms where we could shower, take a steam bath, and then get a message. That was quite an experience after being in the boonies. It is overwhelming to experience things that you have been deprived of for so long. Music, good food, drinks, and an opportunity to release tension set the stage for an unpredictable situation. There was little wonder why the MPs were patrolling the hot spots in the city.
Inside the club, we were directed to the private area on the lower level where there were showers, steam rooms, and private massage rooms attended by a masseuse. We started with a hot shower, which was in itself, a luxury. Then we sat in a steam room for several minutes until sufficiently cooked, and then back to the shower. After wrapping in a large white towel, we were each shown to a small private room with a massage table in the center of the space.
After climbing on the table and covering my lower extremities with the towel, I laid face down and awaited the grand finale. It would have been easier if the masseuse had been ugly, but she was quite attractive. All sense of time melted away and I just followed her instructions to roll over on my side or back when told to do so. I wondered what was going on in the other rooms and whether to trust this woman. Was she really a VC in disguise?
The massage finally ended and I wasn't even propositioned, which was a surprise. I wondered if I was the only one. I dressed and made my way upstairs after paying the masseuse. On the main level several of us gathered and went into the dining area for a real meal. I ordered shrimp and fried rice. Looking around the restaurant there were guys from other units—the Big Red One, 1st Cav, 173rd Airborne,25th Division, Americal, 9th Division, 5th Special Forces, Navy Seals and a few pilots. Compared to the other dives, this place had an air of civility, however tenuous that was.
All of us were pretty relaxed by this time and the jokes and stories started to flow. There was little mention of field operations unless it was to relate a funny incident. The food was delivered and then was devoured quickly.
We wandered from the restaurant into the bar area on the other end of the building. The lights were dim and there were round tables and an open area for dance. The windows were shuttered and there was a long mahogany bar on the opposite wall. Our group gathered at a couple tables and we were immediately approached by an attractive young lady who took our bar orders. It didn't take long to notice a few beautiful ladies in the silk form fitting dresses. They were working the room systematically.
These ladies were quite feminine and the sight of one of them sitting next to a grunt just in from the field was a study in contrasts. Some of them had a hard edge and crafty eyes that told a story of finely- honed business skills probably not learned in curio shops.
My friend Clark was sitting at the table across from me when suddenly a Madonna in silk sat beside him and smiled. He gave a nervous chuckle and magnetically fixed his eyes on hers. I sensed he was in trouble. This was not a situation that was covered in infantry training, but a dangerous trap nonetheless. Here were younf combat soldiers being led like lambs to the slaughter. Clark was a farm boy from Pennsylvania and treading in dangerous territory.
Within a few minutes he had enough drinks to get very loose and had purchased his lady companion several Saigon Teas at $4 or $5 each. Her tea cup was not much larger than a thimble and this gathering hardly resembled a sewing circle. This was serious entrepreneurship at its best. The American Club was a goldmine pandering to the longings and vulnerability of GIs halfway around the world from their homes.
I looked around the room and saw that this was a case study worthy of being written up in the Harvard Business Review. This place was a well-oiled machine. The customers were a steady stream of love-starved, homesick GIs with a proclivity for warm flesh and American booze.
Soon, Clark was in over his head; he burned through his money like kid in a candy shop. He was lovestruck, so he thought. In less than two hours he had gone through his entire paycheck. Now he was asking me for a loan. I gave him some money and told him we were leaving after one more drink. He was ready to mortgage his soul as I'm convinced that some customers had already done. It was a hard sell, but we were able to get Clark out of there before he lost his soul to the devil—whatever her name was.
Fortunately everyone was still in good humor as we stepped out into the street. We flagged down a couple rickshaws and raced back to the pickup point where deuce-and-a-half trucks were picking up GIs to go back to Brigade Main Base in Long Binh. It was dark now and the MPs were reinforcing curfew, telling soldiers to get out of Dodge. The outbound traffic was a steady stream of olive drab military vehicles, Vespas and Lambrettas. Horns were honking and the warm night air filled with the clamor of the servicemen feeling their oats. There was a mass exodus at curfew time. Everyone in our group jumped on an outbound truck. The party was over; it was time to get back to the war.
"The Short Reprieve"
Author: Greg Stadler
Copyright October 1, 2003, Portland, Oregon, United States of America
Use of this material in whole or in part is illegal except in those instances
when prior permission has been sought and granted by the author
A personal experience: Echo Company, 2nd Battalion, 3rd Infantry,
199th Light Infantry Brigade (Separate)
7:00 pm - 8:00 pm Monthly Meeting

redpajama_set_name: RedPajamaCommonCrawl


text:
Whose Gospel Statement?
The high-minded hijacking of evangelicalism?
Every religious group--perhaps, indeed, every group--defines itself by who's in and who's out. Who gets included is as important as who gets excluded. This is as true of the Spongers, a new cult whose sacred texts are the works of former Newark, N.J., archbishop John Shelby Spong as it is of the Crucified Jesus People, the fundamentalist Christian sect sprung whole from the imagination of novelist William Gibson. (They carry chrome nails in leather neck-pouches and every once in a while crucify someone.) Hence the ongoing debates here and in Israel about who is and isn't a Jew and the sharp disagreement between "conservative" and "liberal" Catholics in the United States over what it means to be Catholic.
A similar struggle has been going on among U.S. evangelicals since the mid-1970s--though historically minded observers might say that the debate began with the birth of evangelicalism in the early 18th century, that it's simply endemic to the movement, which has always been a loose coalition of wildly different groups. Most Americans are familiar with the political dimension of the contemporary debate--the failed attempt by the so-called religious right to link evangelical identity with a particular political agenda. The more enduring theological side of the debate, though, has been little heard outside evangelical circles.
For those of us who call ourselves evangelicals, this business of self-definition is obviously of crucial importance. You can't be born evangelical, the way you can be born Catholic or Orthodox; conversion is necessary. But who decides exactly what that means? Who defines what it means to be evangelical?
A handy entry-point to this debate is "The Gospel of Jesus Christ: An Evangelical Celebration" (more simply, "the Gospel Statement"), a "clear, definitive statement of the essentials of the Gospel," drafted last year by a committee of evangelical dignitaries. First published in June 1999 in Christianity Today magazine, it is now being promoted in "This We Believe: The Good News of Jesus Christ for the World," a book launched with much pomp and ceremony in July at the Christian Booksellers Association convention in New Orleans. While the book consists largely of a collection of essays drawing out the statement's implications, it also lists the members of the drafting committee and other signatories.
This list is not an incidental feature. Chuck Colson, Jerry Falwell, Billy Graham, Pat Robertson, Campus Crusade for Christ founder Bill Bright, Willow Creek's Bill Hybels, "Left Behind" author Tim LaHaye, Promise Keepers founder Bill McCartney, Luis Palau, and theologian John Stott are all there, with the presidents of a number of evangelical colleges and seminaries, and various others. The list is followed by a "personal affirmation" (name and date to be filled in by the book's owner) by which the reader is encouraged to "embrace this declaration and affirm my commitment to the task of proclaiming this Gospel, and with it my allegiance to Christ himself, to the Gospel itself, and to my fellow cosigners as evangelical believers."
The implication is quite clear: If you're an evangelical, you'll have no problem endorsing the Gospel Statement. And if you won't sign, we're going to need a urine sample, for starters.
Are you in, in other words, or are you out? I, for one, am out. Let me explain why.
American evangelicals are bewilderingly diverse. They may be Korean American Presbyterians with a strong sense of denominational loyalty. They may worship at a "Fire Baptized" urban storefront church. They may be members of one of the nondenominational megachurches that have sprung up in the last 25 years, where you won't see a cross on the building, let alone a steeple.
Within this teeming variety there are some broad categories, such as the distinction between evangelicals in the Reformed tradition (Presbyterians and others who trace their origins to John Calvin) and those who, whatever their other differences, join in rejecting classic Reformed doctrines such as predestination (the idea that God has already "predestined" some of us for salvation and some for damnation). The Reformed wing makes up only a very small percentage of American evangelicals, but historically they have exercised an influence far greater than their numbers would suggest.
In recent years, two leading Reformed thinkers, J.I. Packer and Timothy George, have participated in the unofficial ecumenical initiative known as "Evangelicals and Catholics Together." In response, Packer in particular was viciously attacked by R.C. Sproul, the bully-boy of the hyper-Calvinist Reformed crowd. (Sproul's followers refer to him as a theologian. If he is a theologian, I am the shortstop of the New York Yankees. He is a skilled polemicist--not anything to be ashamed of, if your polemics are in a good cause.)
Packer, Sproul said, had sold the Reformation down the river in his dialogue with Catholics, compromising the doctrine of justification by faith.
The idea behind the Gospel Statement, then, was to reconcile these warring parties. Had the document been limited to that end alone, no harm would have been done. Instead, the statement, drafted by a committee dominated by Reformed figures and deformed by its origins in an intramural dispute, has been put forward as a "remarkable show of unity" that "affirms the core beliefs about our salvation that evangelicals hold in common."
While I am proud to count Jim Packer and Timothy George as friends, I can only conclude that they and others on the drafting committee cannot see how this purportedly unifying document is in fact an attempt by one faction of evangelicalism to impose its identity on the entire movement. After it was published in Christianity Today, seven evangelical thinkers--Gerald R. McDermott, Nancey Murphy, Alan G. Padgett. Cornelius Plantinga, Jr., John G. Stackhouse, Jr., Jonathan R. Wilson, and Nicholas Wolterstorff--sent the magazine a letter saying the statement "serves to needlessly marginalize or alienate fellow evangelicals." Its understanding of the gospel, they wrote, "is not truly representative...of many forms of the evangelical tradition, including Anabaptist, Methodist, Holiness, Pentecostal, charismatic, and yes, Reformed varieties."
The published volume does not even acknowledge the existence of such friendly dissent. "You don't like it?" the document seems to be saying. "Make my day."
Consider for example the statement, "The Bible offers no hope that sincere worshipers of other religions will be saved without personal faith in Jesus Christ." C.S. Lewis would not have endorsed that statement. Neither would I, and I know many other evangelicals who would join in dissent. Only through Jesus' redemptive death on the Cross can anyone be saved. But many evangelicals believe that the Bible does indeed offer hope--hope, please note, which is different from certainty!--that believers in other religions can be saved by Jesus. This is a matter of substantial discussion and debate among evangelicals and orthodox Christians more generally. It is a matter on which we must agree to disagree.
One suspects that this attempt to hijack evangelicalism will fail. Evangelicalism has always been first and foremost an "ecumenical theology of the heart," as a recent book on the Moravian leader Count Nicholas Ludwig von Zinzendorff puts it. John Wesley, the founder of Methodism and one of the greatest influences on the formation of American evangelicalism, declared, "Let them hold particular or general redemption, absolute or conditional decrees; let them be churchmen or dissenters, Presbyterians or Independents, it is no obstacle.... One condition, and only one is required--a real desire to save the soul."
Wesley's words, in fact, accord with the practice of many of the signatories far more closely than does the Gospel Statement itself. But evangelicals have a longstanding reputation for "pragmatism." Perhaps many of the signatories decided that the statement was a Good Thing, conducive to saving souls--and never mind the details of what it actually says. That too, alas, would be very "evangelical."
Add some inspiration to your inbox.
Sign up for Beliefnet's Entertainment & Celebrities newsletter.


The U.S. Mid Cap (London Capital) portfolio strategy invests mainly in small to mid-cap U.S. publicly-traded companies with above-average growth potential to achieve long-term capital appreciation.
The portfolio managers pursue a proprietary and systematic approach, benefiting from quantitative-driven analysis to identify stocks with the most attractive combination of attributes. The portfolio manager seeks the flexibility of a small- or mid-cap company (ranging in size between US$1 and US$10 billion in market capitalization) to adapt to changing economic conditions, and a competitive product or service advantage relative to industry peers. Fundamental factor-analysis underpins stock selection and portfolio construction to isolate and capitalize on key drivers of market performance.
Ideal for investors seeking to diversify their U.S. equity holdings with a portfolio of mid-sized U.S. companies.
This portfolio can be an excellent diversifier from other core and large-cap U.S. portfolio strategies, and tends to hold stocks not typically held within large-cap U.S. portfolios.
It offers a portfolio of companies with higher growth potential and the opportunity to participate in strong price appreciation at earlier stages of the investment lifecycle.
Mid-cap companies tend to have smaller overseas exposure than their large-cap peers, allowing them to perform better when the U.S. economy is outperforming its global peers.
The portfolio is well diversified across sectors. In addition to offering a portfolio with a smaller average cap size than the broad market, typical portfolio characteristics include stronger growth and growth momentum metrics than the broad U.S. market index, the S&P 500 Index.
Brenda Nicholls is the lead manager of the U.S. Mid Cap Equity (London Capital) portfolio strategy and is supported by the London Capital team. Learn more about the London Capital investment philosophy and strategy.


text:
Q: Amazon AWS - setting up a new org + team for dummies? I'm fairly new to AWS, and am trying to wrap my head around best practices for how to set up a new project and team.
I work for a business (WidgetsIncorporated)
...that is starting a project/product (NewWidget)
...that consists of three developers (Adam, Bob, Charlie)
Adam and Bob and Charlie need to collaborate on building a NewWidget proof-of-concept, so they are setting up Route 53 DNS, S3 buckets, lamdas, containers, etc.
I used the org's AWS root account to invite adam@widgetsinc and bob and charlie too, but when they log in that way, the resources (users, etc) that they create seem to belong to their own accounts and others can't see them. What I need is a shared development sandbox that they play in together.
What's the right way to do that? I assume it's not to use resource sharing between their accounts.
Would I make a single 'development' account and have them all share it?

redpajama_set_name: RedPajamaStackExchange


text:
Caring for Pastors. Assisting Churches. Reaching The Community. Equipping the Saints.
Resilliance
Darrel Muth
Feeling Forced? Want Vindication?
If crisis reveals character, this is certainly the season for exposing our true nature. Organizational structures and we who populate them are finding for better and for worse. Where we are healthy and where we are not.
Are you committed to working for an organization or ministry, but things are going sideways?
Victimized, misunderstood, feeling forced to do? To be?
There is a great little story tucked away in 2 Kings. It tells of a girl who chooses the best for her victimizer. The writer of this book didn't see fit to record her name; I think he made a mistake. She is worthy of a name. But then, perhaps God knew that you and I could identify better with her if she remained anonymous. Unknown, like you and me?
"Now Naaman was commander of the army of the king of Aram. He was a great man in the sight of his master and highly regarded because through him the Lord had given victory to Aram. He was a valiant soldier, but he had leprosy. Now bands from Aram had gone out and had taken captive a young girl from Israel, and she served Naaman's wife" (2 kings 5:1, 2).
If she was at all like you and me, she must have been secretly happy that her master was afflicted with this terrible disease. After all, wasn't that his punishment? Sweet Retribution?
Do any of us secretly hope that the plans of leadership will fail?
That the lead person will lose their position?
That you will be vindicated?
She was less like me (and maybe you) than I thought, for she only wished the best for him:
She said to her mistress, "If only my master would see the prophet who is in Samaria! He would cure him of his leprosy (2 Kings 5:3).
At some point in our lives, you and I become victimized. While being oppressed may be out of our control.
Remaining the victim is influenced by our response. It is ours to choose.
Wanting payback for those who victimize has always been an ungodly but accepted quality. One of my guilty pleasures is watching a retribution themed movie, and the wronged get their revenge. The harsher, the better.
Christ taught a novel, counter-cultural way of responding to abuse: redemptive rather than retributive.
If someone forces you to go one mile, go with him two miles. Give to the one who asks you, and do not turn away from the one who wants to borrow from you. "You have heard that it was said, 'Love your neighbour and hate your enemy.' But I tell you: Love your enemies and pray for those who persecute you" (Matthew 5:41-44).
Our redemptive response emancipates us from a victim mindset.
Our redemptive response reveals our nature and builds character.
Killing With Kindness
The Domestique
I am a fan of bicycle racing. The Tour De France is the most famous. Because most of these races take place in Europe 8-10 hours ahead, the cycling season is hard on my sleep. Each race begins with a
Assessing Mental Health in the Church
When it comes to assessing mental health in the local church, we need to be cognisant of the fact that we are assessing, not diagnosing. Diagnostic work needs to be handled by professionals with diagn
©2020 by Pastoral CARE Canada. Created by CommonCatalyst.ca


text:
Q: Pandas groupby: checking gaps within a group This is my data frame, If there is a gap in Year for a particular name, Gap column should be True else False.
Name    Year       Gap
A       2008      False
A       2008      False
A       2009      True
A       2011      False
B       2010      True
B       2013      False

A: You can do:
df['Gap'] = df.groupby('Name')['Year'].diff(-1).lt(-1)

Output:
0    False
1    False
2     True
3    False
4     True
5    False
Name: Year, dtype: bool


text:
Q: Extracting gps coordinates from exif info of photo images I need to extract the GPS coordinates from the Exif information of a series of image. This used to work in Mathematica 11.0.0 (on MacOSX):
Import[zf, {"Exif", {"GPSLatitude", "GPSLongitude", "GPSAltitude",
   "DateTime"}}]
(where zf contains the file path to the photo image).
Unfortunately in Mathematica 11.0.1 this does no longer work. I have seen a previous question/answer using image=Import[zf,"ImageWithExif"] and then digging out the values using complicated manipulations of Options[image,Metainformation]. Is this a bug in 11.0.1? or did my previous variant work by chance but is not syntactically correct?
Should also add that using image=Import[zf,"ImageWithExif"] and then extracting the info with Options[image,Metainformation] is terribly inefficient. The original variant was much faster.

A: The solution is much simpler: I get the GPS info directly with:
Import[zf,{{"GeoPosition","DateTime"}}]
This is also very efficient. Still strange why the old syntax does not work anymore.

A: Lets take the following image and save it somewhere (in my case to f:\test.jpg)

Then I execute (MMA 11.0.1):
Import["F:\\test.jpg", {"Exif", {"GPSLatitude", "GPSLongitude",
   "GPSAltitude", "DateTime"}}]

The output is (contains gps data):
<|"Make" -> "Apple", "Model" -> "iPhone 4",
 "Orientation" -> <|"CameraTopOrientation" -> Top,
   "Mirrored" -> False|>, "XResolution" -> 72, "YResolution" -> 72,
 "ResolutionUnit" -> "inch", "Software" -> "4.3.5",
 "DateTime" ->
  DateObject[{2011, 9, 4}, TimeObject[{12, 51, 11.}, TimeZone -> 1.],
   TimeZone -> 1.], "ExposureTime" -> Quantity[1/3016, "Seconds"],
 "FNumber" -> "f/2.8", "ExposureProgram" -> "Auto",
 "ISOSpeedRatings" -> 80, "ExifVersion" -> "2.21",
 "DateTimeOriginal" ->
  DateObject[{2011, 9, 4}, TimeObject[{12, 51, 11.}, TimeZone -> 1.],
   TimeZone -> 1.],
 "DateTimeDigitized" ->
  DateObject[{2011, 9, 4}, TimeObject[{12, 51, 11.}, TimeZone -> 1.],
   TimeZone -> 1.], "ComponentsConfiguration" -> "YCbCr",
 "ShutterSpeedValue" -> 11.5587, "ApertureValue" -> 2.8,
 "MeteringMode" -> "Multi-segment",
 "FlashInfo" -> <|"FlashUsed" -> False,
   "FlashFiringStatus" -> "No strobe return detection function",
   "FlashMode" -> Missing["Unknown"], "FlashFunctionPresent" -> True,
   "RedEyeCorrection" -> False|>,
 "FocalLength" -> Quantity[3.8, "Millimeters"],
 "FlashpixVersion" -> "1.00", "ColorSpace" -> "RGBColor",
 "PixelXDimension" -> 1024, "PixelYDimension" -> 765,
 "SensingMethod" -> "One-chip color area",
 "CustomRendered" -> Missing["Disputed"], "ExposureMode" -> "Auto",
 "WhiteBalance" -> "Auto", "SceneCaptureType" -> "Standard",
 "GPSLatitudeRef" -> "North",
 "GPSLatitude" -> Quantity[38.9098, "AngularDegrees"],
 "GPSLongitudeRef" -> "East",
 "GPSLongitude" -> Quantity[1.43867, "AngularDegrees"],
 "GPSAltitudeRef" -> "AboveSeaLevel",
 "GPSAltitude" -> Quantity[Select[0, NumberQ[#1] &], "Meters"],
 "GPSTimeStamp" -> TimeObject[{11, 7, 47.}, TimeZone -> 1.],
 "GPSImgDirectionRef" -> "True direction",
 "GPSImgDirection" -> Quantity[5338/65, "AngularDegrees"],
 "GPSDateStamp" -> DateObject[{2011, 9, 4}]|>


text:
\section{Introduction}

A trend in speaker recognition has focused on building systems utilizing fixed-size, compact, speaker embeddings. Examples include i-vectors~\cite{dehak_2011_1}, x-vectors~\cite{snyder_2018_1}, d-vectors~\cite{heigold_2016_1,wan_2018_1}, residual network variants~\cite{desplanques_2020_1} and adapted network representations~\cite{tan2021_1}. These embeddings are used directly for cosine based scoring as a similarity measure, or are included as part of a backend. The backend is trained either separately or jointly with the embedding network. For example, a PLDA model~\cite{prince_2007_1} was trained separately as part of a backend to score x-vectors~\cite{snyder_2018_1}. For contrast, there is an example of joint training of an embedding extractor with a PLDA backend~\cite{silnova_2020_1} or a decision network~\cite{pelecanos2021_1}.

With the introduction of neural network Transformers~\cite{vaswani2017_1}, the speaker recognition  community has considered how this work may be leveraged~\cite{tong_2020_1, safari_2020_1, mary_2020_1, wang_2022_1}. Typically, the transformer encoder is involved in generating a speaker embedding. A key element of the Transformer model is the attention mechanism. In this work, we are interested in how attention can be used to compare utterance embeddings.

Interestingly, some work previously examined how attention could be applied as part of backend in an end-to-end trained system. For example, in~\cite{Li2020TextIndependentSV}, the authors utilize a mutual-attention approach to perform a weighted combination of enrollment frames given an intermediate test utterance embedding and vice versa. To compute the speaker similarity, rather than just using speaker embeddings, both the enrollment and test utterances are required. For the work in~\cite{Jung2021graphatt}, the authors extract embeddings from short audio chunks and then use stacked modules of attention modeling to compute the final similarity score. Both approaches require scoring parameters to be estimated as part of the training process.

From an engineering perspective, having one single neural network that computes the speaker embedding without the need of additional parameters or models to compute the scores simplifies the deployment process of a speaker recognition system. It can also reduce risk related to version control~\cite{wang2020version} by avoiding the need to handle separate embedding generation and scoring networks.

Inspired by the Transformer work~\cite{vaswani2017_1}, we propose the use of a parameter-free attentive scoring mechanism\footnote{An open source implementation of attentive scoring and attentive temporal pooling modules based on Lingvo~\cite{shen2019lingvo} is provided at: \url{https://github.com/google/speaker-id/tree/master/lingvo}}. To the best of our knowledge, this is the first paper to perform attentive scoring using a parameter-free comparison of speaker embeddings. In contrast to~\cite{Li2020TextIndependentSV}, this approach does not need the original recordings once the speaker embeddings are generated. In addition, we perform a study of how performance changes with different types of feature normalization (Layer norm~\cite{ba2016_1}, L2-Norm, and no-norm) and modeling complexity (\emph{i.e.} the number of keys). We also evaluate scenarios with independent and tied queries/keys and as well as an approach for handling many enrollment utterances.

The remainder of the paper is as follows. Section~\ref{sec:attention_scoring} introduces the specifics of the parameter-free attentive scoring work; Section~\ref{sec:system_description} provides details on the broader system used in the analysis; Section~\ref{sec:experiment_and_results} follows this with an experimental analysis; and Section~\ref{sec:conclusion} wraps up with the conclusion.

\section{Parameter-free attentive scoring}
\label{sec:attention_scoring}

\subsection{Core approach}

In this section, we detail an attentive scoring mechanism based on the work of~\cite{vaswani2017_1}. First, we assume that a jointly trained embedding network will generate the fixed dimensional speaker representations for both enrollment and test utterances. A test utterance representation $\vec{U}_{t}$ can be composed of $M$ \textit{query} vectors and $M$ corresponding \textit{value} vectors $\vec{U}_{t}=\{\vec{q}_m, \vec{t}_m\}_{m=1,\ldots,M}$. For each enrollment utterance, there are $M$ \textit{key} vectors and $M$ corresponding \textit{value} vectors. Given $E$ enrollment utterances for a speaker, there are $N$ \textit{key} vectors (where $N=M \times E$) and $N$ corresponding \textit{value} vectors given by $\vec{U}_{e}=\{\vec{k}_n, \vec{e}_n\}_{n=1, \ldots, N}$. Keys and queries are of dimension $d_k$, while values are of dimension $d_v$. Let a parameter $\alpha$ represent a scaling factor (or \textit{temperature} parameter~\cite{Hinton2015DistillingTK}) for the softmax function; which can be jointly trained or directly specified as a hyperparameter (for example~\cite{vaswani2017_1} set $\alpha = 1 / \sqrt{d_k}$). The parameter-free (apart from $\alpha$) attentive score $s_{\text{att}}$ may be calculated as follows:

\begin{align}
\label{eqn:attention}
s_{\text{att}}(\vec{U}_{t}, \vec{U}_{e}) &= \sum_{m=1}^{M} \sum_{n=1}^{N} w_{mn} \vec{t}_m \cdot \vec{e}_n \\
\label{eq:softmax}
w_{mn} &= \frac{\exp (\alpha \, \vec{q}_m \cdot \vec{k}_n)}{\sum_{i=1}^M \sum_{j=1}^N \exp ( \alpha \, \vec{q}_i \cdot \vec{k}_j)}
\end{align}
\vspace{0.2cm}

Here ($\cdot$) represents the dot product.

The scoring function can be interpreted simply as a weighted combination of dot products across embeddings (\emph{i.e.} the value vectors), where the weights are determined using the softmax calculation (based on query and key comparisons). In addition, the softmax weight function enables \textit{value} vectors to be compared across multiple key/query indexes with an emphasis on the most relevant pairings. We found that normalization is important for enhancing performance and we discuss this next.

\subsection{Normalization}

In this work we examine different types of normalization and evaluate their effectiveness in experiments section.

\subsubsection{Layer normalization}
One approach is Layer Normalization~\cite{ba2016_1} where the features across a single example are transformed to have a zero mean and unit standard deviation. This is followed by the application of a per element bias and gain. While there are other possible configurations, we apply Layer Normalization at the utterance representation level.

\subsubsection{Query, key and value normalization}
In Equations~\ref{eqn:attention} and~\ref{eq:softmax}, the key and value vectors may be used as is or they can each be normalized. One approach we assess is to apply L2 length normalization to the query, key and value vectors. Note that if the value vectors are L2 length normalized, the attentive scoring function effectively calculates a weighted combination of cosine similarity scores.

\subsubsection{Global length normalization}
\label{sec:global_norm_variant}
Equation~\ref{eqn:attention} can be interpreted as one large dot product between enrollment and test value vector representations with $\{w_{mn}\}_{\forall m,n}$ split between enrollment and test. The score $s_{\text{att}}(\vec{U}_{t}, \vec{U}_{e})$ can be calculated as follows.
\begin{align}
\label{eqn:attentiondotprod}
s_{\text{att}}(\vec{U}_{t}, \vec{U}_{e}) &= \vec{a} \cdot \vec{b}
\end{align}
\begin{align}
\vec{a} = \left(\begin{smallmatrix}\left(\begin{smallmatrix}
\sqrt{w_{11}} \vec{t}_1 \\
\vdots \\   \\
\sqrt{w_{1N}} \vec{t}_1
\end{smallmatrix}\right)\\
\vdots \vspace{0.15cm} \\
\left(\begin{smallmatrix}
\sqrt{w_{M1}} \vec{t}_M \\
\vdots  \\ \\
\sqrt{w_{MN}} \vec{t}_M
\end{smallmatrix}\right)
\end{smallmatrix}\right)
\hspace{0.5cm}\vec{b}= \left(\begin{smallmatrix}\left(\begin{smallmatrix}
\sqrt{w_{11}} \vec{e}_1 \\
\vdots \\ \\
\sqrt{w_{1N}} \vec{e}_N
\end{smallmatrix}\right)\\
 \vdots \vspace{0.15cm} \\
\left(\begin{smallmatrix}
\sqrt{w_{M1}} \vec{e}_1 \\
\vdots \\ \\
\sqrt{w_{MN}} \vec{e}_N
\end{smallmatrix}\right)
\end{smallmatrix}\right)
\end{align}
\vspace{0.2cm}

We can apply L2 length normalization to these representations to obtain a result that relates to a cosine or correlation calculation for the concatenated vector representations $\vec{a}$ and $\vec{b}$. The normalized score may be calculated as:
\begin{align}
\label{eqn:globalnormattention}
s_{\|\text{att}\|} (\vec{U}_{t}, \vec{U}_{e}) &= \frac{s_{\text{att}}(\vec{U}_{t}, \vec{U}_{e})} { \sqrt{\|\vec{a}\|_2^2 \; \|\vec{b}\|_2^2} } = \frac{\vec{a} \cdot \vec{b}} { \sqrt{\|\vec{a}\|_2^2 \; \|\vec{b}\|_2^2} }
\\
\|\vec{a}\|_2^2 &= \sum_{m=1}^{M}  \left( \sum_{n=1}^{N} w_{mn} \right) \|\vec{t}_m\|_2^2  \\
    \|\vec{b}\|_2^2 &= \sum_{n=1}^{N} \left(\sum_{m=1}^{M} w_{mn}\right)  \|\vec{e}_n\|_2^2
\end{align}

Here, $\|\vec{a}\|_2^2$ and $\|\vec{b}\|_2^2\,$ represent the squares of the Euclidean norms of the corresponding vectors $\vec{a}$ and $\vec{b}$. Similarly, $\|\vec{t}_m\|_2^2$ and $\|\vec{e}_n\|_2^2$ represent the squares of the Euclidean norms for $\vec{t}_m$ and $\vec{e}_n$. This normalized dot product is evaluated in the experiments as the \textit{Global L2-norm} system.

\subsection{Implementation considerations}
This section covers the implementation considerations related to attentive scoring.

\subsubsection{Generating keys, queries and values}
First we discuss how to generate the key/query/value vector representations from the speaker embedding network. A speaker embedding network based on Conformers~\cite{gulati2020conformer} is used to generate a fixed dimensional representation. This is followed by a linear layer (without activation) where the number of output nodes is equivalent to the number of parameters needed to estimate the key/query/value vectors. The relevant vectors are unpacked from the speaker representation generated by the embedding network. Figure~\ref{fig:packunpack}\hyperref[fig:packunpack]{{\it a}} shows how a packed speaker representation containing 2 query-key-value vectors is unpacked into independent queries (2 dimensions), keys (2 dimensions), and values (3 dimensions). Figure~\ref{fig:packunpack}\hyperref[fig:packunpack]{{\it b}} shows how a query-key-value vector is unpacked when the queries and keys have values that are tied (\textit{i.e.} they are the same).

\begin{figure}[t]
\includegraphics[trim={3cm 0.8cm 4.2cm 0.7cm},clip,width=\columnwidth]{packed_unpacked_representation.pdf}
\caption{{\it Packed and unpacked forms of an utterance representation for: (a) 2 sets of query-key-value triplets where the queries and keys are independently estimated. Note that for the current scoring paradigm the keys from test utterances and the queries from enrollment representations would not be used. (b) 2 sets of query-key-value outputs where queries and keys are tied and treated interchangeably. Here, as an example, $q_{12}|k_{12}$ means that the corresponding element in the vector can represent either a query term $q_{12}$ for test or a key term $k_{12}$ for enrollment. Additionally, $v_{12}$ represents the corresponding element from \textit{value} vectors from either $\vec{e}$ for enrollment or $\vec{t}$ for test. For both (a) and (b) the \textit{value} vectors are always tied for enrollment and test utterances.}}
\label{fig:packunpack}
\end{figure}

There is an important clarification regarding enrollment utterances and the effective number of keys/queries/values. As presented in Figure~\ref{fig:packunpack}, the number of enrollment keys (and similarly queries and values) for a speaker is the number of enrollment utterances for the speaker times the number of enrollment keys per utterance. Since there is only one test utterance involved in a trial, this equates to $M$ keys/queries per utterance. In the experiments there are up to 6 enrollment utterances per speaker. So, for the case of 6 enrollment segments, the number of enrollment keys, $N$, would be equal to $6\times M$.

\subsubsection{Setting the softmax temperature}
One clarification is how the softmax scaling parameter alpha ($\alpha$) is set. In the attention paper~\cite{vaswani2017_1}, it is suggested that the softmax scaling parameter ($\alpha$ in Equation~\ref{eq:softmax}) can be specified manually as $1 / \sqrt{d_k}$. It is a scaling factor (or temperature) used to govern how much the highest score dominates the softmax function. In this work, we explicitly train the scaling factor which can be included with the output of the speaker embedding network if required.

\subsubsection{Handling many enrollment utterances}
Another consideration is the handling of many enrollment utterances, since an embedding is generated and kept for each utterance. Having many enrollment utterances can make the size of the effective speaker representation significantly larger. For $E$ enrollment utterances for a speaker, the total number of values to manage is $M \times E \times (d_k + d_v)$. In practical applications, we aim to keep this size reasonable. Some approaches to address this include hierarchical clustering, variability modeling and the most straightforward approach being a simple average of enrollment utterance representations. We examine the performance of simple averaging in the experiments in Section~\ref{sec:many_enroll}.

\section{System description}
\label{sec:system_description}

This section covers a description of the system used to generate the utterance embeddings, details on the attentive scoring approach and information on system training. First we discuss how the utterance embeddings are generated (see Figure~\ref{fig:system_description}).

The feature extraction front-end essentially consists of calculating log Mel-filterbank energy feature vectors which are then stacked. More specifically, given the speech signal, automatic gain control (AGC) is first applied~\cite{prabhavalkar2015automatic}. This is followed by framing into 32ms Hanning windows with a 10ms frame shift. For each frame, 128 log Mel-filterbank energies are calculated across a 125-7500Hz bandwidth. The final features consist of 4 stacked frames sampled every 3 frames. The resulting features are 512 dimensions with a 30ms frame shift.

These features are fed into a stack of conformer layers~\cite{gulati2020conformer}. Our system uses a stack of 12 conformer layers with a native dimensionality of 512. Each layer has a relative positional embedding dimension of 512 and the attention mechanisms consist of 4 heads. The convolutional component layers span 32 elements. The conformer network generates a 512 dimensional output for each input frame. Last but not least, we perform a stack by 2 with a stride of 2 after the third conformer layer, and insert a non-linear projection layer with an output dimension of 512 after the fourth conformer layer. To handle the `stack by 2' processing, we stream packets of 2 frames at inference time.

An attentive temporal pooling (weighted averaging) layer~\cite{wang2022attentive} is applied to the output of the conformer network to aggregate the first and second order statistics over the duration of the recording. The weighted mean and standard deviation statistics of the conformer outputs are calculated. The weight is a 0 to 1 value generated for each frame by taking a linear combination of the conformer outputs, adding a bias term, and passing it through a sigmoid non-linearity. These per-sample weights are used to generate the \textit{running} mean and standard deviation terms which are then concatenated to give 1024 dimensional features for each frame. In many situations, only the last frame of the model output is used, but intermediate statistics are available if they are needed for various streaming applications. Other works have considered related approaches~\cite{Chowdhury2018_1, zhu2018_1}.

Given the cumulative mean and standard deviation statistics at the final frame, the system applies an affine transformation followed by a ReLU~\cite{nair2010_1,Fukushima1980_1} non-linearity to give 512 output dimensions. This is followed by a linear transformation that has a range of output nodes depending on the number of required parameters. For example, for the cosine calculation, the numbers of output nodes tested were 256, 512 and although not necessary 2,304. For the attentive scoring approach, there were up to 36,864 output nodes.

The utterance embedding extractor is used to generate representations for both enrollment and test utterances. These representations are compared using the cosine similarity (as baseline) or the attentive scoring mechanism to generate a speaker similarity score. During training, these scores are scaled (using a scaling parameter that is trained) and are optimized according to a \textit{generalized end-to-end extended-set softmax} loss~\cite{pelecanos2021_1}. Optimization is performed across randomly generated mini-batches, where each mini-batch compares the statistics of 128 utterances from 16 speakers. More details are available here~\cite{pelecanos2021_1, wan_2018_1}. In this work, the system is trained with Adam optimization~\cite{Kingma2015_1} and uses a warm-up (ramp-up) schedule of 50k steps before allowing the learning rate to decrease until it reaches 500k training steps (a similar approach was used in~\cite{vaswani2017_1}).

\begin{figure}[t]
\includegraphics[width=\columnwidth]{embedding_extraction_updated_v3.pdf}
\caption{{\it Diagram of the utterance embedding extractor. The extractor generates embeddings for both enrollment and test utterances.}}
\label{fig:system_description}
\end{figure}

\section{Experiments}
\label{sec:experiment_and_results}

In this section, we describe the experimental data and perform various experiments examining the effect of normalization, query/key configuration, the number of keys, and enrollment utterance consolidation.

\subsection{Training and evaluation data}

\begin{table}
\centering
 \begin{threeparttable}
  \caption{\label{tab:trainevaldata}  {\it Composition of the training and evaluation data across languages for the (mostly) vendor collected data. All numbers are indicated in thousands (as indicated by [k]).}}
\vspace{2mm}
\setlength{\tabcolsep}{3.2pt}
\begin{tabular}{|l| c c | c c c c|}
\hline
   & \multicolumn{2}{c|}{\textbf{Training}} & \multicolumn{4}{c|}{\textbf{Evaluation}} \\
    \multicolumn{1}{|c|}{\textbf{Language}}      & \textbf{Spk}  & \textbf{Utt} & \textbf{Spk}  & \textbf{Utt} & \textbf{Tar} & \textbf{Non} \\
     & [k]  & [k] & [k]  & [k] & [k] & [k] \\ \hline
  English (India)              & 6.0 & 2900 & 1.6 & 264 &  200 & 200 \\
  English (US)               & 46.7 & 3329 & 12.4 & 543 & 200 & 200 \\
  French              & 5.8 & 2458 & 1.4 & 161 &  152 & 200 \\
  Hindi              & 8.3 & 1642 & 2.4 & 106 &  93 & 200 \\
  Italian              & 5.2 & 2251 & 1.2 & 102 &  95 & 200 \\
  Japanese              & 6.2 & 2048 & 1.7 & 106 & 97 & 200 \\
  Korean               & 5.4 & 1407 & 1.5 & 160 & 151 & 200 \\
  Portuguese (Brazil)   & 5.8 & 1675 & 1.5 & 107 & 97 & 200 \\
  Spanish                   & 4.6 & 2189 & 1.2 & 113 &  106 & 200 \\
  \emph{Other Data/Sources$^\dagger$} & 139.8 & 54499 & -    &  -    &   -   &   -   \\ \hline
\end{tabular}
\begin{tablenotes}
            \item[$\dagger$] {\it  Includes vendor collected data from languages outside of the languages mentioned as well as LibriVox, CN-Celeb, and LDC sourced data.}
\end{tablenotes}
\end{threeparttable}
\end{table}

The training set in Table~\ref{tab:trainevaldata} consists mostly of vendor collected speech queries from different language varieties using devices such as laptops and cell phones. It also includes LibriVox~\cite{librivox_2020_1}, CN-Celeb~\cite{fan_2020_1} and LDC sourced data (Fisher~\cite{Cieri2004_1}, Mixer 4/5~\cite{Brandschain2020_1}, TIMIT~\cite{garofolo_1993_1}).

For system training, we apply data augmentation techniques based on noise and room simulation effects~\cite{lippmann1987multi,ko2017study,kim2017generation}. Similar augmentation techniques~\cite{garcia-romero_2012_1,lei_2012_1,avila_2014_1,snyder_2018_1,huang_2019_1} were previously used for speaker recognition. Noise is added to the training utterances with an SNR ranging from 3dB to 15dB. The signal amplitude is also varied from a scale of 0.01x to 1.2x.

Performance is evaluated by averaging the Equal Error Rate (EER) across the 9 language varieties listed in Table~\ref{tab:trainevaldata}. We evaluate performance across two dimensions. The first is whether speaker enrollment consists of a single utterance or multiple (up to 6) utterances. For the single utterance enrollment task, we select the same trials as in the multiple enrollment utterance task, except that only the first enrollment utterance is chosen for enrollment. It is expected that the multiple enrollment case should have a significantly lower EER than the single enrollment result. The second factor considers if the speech is clean (the original data) or noisy. The noisy data is simply the clean test segment data (not the enrollment segments) with previously \textit{unseen} noise (at 3-15dB SNR) and reverberation effects applied.

\subsection{Embedding normalization approaches}

Table~\ref{tab:baseline_embed_norm} compares the cosine similarity baseline systems with different attentive scoring configurations with tied keys and queries. Empirically, we found that the best cosine similarity result was achieved by calculating the cosine similarity between the test utterance representation and the average of the L2 normalized enrollment utterance representations. For cosine similarity scoring we compare three results. The first has an output embedding size of 256. We also include the result for an embedding size of 512, which is the maximum appropriate embedding size given a native conformer model dimension of 512. Unlike attentive scoring (which is a non-linear scoring function), there should be no additional benefit to increasing dimensionality past the native dimensionality when using a linear transform followed by cosine similarity. This is supported by the third row of cosine results which has an output dimension of 2,304. Across the 3 baseline systems, apart from the $2.31$\% EER result, all other numbers are comparable and have a very similar task average.

We also compare the baseline systems to attention models with different query/key/value normalization schemes. The first attention result is without normalization (\textit{i.e.} just using the raw linear layer outputs). The next result considers the use of Layer Normalization~\cite{ba2016_1}. In this implementation, we apply layer normalization on a per utterance representation basis. The results may be different if normalization was applied on a per-key and per-value vector basis. The next two rows of results (\textit{Key \& Value L2-Norm}) explore the utility of applying L2 length normalization of both queries/keys and values. There is some improvement observed for both the 8 and 32 key-value pairs over previous rows of results. However, even better results (last two rows, \textit{Key \& Global L2-Norm}) are achieved when each key vector is first L2-normalized followed by applying \textit{Global} L2-normalization (see Section~\ref{sec:global_norm_variant} for details). Of these two sets of results, the best result is for 32 key-value pairs and represents a 10\% relative improvement in average task EER over the best cosine similarity baseline.

\begin{table*}[t]
\caption{\label{tab:baseline_embed_norm} {\it A comparison of cosine similarity baseline systems and attentive scoring normalization approaches. The attentive scoring results shared here are for tied query-key vectors. Models that generate the speaker representations vary from using 21.4M parameters (for the 256 dimensional embedding cosine similarity system) to 22.4M parameters (for systems with 2,304 total dimensions). For tied query-key attentive scoring, the total output dimension is calculated as the sum of the per key and per value dimensions all multiplied by the number of key-value pairs. For the system marked with an (A), the total output dimensionality per utterance is $2304 = (32+256) \times 8$. In the table we mark two systems with (A) and (B) and they will be used in latter comparisons.}}
\vspace{2mm}
\centerline{
\setlength\tabcolsep{4pt}
\begin{tabular}{|l|c|ccc|cc|cc|c|}
\hline
  & \multirowcell{3}{\# \\ Key-Value \\ Pairs} & \multicolumn{3}{c|}{\# Dimensions} & \multicolumn{2}{c|}{Single Enroll} & \multicolumn{2}{c|}{Multi Enroll} & Task \\
 \multicolumn{1}{|c|}{System}   &  & Per & Per &  & \multicolumn{2}{c|}{EER (\%)} & \multicolumn{2}{c|}{EER (\%)} & Average \\
 &       & Key & Value & Total &\multicolumn{1}{c}{Clean} & Noisy & \multicolumn{1}{c}{Clean} & Noisy & EER (\%) \\
\hline  \hline
\hspace{0.15cm}\multirow{3}{*}{Baseline (Cosine Similarity)} & - & - & -  & 256 & 2.23 & 3.38 & 0.67 & 1.23 & 1.88 \\
         & - & - & - & 512 &  2.31 & 3.34 & 0.68 & 1.20 & 1.88 \\
         & - & - & - & 2304 &  2.22 & 3.35 & 0.67 & 1.23 & 1.87\\ \hline
Attentive Scoring: &  & & &  &  &  & & & \\
\hspace{0.1cm}No normalization & 8 & 32 & 256 & 2304 & 2.15 & 3.26 & 0.69 & 1.29 & 1.85 \\
\hspace{0.1cm}Layer Normalization~\cite{ba2016_1} & 8 & 32 & 224 & 2048 & 2.15 & 3.30 & 0.71 & 1.30 & 1.86 \\
\hspace{0.1cm}Key \& Value L2-Norm (A) & 8 & 32 & 256 & 2304 & 2.03 & 3.20 & 0.65 & 1.21 & 1.77 \\
\hspace{0.1cm}Key \& Value L2-Norm & 32 & 16 & 48 & 2048 & 2.01 & 3.20 & 0.65 & 1.22 & 1.77 \\
\hspace{0.1cm}Key \& Global L2-Norm & 8 & 32 & 256 & 2304 & 1.94 & 3.15 & 0.61 & 1.20 & 1.72 \\
\hspace{0.1cm}Key \& Global L2-Norm (B) & 32 & 16 & 48 & 2048 & \textbf{1.93} & \textbf{3.02} & \textbf{0.60} & \textbf{1.15} & \textbf{1.68} \\
\hline
\end{tabular}}
\end{table*}

\subsection{Tied versus independent query-key estimation}

In this section (see Table~\ref{tab:key_query_comparison}) we compare performance differences between a system where the queries and keys are identical and a system where queries are estimated independently to keys. The results are mixed and may be dependent on the particular configuration of the queries-keys-values (\textit{i.e.} fewer/more queries or keys). For system \textit{Key \& Value L2-Norm (A)}, with only 8 queries/keys, independent query and key estimation provides improvement in 3 of the 4 base cases. For the \textit{Key \& Global L2-Norm (B)} system, with significantly more queries/keys at 32, tying the queries and keys is consistently better. Having independent queries and keys allows the model to set each query and its corresponding key to be very different and results in increased flexibility in the final scoring function. The attentive scoring function does not have this flexibility for tied queries and keys. It is forced to give high scores to speaker representations that are the same even though they may be derived from recordings with only noise.

\begin{table}[t]
\caption{\label{tab:key_query_comparison} {\it Table comparing the results of the tied versus the independently estimated query and key vector approaches. The two systems listed (``Key \& Value L2-Norm (A)" and ``Key \& Global L2-Norm (B)") are the same as the corresponding ones in Table~\ref{tab:baseline_embed_norm} for the tied query-key case. For independent queries and keys, additional speaker representation parameters are estimated to allow for the queries and keys to be independent. For example, the ``Key \& Value L2-Norm (A)" (query-key tied) system, with $8$ keys, $32$ dimensions per key and $256$ dimensions per value vector, would require $8 \times 32 = 256$ additional parameters to support independent queries and keys. In this case, the number of parameters is increased from 2,304 to 2,560.}}
\vspace{2mm}
\centerline{
\setlength\tabcolsep{2.3pt}
\begin{tabular}{|c|c|c|cc|cc|c|}
\hline
  & \multirowcell{3}{Query\\\&\\Key} & \multirowcell{3}{Total\\Dims} & \multicolumn{2}{c|}{Single Enroll} & \multicolumn{2}{c|}{Multi Enroll} & Task \\
 \multicolumn{1}{|c|}{System}   & &  & \multicolumn{2}{c|}{EER (\%)} & \multicolumn{2}{c|}{EER (\%)} & Average \\
 &      &  & \multicolumn{1}{c}{Clean} & Noisy & \multicolumn{1}{c}{Clean} & Noisy & EER (\%) \\
\hline  \hline
\multirowcell{2}{(A)} & Tied & 2304 & 2.03 & 3.20 & 0.65 & 1.21 & 1.77 \\
      & Indep & 2560 & 2.06 & 3.08 & 0.63 & \textbf{1.14} & 1.73 \\ \hline
\multirowcell{2}{(B)} & Tied & 2048 & \textbf{1.93} & \textbf{3.02} & \textbf{0.60} & 1.15 & \textbf{1.68} \\
  & Indep & 2560 & 2.04 & 3.12 & 0.62 & 1.17 & 1.74 \\
\hline
\end{tabular}}
\end{table}

\subsection{Varying the number of keys}

It is also helpful to understand performance across different numbers of keys. Table~\ref{tab:function_of_num_keys} shares performance numbers as the number of keys is increased from 1 and doubled up to 128 keys. With our non-linear scoring function, we may be able to improve performance by increasing the dimensionality of the output representation beyond the native model dimensionality of 512. As highlighted earlier, this would not be the case for the regular cosine similarity. In examining the results, the performance improves as the number of keys is increased. The best (overall) task average result is reached at 64 keys.

\subsection{Managing many enrollment utterances}
\label{sec:many_enroll}
For the proposed attentive scoring models, one embedding is generated for each utterance in enrollment. For the case where only a few utterances are involved, this is a non-issue. For situations where there is a large number of utterances for speaker enrollment (such as when adaptation is allowed), there is the practical consideration of storing many enrollment representations for each speaker. There are several approaches to this problem. A simple approach is to average the utterance embeddings. In these experiments we average before applying further processing such as normalization. Table~\ref{tab:multi_enroll} presents three sets of results. The first row of results relates to the \textit{Key \& Value L2-Norm (A)} result (from Table~\ref{tab:baseline_embed_norm}). This represents the regular attentive scoring system where all enrollment utterances are used jointly in both system training and evaluation. The second row of results is determined by using the same system as before except during evaluation the system uses the mean of the enrollment utterances and considers it as a single enrollment representation. The last row of results involves the mean being calculated for both system training and evaluation. Given that all systems are trained using multiple enrollment utterances for a speaker, it is interesting to note that either enrollment utterance averaging approach is reasonable for the \textit{Multi Enroll} tasks. However, if averaging is done as part of training, a noteworthy performance decrease is observed for the \textit{Single Enroll} tasks.

\begin{table}
\centering
\begin{threeparttable}
\caption{\label{tab:function_of_num_keys} {\it Table of EERs as a function of the number of key-value pairs. These results are based on the ``Key \& Value L2-Norm (A)'' system from Table~\ref{tab:baseline_embed_norm} except that the number of keys is varied. (For reference, this system has tied queries/keys, 32 key dimensions and 256 value dimensions.)}}
\vspace{2mm}
\setlength\tabcolsep{3.5pt}
\begin{tabular}{|c|c|cc|cc|c|}
\hline
   \# Key-& \multirowcell{3}{Total\\Dims} & \multicolumn{2}{c|}{Single Enroll} & \multicolumn{2}{c|}{Multi Enroll} & Task \\
   Value &  & \multicolumn{2}{c|}{EER (\%)} & \multicolumn{2}{c|}{EER (\%)} & Average \\
 Pairs &       & \multicolumn{1}{c}{Clean} & Noisy & \multicolumn{1}{c}{Clean} & Noisy & EER (\%)\\
\hline  \hline
1 & 288 & 2.17 & 3.20 & 0.75 & 1.31 & 1.86 \\
2 & 576 & 2.08 & 3.23 & 0.70 & 1.30 & 1.83 \\
4 & 1152 & 2.12 & 3.21 & 0.68 & 1.21 & 1.80 \\
8 & 2304 & 2.03 & 3.20 & 0.65 & 1.21 & 1.77 \\
16 & 4608 & 1.99 & \textbf{3.09} & 0.62 & \textbf{1.15} & 1.71 \\
32 & 9216 & 1.95 & 3.10 & 0.61 & 1.16 & 1.70 \\
64 & 18432 & \textbf{1.89} & 3.10 & \textbf{0.60} & \textbf{1.15} & \textbf{1.68} \\
128 & 36864 & 1.97 & 3.10 & 0.61 & 1.18 & 1.72 \\
\hline
\end{tabular}
\end{threeparttable}
\end{table}

\begin{table}
\caption{\label{tab:multi_enroll} {\it A comparison of approaches addressing the multiple enrollment utterances for the ``Key \& Value L2-Norm (A)" system.} }
\vspace{2mm}
\centerline{
\setlength\tabcolsep{3.5pt}
\begin{tabular}{|cc|cc|cc|c|}
\hline
 \multicolumn{2}{|c|}{Estimation}  & \multicolumn{2}{c|}{Single Enroll} & \multicolumn{2}{c|}{Multi Enroll} & Task \\
 \multicolumn{2}{|c|}{Method}    & \multicolumn{2}{c|}{EER (\%)} & \multicolumn{2}{c|}{EER (\%)} & Average \\
 Train & Eval  &  \multicolumn{1}{c}{Clean} & Noisy & \multicolumn{1}{c}{Clean} & Noisy & EER (\%) \\
\hline  \hline
Joint & Joint  & \textbf{2.03} & \textbf{3.20} & \textbf{0.65} & 1.21 & 1.77 \\
Joint & Mean & \textbf{2.03} & \textbf{3.20} & \textbf{0.65} & 1.16 & \textbf{1.76} \\ Mean & Mean & 2.32 & 3.57 & 0.67 & \textbf{1.14} & 1.92 \\
\hline
\end{tabular}}
\end{table}

\section{Conclusion}
\label{sec:conclusion}
We proposed a parameter-free attentive scoring approach to meet the objectives of improving performance while using a relatively simple (parameter-free) scoring mechanism. We evaluated different normalization techniques and results suggest that applying per query/key L2-normalization followed by global L2-normalization was the most effective. We also observed that using independently estimated queries and keys (versus tied queries and keys) gave mixed results. We note that the approach may be helpful depending on the evaluation data and the attentive scoring configuration. Furthermore, we evaluated the key and value L2-norm system across different numbers of keys and found that its best task average EER was at 64 keys. This type of system was also shown to work well when scoring trials using a single average representation of multiple enrollment utterances.

Future work could consider other vector normalization techniques and query-key-vector configurations. Another path is to consider better approaches for converting from frame based network outputs to the final fixed dimensional representations. Currently we capture (single-head) attention based mean and standard deviation statistics. However, frame-based pooling using multi-headed attention could be an appropriate extension.

\bibliographystyle{IEEEbib}

redpajama_set_name: RedPajamaArXiv


text:
Q: How does browserify bundle a universal module I know browserify can consume UMD modules by means of transforms, but when I want to build a lib using browserify, how can I build an UMD module? Is there any transform I can use?

A: If you want to build a UMD module with browserify use the standalone option. Like:
browserify('./entry.js', {
  standalone: 'moduleName',
})

A: From the CLI: browserify -s NameOfModule
This creates a standalone module exposed under the name of your choosing.
Utilize by loading the output file in a browser and access via window.NameOfModule, or see RequireJS docs on how to use it that way.


"Writing is a process of self-discipline you must learn before you can call yourself a writer. There are people who write, but I think they're quite different from people who must write."
Linda Rohrbough will give some advice on making the most of post-conference.
Jennifer Lovett Herbranson will continue her posts on marketing, giving some "pointers" on what you should keep in mind when you tweet, post or pin.
Debi Archibald will give you the news and events coming up in May.


text:
ACCEPTED

#### According to
Index Fungorum

#### Published in
Flora, Jena 57: 89 (1874)

#### Original name
Lecidea epispila Nyl.

### Remarks
null

redpajama_set_name: RedPajamaGithub