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

This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Saturday, 1 June 2019

Slack’s hidden origins, cybersecurity, fintech, plus Africa’s startup growth

The Slack Origin Story

Slack is one of the most iconic enterprise companies to come out of Silicon Valley. Part of the reason is the mythos surrounding the startup’s founding as a games company and later pivot into workplace communication. But what’s the story behind the story of the high-flying company? Who supported the company every step of the way?

Our venture capital reporter Kate Clark has the history and background on Slack, soon to be trading as WORK on the NYSE.

“We realized, wow, this is hugely a productive way of working and I think all of us agreed we wouldn’t work without a system like this again and maybe other people would like it,” Butterfield said in a recent video released by Slack ahead of its June 20 direct listing on the New York Stock Exchange.

So the team reimagined their future and looked to their investors for support.

Accel, sources tell TechCrunch, remained committed. Andreessen Horowitz, however, had a more complicated response. According to sources familiar with the matter, a16z was highly skeptical of Butterfield and whether he could succeed in the enterprise space. When Tiny Speck went out to raise its first round of capital as an enterprise software upstart in what would technically be its Series C, a16z hesitated.

A source close to Slack told TechCrunch that a16z put the company “through the ringer,” telling Butterfield that enterprise “wasn’t in his DNA.” A16z denies these accounts citing their close relationship with Butterfield and the business in 2019. Admittedly, it’s unclear how much capital a16z may or may not have funneled to Slack at the Series C but given it currently owns nearly 10 percent less of Slack than Accel, a fellow early investor, its likely to have cut back its capital commitments around the time of Tiny Speck’s pivot.

Feedback on product and editorial?

It’s been about 15 weeks since we launched Extra Crunch. Since then, we have covered everything from deep dives into Patreon and Niantic (Unity is coming right up – I’ve been editing the drafts) to growth tactics and how to raise venture capital really, really fast, to building out a Verified Experts list of top startup professionals.



from TechCrunch https://tcrn.ch/2HPdUly
Share:

Original Content: Netflix’s ‘Tuca & Bertie’ explores friendship and sex with anthropomorphic birds

There’s some obvious overlap between “Tuca & Bertie” and “BoJack Horseman” — they’re both talking animal cartoons on Netflix; they have a similar look, courtesy of Lisa Hanawalt (designer on “BoJack Horseman” and creator of “Tuca & Bertie”); and “BoJack” creator Raphael Bob-Waksberg co-wrote the first episode of the new show.

Plus, their respective first seasons follow a similar arc, kicking off with rapid-fire humor, then increasingly shading the jokes with serious character exploration as you get further into the story.

But as guest host Brian Heater helps us explain on the latest episode of the Original Content podcast, “Tuca & Bertie” is a distinct show, with a distinct sense of humor — it’s zanier and raunchier, with a refreshing frankness about sex, not to mention a talented, diverse cast of voice actors led by Tiffany Haddish (Tuca) and Ali Wong (Bertie).

And where “BoJack” went deep into an exploration of its protagonist’s depression, “Tuca & Bertie” is more interested in the complexities of female friendship, all while remaining a funny show about birds that talk, go on dates and have jobs at companies like “Conde Nest.”

You can listen in the player below, subscribe using Apple Podcasts or find us in your podcast player of choice. If you like the show, please let us know by leaving a review on Apple. You can also send us feedback directly. (Or suggest shows and movies for us to review!)

If you want to skip ahead, here’s how the episode breaks down:

0:00 Intro and a Very Serious Discussion about laugh tracks
8:47 Spoiler-free review of Tuca & Bertie
24:43 Spoiler discussion



from TechCrunch https://tcrn.ch/2EJCHFS
Share:

Variety: Cryptic Crossword


By CAITLIN LOVINGER Crosswords & Games https://nyti.ms/2Wi8VD7
Share:

Startups Weekly: Will the real unicorns please stand up?

Hello and welcome back to Startups Weekly, a newsletter published every Saturday that dives into the week’s noteworthy venture capital deals, funds and trends. Before I dive into this week’s topic, let’s catch up a bit. Last week, I wrote about the sudden uptick in beverage startup rounds. Before that, I noted an alternative to venture capital fundraising called revenue-based financing. Remember, you can send me tips, suggestions and feedback to kate.clark@techcrunch.com or on Twitter @KateClarkTweets.

Here’s what I’ve been thinking about this week: Unicorn scarcity, or lack thereof. I’ve written about this concept before, as has my Equity co-host, Crunchbase News editor-in-chief Alex Wilhelm. I apologize if the two of us are broken records, but I think we’re equally perplexed by the pace at which companies are garnering $1 billion valuations.

