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

Thursday 27 May 2021

Meme-based dating is here: Meet Schmooze

Vidya Madhavan always wanted to be in business. Growing up in India, she thought she might be in the business of running a factory, given the power and influence of outfits like Tata Group, the Indian multinational conglomerate.

She certainly had an affinity for school, graduating at the top of her high school class, nabbing a mechanical engineering degree in India and more recently landing at Stanford’s business school. Except that instead of create the more traditional business she once had in mind, Madhavan found herself tinkering with an entirely different idea: a matchmaking app called Schmooze that combines machine learning and memes to connect people based on what Madhavan calls a humor algorithm.

The idea dates back several years when, as an analyst with McKinsey in India who was debating whether or not to attend grad school in California, Madhavan cold-emailed 10 people on LinkedIn who she could see attended U.S. business schools and hoped might be helpful. Only one of them replied, but over the next couple of days, she says, “we exchanged, like, 200 emails, all of them fundamentally jokes.”

Reader, she is now married to that person. Indeed, she says it’s because she believes their shared sense of humor brought them together that she began tinkering with the idea of Schmooze, initially as a way to foster new friendships. It was when she saw the way things were trending –people were really looking for a love match — that she refocused the idea as a dating app for Gen Z users who already communicate largely with memes.

It has been taking off since, says Madhavan. Though it hasn’t yet spread Facebook-like across college campuses, a beta test in late summer with 200 Stanford students has since led to more than 10,000 downloads around the country, where people are swiping right — or left — to more than 5,000 memes that are culled entirely by still-in-beta Schmooze (until it’s big enough to deal with content moderation). Currently about 200 memes are added each day, while others are deleted. “No one cares about the U.S. elections anymore,” Madhavan notes.

Using tagging and machine learning, combined with the bios that users create for themselves, Schmooze gets to work. Some users might show a predilection for particular topics, for example, like physics or finance. Some who say they’re interested in entrepreneurship might reveal an even stronger passion for music through their choices. There are similar divides when it comes to dark humor, and people who really love puns — and those who hate them.

Whether the algorithm truly works will take time, and lasting unions, to know. Madhavan says that 90,000 matches have been made to date, but naturally, a far smaller number have moved from matched to in-app messaging.

Schmooze has plenty of competition in the meantime, both from traditional dating services and newer dating apps and questionnaires that look to pair people based on share interests rather than that use looks as a starting point. It’s also easy to imagine more meme-based dating apps suddenly springing into existence, particularly given today’s go-go market.

Still, Schmooze appears to hold promise. It recently closed on $270,000 in seed funding from Ulu Ventures and others to tinker with its product. The company has been finding success reaching its audience on TikTok. There is also a lot of money to be made in the world of online dating, as industry watchers see over and over again.

As for Madhaven, she is in love, to her own surprise, with her startup. Partly because of her formative years and partly because she never made it onto a dating app before meeting her husband through LinkedIn, she says with a laugh of Schmooze: “It’s unexpected, in many many ways.”



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support