HNHacker News
TopNewBestAskShowJobs

natep

1,241 karma · joined December 6, 2009

http://twitter.com/thenatealator https://github.com/nsp

Web site coming soon

submissionscomments
natep··on Neil Armstrong, Neal Stephenson, Neil Gaiman
So, do you actually know anything about Neil's life, and are dismissing all of those accomplishments, or are you making that statement out of complete ignorance? He didn't pop out of a test tube and into the Eagle, and sure, lets say thousands of people were equally qualified. That's about 0.00002% of of the population, and puts him in the top 0.1% of the people that could have done what he did (i.e. he did it).
natep··on Neil Armstrong, Neal Stephenson, Neil Gaiman
I thought Buzz piloted the lander and Neil was the mission commander? I'm still in the middle of listening to his biography, _First Man_, but they chose Neil to go up before they even took off, because they felt Neil was more level-headed than Buzz, and would handle the fame and attention better. Of course, they couldn't tell the public this. What they said was that it would be too hard for the pilot to reach the door with his suit on and Neil in the way.
natep··on Inbox Pause - A pause button for incoming mail in Gmail [Chrome extension]
Yes, the copy is exaggerated for humorous effect, but can you search, read, and reply to old emails while gmail is closed? Clearly, this extension does offer something more than your solution.
natep··on NASA to use consumer Android smartphones in new satellites
That's awesome! Is following @NASA_Phonesat the best way to find out when that happens?
natep··on NASA to use consumer Android smartphones in new satellites
Sorry if I'm being too nitpicky here, but NASA isn't actually innovating on size, here. They're putting everything in the standard 10cm^3 cubesat envelope. And they can fit a whole lot more than 10 satellites in the mass+volume of a typical one. And they can basically stow away on a rocket whose primary mission is one of those larger satellites.

Edit: For innovation on size, check out KickSat

natep··on NASA to use consumer Android smartphones in new satellites
I'm guessing that these spacecraft have none of the mission requirements that most others have. They're not doing a flyby mission where they have to work during the flyby, or doing anything actually critical (such as provide comms/science, or use propulsion). The system is designed to reboot in the case of problems, which

The closest to a mission goal I can find in the post is "This approach allows engineers to see what capabilities commercial technologies can provide, rather than trying to custom-design technology solutions to meet set requirements." So the only goal is to see _if_ they work.

Trust me, if other missions could get away with less shielding, they would. That's one reason why RBSP[1] is being launched, so we can better understand the radiation environment in Earth's orbit, so future missions aren't undershielded or sent up with unneccessary shielding. But I doubt that most big-budget missions could get away with no shielding.

[1] Shameless plug/full disclosure: I have been working on this project for the last 2+ years, and am now one of its flight controllers. For updates, you can check rbsp.jhuapl.edu or http://spaceflightnow.com/atlas/av032/status.html

natep··on NASA to use consumer Android smartphones in new satellites
I think it's important to make everything cheaper, even if you do get the most bang for your buck from reducing the cost of launch.

The other advantage in having NASA lead the way in the cheap satellite area, it will be easier for others to take advantage of cheap launches when they are eventually available. And possibly help create demand.

natep··on NASA to use consumer Android smartphones in new satellites
Maybe in this case it's cheaper to just send them up and measure it directly? It won't survive much TID, either, but with such a short mission and such cheap hardware, hopefully none of that matters.
natep··on Status Chart: Your Personal Status Dashboard
Especially for something like this. I might not need this to land a job for years, but when I do, I'll want to know that all the work I put into adding content to this won't have been wasted (i.e. service disappears for any number of reasons, OP is already 98% busy :/).

That's not so say that a hosted, subscription service wouldn't be useful for some, but self-hosing would allow users to solve problems for themselves that would otherwise be feature requests, and hard to design well for everyone.

I know OP doesn't want to be another LinkedIn, but there's no reason why he or someone else couldn't create an opt-in browsable database of these for better discoverability. How awesome would it be if you could click a link next to your hackathon entry and see the status page of other attendees?

