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

Thursday, 1 August 2019

Amazon-backed food delivery startup Deliveroo acquires Edinburgh software studio Cultivate

As two of the largest players in online-food ordering and delivery in Europe work on a $10 billion merger to expand their footprint and economies of scale, one of its biggest rivals has made an acquisition to expand its own tech muscle.

Deliveroo, the London-based food delivery startup backed by Amazon that is itself valued in the billions, has acquired a small Scottish startup called Cultivate, a software development and user experience design house that has worked with a number of big names, including Deliveroo itself.

Deliveroo — which today has 80,000 restaurants and 60,000 riders on its books across 500 cities in 14 markets in Europe and beyond (Australia, Belgium, France, Germany, Hong Kong, Italy, Ireland, Netherlands, Singapore, Spain, Taiwan, United Arab Emirates, Kuwait and the United Kingdom) — is subsequently creating a new fintech hub in Edinburgh, where Cultivate is headquartered. It will be run by Andy Robinson, currently chief commercial officer for Cultivate.

“We have a fantastic relationship with Deliveroo, supporting them through an amazing period of growth. We were attracted by the array of interesting problems being tackled by their team, and how they are addressing them using modern and emerging technology,” Robinson said in a statement. “We’re proud to have built such a great team here in Edinburgh, and today’s announcement is a testament to their hard work and expertise in building world-class software. We are excited to continue this work, create highly skilled jobs, and build a centre of tech excellence here in Edinburgh.”

The plan will be to expand the team to 50 in the next three years, hiring engineers, product managers, user researchers, and designers and data scientists. (It’s worth pointing out too that Amazon has been a major employer in Edinburgh, where it also has a key R&D operation working in various areas including AI and search.)

Terms of the acquisition were not disclosed but it’s likely to be a modest deal.

Cultivate itself was a small (likely around only 15 employees) but profitable business, from the looks of its filings with Companies House. It was also off the radar somewhat as a startup. Originally founded in 2007, Cultivate was initially acquired in 2009 ago by Texas firm EdgeCase, which was then itself acquired by Canadian web firm GroupBy in 2017 in a bid to take on Shopify and rebranded to become Neo. Subsequent to that, Cultivate was amicably spun out again. In that time it had raised an undisclosed amount of funding from unnamed investors.

Deliveroo, founded in 2013 by William Shu and Greg Orlowski, was most recently valued at over $2 billion, although that was before Amazon put $575 million into the company earlier this year. It has raised around $1.5 billion in funding to date.

Cultivate — which had worked for many of clients — will now be working for just one, its owner. The two had already built Deliveroo’s payments technology, but as Deliveroo continues to work on ways to differentiate itself from its competitors through tech, it will be investing more in this area.

In addition to building new (not yet launched) services, some of the other areas of focus for the new Edinburgh operation will be to create more efficient payment systems for riders (which today use a Cash Out feature to access earnings quickly) and restaurants; to expand Deliveroo’s analytics for restaurants to figure out how to better plan for surges and to figure out what is popular and what is not; and (for both restaurants and riders) to better manage finances.

Cultivate had been involved in a number of social enterprise community initiatives to promote technology education alongside its paid work and Deliveroo said these efforts will continue.

“Cultivate have always been at the centre of the tech scene in Edinburgh and have supported events and initiatives across the board,” said Stephen Coleman, CEO of CodeBase, the tech campus in Edinburgh where Cultivate was based. “We are really pleased for the Cultivate team and Deliveroo’s plans to grow here in Scotland and are looking forward to having one of Europe’s top tech companies based here at CodeBase.”

News of this acquisition comes in the same week that Takeaway.com and Just Eat announced that their respective boards had agreed on the basic terms of a merger to create an expanded footprint across Europe.

The deal, if it completes, will not only give the two more economies of scale, and thus a better return on their own tech investment, but the aim will be to help them compete better against the likes of Uber Eats (a major priority for now-public Uber) as well as Deliveroo, which is now continuing its growth now with the might and will of Amazon behind it.

In that context, the Cultivate acquisition is demonstration not just of Deliveroo’s own investments into its tech, but specifically into what is a sizeable and important tech hub in the region, where Amazon has also been very active.

“Deliveroo is proud to be investing in Edinburgh and creating more high skilled jobs in the UK,” said Dan Winn, Deliveroo VP of engineering, in a statement. “Edinburgh is one of the UK’s fastest growing tech hubs, with access to an excellent talent pool of highly skilled people and university graduates. Deliveroo is committed to offering riders flexible, well-paid work and helping restaurants to grow their businesses. Building on Cultivate’s expertise, we are excited to create new products and services that will help us achieve this.”

 

 

 

 

 

 

 

 

Notes to Editors

 

 

Deliveroo is one of the UK’s leading tech unicorns and a British tech success story. Its investment in world-leading proprietary technology yields substantial benefits for customers, restaurants and riders. The Frank algorithm – which finds the optimal way to deliver food from restaurant to customer – has cut the average delivery time by nearly 20%, significantly reducing customer wait times. Frank’s machine-learning capabilities improves the allocation of orders and reduces restaurant waiting times for riders, helping them to earn higher fees without riding longer hours. And Deliveroo’s innovative products and tools give restaurants unique insights into their customer base, allows them to provide in-app offers to customers and improves their efficiency when preparing meals.

A photo of Andy Robinson (Chief Commercial Officer, Cultivate), Dan Winn (VP of Engineering, Deliveroo) and Paul Wilson (Managing Director, Cultivate) is available here.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support