text:
Steve Kilbey, at 60, on The Church, his heroin decade, the band wars and their 'best album yet'
By Rick Feneley
October 24, 2014 — 11.45pm
The five-year-old son of 10-pound Pommy immigrants hunts frogs and lizards in a suburban wonderland of yesteryear, a time when the milkman and the baker deliver daily to the Kilbey residence in Billabong Avenue, Dapto. Frank Sinatra Sings forOnly the Lonely provides the soundtrack to Steve Kilbey's early years in working-class Wollongong and one day this album will become his yardstick of great song-writing.
So will the Beatles. Aged nine, Kilbey assembles his band: Steve at the microphone, tennis racquet for bass and squash racquet for lead guitar, accompanied on rhythm by little brother Russell – barely two years old – who strums a badminton racquet while wearing a pudding bowl on his head to mimic a Fab Four mop-top.
Prolific: Steve Kilbey at his home in Bondi. Even during his addiction to smack, he retained his work ethic. Credit:James Brickwood
Almost five decades later, in 2010, Steve Kilbey is on stage, holding the Australian music industry in thrall for 15 minutes as he delivers a hilarious, impromptu thank-you rant on behalf of The Church, the band he created in 1980 and which has just been inducted into the ARIA Hall of Fame. From the audience, former Church manager Michael Chugg howls: "Why couldn't you have been like this 25 f---in' years ago?"
"Yes, that's a very good question," Kilbey finally responds in his memoir, Something Quite Peculiar, to be released on November 1. "Why does it take someone so long to arrive and be what they could've been all along. Chuggy had managed me during my insular, confused, sulky stage, which preceded my arrogant and blasé stage, which gave way to my junkie phase, which in turn begat my eccentric uncle phase – the one I'm currently in."
Further/Deeperth
"It really is our best album yet," Kilbey says. Die-hard fans, particularly those yet to hear it, might wonder what he's smoking. Kilbey, in fact, smokes joints throughout the interview, his pot phase far from over. "But kids, don't do this at home," he writes in his memoir. "I don't believe pot is good for young minds."
Nevertheless: "I don't care about the law or the morals or what anyone thinks; I've written over a thousand songs on pot."
Kilbey hardly drinks, he swims daily, he practises yoga and he is a vegetarian (he converted young, not so much in deference to the animals but with a conviction that meat would ruin his looks). He remains rudely good-looking. But he maintains marijuana amplified his creativity and helped to make him one of Australia's most prodigious songwriters, the author of 700 to 800 published numbers including Unguarded Moment, Almost With You, Myrrh and the timeless Under the Milky Way.
Further/Deeper is unmistakably The Church – dreamy, trippy pop – but sounds contemporary, swirling from sweet melancholy to hints of Sergeant Peppers to dance beats and edgy rock. "This was the album," Kilbey says, "when The Church went further and deeper into the mechanics and the feeling and the thought of writing music … More than any album that I've ever done, they're songs for people to inhabit."
Kilbey adds: "It's irrelevant who played on it and who didn't." Foundation guitarist Peter Koppes did. So did drummer Tim Powles, who has been with the band for 20 years. Kilbey, still on bass and lead vocals, did. Marty Willson-Piper, the band's other, almost-foundation guitarist, did not. Kilbey acknowledges his creative legacy and says they only called in the former Powderfinger guitarist Ian Haug after six months of trying to contact Willson-Piper.
"He never got back to me ... he never picked up the phone, he never answered an email or a Gmail or a Hotmail, y'know, in all the ways I tried to contact him to say, 'Hey, we've got a geezer with some money and he wants us to make a Church album. Come on. Come to Australia. We're going to pay you wages and everything.'"
Maybe it was the everything that kept Willson-Piper in Sweden. A schism had developed with Willson-Piper trying to straddle responsibilities as player and band manager. Kilbey deals with earlier band battles in Something Quite Peculiar, the title lifted from the lyrics of Milky Way.
The book romps through Kilbey's early years: getting thrashed at debating by a schoolboy named Malcolm Turnbull, who was billeted to stay with the Kilbeys, and who – Steve's mum declared – would be prime minister one day; Kilbey's glam rock bands and his attempts to ape David Bowie, although "bisexuality was not forthcoming for me".
He chronicles the sex, the drugs and The Church's propensity for self-sabotage just as they were on the cusp of break-throughs in Britain and the US. Willson-Piper once played from the wings, refusing to appear on the same stage as Kilbey. "I'd have you for breakfast," he had told the singer. He walked out in Hamburg, forcing the band to play as a three-piece. "Thank God it was Marty who left and not Peter," Kilbey writes, "because Marty's parts weren't as crucial to the songs as Peter's."
Kilbey confesses, "I was sarcastic and negative." And to having a big mouth at times. (A throw-away insult almost led to fisticuffs with INXS.)
But his memoir crescendos with the "shame and revulsion and sadness" that engulf him when he recalls his heroin decade. A 10-year-old smack delivery boy came with messages: "Mum said you can't have any more credit until you pay the $150." Kilbey admits becoming a "hopeless, flaky, unreliable idiot" and his consequent failings as a father, especially to his first, identical twins Electra and Miranda, now the 23-year-old rising stars of Sweden-based "dream pop" outfit Say Lou Lou. A few years into their life, and into their father's addiction, their mother, Swedish musician Karin Jansson, left Kilbey and took them home.
Kilbey had been introduced to heroin by one of his many side-project collaborators, the late Grant McLennan of the Go-Betweens. McLennan was an occasional, recreational user but, in the backyard at Bondi, Kilbey says: "The next day I was saying, 'Grant, when can we do that again?' And he was: 'No, Steven, you don't understand.' And I go, 'No, I really liked that.' And within six or seven weeks I was a total f—ing addict."
He adds: "Nobody beats heroin. In the end you slink away from it and go, 'Now I'm clever enough not to fight you any more … I'm not getting in the ring to have another shot at this.'"
Kilbey had written Milky Way with Jansson in 1986 at his mother's home at Smiths Lake on the NSW mid-north coast. "The truth is … Mum started washing up, and I thought, 'If I can duck out and pretend to be doing something, then Karin will have to do the wiping up.' And I ducked outside and smoked a joint and I thought, 'If I go and play the piano – there was a piano in this little backyard flat – then Karin wouldn't be completely angry that I'd run away on the washing up." His impromptu tune drew her outside. Their song "just fell out of the sky within about three minutes".
The Church's producers did not want it on the 1988 album Starfish. Most of the band, Kilbey included, didn't care for it so much. But upon hearing it, the record company executives knew they had a hit. "It probably made me a million bucks," Kilbey says. Plenty of that went up his nose and his arm. "If I had earned that money digging trenches on a construction site, I would not have treated it as cavalierly as I did … My brother used to say to me, 'You are throwing your money away because you don't believe you deserve it' ... [and] looking back, I can see there was some f---ed up Protestant work ethic thingy involved in that."
Even at the height of his addiction, Kilbey was a workaholic. Now he paints furiously and remains a "serial, addictive songwriter". The band jams and composes together. Kilbey's words come later, suggested by the music. For Further/Deeper they made the bones of 26 songs in eight days, then honed them down to 12 for the album. "The first time I picked up the bass and Ian [Haug] picked up the guitar and Peter [Koppes] turned up 10 minutes later, and after that we had Miami cooked up really quickly. And I thought, 'Wow! This is the kind of song I've been waiting to write for a long time.'"
What makes a song great? Kilbey goes back to Sinatra and Only the Lonely. "Because these were the first songs I took in, I was left for a taste for a song that could inflict an ache on people. But inherent in that ache is the paradox: why do sad songs make us feel so good? Wow, you know, the guy's lost his home and he's lost his wife." Kilbey croons the line, "Cottage for sale". "And yet, when it's all over, I feel kind of good ... Satan's got your mother … That f---ing depresses me. The Church never made depressing music … It's sort of dreamy, melancholy, watercoloured stuff."
Kilbey prefers to keep it ambiguous, to leave room for listeners to arrive at their own meanings. In Something Quite Peculiar, he writes that he has become "a sadder yet wiser person". In an ambiguous world, it may amount to a happy ending.
Rick Feneley
Rick Feneley is a news and features writer for The Sydney Morning Herald. His column, Then Again, appears on Saturdays. He was the paper's long-term night editor before returning to writing in late 2008.


What country is the Sony Ericsson P1i made by?
What country are Sony televisions made in?
Why does Sony require you to give your full name and address when downloading the PC Suite for Sony Ericsson?
How do you activate Sony Ericsson?
What should you buy iPhone 3gs or sony ericsson x10?
I think the iPhone but it's your opinion. I mean, the x10 is a good phone but the iPhone is easier to use and it's just cool.
Is Sony Ericsson arc s android?
Does the Sony Ericsson P1i have a built-in GPS?
How much does a Sony Ericsson elm cost?
Why won't my Sony Ericsson let me put on certain songs?
POLL: SONY ERICSSON OR NOKIA?
Does the Sony Ericsson Z310a have Bluetooth?
Should i get the SONY ERICSSON W995 or the IPHONE 3GS?
Is an iphone4 better than an sony ericsson xperia x10?
How to Dismantle a Sony Ericsson W850i?
Can the Sony Ericsson k850i be used with Verizon?


