Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Tuesday, 31 July 2018

Autonomous-aviation startup Xwing takes flight with $4 million in funding

Marc Piette had a revelation as he buzzed in and out of the Palo Alto Airport in pursuit of his pilot’s license. Instead of freedom, he saw restraint. He also saw potential.

“It became pretty apparent that there were major issues with the general aviation industry with smaller aircraft,” Piette said in a recent interview with TechCrunch. “And yet it had enormous potential to change the way people moved around.”

Now, Piette’s two-year-old autonomous-aviation startup Xwing is ramping up to unlock that potential. The company isn’t building autonomous helicopters and planes. Instead, it’s focused on the software stack that will enable pilotless flight of small passenger aircraft.

The company announced Tuesday that it has raised $4 million in a seed round led by Eniac Ventures. Array Ventures, along with Stripe founders John and Patrick Collison and Nat Friedman of Xamarin, Microsoft and GitHub, also participated in the round.

The funding will be used by the San Francisco-based company to scale operations and continue to hire aerospace and software talent.

The startup has about a dozen employees, including some uniquely talented folks who have experience with optionally piloted vehicles, unmanned systems and certified avionics. For example, the company’s CTO, Maxime Gariel, worked on autonomous-aviation projects such as DARPA Gremlins and the AgustaWestland SW4 Solo autonomous helicopter. Other members of the small team previously worked at Rockwill Collins, with the Naval Research Lab, Google, and McKinsey.

Piette, whose last company Locu was acquired by GoDaddy, sees several restraints to small passenger aircraft: the skill level required to fly a plane and the cost of earning a pilot’s license and accessing a plane. The relatively puny sales volume of small aircraft — just 3,293 general aviation aircraft, including helicopters, were delivered last year worldwide, in contrast to more than 80 million cars — has depressed innovation and kept prices high.

And even when people have both a license and an aircraft, they still must travel from a small airport to their final destination.

The company is focusing on the key functions of autonomous flight, such as sensing, reasoning and control.

Xwing isn’t pinned to one kind of aircraft. Piette said the system is designed to work across different kinds of aircraft. For instance, the company spent 18 months testing on a subscale fixed-wing aircraft. It tested on a helicopter more recently.

Xwing is developing and integrating those technologies for rotorcraft, general aviation fixed-wing and the emerging electric vertical takeoff and landing (known as eVTOL) aircraft.

The company’s sensor integration software enables aircraft to perceive the world around it and reliably detect ground-based and airborne hazards and precisely determine the vehicle’s position.

This perception technology is the building block for autonomous aircraft, and also can be used to increase the operational envelope of current-day piloted aircraft, according to Xwing.

From here, the company’s Autonomy Flight Management System (AFMS) allows the aircraft to act upon the information from its surroundings. The system will integrate with air traffic control, generate flight paths to navigate the airspace, monitor system health and address all contingencies to ensure passenger safety, the company says.

Now, Xwing is in discussion with various, and still unnamed, large companies about integrating the system into their aircraft.



from TechCrunch https://ift.tt/2OtqWqe
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support