natep··on Neal Stephenson on the State of Science Fiction
And what are we supposed to do in order to watch all the exerpts? Follow the entire site? No RSS feed, email subscription, anything? Pass.
natep··on Neal Stephenson on the State of Science Fiction
Nevermind that videos like this are completely inaccessible to the deaf.
natep··on Amazon Glacier
> Paying $12 to store a gigabyte of data for 100 years seems like a pretty intriguing deal as we emerge from an era of bit rot.

As long as that data is decode-able and more importantly, find-able (out of all the GBs frozen for 100 years, why would you want to look at any particular one of them?).

natep··on Why don't they just..?
Hey, I'm glad you responded, and that I misinterpreted where you were coming from and your intentions, but I guess that happens when limited to text (not that a misunderstanding-free medium exists). But as you've probably gathered by now, most of my response came from reading "I don't see any reason why someone shouldn't make this. [and I doubt a good one exists]" instead of "I don't see any reason why someone shouldn't make this. [and I would like to hear some]"

> Fast, Cheap, and Out of Control

The first thing that popped into my head when I saw this title was NASA's "Faster, Better, Cheaper" initiative. I will admit that I do not know much about it, but what I do know is that there were some failures (as you would expect) and the public did not react well. The failures did not come from not having space-grade parts, IIRC, but for various other reasons. The most infamous was the Mars Climate Orbiter, known for failing due to an imperial-metric conversion error [1], that is still brought up in almost every space-exploration piece that gets sufficient attention. Anecdotally, the lessons learned by those I've talked to are (1) choose 2 and (2) the public will not tolerate failure on large NASA projects, even if those projects cost a fraction of what it takes to host an Olympics, or to buy Instagram, or fight a war for a day.[2] But I have just now hopefully started a discussion with my coworkers about this paper[3] on our message board.

So anyways, about the paper. It looks like your idea is only mentioned briefly in the one section, and not fleshed out. The idea was somewhat more fleshed out in the talk I went to. What I meant by my line of questioning was that I haven't seen an implementation of these concepts outside academia, even though the idea has been around for some time, and the industry isn't entirely driven by irrational beings, so there must be some technical reasons why the ideas haven't been fully adopted.

>> * Having an identical copy is not redundancy

> Is it because the failure points remain the same?

Essentially, yes. His argument that most failures were systematic, and not due to unequal 'wear' of various kinds. Software especially, since on space missions it is implemented to be as deterministic as possible. That means that even if the primary processor fails gracefully due to bad internal logic, and a hot backup immediately takes its place, the backup will behave in exactly the same way given those inputs, which are likely to stay the roughly the same across the switch. Another example is a mission where the high gain antenna succumbed to a systematic failure, and they completed the mission on its low gain antenna. If there had been 2 identical antennas, they would not have been able to.

Designing and testing components to last a long time under the conditions you expect and test for is relatively easy. It's when the designs and tests don't match reality is when the problems happen. If you write something and make a copy, it will retain all of the typose of the original, and it's the same with Code/CAD/etc (and you might be more likely to introduce bugs than fix them). Ground-based systems can get away with this because of how easy it is to replace/repair broken units in a redundant setup.

[1] Even though it was due to a much larger issue related to how the project was carried out, and just happened to manifest in that error. It could have easily been a kilometer/meter mixup instead. And having a backup string of landing hardware/software wouldn't have helped in this case, unless the backup units had a different design/implementation.

[2] And yet, JPL still chose to use the skycrane. Very couragous.

[3] http://www.dau.mil/pubscats/ATL%20Docs/Mar-Apr10/ward_mar-ap...

natep··on A Generation Lost in the Bazaar
I think Torvalds does that play that role, but only for the Linux kernel. For user-space, which OP focuses on, there isn't one.
natep··on Why don't they just..?
"I don't see any reason why someone shouldn't make this."

You are exactly the kind of person that should build your own lander if you don't see this. And please, stop asking all of these questions in bad faith. I applaud deeringc for engaging with your specific points, but I can't bring myself to do this, since it seems to me like you assume all aerospace engineers are uncreative drones that can't think outside the box and see the obvious solution you've reached from your armchair.