text:
World preimiere of play by Amoralists member Derek Ahonen
1 hours 50 minutes with no intermission
$40 full price, $20 for students
$10 tickets are available for performances on April 9th and April 16th at 3PM
Available by calling 212.352.3101 or online at http://www.PS122.org
Bring Us The Head Of Your Daughter
Written and Directed by Derek Ahonen
Off Off Broadway, New Play
PS122 9th Space Theatre, 150 1st Avenue
by Rachel Merrill Moss on 4.7.11
The cast of Bring Us The Head Of Your Daughter. Photo by Larry Cobra
BOTTOM LINE: A taboo-ridden domestic drama, more spectacle procession than exploration of social mores.
A white carpet slightly beaming in the house lights, adorning the set on which it's laid with an almost eager sense of expectation and tension, almost always signals high drama to come. Tapping into the human instinct to avoid messes and blame, such carpets generally suggest that this home on display (in this instance a naturalistic set by Alfred Schatz) is not going to be a place the audience will want to come home to themselves. That gut feeling doesn't steer wrong in The Amoralists' production of Bring Us The Head Of Your Daughter, written and directed by company member, Derek Ahonen.
Lesbian couple Jackie and Contessa call this white-carpeted, Gramercy Park apartment home. They have recently found out, along with the rest of the news-watching population of America, that their beloved daughter Garance has been on a cannibalistic spree through the Great Plains, specifically targeting soccer moms. As society and the moms themselves question how on earth their parenting could have gone so wrong, an ever-widening rift develops between the women via their respective ways of handling the situation. Jackie raucously attempts to numb herself with various legal substances as Contessa stoically applies a brave face, their methods already inextricably separating them prior to two subsequent visitors to the apartment, who make permanent the chasm between them.
True to the mission statement (and name) of The Amoralists, Ahonen's play is attempting to present morally questionable material, or rather material that is trying to explore society's moral code, in a diplomatic, non-judgemental way. And though this mission is praise-worthy in and of itself, Bring Us The Head… misses the mark. The play ends up presenting a cavalcade of taboos that simply don't ring true within the New York setting of the play. Contessa becomes the de facto voice of reality while the other characters orbit around her as larger than life clowns, each representing their own charicature of a cliché theme that have only fleeting moments of engagement with each other and with Contessa. From early on in the action, it becomes unclear whether the material is meant to mock or elicit genuine emotion due to this gamut of character portrayals. Perhaps too close to the work, Ahonen's indulgent direction of his own material allows these characters the freedom to act as issues on parade without coming off their floats to meaningfully interact.
During one of the few instances of calm, as spectacle and confetti having momentarily subsided, a character makes an interesting assertion: forgiveness is easier than punishment. Once all the taboo detritus is cleared, this is the question that sticks out as a stone left unturned, the tiny parcel for the audience to mull over. In a country chomping at the bit to prove worth with might, is passivity ever an adequate answer or will only an eye for an eye do? Ahonen has here tapped into the beginning of an interesting quandary, but with so much static around it in this production, it is likely to be overlooked.
(Bring Us The Head Of Your Daugher plays at PS122 9th Space Theatre, 150 1st Avenue at East 9th Street, through April 24, 2011. Performances are Mondays at 7:30PM, Wednesdays at 7:30PM, Thursdays at 7:30PM, Fridays at 7:30PM, Saturdays at 7:30PM and Sundays at 3PM. Additional performances on April 9th and 16th are at 3PM. Tickets are $20-40 and are available at http://www.PS122.org or by calling 212.352.3101. )

redpajama_set_name: RedPajamaCommonCrawl


Wall-mount Basket for AED storage, including straps to secure the AED.
Dimensions: 14.5"W x 9"H x 7"D.
AED.us' Exclusive Line of Refurbished AEDs go through a 12-point inspection before earning the right to be deemed an Encore Series AED. Each Encore AED comes with a standard 4-year warranty!
AED.us personnel boast over 50 years of AED experience. Please contact one of our knowledgeable and friendly representatives with any questions or needs you may have.
AED.us has a 30-day, for-any-reason return policy. Our goal is not a sale, but instead a long-term relationship with our customers. You can buy with confidence with AED.us.


Last Post 16 Nov 2018 08:14 AM by rowanpi. 0 Replies.
I have data in the following TSV/CSV format. I'm struggling to understand how to import the data into apelon so that once imported it will show up under a new namespace in the dts browser.
"icdid"	"icd10code"	"diagnosis"	"count"	"category"	"chapter"
1	"A00.0"	"CHOLERA DUE TO VIBRIO CHOLERAE 01_ BIOVAR CHOLERAE"	7	"Infectious and parasitic diseases"	"A"
2a	"A01"	"TYPHOID AND PARATYPHOID FEVERS"	5	"Infectious and parasitic diseases"	"A"
I basically need help creating the import specification. I fiddled around and created the following. I really don't understand the idea of the concept key. How can I map the data above into the relevant format apelon requires?
The above imports the data into the dts_concept table, but the browser entry is just empty. I can search for the data in the browser and it will successfully find it though.


The millennial's debate that enrages us all: when do you really know if the avocado is ripe or not? Though attaining the status as an 'exotic fruit', avocado can be purchased in places like Nature's Basket and Food Hall. Luckily enough Mumbaikars, we've decided to round up our guide to best avocado dishes in town – so all you have to do is step out and enjoy the ripeness.
If you're in the mood for some delicious prawns and avocado guacamole, then Woodside Inn at Colaba is the one for you. The bruschetta with creole prawns, guacamole, black olives crispy tomatoes skin topped with watermelon pickled is for the prawn lover who loves their avocados fresh and out there.
This delicious and healthy sushi dish is perfect for the avocado lover. It's a vegetarian sushi, made with fresh avocado, pickled carrot and a side of spicy sauce to hit the right taste.
An indulgent breakfast item for the soul, there's smashed avocado, homemade organic cashew cheese on their organic whole grain oat flour and their gluten-free buckwheat bread. With a freshly brewed glass of their organic smoothie, we really enjoyed the avocado flavours.
Crostini is a small bite bread, which is generally topped with a choice of fresh toppings. At Asilo, you'll find avocado crostini and with cream cheese and chilli orange drizzle. Of course, being a five star restaurant, it'll burn a hole, so go here post salary days.
It's simple and clean. It happened In New York has a dedicated clean eating section, and this dish tops the list. There's creamed fresh avocado on rye toast, with pickled baby radish, a perfect dish for those brunching days.
This all vegetarian Italian place is a delightful, for the vegetarians and non-vegetarians. And this is where we found the gem of avocado variation, grilled corn cakes topped with sour cream and spicy guacamole aka avocado sauce.


text:
Paul Davis On Crime
News and commentary on organized crime, street crime, white collar crime, cyber crime, sex crime, crime fiction, crime prevention, espionage and terrorism.
FBI: International Contract Fraud - U.S. Government Employee Steered $2 Million In Micro-Dairy Contracts To His Son
The FBI released the below report:
In 2009, Kenneth Apple was a trusted U.S. Department of State employee who was supposed to be working in Iraq to help the Iraqi people rebuild their country after years of war. Instead, Apple decided to help himself and his son.
Part of a U.S.-led Provincial Reconstruction Team—consisting of military personnel, diplomats, and agricultural experts like himself—Apple had oversight of multi-million-dollar contracts for a variety of projects designed to stabilize Iraq's infrastructure and improve its economy.
Apple used his authority to illegally steer $2 million in contracts for micro-dairies to a shell company located in Montana in which his son owned a 50 percent interest—and the company had no experience in the micro-dairy field.
"Apple had the ability to influence the awarding of contracts," said Special Agent Jeff Pollack, one of the agents who investigated the case from the FBI's Washington Field Office. "He wanted to funnel money to his son. The opportunity was right in front of him, and he took it."
Micro-dairies are essentially small, mobile dairy farms. "They can even be used in the desert on a slab of concrete," Pollack said. "Housed inside a storage container is equipment that can process milk into cheese and yogurt. The idea was to provide food and create jobs for the Iraqis."
During the contract application process, Apple illegally passed critical and confidential U.S. government information to his son—Jonathan Apple—and his son's partner, who owned Xtreme Global Logistics Solutions (XGLS). The company, in turn, provided false information to U.S. government officials about its experience and capabilities. After the contracts were awarded, Jonathan Apple earned approximately $230,000 in profit, even though the dairy devices were never able to be commercially used.
In 2011, members of the FBI's International Contract Corruption Task Force (ICCTF)—whose mission is to investigate Americans and others overseas who steal or illegally steer U.S. funds flowing into Iraq and Afghanistan—were looking into fraud allegations at one of the Provincial Reconstruction Teams in Iraq when they came across the XGLS deal.
"We uncovered information that the awarding of the $2 million micro-dairy contracts was not conducted in an appropriate manner." Pollack said.
This micro-dairy, made by Jonathan Apple's company, is housed in a storage container and includes equipment that can process milk into cheese and yogurt.
"There was actually a company in Iraq that could have done this work, and this contract could have helped them. But it never happened because of the fraud."
Josh Lovett, special agent, FBI Washington Field
When investigators later confronted Apple's son, he lied about his role, stating that his father had no involvement in government contracting. When Kenneth Apple was questioned, he also lied and said he could not recall the owner of the company that won the micro-dairy contracts. "Kenneth Apple intentionally misled us," Pollack said.
Apple was indicted in December 2015 for wire fraud, conspiracy to defraud the U.S., obstruction of justice, and making false statements. In July 2016, a federal jury in Virginia found him guilty on eight of nine charges. Evidence at trial showed that the micro-dairy units did not meet Iraqi Ministry of Health requirements, which was Apple's responsibility.
Last month, Apple was sentenced to 50 months in prison and ordered to pay approximately $2 million in restitution and forfeit more than $550,000. In November 2015, Apple's son pleaded guilty to his role in the scheme and cooperated with authorities, testifying against his father in court.
Special Agent Josh Lovett, also part of the investigative team—along with the Defense Criminal Investigative Service and the U.S. Army Criminal Investigation Command—noted that one of the worst aspects of the case was that the micro-dairies could have benefited the Iraqi people.
"The Iraqis were all for this," he said. "They put up a substantial amount of money to get these micro-dairy systems and to train their people to use them." But because of the fraudulent manner in which the contracts were awarded, and the company's failure to meet Iraqi Ministry of Health requirements, the dairy devices were never used.
"There was actually a company in Iraq that could have done this work," Lovett said. "And this contract could have helped them. But it never happened because of the fraud."
Posted by Paul Davis at 6:03 AM
Labels: crime, FBI, FBI's International Contract Corruption Task Force, international contract fraud, Iraq contract, Kenneth Apple, State Department, Xtreme Global Logistics Solutions
Paul Davis is a writer who covers crime. He has written extensively about organized crime, cyber crime, street crime, white collar crime, crime fiction, crime prevention, espionage and terrorism. His 'On Crime' column appears in the Washington Times and his 'Crime Beat' column appears in Philadelphia Weekly. He is also a regular contributor to Counterterrorism magazine and writes their online "Threatcon" column. Paul Davis' crime fiction appears in American Crime Magazine. His work has also appeared in the Philadelphia Inquirer, the Philadelphia Daily News and other publications. As a writer, he has attended police academy training, gone out on patrol with police officers, accompanied detectives as they worked cases, accompanied narcotics officers on drug raids, observed criminal court proceedings, visited jails and prisons, and covered street riots, mob wars and murder investigations. He has interviewed police commissioners and chiefs, FBI, DEA, HSI and other federal special agents, prosecutors, public officials, WWII UDT frogmen, Navy SEALs, Army Delta operators, Israeli commandos, military intelligence officers, Scotland Yard detectives, CIA officers, former KGB officers, film and TV actors, writers and producers, journalists, novelists and true crime authors, gamblers, outlaw bikers, and Cosa Nostra organized crime bosses. Paul Davis has been a student of crime since he was an aspiring writer growing up in South Philadelphia. He enlisted in the U.S. Navy when he was 17 in 1970. He served aboard the aircraft carrier U.S.S. Kitty Hawk during the Vietnam War and he later served two years aboard the Navy harbor tugboat U.S.S. Saugus at the U.S. floating nuclear submarine base at Holy Loch, Scotland. He went on to do security work as a Defense Department civilian while working part-time as a freelance writer. From 1991 to 2005 he was a producer and on-air host of "Inside Government," a public affairs interview radio program that aired Sundays on WPEN AM and WMGK FM in the Philadelphia area. You can read Paul Davis' crime columns, crime fiction, book reviews and news and feature articles on this website. You can read his full bio by clicking on the above photo. And you can contact Paul Davis at pauldavisoncrime@aol.com
On This Day In History Mark Twain Was Born
FBI: International Contract Fraud - U.S. Governmen...
The Black Axe: Italy Faces Chilling New Organised ...
North Carolina Man Pleads Guilty To Attempting To ...
On This Day In History The Second Continental Cong...
FBI: 'Tis The Season For Holiday Scams
Spies In Palestine: Love, Betrayal, And The Heroic...
'Barney Miller' Star Ron Glass Dead At 71
Inside Fidel Castro's Life Of Luxury And Ladies Wh...
Welcome To Hell, Fidel: Cuban Communist Dictator F...
Christmas Carols Still Defy Secularism
Obama Administration Expands Elite Military Unit's...
On This Day In History Jack Ruby Killed Lee Harvey...
U.S. Service Members Mark Thanksgiving Serving On ...
Ohio Man Sentenced To 20 Years In Prison For Plot ...
On This Day In History President John F. Kennedy A...
On This Day In History Jonathan Pollard Was Arrest...
A Look Back At The Convicted Spy Jonathan Pollard:...
The Intellectual And The Talk Show Host: Buckley's...
FBI: Con Artist Brought to Justice - Arizona Woman...
No Reservations At Ristorante Merlino's
On This Day In History President Abraham Lincoln D...
Photos, Journals Explore Hemingway's Early Life
Retired U.S. Navy Captain Becomes Latest Officer T...
Defense Secretary Carter Praises Special Operation...
Writers To Debate Whether Ian Fleming Or John Le ...
A Bronx Tale: Chazz Palminteri's Move From Mean St...
Moon Sets Behind Aircraft Carrier
Naval Officer Pleads Guilty In Massive "Fat Leonar...
TV Encounter: Frank Costello, "The Prime Minister ...
On This Day In History Herman Melville's 'Moby Dic...
On This Day In History Robert Louis Stevenson, Aut...
On This Day In History The Vietnam Veterans Memori...
My Favorite Scene: 'Blacklist' Creator On The Mome...
My Safe Place: The Aircraft Carrier USS Kitty Hawk...
The Seven Huge Mistakes Crime Novels And TV Shows ...
All Hands: Honoring All That Served On Veterans Day
Veterans Day Is A Davis Family Affair
Render A Salute To America's Military Veterans On ...
FBI: A Legacy Of Crime Brought To An End As Violen...
Happy Birthday Marines
On This Day In History Bram Stoker, Author Of 'Dra...
The Late, Great William F. Buckley And 'A Torch Ke...
On This Day In History Soviet Spy Master Richard S...
Dining With Death: Crime Fiction's Long Affair Wit...
Mel Gibson, Vince Vaughn Talk New Battle Of Okinaw...
On This Day In History Arnold Rothstein, One Of Ne...
Crime Writer Michael Connelly Looks To The Past In...
The Swamp Fox: How Francis Marion Saved The Americ...
FBI: A Primer On DarkNet Marketplaces - What They...
Support Your Local Aircraft Carrier
Confict Of Interest?: New WikiLeaks Release Shows ...
Cop Killer In Cuffs: Police Capture Suspect In Sep...
Kessler: The Real Story Behind The FBI's Clinton I...
Krauthammer: Hillary Clinton Won The Comey Primary...
Mother Of Jailed Sailor: 'Hold Hillary To Same Sta...


text:
using System.Collections.Generic;
using Orchard.Azure.MediaServices.Models;

namespace Orchard.Azure.MediaServices.ViewModels.Media {
    public class CloudVideoPartViewModel {
        public CloudVideoPartViewModel(IEnumerable<string> subtitleLanguages) {
            TemporaryVideoFile = new TemporaryFileViewModel();
            SubtitleLanguages = subtitleLanguages;
        }

        public int Id { get; set; }
        public CloudVideoPart Part { get; set; }
        public IEnumerable<string> AllowedVideoFilenameExtensions { get; set; }
        public TemporaryFileViewModel TemporaryVideoFile { get; set; }
        public IEnumerable<string> SubtitleLanguages { get; private set; }
        public string AddedSubtitleLanguage { get; set; }
        public WamsAssetViewModel WamsVideo { get; set; }
        public WamsAssetViewModel WamsThumbnail { get; set; }
        public WamsAssetViewModel WamsSubtitle { get; set; }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Q: Call msflexgrid click event in vb6 I've got to call the click event for an MsFlexGrid object.
Private Sub MSFlexGridboxcodelist_Click()
box_code = Trim(Me.MSFlexGridboxcodelist.TextMatrix(Me.MSFlexGridboxcodelist.RowSel, 1))
box_type = Trim(Me.MSFlexGridboxcodelist.TextMatrix(Me.MSFlexGridboxcodelist.RowSel, 7))
Me.Txtpack_weight.text = Trim(Me.MSFlexGridboxcodelist.TextMatrix(Me.MSFlexGridboxcodelist.RowSel, 5))

Dim x As Integer
For x = 0 To Me.Combobox_type.ListCount - 1
    If Me.Combobox_type.List(x) = box_type Then
        Me.Combobox_type.ListIndex = x
        Exit For
    End If
Next
End Sub

The problem is when I actually click on the flexgrid, this part works as it should:
Me.Combobox_type.ListIndex = x

But when I do this:
Me.MSFlexGridboxcodelist.row = i
Me.MSFlexGridboxcodelist.TopRow = i
Me.MSFlexGridboxcodelist.RowSel = i

For x = 0 To Me.MSFlexGridboxcodelist.cols - 1
    Me.MSFlexGridboxcodelist.ColSel = x
Next x
Call MSFlexGridboxcodelist_Click

The needed item in the combobox is not selected. So I guess the is a difference between clicking on something and calling the click event, but I have no clue what.
I know I could just set the text of the combobox to whatever I want, but users shouldn't be allowed do it, so I set it's style attribute to Dropdown list.
Could you guys give me tip?
Thanks in advance.

A: Clicking via the mouse will call multiple events (some of which might not be exposed in VB6).  The click event code will be ran as part of one of these events.  Calling Grid.Click() does NOT simulate a mouse click.
Not sure what the second piece of code is trying to do?  Setting ColSel will select the columns between .Col and .ColSel, so that loop will set an ever increasing selection size.
In fact it will select every column, so why bother?
Why not change the click event to loop through the columns retrieving the text?

redpajama_set_name: RedPajamaStackExchange


Fashion is an everlasting topic since the day we began to pay attention to how we dressed. If you are looking for fashion, this is the right place to come. You can find the right shift dresses for teens here from Fashionmia's latest and hottest collection of shift dresses for teens. We provide customers fashion items like shift dresses for teens with totally affordable price and high quality. Come discover the shift dresses for teens you need from our suggestion and guide to save time in choosing the most suitable shift dresses for teens. Have fun shopping online at Fashionmia.
2198items for"shift dresses for teens"


text:
using System;
using System.Linq;
using System.Net;
using System.Net.Sockets;

namespace Titanium.Web.Proxy.Helpers
{
    internal class NetworkHelper
    {
        private static readonly string localhostName = Dns.GetHostName();
        private static readonly IPHostEntry localhostEntry = Dns.GetHostEntry(string.Empty);

        /// <summary>
        ///     Adapated from below link
        ///     http://stackoverflow.com/questions/11834091/how-to-check-if-localhost
        /// </summary>
        /// <param name="address"></param>
        /// <returns></returns>
        internal static bool IsLocalIpAddress(IPAddress address)
        {
            if (IPAddress.IsLoopback(address))
            {
                return true;
            }

            // test if host IP equals any local IP
            return localhostEntry.AddressList.Contains(address);
        }

        internal static bool IsLocalIpAddress(string hostName)
        {
            if (IPAddress.TryParse(hostName, out var ipAddress)
                && IsLocalIpAddress(ipAddress))
            {
                return true;
            }

            if (hostName.Equals("localhost", StringComparison.OrdinalIgnoreCase))
            {
                return true;
            }

            // if hostname matches local host name
            if (hostName.Equals(localhostName, StringComparison.OrdinalIgnoreCase))
            {
                return true;
            }

            // if hostname matches fully qualified local DNS name
            if (hostName.Equals(localhostEntry.HostName, StringComparison.OrdinalIgnoreCase))
            {
                return true;
            }

            try
            {
                // do reverse DNS lookup even if hostName is an IP address
                var hostEntry = Dns.GetHostEntry(hostName);
                // if DNS resolved hostname matches local DNS name,
                // or if host IP address list contains any local IP address
                if (hostEntry.HostName.Equals(localhostEntry.HostName, StringComparison.OrdinalIgnoreCase)
                    || hostEntry.AddressList.Any(hostIP => localhostEntry.AddressList.Contains(hostIP)))
                {
                    return true;
                }
            }
            catch (SocketException)
            {
            }

            return false;
        }
    }
}


text:
Techpoint Build
Add Startup/Create professional profile
Use our office free
2019 © Techpremier Media Limited. All rights reserved
MainOne empowers Nigeria's first Artificial Intelligence hub with broadband
Press Releases July 30, 2019
As part of its commitment towards empowering and enabling the local tech ecosystem, West Africa's leading connectivity and data centre solutions provider, MainOne, partners with Data Science Nigeria (DSN) to be the official broadband provider for its Artificial Intelligence Hub, the first of its kind in Nigeria, located in Yaba, Lagos.
MainOne Nigeria has been on the frontline of democratizing broadband internet, driven by a strong conviction that access to the internet can become a transformational driver of economic growth, job creation and social inclusion. MainOne's corporate position is well aligned with an independent study cited by the International Telecommunications Union (ITU) explaining that a 10 percent increase in broadband penetration results in increased efficiency and an increase in per-capita Gross Domestic Product of up to 1.38 percent.
The availability of broadband internet at the AI Hub will open up new possibilities in advanced academic research, tech-enabled entrepreneurship, socio-developmental innovations, access to real-time data and cloud-based algorithm platforms for developing data-driven solutions.
Recently, MainOne kicked off its Digital Lagos project to build robust broadband infrastructure across the city. The provision of free broadband internet to the AI Hub is a further reinforcement of the company's commitment to build broadband infrastructure and to upscale the human capacity required to leverage the infrastructure in developing digital solutions that catalyze productivity and accelerate socio-economic innovation through the application of artificial intelligence.
Data Science Nigeria runs the AI Hub as part of its strategy to build an inclusive ecosystem for sustainable capacity building in AI knowledge and application. In the last two years, Data Science Nigeria has distinguished itself through its transformational initiatives including the 1st Intercampus Machine Learning Competition. This involved over 10,000 students from 95 universities and polytechnics, created a dedicated Artificial Intelligence Community Hub, AI Summer Schools for Kids, AI Masterclass sessions for top business executives in Nigeria, industry-oriented hackathons, AI Start-up support, PhD researchers mentoring students through a global network of world-class AI experts, direct job placement, learning-based Kaggle competitions, the development of Nigeria-centric machine learning/deep learning curriculum/online learning platform, AI+ Clubs in secondary schools, Artificial Intelligence Bootcamps, and dial-in masterclasses facilitated by leading global data scientists.
Funke Opeke, the CEO of MainOne stated, "As providers of connectivity for Yabacon and drivers of ubiquitous broadband connectivity across Lagos State through our Digital Lagos initiative, we are proud to partner with AI Hub as they continue to work towards job creation, digital security and AI capacity building for the future. We recognize the unique role that unlimited broadband plays as a catalyst for ideation, innovation and global collaboration. Thus, reaffirming our position to contribute to the growth of the Nigerian tech ecosystem".
Commenting on this laudable opportunity given to the AI Hub, Bayo Adekanmbi, the convener of Data Science Nigeria, points out that, "with the unlimited broadband internet MainOne provided to the AI Hub, we are well-positioned to become a world-class artificial intelligence knowledge, research and innovation ecosystem that delivers transformational research, business use applications, AI-first start-ups, and social good uses that will position Nigeria as one of the top 10 AI talent/knowledge destinations in the world. Our vision to raise one million AI talents in 10 years has been given a further impetus and support with this magnanimous access from MainOne. Now, there is nothing stopping us."
Since 2011, MainOne has supported and empowered the efforts of other hubs and accelerators such as; Co-Creation Hub, IDEA Hub, Decagon, Edo State Innovation Hub, Legacy Offices and Workspace, amongst others.
The AI Hub is located on the 4th floor of 174b Murtala Muhammed Way, Yaba. It offers free AI classes, and a library, mini-research lab, and community meet-up.
The broadband internet at the AI Hub will be available for the various free daily classes at the hub under the umbrella of AI. Everyday. It will also be used by research students, AI-first startups working in the areas of financial inclusion, healthcare, agriculture, personalized education, and all the AI+ student members who frequent the hub for study and research.
Attend Techpoint SME Clinic 2020 and stand a chance to win ₦100,000 (CFA 160,000) for your business. Register now for FREE.
Techpoint is hosting an awards ceremony to reward the most outstanding players in the Nigerian startup ecosystem (2015 – 2020). You can nominate your favourite startups now.
Want more stories like this? Subscribe to the Techpoint Africa Newsletter.
Get your story featured on Techpoint. Email: [email protected]
The GIDN app disrupts how we search and find service providers and artisans.
MEST Africa community manager, Nosa Omusi exits the incubator in what seems to be a massive restructuring
Top PostsTHIS WEEKTHIS MONTHALL TIME
Governance & Policy Startups
President Muhammadu Buhari signs Finance Bill into law: What it means for the tech ecosystem
Emmanuel Paul 4 days ago
Internet Culture Telecoms
Data Wars 2019: Glo's heavy loss and MTN's continued dominance defines the battle for Internet supremacy
National Identification Number: Here is how to check using a USSD code
Omolara Oseni 4 days ago
The 10 most memorable Nigerian tech moments of 2019
Techpoint.Africa 2 weeks ago
As 2019 comes to an end, we look at the most memorable moments in Nigeria's tech space; a hard thing to do when the year blessed us with so many. In n…
Your online freedom is at risk; the new Digital Rights and Freedoms Bill may just save it
Udoka Chiefe 1 month ago
Everything you need to know about Nigeria's Social Media Bill and what you can do about it
Emmanuel Paul 2 months ago
4 things we learnt from MTN Nigeria's 5G trial
Yinka Awosanya 2 months ago
"Things went way better than I expected," creator of Quoted Replies reacts to getting a job offer from Twitter
Titilola Oludimu November 9, 2019


For the convenience of Students to pay their Fees from this Academic Year 2010-2011.
Now Students can pay their Fees of all nature directly into KLNCE Bank Account through all Branches of State Bank of India ( SBI ) viz.
All Education related fees such as Tuition Fees, Caution Deposit, University Fees, Transport Charges, Hostel related Fees, And other Fees.
All these Payments can be made in a single Challan captioned "CHALLAN FOR PAYMENT OF FEES ", which is in Triplicate portions consisting of Remitter, College & Bank Copy.
Remitter Copy : To be retained by the Student for his records.
College Copy : To be submitted in Accounts Section of KLNCE.
Bank Copy : will be retained by the Collecting Branch concerned.
Students need to fill the SBI Branch Name, where Fees to be paid ( Collecting Branch ) Students need to fill the Amount of Prescribed Fees in appropriate columns such as A, B, C etc. uniformly in all three portions of the Triplicate Challan .
After accepting the prescribed Fees, Collecting Branch will retain their Bank Copy and return Remitter & College Copy duly stamped by them.
Students need to submit the Stamped "College Copy " Challan portion in the Accounts Section of KLNCE and obtain official RECEIPT for the relevant Fees paid by them.
Students can pay their Fees by Cash, Demand Draft or by Transfer Cheque facility. (Separate Challan to be used for Cash / DD / Transfer Cheque ).
Collecting Bank will charge Rs.50/- towards collecting charges and this has to be paid by the Student in normal Bank challan available with the Branch, where they are paying their Fees.
This Procedure will enable the Students' to pay their Fees conveniently from their nearby SBI Branches Safely, Quickly and in an economic manner.


We've already asked you for your thoughts on the next England manager. But what if the next manager wasn't culled from the usual suspects?
Tell us what you think we need from the next England boss and, using technologically amazing quiz magic, we will tell you who fits the bill.


text:
Michigan awards grants for UP deer habitat improvements
LANSING, Mich. (AP) — Michigan wildlife regulators have awarded 12 grants totaling $100,000 for projects to upgrade conditions for deer in the Upper Peninsula.
The Deer Habitat Improvement Partnership Initiative is a competitive grant program that focuses on lands that don't belong to the state.
Now in its eighth year, the initiative is funded by revenue from hunting license sales.
Field operations manager Bill Scullon of the Michigan Department of Natural Resources says a six-member panel evaluated proposals based on criteria such as accessibility for the public, willingness to share costs and the projects' likelihood for producing tangible results.
Six of the winners were conservation districts. Other winners included sporting groups.


This project aims to implement a fast, lightweight and simple STOMP compatible messaging server.
There are quite a few STOMP servers available already but all of them are either heavyweight or experimental.
It uses libevent for networking and leveldb for storing messages.
The original environment for which redqueue was designed has changed so it's development was stopped. The code is still there for reference or someone to pick up the work. The basic functionality is already working.


Home is where the heart is. So choose a window cleaner that puts their heart into every job.
Bax Windows' fully-insured professionals take pride in window cleaning for owners corporations. For windows, all glazed surfaces - or just for advice on cleaning options - we'll ensure the highest quality result for the property and its owners.
We will ensure all your tenants' windows are spotless.
We can clean windows at any height, safely and efficiently.
Every job has unique complexities. We're equipped to deal with any kind of premises.
We have expert knowledge to ensure that your tenants' windows are cleaned to the highest standard.
But that's just the start. We also clean window frames and windowsills, including dust, cobweb and stain removal. In fact, we can clean any glazed surface – including skylights, pool fences, splashbacks, perspex, shower screens and mirrors.
We're happy to arrange individual access to tenants' balconies and courtyards to ensure areas of the building can be cleaned.
From our very first interaction, you'll see why we're renowned for our customer focus.
First, we supply a free, no-obligation quote. Then, when you're happy to proceed, we notify owners corporation managers, owners and/or tenants of our service and dates well in advance.
Then, our professional staff show up on time and in full uniform ready to do an outstanding job.
We have the equipment to access windows at any height or location. We're fully equipped and accredited for rope access and elevated work platform window cleaning - including Work Safely at Heights certification.
And because we're committed to the security of your property, all our staff must pass a thorough background check.
We work efficiently to ensure minimal disruption to tenants - while always exercising care for the property and tenants' belongings.
Bax were invited to tender for owners corporation window cleaning and facade cleaning in by The Precinct Apartment complex (Abbotsford) in 2014 - all thanks to a referral from a different owners corporation.
Being a newly-constructed site, the owners corporation tasked Bax with undertaking the complex's inaugural maintenance window clean - with its five unique buildings each presenting a unique challenge.
Cleaning the facade meant pressure washing window frames, painted concrete and sunshade louvres. The window cleaning itself called for squeegee cleaning of all glass Alucobond and louvres. Bax's owners corporation window cleaners achieved this using industrial rope access.
An additional challenge was the water source; The Precinct Apartments only have a water source at ground level. That meant using specialist equipment to wash the facades. The metal louvre sunshade panels are in some places installed up against the glass. In order to clean this glass, skilled Bax personnel used specialist reach equipment.
The results spoke for themselves - we've enjoyed a continuing relationship with The Precinct ever since.
"Just wanted to touch base and commend you and your team on a great effort regarding window cleaning/facade cleaning at precinct apartments. Standards were very high down here and your company has delivered great results. Furthermore the chairs of our committee have personally emailed to say what a great job, and how your employees were respectful especially when doing the facade clean trying their best not to drench balconies. All in all, great effort and will see you back in December."


text:
The Fighter Jet We Could Have Built Instead of the F-35
Andrew Tarantola
The mid-1990s found the U.S. military in need of a low-cost, supersonic stealth fighter jet that all three armed services branches could field. Easy, right? The subsequent—and highly contentious—design competition between Boeing and Lockheed saw the winner take home a $200 billion defense contract, which in turn became the debacle we know as the F-35. But what about the plane we could have had instead?
The Joint Strike Fighter (JSF) program began in 1996, with the goal of producing a low-cost, multi-role tactical aircraft for the U.S. military and its allies. To that end, it awarded four-year design contracts to both Boeing and Lockheed Martin on the grounds they produce concept demonstration aircraft, more commonly known as technology demonstrators. These aircraft would be required to not only show off their combat prowess but also their low-speed, carrier-approach handling, and STOVL (short takeoff, vertical landing) capabilities—specifically the ability to shift to and from hovering in mid-flight.
Boeing's entries, dubbed X-32A and X-32B, measured 45 feet long, and were powered by a single 28,000 lbf Pratt and Whitney afterburning turbofan that provided speeds up to mach 1.6 and an operational range of 830 nautical miles. One of Boeing's key innovations was going to be saving significant costs by producing the major structural component, the carbon fiber delta wing, as a single unit. The wing measured 36 feet across and could hold more than 20,000 pounds of fuel. Its severe 55 degree sweep angle served to limit transonic drag, while allowing for a thicker wing section. Unfortunately, this component would prove difficult to fabricate, much less cost-effectively produce at scale.
Boeing also attempted to cut production costs by using a direct-lift thrust vectoring system, which is what the venerated Harrier II (the one from True Lies) uses. This method only requires the addition of a single thrust vectoring module to the main engine, as opposed to Lockheed's more complicated—but more powerful—shaft-driven lift fan, but also requires that the engine be moved forward from its traditional spot at the back of the aircraft up to just behind the cockpit to balance the plane's weight distribution more evenly when hovering. The X-32's direct lift system also demanded that the fighter incorporate that basking shark-esque air intake under its chin; otherwise the main engine wouldn't get enough air when hovering.
Due to the excessive weight of the delta wing, Boeing had to exhibit the plane's supersonic flight and STOVL capabilities on separate platforms. The X-32A would hand the conventional takeoff and supersonic demonstration, while X-32B would deal with the VTOL capabilities, with the promise by Boeing that they'd of course be unified should the design win. The X-35, conversely, could perform both tasks using the same prototype.
In September 2000, X-32A began four months of flight testing over 66 sorties, while X-32B commenced testing the following March. These flight tests concluded in July of 2001 with Boeing's actual flight performance precisely matching that of computer model predictions made over the previous four years for the first time in aviation history.
However, Boeing's performance prediction ability wasn't enough to convince the Department of Defense, and in October 2001, the Pentagon awarded the JSF contract to Lockheed. The DoD made this decision based in large part to the X-32's STOVL difficulties compared to the X-35; the Boeing prototype tended to suck hot air back in from the exhaust and cause the engine the overheat. As such the DoD determined the X-35's more complicated thrust vectoring system to be worth the risk.
Overall, the X-32 simply failed to impress. Its delta wing proved too cumbersome, its STOVL system too ungainly to win the hearts and minds of the DoD brass. The X-35, on the other hand, passed its initial flight tests handedly. The resulting contract netted Lockheed Martin more than $19 billion, while Boeing made due with "Strategic investments."
"Whenever we hear about Lockheed's difficulties with the JSF, we all look at each other, and say, "They didn't pick the right product,'" Cynthia Cole, a former flight test engineer on the Boeing program from 1997 through 2002, told Biz Journals.
"I thought our vertical takeoff model was far superior," she continued. "The design was definitely cutting edge, it was new technology. We really thought it was going to win the day for us."
Given the numerous cost overruns, delays, and groundings that the F-35 fleet has suffered since being developed from the X-35 concept, not to mention the fact that the entire program has had to be restructured twice in just two years to keep from going bankrupt, it's easy to see greener grass on Boeing's side of the fence. On the other hand, who's to say that the X-32 would ever have been able to incorporate both halves of its combat functionality?
And as Philip Ewing of DoD Buzz points out:
We'll never know what 10 years of development and hundreds of billions of dollars could've done for the X-32 — maybe it could be flying in Marine squadrons off Navy amphibious ships today. (Doubtful.) The real lesson is that even when the Defense Department sets up a program designed to save money and be efficient by using the same basic aircraft for three services… it won't. Instead it produced a very expensive "joint" program in which only one of the participants — the Air Force — seems truly pleased with the result. And if it did produce the perfect plane for the Marines, the nature of the competition also meant that DoD couldn't buy it.
Still, the competition did allow Boeing to develop a number of new technologies that have already been incorporated to the F-18 Super Hornet—which has also benefitted from the F-35's woes in the form of its continued production—as well as the prototype X-45A Unmanned Combat Air Vehicle. Even when they lose, Boeing seems to win. [Wiki - Biz Journals - Boeing - Medium]
F'd: How the U.S. and Its Allies Got Stuck with the World's Worst New Warplane
The F-35 Joint Strike Fighter was meant to improve the U.S. air arsenal, but has made it more…


text:
Ellison reacts to Big Pharma lawsuit to block Alec Smith Act
July 01, 2020 - 1:44pm | By Chris Larson
Minnesota Attorney General Keith Ellison issued the following statement about the lawsuit Big Pharma filed today to block the Alec Smith Insulin Affordability Act, which takes effect today.
"Today — the very day our law finally takes effect so that no Minnesotan needs to die because they can't afford the astronomical cost of insulin — is the day that Big Pharma chooses to sue to block the law. Today — the very day that our state finally put Minnesotans' lives ahead of drug companies' profits — Big Pharma is telling Minnesotans that their obscene profits come before your lives.
"I'm outraged when I think of Alec Smith, the young man our law is named after, who died three years ago because he couldn't afford his insulin. I'm outraged when I think of the years of effort that Alec's mother Nicole Smith-Holt and so many other survivors and advocates put into passing the law. I'm outraged when I think that the inventor who discovered insulin a century ago sold the patent for $1 because he knew it would save lives — then Big Pharma pocketed billions in profits on it instead.
"It's my job as Attorney General to defend this law in court. My office and I will defend it with every resource we have. I'm defending it on behalf of all Minnesotans who believe that no one should die because they can't afford their insulin. I'm defending it on behalf of all Minnesotans who believe people's lives are more important than drug companies' profits."
Alec Smith Act
Republican candidate for Minnesota attorney general Jim Schultz receives police union endorsement
Mon, Mar 28th, 2022 - 3:32pm
Wrigley certifies trigger laws making abortions illegal in North Dakota
Tue, Jun 28th, 2022 - 9:52am
Lawmakers considering funding bill for Minnesota Attorney General's Office
Wed, Jan 18th, 2023 - 6:56am
Minnesota Attorney General signs on to Ghost Gun label plan
Tue, Jul 12th, 2022 - 7:54am


B.A., History - European and U.S.
Gallaudet University, Washington, D. C.
Sr. SAN Storage Sepcialist at IBM Canada Ltd.
Consulting. Connecting. Strategizing for Success!
Cofounder & CTO of Internet Hosting and Web Software Development Firm TAG Online Inc.
Passionate about strengthening youths' relationships with themselves and others.
German to English translator with multicultural and international work experience.


June 2. — As we had made a shorter stage yesterday than I intended to have done, and the quantity of flour we had now remaining was very small, I did not dare to make use of any this morning, and we commenced our journey without breakfast. Being now near Thistle Cove, where I intended to halt for some time, and kill the little foal for food, whilst the other horses were recruiting, and as I hoped to get there early this afternoon, I was anxious to husband our little stock of flour in the hope, that at the little fresh-water lake described by Flinders, as existing there, we should find abundance of the flag-reed for our support. Keeping a little behind the shore for the first hour, we crossed over the sandy ridge bounding it, and upon looking towards the sea, I thought I discovered a boat sailing in the bay. Upon pointing this object out to Wylie, he was of the same opinion with myself, and we at once descended towards the shore, but on our arrival were greatly disappointed at not being able again to see the object of our search. In the course of half an hour, however, whilst resting ourselves and watching the surface of the ocean, it again became visible, and soon after a second appeared. It was now evident that both these were boats, and that we had noticed them only when standing off shore, and the light shone upon their sails, and had lost them when upon the opposite tack. It was equally apparent they were standing out from the main land for the islands. I imagined them to be sealers, who having entered the bay to procure water or firewood, were again steering towards the islands to fish. Having hastily made a fire upon one of the sand-hills, we fired shots, shouted, waved handkerchiefs, and made every signal we could to attract attention, but in vain. They were too far away to see, or too busy to look towards us. The hopes we had entertained were as suddenly disappointed as they had been excited, and we stood silently and sullenly gazing after the boats as they gradually receded from our view.
Whilst thus occupied and brooding over our disappointment, we were surprised to see both boats suddenly lower their sails, and apparently commence fishing. Watching them steadily we now perceived that they were whale boats, and once more our hearts beat with hope, for I felt sure that they must belong to some vessel whaling in the neighbourhood. We now anxiously scanned the horizon in every direction, and at last were delighted beyond measure to perceive to the westward the masts of a large ship, peeping above a rocky island which had heretofore concealed her from our view. She was apparently about six miles from us, and as far as we could judge from so great a distance, seemed to be at anchor near the shore.
Our story was soon told, and we were received with the greatest kindness and hospitality by the captain.


text:
package syscall_test

import (
	"bytes"
	"flag"
	"fmt"
	"internal/testenv"
	"io"
	"os"
	"os/exec"
	"os/user"
	"path"
	"path/filepath"
	"runtime"
	"strconv"
	"strings"
	"syscall"
	"testing"
	"unsafe"
)

func isDocker() bool {
	_, err := os.Stat("/.dockerenv")
	return err == nil
}

func isLXC() bool {
	return os.Getenv("container") == "lxc"
}

func skipInContainer(t *testing.T) {
	// TODO: the callers of this func are using this func to skip
	// tests when running as some sort of "fake root" that's uid 0
	// but lacks certain Linux capabilities. Most of the Go builds
	// run in privileged containers, though, where root is much
	// closer (if not identical) to the real root. We should test
	// for what we need exactly (which capabilities are active?),
	// instead of just assuming "docker == bad". Then we'd get more test
	// coverage on a bunch of builders too.
	if isDocker() {
		t.Skip("skip this test in Docker container")
	}
	if isLXC() {
		t.Skip("skip this test in LXC container")
	}
}

func skipNoUserNamespaces(t *testing.T) {
	if _, err := os.Stat("/proc/self/ns/user"); err != nil {
		if os.IsNotExist(err) {
			t.Skip("kernel doesn't support user namespaces")
		}
		if os.IsPermission(err) {
			t.Skip("unable to test user namespaces due to permissions")
		}
		t.Fatalf("Failed to stat /proc/self/ns/user: %v", err)
	}
}

func skipUnprivilegedUserClone(t *testing.T) {
	// Skip the test if the sysctl that prevents unprivileged user
	// from creating user namespaces is enabled.
	data, errRead := os.ReadFile("/proc/sys/kernel/unprivileged_userns_clone")
	if os.IsNotExist(errRead) {
		// This file is only available in some Debian/Ubuntu kernels.
		return
	}
	if errRead != nil || len(data) < 1 || data[0] == '0' {
		t.Skip("kernel prohibits user namespace in unprivileged process")
	}
}

// Check if we are in a chroot by checking if the inode of / is
// different from 2 (there is no better test available to non-root on
// linux).
func isChrooted(t *testing.T) bool {
	root, err := os.Stat("/")
	if err != nil {
		t.Fatalf("cannot stat /: %v", err)
	}
	return root.Sys().(*syscall.Stat_t).Ino != 2
}

func checkUserNS(t *testing.T) {
	skipInContainer(t)
	skipNoUserNamespaces(t)
	if isChrooted(t) {
		// create_user_ns in the kernel (see
		// https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/kernel/user_namespace.c)
		// forbids the creation of user namespaces when chrooted.
		t.Skip("cannot create user namespaces when chrooted")
	}
	// On some systems, there is a sysctl setting.
	if os.Getuid() != 0 {
		skipUnprivilegedUserClone(t)
	}
	// On Centos 7 make sure they set the kernel parameter user_namespace=1
	// See issue 16283 and 20796.
	if _, err := os.Stat("/sys/module/user_namespace/parameters/enable"); err == nil {
		buf, _ := os.ReadFile("/sys/module/user_namespace/parameters/enabled")
		if !strings.HasPrefix(string(buf), "Y") {
			t.Skip("kernel doesn't support user namespaces")
		}
	}

	// On Centos 7.5+, user namespaces are disabled if user.max_user_namespaces = 0
	if _, err := os.Stat("/proc/sys/user/max_user_namespaces"); err == nil {
		buf, errRead := os.ReadFile("/proc/sys/user/max_user_namespaces")
		if errRead == nil && buf[0] == '0' {
			t.Skip("kernel doesn't support user namespaces")
		}
	}
}

func whoamiCmd(t *testing.T, uid, gid int, setgroups bool) *exec.Cmd {
	checkUserNS(t)
	cmd := exec.Command("whoami")
	cmd.SysProcAttr = &syscall.SysProcAttr{
		Cloneflags: syscall.CLONE_NEWUSER,
		UidMappings: []syscall.SysProcIDMap{
			{ContainerID: 0, HostID: uid, Size: 1},
		},
		GidMappings: []syscall.SysProcIDMap{
			{ContainerID: 0, HostID: gid, Size: 1},
		},
		GidMappingsEnableSetgroups: setgroups,
	}
	return cmd
}

func testNEWUSERRemap(t *testing.T, uid, gid int, setgroups bool) {
	cmd := whoamiCmd(t, uid, gid, setgroups)
	out, err := cmd.CombinedOutput()
	if err != nil {
		t.Fatalf("Cmd failed with err %v, output: %s", err, out)
	}
	sout := strings.TrimSpace(string(out))
	want := "root"
	if sout != want {
		t.Fatalf("whoami = %q; want %q", out, want)
	}
}

func TestCloneNEWUSERAndRemapRootDisableSetgroups(t *testing.T) {
	if os.Getuid() != 0 {
		t.Skip("skipping root only test")
	}
	testNEWUSERRemap(t, 0, 0, false)
}

func TestCloneNEWUSERAndRemapRootEnableSetgroups(t *testing.T) {
	if os.Getuid() != 0 {
		t.Skip("skipping root only test")
	}
	testNEWUSERRemap(t, 0, 0, true)
}

func TestCloneNEWUSERAndRemapNoRootDisableSetgroups(t *testing.T) {
	if os.Getuid() == 0 {
		t.Skip("skipping unprivileged user only test")
	}
	testNEWUSERRemap(t, os.Getuid(), os.Getgid(), false)
}

func TestCloneNEWUSERAndRemapNoRootSetgroupsEnableSetgroups(t *testing.T) {
	if os.Getuid() == 0 {
		t.Skip("skipping unprivileged user only test")
	}
	cmd := whoamiCmd(t, os.Getuid(), os.Getgid(), true)
	err := cmd.Run()
	if err == nil {
		t.Skip("probably old kernel without security fix")
	}
	if !os.IsPermission(err) {
		t.Fatalf("Unprivileged gid_map rewriting with GidMappingsEnableSetgroups must fail")
	}
}

func TestEmptyCredGroupsDisableSetgroups(t *testing.T) {
	cmd := whoamiCmd(t, os.Getuid(), os.Getgid(), false)
	cmd.SysProcAttr.Credential = &syscall.Credential{}
	if err := cmd.Run(); err != nil {
		t.Fatal(err)
	}
}

func TestUnshare(t *testing.T) {
	skipInContainer(t)
	// Make sure we are running as root so we have permissions to use unshare
	// and create a network namespace.
	if os.Getuid() != 0 {
		t.Skip("kernel prohibits unshare in unprivileged process, unless using user namespace")
	}

	path := "/proc/net/dev"
	if _, err := os.Stat(path); err != nil {
		if os.IsNotExist(err) {
			t.Skip("kernel doesn't support proc filesystem")
		}
		if os.IsPermission(err) {
			t.Skip("unable to test proc filesystem due to permissions")
		}
		t.Fatal(err)
	}
	if _, err := os.Stat("/proc/self/ns/net"); err != nil {
		if os.IsNotExist(err) {
			t.Skip("kernel doesn't support net namespace")
		}
		t.Fatal(err)
	}

	orig, err := os.ReadFile(path)
	if err != nil {
		t.Fatal(err)
	}
	origLines := strings.Split(strings.TrimSpace(string(orig)), "\n")

	cmd := exec.Command("cat", path)
	cmd.SysProcAttr = &syscall.SysProcAttr{
		Unshareflags: syscall.CLONE_NEWNET,
	}
	out, err := cmd.CombinedOutput()
	if err != nil {
		if strings.Contains(err.Error(), "operation not permitted") {
			// Issue 17206: despite all the checks above,
			// this still reportedly fails for some users.
			// (older kernels?). Just skip.
			t.Skip("skipping due to permission error")
		}
		t.Fatalf("Cmd failed with err %v, output: %s", err, out)
	}

	// Check there is only the local network interface
	sout := strings.TrimSpace(string(out))
	if !strings.Contains(sout, "lo:") {
		t.Fatalf("Expected lo network interface to exist, got %s", sout)
	}

	lines := strings.Split(sout, "\n")
	if len(lines) >= len(origLines) {
		t.Fatalf("Got %d lines of output, want <%d", len(lines), len(origLines))
	}
}

func TestGroupCleanup(t *testing.T) {
	if os.Getuid() != 0 {
		t.Skip("we need root for credential")
	}
	cmd := exec.Command("id")
	cmd.SysProcAttr = &syscall.SysProcAttr{
		Credential: &syscall.Credential{
			Uid: 0,
			Gid: 0,
		},
	}
	out, err := cmd.CombinedOutput()
	if err != nil {
		t.Fatalf("Cmd failed with err %v, output: %s", err, out)
	}
	strOut := strings.TrimSpace(string(out))
	t.Logf("id: %s", strOut)

	expected := "uid=0(root) gid=0(root)"
	// Just check prefix because some distros reportedly output a
	// context parameter; see https://golang.org/issue/16224.
	// Alpine does not output groups; see https://golang.org/issue/19938.
	if !strings.HasPrefix(strOut, expected) {
		t.Errorf("expected prefix: %q", expected)
	}
}

func TestGroupCleanupUserNamespace(t *testing.T) {
	if os.Getuid() != 0 {
		t.Skip("we need root for credential")
	}
	checkUserNS(t)
	cmd := exec.Command("id")
	uid, gid := os.Getuid(), os.Getgid()
	cmd.SysProcAttr = &syscall.SysProcAttr{
		Cloneflags: syscall.CLONE_NEWUSER,
		Credential: &syscall.Credential{
			Uid: uint32(uid),
			Gid: uint32(gid),
		},
		UidMappings: []syscall.SysProcIDMap{
			{ContainerID: 0, HostID: uid, Size: 1},
		},
		GidMappings: []syscall.SysProcIDMap{
			{ContainerID: 0, HostID: gid, Size: 1},
		},
	}
	out, err := cmd.CombinedOutput()
	if err != nil {
		t.Fatalf("Cmd failed with err %v, output: %s", err, out)
	}
	strOut := strings.TrimSpace(string(out))
	t.Logf("id: %s", strOut)

	// As in TestGroupCleanup, just check prefix.
	// The actual groups and contexts seem to vary from one distro to the next.
	expected := "uid=0(root) gid=0(root) groups=0(root)"
	if !strings.HasPrefix(strOut, expected) {
		t.Errorf("expected prefix: %q", expected)
	}
}

// TestUnshareHelperProcess isn't a real test. It's used as a helper process
// for TestUnshareMountNameSpace.
func TestUnshareMountNameSpaceHelper(*testing.T) {
	if os.Getenv("GO_WANT_HELPER_PROCESS") != "1" {
		return
	}
	defer os.Exit(0)
	if err := syscall.Mount("none", flag.Args()[0], "proc", 0, ""); err != nil {
		fmt.Fprintf(os.Stderr, "unshare: mount %v failed: %v", os.Args, err)
		os.Exit(2)
	}
}

// Test for Issue 38471: unshare fails because systemd has forced / to be shared
func TestUnshareMountNameSpace(t *testing.T) {
	skipInContainer(t)
	// Make sure we are running as root so we have permissions to use unshare
	// and create a network namespace.
	if os.Getuid() != 0 {
		t.Skip("kernel prohibits unshare in unprivileged process, unless using user namespace")
	}

	d, err := os.MkdirTemp("", "unshare")
	if err != nil {
		t.Fatalf("tempdir: %v", err)
	}

	cmd := exec.Command(os.Args[0], "-test.run=TestUnshareMountNameSpaceHelper", d)
	cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1")
	cmd.SysProcAttr = &syscall.SysProcAttr{Unshareflags: syscall.CLONE_NEWNS}

	o, err := cmd.CombinedOutput()
	if err != nil {
		if strings.Contains(err.Error(), ": permission denied") {
			t.Skipf("Skipping test (golang.org/issue/19698); unshare failed due to permissions: %s, %v", o, err)
		}
		t.Fatalf("unshare failed: %s, %v", o, err)
	}

	// How do we tell if the namespace was really unshared? It turns out
	// to be simple: just try to remove the directory. If it's still mounted
	// on the rm will fail with EBUSY. Then we have some cleanup to do:
	// we must unmount it, then try to remove it again.

	if err := os.Remove(d); err != nil {
		t.Errorf("rmdir failed on %v: %v", d, err)
		if err := syscall.Unmount(d, syscall.MNT_FORCE); err != nil {
			t.Errorf("Can't unmount %v: %v", d, err)
		}
		if err := os.Remove(d); err != nil {
			t.Errorf("rmdir after unmount failed on %v: %v", d, err)
		}
	}
}

// Test for Issue 20103: unshare fails when chroot is used
func TestUnshareMountNameSpaceChroot(t *testing.T) {
	skipInContainer(t)
	// Make sure we are running as root so we have permissions to use unshare
	// and create a network namespace.
	if os.Getuid() != 0 {
		t.Skip("kernel prohibits unshare in unprivileged process, unless using user namespace")
	}

	d, err := os.MkdirTemp("", "unshare")
	if err != nil {
		t.Fatalf("tempdir: %v", err)
	}

	// Since we are doing a chroot, we need the binary there,
	// and it must be statically linked.
	x := filepath.Join(d, "syscall.test")
	cmd := exec.Command(testenv.GoToolPath(t), "test", "-c", "-o", x, "syscall")
	cmd.Env = append(os.Environ(), "CGO_ENABLED=0")
	if o, err := cmd.CombinedOutput(); err != nil {
		t.Fatalf("Build of syscall in chroot failed, output %v, err %v", o, err)
	}

	cmd = exec.Command("/syscall.test", "-test.run=TestUnshareMountNameSpaceHelper", "/")
	cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1")
	cmd.SysProcAttr = &syscall.SysProcAttr{Chroot: d, Unshareflags: syscall.CLONE_NEWNS}

	o, err := cmd.CombinedOutput()
	if err != nil {
		if strings.Contains(err.Error(), ": permission denied") {
			t.Skipf("Skipping test (golang.org/issue/19698); unshare failed due to permissions: %s, %v", o, err)
		}
		t.Fatalf("unshare failed: %s, %v", o, err)
	}

	// How do we tell if the namespace was really unshared? It turns out
	// to be simple: just try to remove the executable. If it's still mounted
	// on, the rm will fail. Then we have some cleanup to do:
	// we must force unmount it, then try to remove it again.

	if err := os.Remove(x); err != nil {
		t.Errorf("rm failed on %v: %v", x, err)
		if err := syscall.Unmount(d, syscall.MNT_FORCE); err != nil {
			t.Fatalf("Can't unmount %v: %v", d, err)
		}
		if err := os.Remove(x); err != nil {
			t.Fatalf("rm failed on %v: %v", x, err)
		}
	}

	if err := os.Remove(d); err != nil {
		t.Errorf("rmdir failed on %v: %v", d, err)
	}
}

func TestUnshareUidGidMappingHelper(*testing.T) {
	if os.Getenv("GO_WANT_HELPER_PROCESS") != "1" {
		return
	}
	defer os.Exit(0)
	if err := syscall.Chroot(os.TempDir()); err != nil {
		fmt.Fprintln(os.Stderr, err)
		os.Exit(2)
	}
}

// Test for Issue 29789: unshare fails when uid/gid mapping is specified
func TestUnshareUidGidMapping(t *testing.T) {
	if os.Getuid() == 0 {
		t.Skip("test exercises unprivileged user namespace, fails with privileges")
	}
	checkUserNS(t)
	cmd := exec.Command(os.Args[0], "-test.run=TestUnshareUidGidMappingHelper")
	cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1")
	cmd.SysProcAttr = &syscall.SysProcAttr{
		Unshareflags:               syscall.CLONE_NEWNS | syscall.CLONE_NEWUSER,
		GidMappingsEnableSetgroups: false,
		UidMappings: []syscall.SysProcIDMap{
			{
				ContainerID: 0,
				HostID:      syscall.Getuid(),
				Size:        1,
			},
		},
		GidMappings: []syscall.SysProcIDMap{
			{
				ContainerID: 0,
				HostID:      syscall.Getgid(),
				Size:        1,
			},
		},
	}
	out, err := cmd.CombinedOutput()
	if err != nil {
		t.Fatalf("Cmd failed with err %v, output: %s", err, out)
	}
}

func prepareCgroupFD(t *testing.T) (int, string) {
	t.Helper()

	const O_PATH = 0x200000 // Same for all architectures, but for some reason not defined in syscall for 386||amd64.

	// Requires cgroup v2.
	const prefix = "/sys/fs/cgroup"
	selfCg, err := os.ReadFile("/proc/self/cgroup")
	if err != nil {
		if os.IsNotExist(err) || os.IsPermission(err) {
			t.Skip(err)
		}
		t.Fatal(err)
	}

	// Expect a single line like this:
	// 0::/user.slice/user-1000.slice/user@1000.service/app.slice/vte-spawn-891992a2-efbb-4f28-aedb-b24f9e706770.scope
	// Otherwise it's either cgroup v1 or a hybrid hierarchy.
	if bytes.Count(selfCg, []byte("\n")) > 1 {
		t.Skip("cgroup v2 not available")
	}
	cg := bytes.TrimPrefix(selfCg, []byte("0::"))
	if len(cg) == len(selfCg) { // No prefix found.
		t.Skipf("cgroup v2 not available (/proc/self/cgroup contents: %q)", selfCg)
	}

	// Need clone3 with CLONE_INTO_CGROUP support.
	_, err = syscall.ForkExec("non-existent binary", nil, &syscall.ProcAttr{
		Sys: &syscall.SysProcAttr{
			UseCgroupFD: true,
			CgroupFD:    -1,
		},
	})
	// // EPERM can be returned if clone3 is not enabled by seccomp.
	if err == syscall.ENOSYS || err == syscall.EPERM {
		t.Skipf("clone3 with CLONE_INTO_CGROUP not available: %v", err)
	}

	// Need an ability to create a sub-cgroup.
	subCgroup, err := os.MkdirTemp(prefix+string(bytes.TrimSpace(cg)), "subcg-")
	if err != nil {
		if os.IsPermission(err) {
			t.Skip(err)
		}
		t.Fatal(err)
	}
	t.Cleanup(func() { syscall.Rmdir(subCgroup) })

	cgroupFD, err := syscall.Open(subCgroup, O_PATH, 0)
	if err != nil {
		t.Fatal(&os.PathError{Op: "open", Path: subCgroup, Err: err})
	}
	t.Cleanup(func() { syscall.Close(cgroupFD) })

	return cgroupFD, "/" + path.Base(subCgroup)
}

func TestUseCgroupFD(t *testing.T) {
	fd, suffix := prepareCgroupFD(t)

	cmd := exec.Command(os.Args[0], "-test.run=TestUseCgroupFDHelper")
	cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1")
	cmd.SysProcAttr = &syscall.SysProcAttr{
		UseCgroupFD: true,
		CgroupFD:    fd,
	}
	out, err := cmd.CombinedOutput()
	if err != nil {
		t.Fatalf("Cmd failed with err %v, output: %s", err, out)
	}
	// NB: this wouldn't work with cgroupns.
	if !bytes.HasSuffix(bytes.TrimSpace(out), []byte(suffix)) {
		t.Fatalf("got: %q, want: a line that ends with %q", out, suffix)
	}
}

func TestUseCgroupFDHelper(*testing.T) {
	if os.Getenv("GO_WANT_HELPER_PROCESS") != "1" {
		return
	}
	defer os.Exit(0)
	// Read and print own cgroup path.
	selfCg, err := os.ReadFile("/proc/self/cgroup")
	if err != nil {
		fmt.Fprintln(os.Stderr, err)
		os.Exit(2)
	}
	fmt.Print(string(selfCg))
}

type capHeader struct {
	version uint32
	pid     int32
}

type capData struct {
	effective   uint32
	permitted   uint32
	inheritable uint32
}

const CAP_SYS_TIME = 25
const CAP_SYSLOG = 34

type caps struct {
	hdr  capHeader
	data [2]capData
}

func getCaps() (caps, error) {
	var c caps

	// Get capability version
	if _, _, errno := syscall.Syscall(syscall.SYS_CAPGET, uintptr(unsafe.Pointer(&c.hdr)), uintptr(unsafe.Pointer(nil)), 0); errno != 0 {
		return c, fmt.Errorf("SYS_CAPGET: %v", errno)
	}

	// Get current capabilities
	if _, _, errno := syscall.Syscall(syscall.SYS_CAPGET, uintptr(unsafe.Pointer(&c.hdr)), uintptr(unsafe.Pointer(&c.data[0])), 0); errno != 0 {
		return c, fmt.Errorf("SYS_CAPGET: %v", errno)
	}

	return c, nil
}

func mustSupportAmbientCaps(t *testing.T) {
	var uname syscall.Utsname
	if err := syscall.Uname(&uname); err != nil {
		t.Fatalf("Uname: %v", err)
	}
	var buf [65]byte
	for i, b := range uname.Release {
		buf[i] = byte(b)
	}
	ver := string(buf[:])
	ver, _, _ = strings.Cut(ver, "\x00")
	if strings.HasPrefix(ver, "2.") ||
		strings.HasPrefix(ver, "3.") ||
		strings.HasPrefix(ver, "4.1.") ||
		strings.HasPrefix(ver, "4.2.") {
		t.Skipf("kernel version %q predates required 4.3; skipping test", ver)
	}
}

// TestAmbientCapsHelper isn't a real test. It's used as a helper process for
// TestAmbientCaps.
func TestAmbientCapsHelper(*testing.T) {
	if os.Getenv("GO_WANT_HELPER_PROCESS") != "1" {
		return
	}
	defer os.Exit(0)

	caps, err := getCaps()
	if err != nil {
		fmt.Fprintln(os.Stderr, err)
		os.Exit(2)
	}
	if caps.data[0].effective&(1<<uint(CAP_SYS_TIME)) == 0 {
		fmt.Fprintln(os.Stderr, "CAP_SYS_TIME unexpectedly not in the effective capability mask")
		os.Exit(2)
	}
	if caps.data[1].effective&(1<<uint(CAP_SYSLOG&31)) == 0 {
		fmt.Fprintln(os.Stderr, "CAP_SYSLOG unexpectedly not in the effective capability mask")
		os.Exit(2)
	}
}

func TestAmbientCaps(t *testing.T) {
	// Make sure we are running as root so we have permissions to use unshare
	// and create a network namespace.
	if os.Getuid() != 0 {
		t.Skip("kernel prohibits unshare in unprivileged process, unless using user namespace")
	}

	testAmbientCaps(t, false)
}

func TestAmbientCapsUserns(t *testing.T) {
	checkUserNS(t)
	testAmbientCaps(t, true)
}

func testAmbientCaps(t *testing.T, userns bool) {
	skipInContainer(t)
	mustSupportAmbientCaps(t)

	skipUnprivilegedUserClone(t)

	// skip on android, due to lack of lookup support
	if runtime.GOOS == "android" {
		t.Skip("skipping test on android; see Issue 27327")
	}

	u, err := user.Lookup("nobody")
	if err != nil {
		t.Fatal(err)
	}
	uid, err := strconv.ParseInt(u.Uid, 0, 32)
	if err != nil {
		t.Fatal(err)
	}
	gid, err := strconv.ParseInt(u.Gid, 0, 32)
	if err != nil {
		t.Fatal(err)
	}

	// Copy the test binary to a temporary location which is readable by nobody.
	f, err := os.CreateTemp("", "gotest")
	if err != nil {
		t.Fatal(err)
	}
	defer os.Remove(f.Name())
	defer f.Close()
	e, err := os.Open(os.Args[0])
	if err != nil {
		t.Fatal(err)
	}
	defer e.Close()
	if _, err := io.Copy(f, e); err != nil {
		t.Fatal(err)
	}
	if err := f.Chmod(0755); err != nil {
		t.Fatal(err)
	}
	if err := f.Close(); err != nil {
		t.Fatal(err)
	}

	cmd := exec.Command(f.Name(), "-test.run=TestAmbientCapsHelper")
	cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1")
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	cmd.SysProcAttr = &syscall.SysProcAttr{
		Credential: &syscall.Credential{
			Uid: uint32(uid),
			Gid: uint32(gid),
		},
		AmbientCaps: []uintptr{CAP_SYS_TIME, CAP_SYSLOG},
	}
	if userns {
		cmd.SysProcAttr.Cloneflags = syscall.CLONE_NEWUSER
		const nobody = 65534
		uid := os.Getuid()
		gid := os.Getgid()
		cmd.SysProcAttr.UidMappings = []syscall.SysProcIDMap{{
			ContainerID: int(nobody),
			HostID:      int(uid),
			Size:        int(1),
		}}
		cmd.SysProcAttr.GidMappings = []syscall.SysProcIDMap{{
			ContainerID: int(nobody),
			HostID:      int(gid),
			Size:        int(1),
		}}

		// Set credentials to run as user and group nobody.
		cmd.SysProcAttr.Credential = &syscall.Credential{
			Uid: nobody,
			Gid: nobody,
		}
	}
	if err := cmd.Run(); err != nil {
		t.Fatal(err.Error())
	}
}


text:
REAL ESTATE PLATS SURVEYS
June 12, 2018 Uncategorizedadmin
Plats and Surveys. What do these words mean? If you've recently purchased or acquired a tract of land and plan on dividing it, adding to it, or otherwise developing it, you will come across the phrase "property plat." A "plat" is a plan or a map of a plot of land, especially used in construction site mapping. A plat map includes a description of the land and everything on it, including roads, boundaries, and real property. Learning about property plats can help you understand your rights as a landowner, and begin the development process within the legal boundaries of your county code.
Understanding Property Plats
Property plats are necessary during the land development process – particularly with the subdivision of a tract of land. Platting is a complex process that many lawyers, real estate developers, and even government officials still struggle with. The problem lies in the origin of platting laws. Plats are based in public law, not contract law. Subdivision platting laws are based on governmental legal concepts of "police power," or the right of the government to make laws necessary to protect the safety, welfare, and health of the public.
While the average person will likely not have to deal directly with platting, it's important for anyone who wishes to purchase, sell, or develop a lot to understand this concept. Plats are important because they give an accurate description of a section of land as well as the people, things, and access ways on the tract. Plats ensure property owners don't trespass on another's property, land for public use remains public, lots comply with zoning rules and restrictions, and all property owners have access to utilities. Plats also control the growth of cities.
Local governments require plats to keep track of all residential and commercial properties, their subdivisions, and the development of tracts of land. Without the platting system, there would be no legal documentation of the development of a property – nor would there be laws holding property owners liable for what they do to their land and that of adjacent tracts. Plats may seem like tedious red tape, but they are necessary to preserve the law and order of lands.
When Do You Need a Land Survey Plat?
Any time you plan to subdivide a property outside the limits of a municipality into two or more parts, you must submit a subdivision plat to the correct city or county official, unless you meet an exception in your local subdivision ordinance. This applies whether you plan to divide the land into building lots, a subdivision, or an addition. A tract of land is only subject to platting requirements if the division is also to lay out parks, squares, alleys, streets, or other parts intended to be dedicated to public use or the use of other owners adjacent to the land.
Texas has strict platting laws enforced on every development or division of land. Your county may require a filed plat for new plumbing or HVAC installation, as well as structural modifications. In Texas, platting requirements fall under local government code 212.004. This code states that a "division of a tract" includes those made using a metes and bounds description in a deed of conveyance, a contract for a deed or a contract of sale, or any other method.
Exceptions include a division of land into parts greater than five acres, where each portion has access and no public improvement, as well as local county and city exceptions. Platting requirements will change depending on your city. For example, Dallas has particularly specific platting rules. Dallas requires a property plat for the following actions:
Subdividing land
Combining tracts of land
Creating a building site
Developing a planned district
Adding vacant or abandoned property to a building site
Amending or correcting errors in a previous plat
Establishing a shared access development
You do not need a plat if you are dividing property for transfer or ownership – as long as the property is described using metes and bounds. However, this exception only lasts until someone requests a building permit for the property. Reach out to your county clerk's office for an exact list of platting requirements and exemptions in your area.
What Must a Property Plat Include?
When you file a property plat with your city or county, you must follow certain rules for it to be properly recorded. First, you must describe the subdivision by metes and bounds. This is a system for describing land and real properties that uses physical features of the land's geography, as well as distances and directions, to describe the boundaries of a piece of land.
Metes refer to a boundary defined by the measurement of a straight run. One specifies a mete by a distance between terminal points, as well as a direction or orientation. Bounds are a more general boundary description. For example, describing a body of water, a stone wall, or an adjoining road are all bounds. A lawyer can write the metes and bounds description of your land if necessary.
The plat must also locate the subdivision with respect to a corner of the original survey, and state the dimensions of the subdivision and of each part of the tract intended for public use. This may include parks, alleys, or streets. The owner of the tract, or the owner's agent, must acknowledge the plat; a process much like that of the acknowledgement of deeds. You must file and record the plat with the county clerk in the county where the tract of land is located.
How to Obtain a Property Plat
Plat maps must be as accurate as possible. To create a plat map, one invests in a plat survey. A plat surveyor will study the land in question and describe it in prose, using plain words to recreate the area. Plat surveys are especially useful when describing large tracts of land, where an accurate estimate of boundaries would be too difficult to achieve. Landowners can hire a surveyor to complete the plat survey, compare measurements to the original property deed, and calculate the actual bounds of the property.
After a plat survey, the owner of the land may find that the tract is actually larger or smaller than it is listed in other legal documents. Your property may already have a plat map on file in your county. Conduct an online public records search for plats, and discover the actual boundaries of your piece of property. Plats can open your eyes to parts of your property you didn't realize you owned, and help you comply with county codes during subdivision or construction projects. Plats and Surveys.
← FSBO vs REAL ESTATE AGENT? ADVANTAGES AND DISADVANTAGES UTILITY EASEMENTS →


Thomas Stewart Udall (born May 18, 1948) is an American politician serving as the senior United States Senator from New Mexico, a seat he was first elected to in 2008. A member of the Democratic Party, he previously served as the U.S. Representative for New Mexico's 3rd congressional district from 1999 to 2009 and was the Attorney General of New Mexico from 1991 to 1999. A member of the Udall family, he is the son of Stewart Udall, the nephew of Mo Udall, and the cousin of Mark Udall. He is the dean of New Mexico's congressional delegation.
On March 25, 2019, Udall announced that he would not seek a third term in the 2020 election, making him the first Democratic senator to announce his retirement in that election cycle.
In 1982, Udall ran for Congress in the newly created 3rd district, based in the state capital, Santa Fe, and including most of the north of the state. He lost the Democratic primary to Bill Richardson. In 1988, he ran for Congress again, this time in an election for the Albuquerque-based 1st district seat left open by retiring twenty-year incumbent Manuel Lujan, but narrowly lost to Bernalillo County District Attorney Steven Schiff. From 1990 to 1999 he served as Attorney General of New Mexico.
Udall ran for Congress again in 1998 in the 3rd district against incumbent Bill Redmond, who had been elected in a 1997 special election to replace Richardson. Redmond was a conservative Republican representing a heavily Democratic district, and the 3rd's partisan tilt helped Udall defeat Redmond with 53 percent of the vote. He was reelected four more times with no substantive opposition, including an unopposed run in 2002.
As a U.S. Representative, Tom Udall was a member of both the centrist New Democrat Coalition and the more liberal Congressional Progressive Caucus. He was a member of the United States House Peak oil Caucus, which he co-founded with Representative Roscoe Bartlett of Maryland.
Udall sat on the United States House of Representatives Committee on Appropriations in the Subcommittee on Interior, Environment, and Related Agencies, the Subcommittee on Labor, Health and Human Services, Education, and Related Agencies and the Subcommittee on Legislative Branch.
He was the Co-Vice Chair of the House Native American Caucus and Co-Chair of the International Conservation Caucus.
In November 2007, Udall announced he would run for the Senate seat held by retiring six-term incumbent Republican Pete Domenici. Potential Democratic rival Albuquerque Mayor Martin Chavez dropped out, handing Udall the nomination. New Mexico's other two members of the House, 1st and 2nd district's Heather Wilson and Steve Pearce, ran in the Republican primary. Pearce won the Republican nomination, and lost to Udall, who won 61 percent of the vote.
While Udall ran for Senate in New Mexico, his younger first cousin, Congressman Mark Udall, ran for the Senate in Colorado. Their double second cousin, incumbent Gordon Smith of Oregon, also ran for reelection. Both Udalls won and Smith lost.
He voted in favor of the Don't Ask, Don't Tell Repeal Act of 2010, FDA Food Safety Modernization Act, DREAM Act, American Recovery and Reinvestment Act of 2009, Patient Protection and Affordable Care Act, Children's Health Insurance Program Reauthorization Act, and the Lilly Ledbetter Fair Pay Act of 2009.
Udall was one of the first members of Congress to publicly express concern about the possibility of NSA overreach, a year before Edward Snowden's 2013 disclosure of the PRISM program.
On March 25, 2019, Udall announced that he would not run for reelection in 2020.
Tom Udall during his visit to the Navajo Nation Council Chambers in Window Rock, Arizona.
On March 19, 2013, Udall introduced into the Senate the Sandia Pueblo Settlement Technical Amendment Act (S. 611; 113th Congress), a bill that would transfer some land to the Sandia Pueblo tribe. Also during the 113th Congress, Udall introduced a proposed amendment to the Constitution that would allow limits on outside spending in support of political candidates. The Amendment won the approval of the Senate Judiciary Committee on a 10-8 vote in July 2014.
In March 2015 Udall sponsored Senate bill 697, the Frank R. Lautenberg Chemical Safety for the 21st Century Act, a bill to amend and reauthorize the Toxic Substances Control Act. The legislation, as amended, was signed into law by President Barack Obama on June 22, 2016. It updates the nation's safety system for thousands of chemicals in products like cleaners, paints, carpets and furniture. The bill initially faced criticism over the balance between federal and state authority to regulate chemicals, but after changes to the legislation it earned broader support, including from liberal members of the Senate and the President. It passed by a vote of 403-12 in the House and voice vote in the Senate.
In March 2019, he and Rand Paul co-sponsored the bipartisan AFGHAN Service Act to compensate members of the armed forces and repeal the 2001 Authorization for Use of Military Force Against Terrorists at the end of the Afghanistan withdrawal.
Udall has a "C-" rating from the National Rifle Association and a "F" rating from the Gun Owners of America for his support of gun control.
In 2013, he voted for state-by-state reciprocity of concealed carry and for the names of gun owners to be protected and released only in select situations.
In 2016, within weeks of the Orlando nightclub shooting, Udall participated in a sit-in at the House to demand votes on gun control legislation, saying, "We owe it to the LGBT community & all families harmed by gun violence to keep terror suspects fr[om] obtaining guns."
Since he was first elected to Congress in 1998, Udall has taken a leadership role on a wide array of environmental issues, receiving a lifetime score of 96% from the League of Conservation Voters. He was one of the original co-sponsors of the Arctic Wilderness Bill, and more recently has worked closely with the Navajo and Pueblo nations in New Mexico to oppose new leasing, drilling and fracking near Chaco Canyon National Park. In 2018 Udall received the Sierra Club's top award for public officials, the Edgar Wayburn Award.
Udall is married to Jill Cooper Udall. They live in Santa Fe with their daughter, Amanda Cooper. Tom Udall is the son of former Arizona Congressman and Interior Secretary Stewart Lee Udall, nephew of Arizona Congressman Morris Udall, and first cousin of former Colorado U.S. Senator Mark Udall, double second cousin of former Oregon U.S. Senator Gordon Smith, and second cousin of Utah U.S. Senator Mike Lee.
^ Obituary Los Angeles Times, March 21, 2010; page A39.
^ "Thomas Stewart Udall". Freepages.genealogy.rootsweb.ancestry.com. Retrieved March 25, 2019.
^ "Ten things to know about Senate hopeful Rep. Tom Udall". Albuquerque Tribune. November 29, 2007. Archived from the original on December 24, 2007. Retrieved November 11, 2007.
^ "Udall wins Redmond's New Mexico House seat". Associated Press. November 4, 1998. Retrieved November 11, 2007.
^ "Roscoe G. Bartlett". Archived from the original on September 25, 2012. Retrieved October 26, 2012.
^ Baker, Deborah (November 10, 2007). "New Mexico Rep. Tom Udall to seek Democratic nomination for Senate". Associated Press (SignOnSanDiego.com). Retrieved November 11, 2007.
^ "Key Votes by Tom Udall – page 2". The Washington Post.
^ "Key Votes by Tom Udall – page 3". The Washington Post.
^ Sargent, Greg (June 6, 2013). "We need more transparency and debate around NSA phone records program". Washington Post. Retrieved August 14, 2014.
^ "S. 611 – Summary". United States Congress. Retrieved March 13, 2014.
^ "Chairwoman Cantwell Holds Hearing on Tribal Resources Legislation". Tulalip News. May 10, 2013. Retrieved March 14, 2014.
^ "Senate Democrats Begin Efforts to Amend Constitution". Roll Call. June 6, 2014. Retrieved July 11, 2014.
^ a b Prokop, Andrew (July 10, 2014). "A Senate committee just approved a constitutional amendment to reverse Citizens United". Vox. Retrieved July 11, 2014.
^ "All Bill Information (Except Text) for S.697 – Frank R. Lautenberg Chemical Safety for the 21st Century Act". Congress.gov. March 10, 2015. Retrieved April 13, 2015.
^ "President Obama signs the Frank R. Lautenberg Chemical Safety for the 21st Century Act". The White House. Retrieved September 6, 2016.
^ "Congress Passes Largest Chemical Safety Legislation In 40 Years". NPR.org. Retrieved September 6, 2016.
^ "Obama signs bipartisan chemical safety bill". USA Today. Retrieved September 6, 2016.
^ "White House Statement of Administration Policy" (PDF). WhiteHouse.gov. May 23, 2016. Retrieved September 6, 2016.
^ "Congress is overhauling an outdated law that affects nearly every product you own". Washington Post. Retrieved September 6, 2016.
^ "Congress.gov". Congress.gov. U.S. Congress. June 22, 2016. Retrieved September 6, 2016.
^ "About senator, committees". www.tomudall.senate.gov. Retrieved April 2, 2016.
^ Blake, Aaron (December 17, 2012). "Where the Senate stands on guns — in one chart". Washington Post. Retrieved October 5, 2017.
^ Weiner, Rachel (April 17, 2013). "How almost all the gun amendments failed". Washington Post. Retrieved October 5, 2017.
^ Melton, Tara. "New Mexico senators speak out about gun reform". Alamogordo Daily News. Retrieved October 5, 2017.
^ "Canvass of Returns of Primary Election Held on June 3, 2008 - State of New Mexico" (PDF). Archived from the original (PDF) on March 14, 2012. Retrieved December 14, 2015.
^ "2008 Election Statistics". Clerk.house.gov. Retrieved February 23, 2016.
^ "New Mexico - Election Night Results - June 3rd, 2014". Electionresults.sos.state.nm.us. June 3, 2014. Retrieved July 25, 2014.
^ "Official Results General Election - November 4, 2014". New Mexico Secretary of State. November 4, 2014. Retrieved January 2, 2015.
^ Lee Davidson (October 24, 2010). "Senate race: Mike Lee ready to ride Senate roller coaster". The Salt Lake Tribune. Archived from the original on September 15, 2013.
Wikimedia Commons has media related to Tom Udall.


Your search for Ams Businesscard Maker found no results, have a look at the search tips below for more accurate results.
When you are searching for Ams Businesscard Maker try not include keywords such as serial key number etc, in your search, searching without those words will return better results.
Try to search for Ams Businesscard Maker without including the version number and also make sure your spelling is correct.