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

Wednesday, 29 July 2020

Amazon’s hardware business doesn’t escape Congressional scrutiny

While much of today’s Congressional grilling into the anticompetitive practices of the big tech giants focused on their core businesses, Amazon’s hardware also came in for close inspection during the hours-long interrogation.

It was a small but significant exchange, because it touched on the breadth of the company’s services and how dominance in one area can mean potentially anti-competitive behavior in another part of the tech giant’s business.

For Maryland’s Representative Jamie Raskin, both Amazon’s best-selling Echo and the Fire TV devices became targets thanks to recent reporting on the company’s business practices and negotiations regarding both devices.

The Echo is the company’s foray into the smart home market that’s widely seen as the next major battleground in consumer technology. It’s one of the most widely adopted pieces of Amazon’s technology and has captured about 60% of the smart home market, according to Raskin.

The congressman hammered Bezos on two points about the Echo. The first was the company’s pricing scheme which had the Echo priced well below the cost to produce the device making it all but impossible for other tech companies to compete.

The Echo’s wide adoption has also led Amazon to engage in other anti-competitive behavior, Raskin asserted — some of which was outlined in previous questioning from Colorado Rep. Ken Buck citing a Wall Street Journal report that Amazon had used its investment unit focused on its Echo product and Alexa voice assistant to copy technology coming from small startup companies.

But beyond its appropriation of another company’s intellectual property, Amazon also used the Echo platform to promote its own products over competitors when customers used its voice services.

“Is Alexa trained to favor Amazon products?” Raskin asked.

Bezos responded that he wasn’t sure if Amazon had specifically trained the Alexa to default to Amazon services or to promote the company’s own brand of products, but that he wouldn’t be surprised. “It wouldn’t surprise me if Alexa sometimes does promote our own products,” the Amazon chief executive said.

Raskin also took Bezos to task for the company’s recent negotiations with WarnerMedia, the production studio, streaming service, and network giant. Specifically, he was concerned with how negotiations around the distribution of WarnerMedia’s HBO Max service on the company’s Fire TV devices included discussions around Amazon’s access to WarnerMedia productions.

“You’re not only asking for financial terms but also for content from Warner Media,” Raskin said. “Is it fair to use your gatekeeper status role in the streaming device market to promote your position as a competitor in the video streaming market with respect to content?”

Bezos responded that the negotiations were “normal commerce,” but Raskin tried to make the case that the negotiations over access to the Fire was yet another way in which the company’s leverage in one market impacted its ability to exercise unfair advantage against a competitor in a different industry. 

You’re using your control over access to people’s living rooms essentially,” Raskin said. “You’re using that to obtain leverage in terms of getting creative content that you want. Are you essentially converting power in one domain into power in another domain where it doesn’t belong?”

The comments and line of inquiry from Raskin were part of an intense bout of questioning that seemed to hone in on the purported topic of the hearings — the anti-competitive and potentially monopolistic power wielded by four of the nation’s largest tech companies. Facebook, Apple and Alphabet were all raked over the Congressional coals in bouts of questioning, but it seemed that the most sustained criticism on anti-competitive behavior was reserved for Bezos and Amazon.



from TechCrunch https://ift.tt/30YSPOa
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support