Have you ever built a multiply-redundant, space-worthy, swarm-based system before? Have you built something that's any one of those three? If not, I don't have a problem with you thinking about them, but I do have a problem with your attitude. Edit: to clarify, I mean the attitude that comes across from your writing style. I have no idea what your qualificaitons are, how much thought you've put into this, how receptive you are to the idea that you're wrong, whether or not you recognize that everyone has more "unknown unkowns" than anything else, or what your actual attitude is. All I have are the words you write here. And my natural response to snark is more snark.

And if you think you're the first person to think "wouldn't it be great if not every spacecraft didn't have to have to re-solve the problem of power, communications, and computation?" I first heard the idea proposed in a 2009 talk[1] by someone who has been an insider for over 20 years. Some gems I remember from that talk:

* Having an identical copy is not redundancy

* Complexity is inherently more succeptable to failures

* Cars have been widely successful because of gas stations and repair shops. Spacecraft have to drag around their own

* We could create a ring of satellites, each dedicated to providing comms to earth, wireless power, computing power, or whatever. Users of the system would just need to build a structure, interfacing components, and their instrument and launch it into a nearby orbit.

[1] Abstract: http://www.spacecraftresearch.com/files/Fleeter.pdf

natep··on Why don't they just..?
The problem is that you can't fully control the meaning that someone takes from your statement. As a spacecraft enginner that knows many of the possible justifications for these "why don't they just"s, it's the negative connotation that springs to mind first, even without the "just". I think it is because that phrase is often used in the imperative sense, and not in a knowledge-seeking sense. Google autocomplete for "why don't you" suggests "stay", "get a job", "love me", and "do right" and if someone were to ask me any of those questions, I would not assume they were sincerely wondering anything.

Now, if you're wondering how better to phrase your questions of this sort, I'm afraid I don't have any specifics, because I'm not sure if I'm just as guilty of this, or if I've successfully rephrased my questions of this sort. What I do is try to imagine that I've spent years designing, building, and debugging the thing in question, and gone through multiple reviews by outside organizations where every design decision was scrutinized, and had many meetings with coworkers (formal and informal) to discuss the thing in question. And then I ask my question in the affirmative, rather than in the negative, such as:

"Why did you do X, would Y also work?"

"I would have done Y. What is it about X or Y that I am missing?"

natep··on Why host and write a blog?
It seemed strange to me that the author would conclude that this is what they expect to happen. If the goal is influence, wouldn't you want the share-ability of free? Then again, if you convince enough influential people to subscribe to your thoughts, and they can share amongst themselves, maybe that nets you even more influence.
natep··on How we screwed (almost) the whole Apple community
Exactly. What we don't know is how many organizations came across this tip and decided not to run a story on it, since they didn't have any such contacts. We do know that some decided to write a story anyways, even though they had zero corroborating evidence, in case...?
natep··on How Software Errors Contribute to Spacecraft Failures (2003) [pdf]
That is definitely a good book on the subject but I thought HN would appreciate a short overview more than a 400-page book to read in their spare time.

I currently work in software in the space industry (for about 5 years now), and I definitely agree that the cultural pathology is difficult to comprehend. I didn't realize how difficult since I haven't worked in any other industry, but seeing the comment sections on recent Curiosity-related posts here on HN has shown me how much the community wants to understand and how wide the understanding gap is.

