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

Gillmor Gang: Nothing Was Delivered

Somehow it’s Bob Dylan’s 80th birthday this week. Some of you may not think that’s a big deal, but I do. The fact of his talent pretty much drowns out most other ideas of what to write about, but here’s to the birthday boy. Keep up the good work.

Back then, we wondered why Dylan kept changing, refusing to be pinned down, going electric, photographed at the Wailing Wall, you name it. We sure were hungry for direction, it seemed. Growing up in the Sixties, everything was possible. After Trump, we’re rethinking that. Crypto is a grift, better than gold, down 50%, up a third. If I wanted to throw money away, just stand on the corner and hand out NFT’s.

As much as this stuff makes my head hurt, it does make it easier to second guess the Discovery/WarnerMedia and Amazon MGM deals. In a nutshell, streaming has shaken the media world into a massive upheaval. The linear TV big three — NBC, CBS, and ABC — have lost control of our TV sets. Netflix has replaced the idea of advertising supported product (Gray’s Anatomy, This Is Us) with binge drop shows about chess. No advertising, a monthly subscription fee, and oh, by the way, free shipping. That last one is Amazon Prime, which throws in a version of Netflix with everything we get delivered during the pandemic, which is everything. When we get to the vaccinated New Normal, it will still mean everything.

Many acronyms later, the cable networks look like this: you can go through NBCUniversal now known as Comcast for all your TV plus broadband for all your Internet, or dump all that TV and just use broadband to get to the new TV, now known as streaming. Amazon bundled delivery with streaming (Prime) and studio (MGM). Google bundled streaming (YouTube TV) with advertising (search). Verizon, AT&T, and T-Mobile bundled broadband with cash, and the first two tried to buy up the studios and talent. 5G is the carrier Waterloo, drowning broadband in debt as it overtakes the previous cable/content cartel.

This is an oversimplified and inaccurate picture of where we are about to be. But central to the shakeout is what we do with this puzzle. The speed with which vaccinations are being distributed suggests a timetable for success in restoring the economy and bridging the gap to 5G and a hybrid bundle of delivery and digital restructuring. Here’s a trick question: if California has already vaccinated 81% of its population, will Gavin Newsom be recalled as Governor? Here’s another: who will be the winners of the streaming media reboot? Spoiler alert: the answers to both are related.

As we ease our way into the new vaccinated protocols, we start with our families and build out to our colleagues and friends. In effect, we are building a new cohort that speaks to the dynamics of the digital acceleration. A year ago, delivery was a wartime necessity, not an economic choice. Today, the choice of a restaurant or an event will be made based on the intuitive messages sent by the services. If one venue deals with masking and distancing as a transitional choice for its customers, the underlying message is of an evolving strategy based on changing information. Each day we experience more confidence in science and less fear of the unknown is validation of the new cohort we’re forming.

Do we miss the movie theater experience? Sure, but not enough to forego the play-from-home cohort we’ve gotten used to the past year. As our confidence grows, even Zoom calls become more productive and a way of planning for the days when we can reconnect in person. In this cohort process, we build muscle for a new normal that draws strength from both virtual and physical worlds.

Now the dynamic of vaccine success kicks in. Every day, week, month that the virus recedes is marked by the accumulation of a new normal: the more things don’t change, the better things are. Public officials take credit for backing the right horse. Kids go back to school; companies find the right combination of home office, collaboration room Thursdays, and business travel right-sizing. The new normal cohort develops discounts and incentives for its trailblazers and influencers. Special bundles emerge in subscription streaming, blending advertising-supported discounts in return for bigger production budgets. News subscription services provide cohort access to notification streams, replacing repetitive fear-based programming with science-based alerts and business strategy updates.

Answers: No. California is a blue state. And, we will be the winners of the streaming consolidation — as creators remind Hollywood of their power to validate the direction of how we live in the near present. On this episode of the Gang, I mention a new streaming network, Buki, that has emerged to challenge the old alphabet TV networks with a heady brew of ad-supported binge goodness. Brent Leary interrupts to complain that he doesn’t have Buki. That’s because I made it up. Buki, keep up the good work.

from the Gillmor Gang Newsletter

__________________

The Gillmor Gang — Frank Radice, Michael Markman, Keith Teare, Denis Pombriant, Brent Leary and Steve Gillmor. Recorded live Friday, May 14, 2021.

Produced and directed by Tina Chase Gillmor @tinagillmor

@fradice, @mickeleh, @denispombriant, @kteare, @brentleary, @stevegillmor, @gillmorgang

Subscribe to the new Gillmor Gang Newsletter and join the backchannel here on Telegram.

The Gillmor Gang on Facebook … and here’s our sister show G3 on Facebook.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support