Skip to main content

NASA Opens SpaceX's Moon Lander Contract To Rivals Over Starship Delays

2 weeks 1 day ago
NASA has reopened SpaceX's $4.4 billion moon lander contract to new bidders like Blue Origin and Lockheed Martin after delays in Starship's development threatened the 2027 Artemis 3 mission. Reuters reports: The move paves the way for rivals such as Jeff Bezos' Blue Origin to snatch a high-profile mission to land the first astronauts on the moon in half a century. "I'm in the process of opening that contract up. I think we'll see companies like Blue get involved, and maybe others," the U.S. space agency's acting chief Sean Duffy, who also serves as U.S. Transportation Secretary, told Fox News' "Fox & Friends" program. Duffy's comments follow months of mounting pressure within NASA to speed up its Artemis lunar program and push SpaceX to make greater progress on its Starship lunar lander, while China progresses toward its own goal of sending humans to the moon by 2030. It represents a major shift in NASA's lunar strategy, starting a new competitive juncture in the program for a crewed moon lander just two years before the scheduled landing date. Blue Origin is widely expected to compete for the mission, while Lockheed Martin has indicated it would convene an industry team to heed NASA's call. Starship, picked by NASA in 2021 under a contract now worth $4.4 billion, faces a 2027 moon landing deadline that agency advisers estimate could slip years behind schedule, citing competing priorities. Musk sees Starship as crucial to launching larger batches of Starlink satellites to space and eventually ferrying humans to Mars, among other missions. "They do remarkable things, but they're behind schedule," Duffy said of SpaceX's lunar lander work, adding President Donald Trump wants to see the mission take place before his White House term ends in January 2029.

Read more of this story at Slashdot.

BeauHD

CodeSOD: Forward Not Found

2 weeks 1 day ago

Anthony found this solution to handling 404 errors which um… probably shouldn't have been found.

function show_404($page = '') { $uri = $_SERVER['REQUEST_URI']; error_log("Caught 404: $uri"); $redirect_url = ""; switch($uri){ case "/SOMEURL": $redirect_url="http://www.SOMEWEBSITE.com/SOMEURL"; break; case "/SOMEOTHERURL": $redirect_url="http://www.SOMEWEBSITE.com/SOMEOTHERURL"; break; case "/YETANOTHERURL": $redirect_url="http://www.SOMEWEBSITE.com/YETANOTHERURL"; break; // ... THERE ARE 300 of these ... case "/MOREURLS": $redirect_url="http://www.SOMEWEBSITE.com/MOREURLS"; break; case "/EVENMOREURLS": $redirect_url="http://www.SOMEWEBSITE.com/EVENMOREURLS"; break; } if ($redirect_url){ Header( "HTTP/1.1 301 Moved Permanently" ); Header( "Location: $redirect_url" ); } else { parent::show_404($page); } }

Upon a 404 error, this code checks a switch statement. If the path portion (the REQUEST_URI) is in our switch, we redirect to a similar path on a different domain (I am only assuming it's a different domain; if it's the same domain, this is an entirely different class of WTF).

On the other hand, if we don't have an entry in our switch, we just show a 404 error.

I can see how this happened: someone migrated part of their site to a new domain, but didn't want to fix all the links (and can't fix all of people's bookmarks), so they wanted to automatically redirect the appropriate URLs. But here's the thing: this isn't the way to do it. In this particular case, the developers were using Code Igniter, a PHP framework for web apps, which has a routing engine; it would have been trivial to simply direct all the forwarded routes to a controller that just handles the redirects.

Or one of the many, many other options for redirecting users browsers that don't involve transforming a 404 into a 301 with a gigantic switch statement.

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!
Remy Porter