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, 29 December 2018

Crawling from the wreckage

Things are tough all over — but especially in the digital media business of 2018.

Probably the most high-profile flameout this year was at Mic, which laid off most of its staff ahead of an acquisition by Bustle. Mic had raised nearly $60 million in funding, with major media organizations like Time Warner and Bertelsmann writing checks for the company’s vision of delivering news to a millennial audience.

But Mic’s issues were just the capstone to a long year of shutdowns and layoffs. Among the headlines:

It may not be entirely fair to group these stories together — some companies likely failed because of specific management or business issues, while others fell victim to broader shifts and still others may bounce back after figuring things out. But collectively, they paint the picture of an intensely challenging time.

Peter Csathy, an industry veteran and occasional TechCrunch columnist, has just published a book, “Fearless Media,” about the changes in the media landscape.

In an interview with TechCrunch, Csathy argued that it’s become a best-of-times, worst-of-times world. The worst-of-times side seems obvious — the companies that are struggling due to the “devastation of certain business models,” particularly reliance on big platforms like Facebook, and on an online ad business that’s currently “under tremendous pressure.”

At the same time, he said, “The best of times are the companies like Netflix, the Amazons, the Apples — some of these major new tech-driven media companies.”

Of course, Amazon and Apple make most of their money outside the media business, leaving Netflix as the industry’s big success story. But even there, Csathy predicted that in 2019, “Netflix will be challenged like never before” as it tries to compete with a vast array of new streaming services, many of them created by the same companies that have been selling content to Netflix.

A remote control is seen being held in front of a television running the Netflix application on October 25, 2017. (Photo by Jaap Arriens/NurPhoto via Getty Images)

“Ultimately, the question becomes whether Netflix can prove long-term that it is more than a ‘House of Cards,’” he added via email.

And what about companies that aren’t already big, dominant players — the entrepreneurs who want to build the next Netflix or the next BuzzFeed? It won’t be easy, particularly when it comes to convincing venture capitalists to come on-board. Still, there were some digital media startups that successfully raised funding in 2018, like podcast network Wondery and theSkimm, maker of female-focused newsletters.

And New York-based startup studio Betaworks recently announced an early-stage program focused on “synthetic media,” which Partner Matt Hartman explained is an area taking advantage of advances in graphics and artificial intelligence. This could include companies fighting against misleading, manufactured news stories and videos (“The need for deep fake detection is growing”), but also the ones trying to create new kinds of content, like “virtual” characters such as Instagram celebrity Lil Miquela.

More broadly, Hartman suggested that business models in the media world are changing, particularly as publishers experiment with paywalls and also explore bundling their products together.

Lil Miquela

“I think that next year, we’re going to see a lot of experiments — skinny bundles, thick bundles, companies you wouldn’t expect to come together saying, ‘These things work together,'” he said.

And even if many of these experiments fail, Hartman suggested that they’re pushing things in the right direction: “The last 10 years have been about building companies that have turned out to be harvesting our attention. I think what we’re really excited about is companies that treat their users more humanely. How do we align the incentives for the companies that are entertaining us and educating us and informing us, but also being respectful of our time and our attention?”

Csathy made a similar point, saying, “These new companies that are ad-driven have no choice but to reinvent their business models. [Otherwise] they’ll be lost in the shuffle, because the monetization just isn’t there.”

Does that mean that as a reader and a viewer, you’re going to keep hitting paywalls everywhere? It will probably become increasingly common (New York magazine, for one, just introduced a paywall), but Parse.ly CEO Sachin Kamdar suggested that subscriptions won’t solve things on their own.

“The best publishers are probably going to have five or six revenue streams,” Kamdar said. “It’s not just going to be one.”

As the CEO of an analytics company that sells its products to publishers (as well as marketers), Kamdar has a vested interest in the continued health of the media business.He worried that in the industry’s “echo chamber,” publishers may simply follow the latest trend, but he warned, “Just because everybody else goes that direction doesn’t mean it’s going to work for you.

The key, he suggested, is “figuring out the existential thing — who you are as a publisher.” So he’s hoping they move on from “a very short-term view” of chasing the latest platforms and sources of traffic: “Now, I think, people are finally coming to the conclusion that sustainability needs to be a priority.”

And despite the current business climate, Kamdar said there’s a straightforward reason for optimism.

“More time is being spent reading things and watching things,” he said. “You take the long-term picture, there’s a big opportunity to figure out what is happening with that, where they’re going, how you can capture those audiences.”



from TechCrunch https://tcrn.ch/2ETIp95
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support