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

Wednesday 26 May 2021

With new Partner Colin Hanna, and Shikha Ahluwalia as Associate, Balderton puts down roots in Berlin

As of now, one fo the UK’s biggest and most active tech VCs has a new partner. Principal Colin Hanna has spearheaded several of Balderton’s deals in the past couple of years, and has now been appointed a Partner. But there’s a twist to this plot. He will be officially based in Berlin (where he’s lived since 2019), thus giving the VC a more powerful reach, being based, as it is, solely in London.

Hanna said: “Having been with Balderton for five years, I am humbled to now call my mentors my Partners. I look forward to strengthening Balderton’s unique approach from Berlin as we engineer serendipity for European founders with planet-scale ambition.”

Bernard Liautaud, Managing Partner of Balderton commented: “We are delighted to announce Colin’s promotion to Partner. Since he joined Balderton in 2016, Colin has had a significant impact on both Balderton and our portfolio… Colin has strengthened our position in DACH by establishing our permanent presence in Berlin and bringing in Shikha Ahluwalia, whom we are delighted to have. In addition, he was instrumental in the definition of the Balderton Sustainable Future Goals. We have no doubt Colin will be highly successful in his new role.”

The story does not end there, however. Joining him will be tech entrepreneur and founder Shikha Ahluwalia as an Associate covering the DACH region.

co-founded SBL, the D2C women’s fashion e-commerce company in India. Prior to that she was had a tech advisory boutique, and was previously with JP Morgan’s Investment Banking Division in London.

Balderton has 10 current investments across DACH including Contentful, Infarm, SOPHiA Genetics, McMakler, Demodesk, and vivenu.

Ahluwalia commented: “Over the past few years, I have seen the DACH start-up ecosystem evolve rapidly. We at Balderton believe the next European giant will be a technology company and know that the DACH ecosystem plays a significant role in helping form category-leading technology companies. As a former founder myself, I have first-hand experience with the unique challenges of running young businesses. I am excited to contribute and support founders on their own journey as part of Balderton Capital.”

Speaking to me over an interview Hanna said: “Shikha’s hiring deepens our commitment to the local Berlin ecosystem and to the DACH region more broadly. We have been actively supporting Founders in Germany for more than a decade.”

After spending his childhood in Jakarta and Hong Kong, and picking up a degree in Political Economy, Hanna has carved out a career in venture investing – at Balderton since July 4, 2016 – looking at it through the prism on the rise of urban living, grassroots-driven technologies like open source and crypto, and the political ramifications of technology.

He sits on the Board of companies like e-bikes startup VanMoof, Finoa (a crypto custodian), Rahko (quantum computing drug discovery, and helped lead on investments into Traefik and Luno and Vivenu).

One these you might pick up from all those is that they err towards the ‘purpose-driven’ side of the equation.

He told me: “I believe the next generation of Founders, particularly in Europe, care more about just their bank accounts and want to build companies that generate impact and are not afraid to take a view on how they want the world to change. Measuring this is a challenge and something we are trying to do with our SFGs at Balderton which I helped spearhead. I believe that when companies like Coinbase and others go “apolitical” they commit themselves to defending the structural status quo rather than becoming agents of deliberate change.”

“My point about purpose driven companies is that when I think when employees want to work with companies believe in their values and you try to tell them those aren’t important, that could be viewed as political. I don’t think we should be we should be muffling the employees.”

Does he think Coinbase, and also recent more recently Basecamp / 37 Signals were wrong to so-called ‘depoliticize’ their businesses?

“I think, I think every CEO is free to run their company how they see fit. But I think that that poses challenges for them on the talent side. I understand, as an American, how charged and how destructive the political climate became, and so I can really understand and empathize why certain choices were made at that time, because you get to a point where that where the conversation becomes toxic… I hope that the steps that they’ve taken, don’t strangle dialogue and conversation that’s constructive about how we want to make an impact and change the world, either as individuals or with the companies we work for,” he said.

Hanna also told me that he think VCs should be wary that the shift to remote will make it easier to invest more widely. “You have to more background checks on founders now, and things like that. But is it a ‘little bit’ more dangerous or is it ‘50% more dangerous’ the fact that people aren’t meeting up in person?”



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support