Here’s the latest data, according to Crunchbase: “2018 outstripped all previous years in terms of the number of unicorns created and venture dollars invested. Indeed, 151 new unicorns joined the list in 2018 (compared to 96 in 2017), and investors poured more than $135 billion into those companies, a 52% increase year-over-year and the biggest sum invested in unicorns in any one year since unicorns became a thing.”

2019 has already coined 42 new unicorns, like Glossier, Calm and Hims, a number that grows each and every week. For context, a total of 19 companies joined the unicorn club in 2013 when Aileen Lee, an established investor, coined the term. Today, there are some 450 companies around the globe that qualify as unicorns, representing a cumulative valuation of $1.6 trillion. 😲

We’ve clung to this fantastical terminology for so many years because it helps us classify startups, singling out those that boast valuations so high, they’ve gained entry to a special, elite club. In 2019, however, $100 million-plus rounds are the norm and billion-dollar-plus funds are standard. Unicorns aren’t rare anymore; it’s time to rethink the unicorn framework.

Last week, I suggested we only refer to profitable companies with a valuation larger than $1 billion as unicorns. Understandably, not everyone was too keen on that idea. Why? Because startups in different sectors face barriers of varying proportions. A SaaS company, for example, is likely to achieve profitability a lot quicker than a moonshot bet on autonomous vehicles or virtual reality. Refusing startups that aren’t yet profitable access to the unicorn club would unfairly favor certain industries.

So what can we do? Perhaps we increase the valuation minimum necessary to be called a unicorn to $10 billion? Initialized Capital’s Garry Tan’s idea was to require a startup have 50% annual growth to be considered a unicorn, though that would be near-impossible to get them to disclose…

While I’m here, let me share a few of the other eclectic responses I received following the above tweet. Joseph Flaherty said we should call profitable billion-dollar companies Pegasus “since [they’ve] taken flight.” Reagan Pollack thinks profitable startups oughta be referred to as leprechauns. Hmmmm.

The suggestions didn’t stop there. Though I’m not so sure adopting monikers like Pegasus and leprechaun will really solve the unicorn overpopulation problem. Let me know what you think. Onto other news.

Image by Rafael Henrique/SOPA Images/LightRocket via Getty Images

IPO corner

CrowdStrike has set its IPO terms. The company has inked plans to sell 18 million shares at between $19 and $23 apiece. At a midpoint price, CrowdStrike will raise $378 million at a valuation north of $4 billion.

Slack inches closer to direct listing. The company released updated first-quarter financials on Friday, posting revenues of $134.8 million on losses of $31.8 million. That represents a 67% increase in revenues from the same period last year when the company lost $24.8 million on $80.9 million in revenue.

Startup Capital

Online lender SoFi has quietly raised $500M led by Qatar
Groupon co-founder Eric Lefkofsky just-raised another $200M for his new company Tempus
Less than 1 year after launching, Brex eyes $2B valuation
Password manager Dashlane raises $110M Series D
Enterprise cybersecurity startup BlueVoyant raises $82.5M at a $430M valuation
Talkspace picks up $50M Series D
TaniGroup raises $10M to help Indonesia’s farmers grow
Stripe and Precursor lead $4.5M seed into media CRM startup Pico

Funds

Maveron, a venture capital fund co-founded by Starbucks mastermind Howard Schultz, has closed on another $180 million to invest in early-stage consumer startups. The capital represents the firm’s seventh fundraise and largest since 2000. To keep the fund from reaching mammoth proportions, the firm’s general partners said they turned away more than $70 million amid high demand for the effort. There’s more where that came from, here’s a quick look at the other VCs to announce funds this week:

~Extra Crunch~

This week, I penned a deep dive on Slack, formerly known as Tiny Speck, for our premium subscription service Extra Crunch. The story kicks off in 2009 when Stewart Butterfield began building a startup called Tiny Speck that would later come out with Glitch, an online game that was neither fun nor successful. The story ends in 2019, weeks before Slack is set to begin trading on the NYSE. Come for the history lesson, stay for the investor drama. Here are the other standout EC pieces of the week.

Equity

If you enjoy this newsletter, be sure to check out TechCrunch’s venture-focused podcast, Equity. In this week’s episode, available here, Crunchbase News editor-in-chief Alex Wilhelm and I debate whether the tech press is too negative or too positive in its coverage of tech startups. Plus, we dive into Brex’s upcoming round, SoFi’s massive raise and CrowdStrike’s imminent IPO.



from TechCrunch https://tcrn.ch/2wyWlzO
Share:

Blog Archive

Definition List

Unordered List

Support