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

Monday, 2 September 2019

3D printers on the final frontier: Made In Space is building satellites that build themselves

In a nondescript building near Moffett Field, still undistracted by any VC funding, an 80-person company named Made In Space is building tools for the next generation of satellites and space exploration, including most remarkably, the first self-manufacturing satellite, due for launch in three years’ time.

Building in space rather than on the ground, courtesy of 3D printers and automated assembly, comes with many advantages. You can save volume by sending dense feedstock for 3D printers rather than capacious constructed objects. More importantly, if you don’t have to build to survive the traumatic forces of launch, you can use more fragile designs, and hence less mass.

Made in Space’s 3D printers have already done several tours of duty on the International Space Station, “Five years ago, manufacturing in space was a dream,” says Andrew Rush, co-founder and CEO. “Now there are months we’re manufacturing so much stuff in orbit it seems almost pedestrian.”

“We have manufacturing, we have printing, now let’s get assembly, let’s get robotic operations,” concurs Jim Bridenstine, as behind him a robot arm loops wires onto a full-size 3D-printed reflector disk, in a headquarters decorated with classic Star Trek posters and the world’s largest 3D-printed object. (A 37.7-meter long tube of aerospace polymer. They stopped there because they ran out of hallway.) That breakthrough launch, targeted for 2022, is called Archinaut One.

It’s not that the entire satellite will be constructed in orbit from bricks of polymer and wire, obviously. But Archinaut One, for which NASA has awarded Made in Space $73.7 million, will manufacture two ten-meter-long wings of solar arrays rather than unfold the customary smaller panels, generating “as much as five times more power than traditional solar panels on spacecraft of similar size.”

The potential commercial applications are numerous. Most obviously, Internet-via-satellite solutions require bandwidth, and, basically, power equals bandwidth. Bridenstine, who extols how this work was done by a small business rather than by NASA proper, clearly prefers NASA as a customer of the private space sector, or better yet “one of many customers,” rather than owning / building new technologies itself. Archinaut One is in turn something of a prototype for eventual robotic construction of the controversial Lunar Gateway.

But whether you’re convinced by the Gateway architecture serious skeptic, Made in Space’s technology is genuinely exciting, and impressively multifaceted. They intend to recycle waste polymer on the ISS. They plan to manufacture optical fiber in space which would “greatly outperform” standard fibers. They do sheet-metal extrusion and are interested in 3D printing metals as well as polymers in space.

Most interesting of all is their approach to converting lunar and other regolith into 3D-printing feedstock and using it that to construct extremely strong, and airtight, structures. It turns out that 70% moondust can be mixed with 30% polymer nodules into a mix that can be heated into 3D feedstock for a remarkable one-thirtieth the energy cost of sintering. Their ridiculously awesome, ridiculously ambitious long-term plan to construct spacecraft from asteroids is called “Project RAMA,” presumably a nod to the Clarke novel.

That sounds a lot like the proverbial pie in the sky, but given their accomplishments to date, Made in Space has earned the right to be taken seriously. The company’s four co-founders met in Singularity University, talked NASA into giving them a dusty disused basement room as their initial office, and, despite being just a few miles from Sand Hill Road, have since grown to their current size without taking any dilutive funding — no less an achievement than their science and engineering feats to date.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support