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

Sunday, 29 September 2019

WeWork proves that (venture) capitalism works

What’s the lesson of WeWork?

Here’s a startup that has been a darling of Silicon Valley investors for years, whose offices and CEO have been stunningly painted across the covers of major trade magazines and strategically deployed across major tech conference stages, including our very own. At its peak, the company commanded a valuation of tens of billions of dollars and was supposed to be on course for the stratosphere, joining companies like Google and Facebook.

And then it all came crashing down, in literally a handful of days.

It’s easy to point to WeWork’s potentially 75%+ valuation drop, its looming layoffs, the firing of its CEO, and the seeming compression of a whole heck of a lot of investors and employee equity as a sordid disaster tale of capitalism, and venture capitalism in particular. VCs — none more so than Masayoshi Son at SoftBank — constantly overbought, oversold, and overcommitted to a company that had pretty much no business fundamentals whatsoever.

So what’s the lesson of WeWork for venture capital? In a word, nothing.

Venture capitalism is about investing in bold bets with huge, outsized returns. It’s meant to be risk-adjusted, both at the valuation scale but also at a portfolio scale. VCs should be buying equity at the right price to take into account every individual startup’s risk profile while also constructing a portfolio that selects each of those risks for the best overall return.

For WeWork, much of those dollars were driven by SoftBank’s Vision Fund, which seemed to double down again and again on the company, even at loggerheads with its own limited partners. The Vision Fund made a bet, seemingly with reasonable access to internal information, and that bet turned out to be wrong.

But a bet it was.

Many bets in venture turn out to be duds. Sometimes you lose some of your money. Sometimes you lose all of it.

And then sometimes you make it in spades. SoftBank’s Son once invested $20 million into a fledging Chinese ecommerce company called Alibaba. That stake is worth around $100 billion today, excluding an $11 billion stock sale a few years ago that was recognized on SoftBank’s financials earlier this year.

This is the math that Son sees in venture: 111,000,000,000 / 20,000,000 = 5,550x. There is no other asset class on the planet that will turn a dollar into thousands of dollars like venture capital.

WeWork’s woes don’t change this base formula. Nor does the continual drop of Wag, which received $300 million from the Vision Fund and looks to be going through tough challenges.

In any portfolio, there are going to be losses. The infamous J-curve in venture, where losses materialize far faster than gains in the early years of a fund, is alive and well — even at the growth stage.

And WeWork isn’t even dead yet — it still has cash, and it will rebuild. Will it be the largest startup turnaround in history? Possibly. Could it go straight to bankruptcy? Sure. Will the Vision Fund make money? Well, it really depends on that preference stack and a thousand other variables to be determined in the coming weeks, months, and years.

It’s all so early. My guess is that we still have about five years to go before we really start to get sufficient information to evaluate the Vision Fund’s ambitions.

Along this line thoughI don’t think I just need to defend venture capitalism though, but capitalism itself.

Matt Stoller, who has made it his mission to target big companies including Big Tech, summarizes the WeWork situation as emblematic of “counterfeit capitalism,” a system of founding story myths and fake growth charts underwritten by venture capitalists trying to build long-term, sustainable monopolistic companies using predatory pricing to kill off competitors.

Yet, that narrative totally misses the point of what capital does, and what investment means. Very, very few companies (venture-backed or not) are profitable from day one. Opening a restaurant requires buying equipment and signing a lease well before any customer walks in through the front door. Ditto for software startups, which need to actually build software before a user will pay for it. Capital investment is the bridge between plans to execution and launch.

The question is how long should a company be unprofitable to goad sales and drive revenues? A decade or two ago, it used to be that companies needed to be profitable to IPO. But why? Why precisely then should a company slow down its investment and clean up its cash flows? Why not earlier? Why not later?

In fact, something great has happened in the last few years in the credit markets: at least some investors are increasingly positioning their portfolios for growth rather than cash flows. They are willing to wait for profits, sometimes for years.

Or, in other words, more and more investors are thinking long-term about the ultimate potential worth of a business.

WeWork could be profitable today. It could shutter its most recently opened locations, condense down to a handful of locations in major cities, and roll around in its positive cash flow. Of course the Vision Fund understands this. But why lock in small gains today when there is so much more potential lurking out there?

We should be cheering this behavior, and not castigating it, even if WeWork itself might turn out to be a dud. The lesson of this whole saga isn’t that capitalism isn’t performing. In fact, it’s precisely the opposite: (venture) capitalism is performing better than ever to invest in future, long-range growth.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support