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, 30 November 2018

There’s definitely reason to worry about Brexit, says Accel’s London team; “It’s not just startups; I’m not a U.K. citizen”

Longtime Accel partners Philippe Botteri, Sonali De Rycker, Luciana Lixandru, and Harry Nelis took the stage at Disrupt Berlin earlier today, and unlike many London-based investors, who have downplayed how much Brexit could hurt their local economy, the team was frank about their sundry concerns over what happens if the U.K. leaves the European Union as currently scheduled to happen, beginning March 29, 2019.

Though they reiterated that no one can no for certain what Brexit’s impact might be, Botteri raised a handful of things that have the firm worried, beginning with “immigration and hiring talent and the movement of talent,” which could be meaningfully hampered by Brexit. “Even companies that don’t move their headquarters to London will often at some point begin to build a team,” he noted, questioning whether that will continue to happen.

There’s also the nontrivial issue of what happens to fintech companies, which have been thriving in London as a gateway between the U.S. and Europe and that have easily operated across all of Europe, said Botteri, who then asked, “What about that?” post Brexit.

Others of the teams’ concerns center on data resiliency and subsidies. Regarding the first, Botteri noted that “more and more” of Accels portfolio companies are “dependent on the use and leverage of data, and obviously,” he continued, “where the data is stored is very critical. You have laws in the EU. If the U.K. is out [that bloc], then does it mean that every company will need to have a separate data center in the U.K. or manage data differently?” As for subsidies, Botteri observed that U.K. startups have received meaningful R&D support from the European Union, and well as the U.K., and wondered aloud how a split will impact startups.

Botteri furthered offered on a personal note that, “It’s not just startups. I’m not a U.K. citizen. I’d love to know at some point what’s going to happen to my visa,” he said with an uncomfortable laugh.

The partners didn’t talk about Brexit alone. Instead, among other topics covered in the discussion is the downstream effects of having a player like SoftBank’s Vision Fund in the market, and whether the secondary market is picking up in Europe as many of regional companies — like their U.S. counterparts — linger ever longer a privately held companies.

Of SoftBank and the $100 billion that it is currently plugging into startups around the world, Nelis initially responded more generally, saying that it’s a “great trend for there to be more money for the European ecosystem. More money means more opportunities for great companies to be funded.”

But he added that he does think SoftBank’s appearance on the investing scene “changes the dynamic in the market. SoftBank is later-stage oriented and competing with other later-stage funds, so [what’s happening] is these [later-stage] funded are [trying to reach startups] a little bit earlier. So there’s this chain effect, where everyone needs to go earlier [stage] in order to accommodate this big amount of money.”

And what of SoftBank’s biggest backer, Crown Prince Mohammad Bin Salman, who has been tied by U.S. officials to the brutal murder of Saudi journalist Jamal Khashoggi? Is that association prompting questions from founders regarding who, exactly is funding venture capital firms? De Rycker said they are not, “yet.” In part, she suggested, founders don’t have the time to give it as much thought as they perhaps should.

“The world right now is in such a race, it’s moving so fast . . . that I fear to say that for some of these questions, it matters at the core expense of some of these questions around where is the company coming from and what it means for your direction and who you are accountable to.” If a startup can “go forward without asking too many questions right now, why wouldn’t you, especially if you get a lot of capital at a very high price?”

As for a secondary market, the partners suggested that though there is one, though it’s not quite as evolved as in the U.S., where secondaries have become a routine way for venture capitalist to exit all or part of their investments. Said Nelis, “Primarily in Europe, secondaries are used to provide liquidity to founders. We’re very long term investors, where we’re involved eight, nine, ten years with our companies” and where Accel’s “main objective is to build big, valuable businesses, and to exit these companies when the founders do.”

If founders take a “little bit of money off the table” so they can “go and build a big company, rather than sell it halfway through the process,” that’s a good thing.

Asked how soon is too soon to do that, the firm declined to comment directly but said it hasn’t noticed any changes over the last five years.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support