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

Saturday, 26 June 2021

Do tech mafias need a modern refresh?

Rumor has it, if you whisper mafia to a venture capitalist or tech reporter, a seed investment and headline appears within minutes. That process quickly turns into seconds if the mafia reference includes the letters S, T, R, I, P and E before it.

Tech mafias, otherwise known as a group of early employees within a company who spin out to start their own, independently successful companies, became a popularized term thanks to PayPal in the early 2000s. As my lede alludes, the term has since become a cliche of sorts. Everything is a mafia, including you, dear Startups Weekly newsletter subscribers. Jokes aside, I’d argue the term is still a helpful way to track the way talent moves in the ever-growing world of startups.

Many venture capitalists have been making subtle, and not-so-subtle efforts, to back the next cohort of star employees turned star entrepreneurs. Wave Capital originally began as an institutional venture capital fund explicitly for Airbnb alumni starting new companies. Ross Fubini of XYZ Ventures introduced Palantir’s first business hire to its first engineer and now invests in the community out of his fund. Eric Tarczynski of Contrary Capital launched Contrary Talent, a program that helps early career professionals navigate the world of entrepreneurship.

This newsletter was going to be about the undercovered mafias that are brewing in tech, but a recent exchange with some of you on Twitter took me in an entirely new direction. Check out the thread if you want to know the next mafioso, but today, I want to explore a more modern way to think about these entities.

Glamorization of mafias

Image Credits: Britt Erlanson / Getty Images

Rebekah Bastian, the chief executive and founder of OwnTrail, isn’t the biggest fan of mafias — even though she’s technically a part of one herself. The first-time founder was the former Zillow VP of Product and VP of Community & Culture who thinks that the growing world of mafias comes with some problematic truths.

“While it’s true that these ‘mafias’ are good for the people within them and often touted with pride, there are reasons that they are problematic from an equity perspective,” she said. First, she pointed to how hiring from and funding employees from a given company, if that company doesn’t have diverse representation (particularly at the leadership level), propagates the inequitable cycles of who is getting hired and funded. Second, she thinks that the press focuses on startups coming out of these companies that serve a privileged subset of the population, instead of mission-focused ones.

What do you think? Her argument is essentially to not glamorize the concept of hiring within existing networks, because if white, male entrepreneurs only hire from within their existing networks, the resulting company will look and act white and male. On the flip side, and this is what gets me excited, underrepresented founders who raise millions of dollars, suddenly have the power to usher in an entirely different group of techies into this world. The Glossier mafia would look quite different than the PayPal mafia.

As I said before, I think “mafias” are certainly a compelling way to track how talent moves. I don’t think we should stop paying attention to the phenomenon or shame people for being opportunistic about alumni groups. It’s how the world works. Instead, I think that there’s hope that problems inherent to them are changing as founding groups themselves become more diverse. To Bastian’s point, I think there’s a way to be more intentional about what is idolized and what is not.

A new descriptor

A few people also mentioned that we should start using a different word to describe this dynamic instead of “mafia” due to its more nefarious connotations. Here’s a list of your best suggestions:

Let me know what you think about all of the above by responding to @nmasc_. In the rest of this newsletter, we’ll chat about BuzzFeed’s SPAC, the early-stage venture market and GM’s startup incubator strategy.

The public market gets buzzed

Image Credits: Malte Mueller / Getty Images

We kicked off Equity Live this week with a hot news item: BuzzFeed is going public via a SPAC and will merge with 890 Fifth Avenue Partners Inc., a publicly traded company. BuzzFeed also disclosed that it will purchase Complex, another media company, for $300 million in cash and shares in BuzzFeed itself; the SPAC deal will help finance its purchase of Complex.

Here’s what to know: Alex gave you five takeaways from BuzzFeed’s SPAC deck so you can better understand what’s going on, beyond the cat pictures and fun quizzes.

As for other public market news, subscribe to The Exchange written by Alex, which includes a smattering of the below:  

Late to the early-stage party?

the recycle logo recreated in folded US currency no visible serial numbers/faces etc.

Image Credits: belterz (opens in a new window) / Getty Images

No worries. Here’s what to put on your early-stage bingo board: emerging fund managers are popping off thanks to new capital support, Li Jin of Atelier Ventures has a must-read thread, and even as summer is in swing, deals still feel frenetic. 

Here’s what else to know: Kirsten took Extra Crunch readers inside GM’s startup incubator strategy, including how they take early concepts and turn them into startups and the company’s favorite messy-stage ideas.

Around TC

Next week, we’re taking you to Pittsburgh to hear from Karin Tsai, the head of engineering there, as well as Carnegie Mellon University President Farnam Jahanian, Mayor Bill Peduto and a smattering of local startups.

Our TC City Spotlight: Pittsburgh event will be held on June 29, so make sure to register here (for free) to listen to these conversations, enjoy the pitch-off and network with local talent.

Across the week

Seen on TechCrunch

Seen on Extra Crunch

Thanks all,

N



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support