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();

Friday, 29 May 2020

SoftBank pours $500M into Didi in China’s biggest autonomous driving round

The race to automate vehicles on China’s roads is heating up. Didi, the Uber of China, announced this week an outsized investment of over $500 million in its freshly minted autonomous driving subsidiary. Placing the bet — the single largest fundraising round in China’s autonomous driving sector — is its existing investor Softbank, the Japanese telecom giant and startup benefactor that has also backed Uber.

The proceeds came through Softbank’s second Vision Fund, which was reportedly lagging in fundraising as its Fund I recorded massive losses in part due to the collapsing valuation of WeWork.

As China’s largest ride-hailing provider with mountains of traffic data, Didi clearly has an upper hand in developing robotaxis, which could help address driver shortage in the long term. But it was relatively late to the field. In 2018, Didi ranked eighth in kilometers of autonomous driving tests carried out in Beijing, far behind search giant Baidu which accounted for over 90% of the total mileage that year.

It’s since played aggressive catchup. Last August, it spun off its then three-year-old autonomous driving unit into an independent company to focus on R&D, building partnerships along the value chain, and promoting the futuristic technology to the government. The team now has a staff of 200 across its China and U.S. offices.

As an industry observer told me, “robotaxis will become a reality only when you have the necessary operational skills, technology and government support all in place.”

Didi is most famous for its operational efficiency, as facilitating safe and pleasant rides between drivers and passengers is no small feat. The company’s leadership hails from Alibaba’s legendary business-to-business sales team, also known as the “Alibaba Iron Army” for its ability in on-the-ground operation.

On the tech front, the subsidiary is headed by chief executive Zhang Bo, a Baidu veteran, and chief technology officer Wei Junqing, who joined last year from self-driving software company Aptiv.

The autonomous segment can also benefit from Didi’s all-encompassing reach in the mobility industry. For instance, it’s working to leverage the parent company’s smart charging networks, fleet maintenance service and insurance programs for autonomous fleets.

The fresh capital will enable Didi’s autonomous business to improve safety — an area that became a focal point of the company after two deadly accidents — and efficiency through conducting R&D and road tests. The financing will also allow it to deepen industry cooperation and accelerate the deployment of robotaxi services in China and abroad.

Over the years, Didi has turned to traditional carmakers for synergies in what it dubs the “D-Alliance,” which counts more than 31 partners. It has applied autonomous driving technology to vehicles from Lincoln, Nissan, Volvo, BYD, to name a few.

Didi has secured open-road testing licenses in three major cities in China as well as California. It said last August that it aimed to begin picking up ride-hailing passengers with autonomous cars in Shanghai in a few months’ time. It’s accumulated 300,000 kilometers of road tests in China and the U.S. as of last August.



from TechCrunch https://ift.tt/3gskE8m
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support