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

SpaceX wants to land Starship on the Moon before 2022, then do cargo runs for 2024 human landing

Speaking at a quick series of interviews with commercial space company’s at this year’s annual International Astronautical Congress, SpaceX President and COO Gwynne Shotwell shed a little more light on her company’s current thinking with regards to the mission timelines for its forthcoming Starship spacefaring vehicle. Starship, currently in parallel development at SpaceX’s South Texas and Florida facilities, is intended to be an all-purpose successor to, and replacement for, both Falcon 9 and Falcon Heavy, with a higher payload capacity and the ability to reach the Moon and eventually Mars.

“Aspirationally, we want to get Starship to orbit within a year,” Shotwell said. “We definitely want to land it on the Moon before 2022. We want to […] stage cargo there to make sure that there are resources for the folks that ultimately land on the moon by 2024, if things go well, so that’s the aspirational timeframe.”

That’s an ambitious timeline, and as Shotwell herself repeatedly stated, these are “aspirational” timelines. In the space industry, as well as in tech, it’s not uncommon for leadership to set aggressive schedules in order to drive the teams working on projects to work at the limits of what’s actually possible. SpaceX CEO Elon Musk is also known for working to timelines that often don’t match up with reality, and Shotwell alluded to Musk’s ambitious goal setting as a virtue in another part of her on-stage interview at IAC.

SpaceX President and COO Gwynne Shotwell at IAC 2019

SpaceX President and COO Gwynne Shotwell at IAC 2019 in Washington, D.C.

“Elon puts out these incredibly audacious goals and people say ‘You’re not going to do it, you’ll never get to orbit, you’ll never get a real rocket to orbit, […] you’ll never get Heavy to orbit, you’ll never get Dragon to the station, you’ll never get Dragon back, and you’ll never land a rocket,'” she said. “So, frankly, I love when people say we can’t do it, because it motivates my fantastic 6,500 employees to go do that thing.”

SpaceX has previously discussed its goal of starting its first orbital test flights of Starship within as little as a year. So far, the company has built and tested a so-called ‘Starhopper’ demonstration vehicle, which consisted of just the base of the vehicle and one of the Raptor engines it will use for its new Starship launch system and Super Heavy booster. After completing successful low-altitude flights with that vehicle, SpaceX moved on to assembling its Mk1 and Mk2 Starship test vehicles, which represent the full scale of the ultimate orbital spacecraft, and which are being built by teams in Boca Chica and Cape Canaveral, respectively. These will perform high-altitude testing, before SpaceX builds additional prototypes for orbital, and ultimately human test flights.

SpaceX already has already been contracted by Intuitive Machines and ispace, both companies working with NASA to delivery payloads to the Moon ahead of its 2024 Artemis program human Moon landing, but these payload missions all specify using Falcon 9 to deliver their payloads.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support