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

Monday, 3 May 2021

Uber and Arrival partner to create an EV for ride-hail drivers

Arrival, the electric vehicle manufacturer that’s attempting to do away with the assembly line in favor of highly automated microfactories, is partnering with Uber to create an EV for ride-hail drivers. 

Arrival expects to reveal the final vehicle design before the end of the year and to begin production in the third quarter of 2023. Uber drivers have been invited to contribute to the design process to ensure the vehicles are built to suit their needs.

Uber is trying to make good on a promise it made last year to become a fully electric mobility platform by 2025 in London, 2030 in North America and Europe and platform-wide by 2040. The company recently launched Uber Green, which gives passengers the opportunity to select an EV at no extra cost and drivers a chance to pay a lower service fee, part of an $800 million initiative to get more drivers in EVs

To reach its aims of doubling the number of EV drivers by the end of 2021, Uber is kicking its incentives for drivers into gear by helping them purchase or finance new vehicles. The Arrival Cars might be among those recommended to Uber drivers who want to make the switch to electric, especially drivers in London who are eligible for “EV Assistance” via the company’s Clean Air Plan, which launched in 2018, but an Uber spokesperson declined to confirm how the Arrival Cars will be made available. Last September, Uber partnered with General Motors in a similar deal to provide drivers in the United States and Canada discounted prices for the 2020 Chevrolet Bolt. 

“Uber is committed to helping every driver in London upgrade to an EV by 2025, and thanks to our Clean Air Plan more than £135m has been raised to support this ambition,” Jamie Heywood, Uber’s regional general manager for Northern and Eastern Europe said in a statement. “Our focus is now on encouraging drivers to use this money to help them upgrade to an electric vehicle, and our partnership with Arrival will help us achieve this goal.” 

London, where Arrival is based, aims for its entire transport system to be zero emission by 2050, and will create zero emissions zones in central London and town center from 2025, expanding outward to inner London by 2040 and city-wide by 2050. If Uber drivers want to be able to work in the hottest parts of the city, they’ll have no choice but to go electric. 

The partnership with Uber marks Arrival’s first foray into electric car development. Because Arrival focuses on the commercial space rather than commercial sales, its existing vehicle models are vans and buses. The British EV company already has an order from UPS for 10,000 purpose-built vehicles.

Arrival wants to change the way commercial electric vehicles are designed and manufactured. By designing its own batteries and other components in-house and building vehicles through multiple microfactories, which are much smaller than traditional manufacturing facilities, Arrival says it produces vehicles quicker, cheaper and with far fewer environmental costs.

The company began publicly trading in March following a SPAC merger with CIIG, one of many EV companies to hit the markets via the SPAC route as opposed to the traditional, and slower, IPO route.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support