natep··on How we screwed (almost) the whole Apple community
I understand that these other sites have to cover the latest story or else they'll lose pageviews or be considered irrelevant or whatever, but to me that is the sign of a flawed system. If you don't have the resources to fact-check something (because you've laid off so many people), and other sites (like macrumors.com) do, then you should leave that story alone and let others fact-check it. I'm tired of every major news site trying to be all things to all people. We have aggregators now, so only a few sites need to cover any one thing, and people will still find out about it.

I've only partially thought through this argument, so I'm sure it has all sorts of holes and will be easy to misinterpret in every way possible, but I'm throwing it out there anyways.

natep··on Shit HN Says
Verified: https://twitter.com/memset_juan/status/234987511741554690
natep··on How Software Errors Contribute to Spacecraft Failures (2003) [pdf]
Another paper based on OP, from the same author, published in 2007 and including discussion of non-software failures: http://klabs.org/DEI/lessons_learned/aerospace_corp/lessons_...

Other lessons learned from the space industry: http://klabs.org/DEI/lessons_learned/

natep··on What is the Mars Curiosity Rover's software built in?
OK, here's the script I had hacked together. It (or some previous version), successfully downloaded all of the images, and a timings.txt. It was then supposed to create a movie file of each slide of the appropriate length, concatenate them all, and add the audio. But my VM kept crashing, and then I never had time to get back to it. Plus, the movie file ended up being very large. But if you have python 2.7.2+, you can run it and grab the images.

https://github.com/nsp/gazpacho

natep··on Huffshell: You probably type too much.
I'll often use Up/^p/^r(i-reverse-search) to find a previous command and edit it's argument, which is where the tree nature of this tool would come in handy. If I 'type' the first n terms of a command enough times, it might be better to alias that part of the command rather than navigate my history and then edit the rest of the command repeatedly.
natep··on What is the Mars Curiosity Rover's software built in?
I wrote it[edit: by which, I mean the answer containing the sentence in question], and I'm not 100% sure, although there probably is a separate presentation in that year or a different year that describes their auto-generation process. I know that it was a popular topic in general at the FSW-11 conference.

Simulink is a possibility. It's a MATLAB component popular among mechanical engineers, and therefore most navigation & control engineers, and allows them to 'code' and simulate things without thinking they're coding.

Model-based programming is definitely a thing that the industry is slowly becoming aware of, but I don't know how well it's catching on at JPL or if they would have chosen to use it when the project started.

The third and most likely possibility is for the communication code. With all space systems, you need to send commands to the flight software from the ground software, and receive telemetry from the flight software and process it with the ground software. Each command/telemetry packet is a heterogeneous data structure, and is is necessary that both sides are working from the exact same packet definition, and format the packet so it is correctly formatted on the one side, and parsed on the other side. This involves getting a whole lot of things right, including data type, size, and endianness (although the latter is usually a global thing, you could have multiple processors onboard with different endianness).

But that's just the surface. You need lots of repetitive code on both sides to handle things like logging, command/telemetry validation, limit checking, and error handling. And then you can do more sophisticated things. Say you have a command to set a hardware register value, and that value is sent back in telemetry in a particular packet. You could generate ground software that monitors that telemetry point to ensure that when this register value is set, eventually the telemetry changes to reflect the change. And of course, some telemetry points are more important than others (e.g. main bus current), and are designated to come down in multiple packets, which involves extra copying on the flight side and data de-duplication on the ground side.

With all that, it's much easier (in my opinion) to write one collection of static text files (in XML, csv, or some DSL/what-have-you), run them through a perl/python script, and presto! Code!

natep··on What is the Mars Curiosity Rover's software built in?
It's hard for me to imagine 1M lines of code being written/generated in a year and then flown. I suspect either the first person was responsible for testing only 2.5M lines of it, or they used different counting methods.

As the one who posted the larger figure, I'd say it's more reliable because it comes from the man who sat at the Flight Control station in the control center :D

natep··on What is the Mars Curiosity Rover's software built in?
I don't know if there is a PDF. The media player is interesting, though, in that it's actually just some javascript that loads a sequence of stills at the appropriate time, and if you look at the source, you can write, say, a python script to download all the images, which I did. When I get home, I'll see if I can find it.
natep··on What is the Mars Curiosity Rover's software built in?
Thanks for posting! The existing answer had almost no detail, so I wrote another: http://programmers.stackexchange.com/a/159687/61021
natep··on NASA TV feed of 10:31 pm PDT Curiosity landing
Plenty to do, since monitoring and understanding all of the incoming data is most of what operations is, but in this case, no commands were sent while the stream was live.
natep··on NASA TV feed of 10:31 pm PDT Curiosity landing
They do have covers on the lenses that will be removed, but I don't think it would be practical to put removable covers everywhere. What would happen if the 'skin' didn't come off?
← PreviousPage 3 of 14Next →