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

Friday, 25 October 2019

Workplace learning platform HowNow scores $3M funding

HowNow, the workforce learning platform, has raised $3 million (£2.4m) in a “pre-series A” funding round. The round is led by Mark Pearson’s Fuel Ventures and brings the total raised by the startup to $4.5 million.

Other investors include Andy Murray OBE; Michael Whitfield and Chris Bruce (founders of Thomsons Online Benefits); Bernie Sinniah (former managing director at Citi Bank); and Alwin Magimay (a former partner at McKinsey).

Designed for organisations that want to support teams with self-directed learning and the development of “business-critical” skills, HowNow is described as an integrated learning platform that autonomously curates learning resources, “business intelligence” and market insights that live in various internal and external sources.

The idea is to bring together these different learning resources — ranging from “nuggets” of knowledge shared by existing employees to internal data to external content libraries, blogs, podcasts — and match these to different job descriptions and employee skill-sets.

This is powered by a browser extension and integrations with Slack, Salesforce, Hubspot and over 300 other apps. Machine-learning is also employed to push the right content to the right employee.

“Employers can also use HowNow to identify skills gaps within the company based on job market data, via HowNow’s real-time analytics and built-in certification,” adds the company. To achieve this, the platform claims to monitor over 20,000 job specifications to understand the in-demand skills and requirements companies are searching for.

“Based on self-review, peer-review and real-time job market data we build the user’s skill profile as they onboard the platform,” explains HowNow co-founder and CEO Nelson Sivalingam. “Once in HowNow, they see learning recommendations based on assigned learning pathways, their role, skill requirements and internal benchmarks. This content is brought together from a variety of their internal sources (G Drive, Sharepoint, CRM, etc), external sources (content libraries, blogs, podcasts, etc) and the autonomously organised knowledge shared by their peers directly on HowNow”.

Employees can then access these learning resources directly within the applications they already work with and receive contextually relevant suggestions powered by HowNow’s “AI”. “For example, they can be in Slack and search all of their learning resources directly from their using the HowNow Slack app,” says Sivalingam. “They can also convert a message from a colleague into a nugget that will get stored and autonomously organised in HowNow”.

Similarly, Sivalingam says that, via HowNow, client facing teams are able to access up-to-date product knowledge, business intelligence and market insights directly within their inbox, CRM and helpdesk, which enables them to reduce customer response times.

“Fast-growing companies like GymShark are able to capture the knowledge in the heads of their internal subject matter experts by giving them a quick and easy way to share knowledge, build a glue between scattered content, avoid repeat questions and get everyone on the same page,” he adds.

To that end, I’m told that more than 500,000 users currently use HowNow within over 125 businesses. These range from SMEs to larger organisations, across 14 different countries. A classic SaaS play, the startup generates revenue through a licence fee per user.



from TechCrunch https://ift.tt/369FKn5
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support