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

Tuesday, 25 February 2020

Samsung’s Galaxy S20 Ultra is a lot of phone for a lot of money

Let’s talk about money. More specifically, let’s talk about how much things cost. A few years back, the price of flagship smartphones leapt above the $1,000 threshold, owing largely to the cost of screen technology. It’s a tough calculus, but that’s the price of innovation.

The rising cost of smartphones is largely regarded as a major contributing factor to flagging smartphone sales. Phones have gotten better and last longer, and with four-digit prices, users are far less compelled to upgrade every two years or so.

Samsung knows this as well as anyone. Along with its usual array of budget phones, the company’s gone to great lengths to offer “budget flagships,” a relatively new category that aims to find the sweet spot between high-end features and less-impressive components, first through the S10e and now its new lite devices.

The Galaxy S20 Ultra is decidedly not that. It’s a picture of smartphone opulence in an era of declining smartphone sales. It’s yet another new tier in the company’s ballooning flagship smartphone line(s) designed to reestablish Samsung’s place in the bleeding edge of mobile technologies, while appealing to those with a little extra money to spend in order to future-proof their devices.

“A little more” here being defined as starting at $1,399. Or $1,599, if you’re, say, feeling extra flush after your tax returns and looking to upgrade to 512GB from the default 128GB. As for what top of the line means these days, that, too, has changed. Samsung was ahead of the curve by introducing multiple 5G phones last year. At the time, the handsets were, understandably, confined to the top tier, due to both cost of hardware and the general lack of global coverage.

For 2020, it’s 5G across the board, on all S20 models, so the kitchen sink Ultra needs to find ways to further set itself apart from the S20+. There are a few keys areas in which the Ultra sets itself apart. First and most immediate is size. Along with increased prices, the other thing you can count on, like clockwork, is bigger displays. The good news is that Samsung’s hardware advances have kept the footprint roughly the size of the last generation of devices.

Samsung continues to impress on that front, this time sneaking a roomy 6.9-inch display into a 166.9 x 76 x 8.8 mm; compare that to the 162.6 x 77.1 x 7.9 mm on the 6.7-inch S10 5G. The thick profile is almost certainly due to a larger battery. The 4,500 mAh found on last year’s device and this year’s S20+ is upgraded to a beefy 5,000 mAh.

Samsung remains conservative with its own expected battery life, owing to power-hungry features like the big AMOLED with a 120Hz refresh rate and the 5G radio. The company rates the phone as “all-day battery.” It’s a pretty nebulous phrase, all things considered. I suspect there’s still research to be done on the adverse impact of next-gen radios on battery life. With the default settings on (and little to no 5G, owing at least somewhat to some network issues), I found I got about 28 total hours on a charge.

[gallery ids="1951109,1951110,1951111,1951112,1951114"]

That certainly qualifies for the “all-day” mark, even if it’s a bit disappointing given the massive battery size. But it should definitely get you through a day and then some, with no issues. The other good news on that front is super-fast charging if you use the included wall adapter. I was able to go from zero to fully charged in just under a minute.

The design language is pretty much identical on all three S20s, and honestly, largely unchanged from last year’s model, though Samsung has moved to a hole-punch camera (a generous 40 megapixels for selfies) up front. Flip it around and the biggest difference is immediately apparent. The camera module on the Ultra is, well, ultra. There are four cameras back there, in a lip that occupies about a sixth of the phone’s total surface area.

The S20+’s more than adequate 12MP, 64MP telephoto, 12MP ultra wide and time of flight sensor have been bumped up to a 108MP main, 48MP 10x telephoto, 12MP ultra wide and time of flight. The ToF, mind you, is absent on the plain-old S20, bringing an added sense of depth for bokeh effects and fun tricks like 3D scanning. One also gets the sense that Samsung is very much laying the groundwork for an even stronger play in the AR world, extending beyond the current selection of AR emoji. Though, as with the rest of the industry, mainstream implementation is still slow going.

The biggest thing here — both figuratively and literally — is the telephoto. The camera features a folded telephoto, which is essentially turned on its side to fit the form factor. The camera is capable of a solid 10x hybrid zoom. Using a combination of the hardware and software, the company is able to achieve the 100x “Space Zoom,” versus the other models’ 30x max. It’s impressive all around, but important to note that the claims of “losslessness” only extend to 10x.

Beyond that, things start to degrade. And honestly, by the time you get to 100x, things start looking like a digital Monet painting. You can generally make out the objects, but in most cases, it’s probably not something you’re going to rush out to share on Instagram. For things like nosebleed seats at concerts or sporting events, however, sometimes it’s just enough to remember you’re there.

Honestly, though, I think Samsung is laying the groundwork for future updates, as it is with the ToF sensor. It’s easy to imagine how a 100x zoom coupled with some future imaging AI could lead to some pretty impressive telephoto shots, without the need for an external, optical lens. For now, however, it feels like more of a novelty. Honestly, a number of the upgrades over the S20+ feel a bit like excesses, and none but true devotees need to go all in with the Ultra.

My only momentary hesitation in recommending one of the lower-tier devices over the Ultra are questions of what happens to battery life when you dip below 5,000 mAh. The 120Hz screen is great for things like gaming, but for most users, I’d recommended keeping it off most of the time. That should buy you an extra couple of hours of life, switching to 120Hz when needed and back to 60 the rest of the time.

Ditto for the 108-megapixel camera. For most photos it makes sense to utilize pixel binning, which makes for a small 12-megapixel shot, but allows for a lot more light to be let in on a per pixel basis. Photo are brighter and sharper and the phone does better in low light. Also, the image isn’t gigantic — I forgot to swap the setting for a few photos and didn’t realize how massive they were until I sent them.

The best new photo feature, however, isn’t hardware at all. I’ve long posited that the key to a good imaging feature is simplicity. Cameras keep getting better and offer more features for those who want to shoot more professional photos on their mobile devices. That’s great, and if you’re Google, it means that the legendary Annie Leibovitz will show up to your launch event and sing your device’s praises.

But unless something works out of the box, it’s going to be of little use to a majority of consumers. Single Take is a clever addition to default camera settings that takes a whole bunch of different types of photos at once (provided you can stand still for 10 seconds). You get Live Focus, Timelapse and Ultra-Wide all at once. The camera saves everything to the roll, where you can choose the best image. It’s a larger file, but not huge in the grand scheme of things. For those who don’t want to be a digital hoarder, you can always just go in and manually delete them.

The biggest updates to the S20 line feel like future-proofing. Elements like like 5G, 100x zoom and 8K video record don’t always make a ton of sense as of this writing, but much of Samsung’s biggest plays have been centered around getting out in front of the curve. With 5G, for example, there are still coverage barriers, but with users holding onto their handsets for longer, it’s almost certain that the next-gen wireless technology will be ubiquitous before the time comes for many users to upgrade.

In its current state, however, charging $1,399 and up for the Ultra is a pretty hard ask. Thankfully, however, Samsung has more than enough options for users looking for something a little cheaper. It’s a list that now includes the S10 Lite line and newly discounted standard S10 devices. Features like 100x, on the other hand, are novel, but it’s hard to justify the premium.



from TechCrunch https://ift.tt/2SZrQza
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support