
Code.nasa.gov - WD-42
http://code.nasa.gov/
======
dthal
From the article:

>>libSPRITE defines engineering units as types (i.e., Meters or Radians
instead of double or int).

I guess experience is a harsh teacher.[1]

[1][http://en.wikipedia.org/wiki/Mars_Climate_Orbiter#Cause_of_f...](http://en.wikipedia.org/wiki/Mars_Climate_Orbiter#Cause_of_failure)

~~~
davidgrenier
Worth noting that F# has language-support for Units of Measures and countless
new languages have come since 2008 without that in mind.

~~~
Osmium
> Worth noting that F# has language-support for Units of Measures

I had no idea. That is crazy cool. Do you have any recommended resources for
learning how this works behind the scenes?

(I tried implementing something similar in Swift, without knowledge of prior
examples, so probably ended up doing it in a really dumb way. I tried using
structs ('Quantities') containing the underlying value and also dimensional
information, and then enabling mathematical operations using operator
overloading and generics. I'd love to know of a better/"proper" way of
implementing it though. The big unknown for me was the best underlying
type/data structure to use to represent SI dimensions, including fractional
dimensions, and that would allow them to be combined algebraically. Might just
have to have another go this weekend following F#'s example!)

Edit: found this paper if anyone's interested
[http://research.microsoft.com/en-
us/um/people/akenn/units/CE...](http://research.microsoft.com/en-
us/um/people/akenn/units/CEFP09TypesForUnitsOfMeasure.pdf)

~~~
louthy
> I had no idea. That is crazy cool. Do you have any recommended resources for
> learning how this works behind the scenes?

[http://fsharpforfunandprofit.com/posts/units-of-
measure/](http://fsharpforfunandprofit.com/posts/units-of-measure/)

The units are lost at runtime and are used for static type checking only. So
if you were to consume an F# lib from C# (for example) then you wouldn't have
a such strong system. Hopefully one day they'll end up as part of the CLR so
it can be enforced at runtime too.

------
thearn4
I currently work on one of these: [https://github.com/OpenMDAO/OpenMDAO-
Framework](https://github.com/OpenMDAO/OpenMDAO-Framework)

It looks like the fork linked to on code.nasa.gov is a few years behind.

~~~
auxym
OpenMDAO is cool, have an upvote!

------
CatsoCatsoCatso
It's refreshing to see a page about development & code which has some soul to
it. So often now everything is presented either on Github's clean, dry
interface or on an external page doing its very best to lack any personality.

------
newman8r
[https://github.com/nasa/code.nasa.gov](https://github.com/nasa/code.nasa.gov)
hasn't been updated in years - if at least 1 or 2 people are interested in
updating it quarterly I'll pitch in and set something up on aws. Would be nice
to add a discussion board for each item too.

------
pron
The awesome Java PathFinder[1] (a model checker for Java) seems to be missing.

[1]
[http://babelfish.arc.nasa.gov/trac/jpf](http://babelfish.arc.nasa.gov/trac/jpf)

------
noselasd
I find the cFE ,
[http://sourceforge.net/projects/coreflightexec/files/cFE-6.4...](http://sourceforge.net/projects/coreflightexec/files/cFE-6.4.1/)
pretty interesting - used as a base for actual spacecraft software, such as
the LRO, LADEE, ATLAS and many others.

------
ChuckMcM
Ah one of my favorites:
[http://opensource.gsfc.nasa.gov/projects/LHD/](http://opensource.gsfc.nasa.gov/projects/LHD/)

------
pbw
I dislike that they link to the full legal license without explanation or
comment. I cannot read legal it makes my brain hurt. As a commercial closed-
source software developer (aka leech) I just want to know can I use it?

~~~
desdiv
See
[https://en.wikipedia.org/wiki/NASA_Open_Source_Agreement](https://en.wikipedia.org/wiki/NASA_Open_Source_Agreement)

OSI says it's an open source license, but FSF says no. In your case, I'd say
you're in the clear, since you're clearly making an “original creation” in
NASA terms.

Does anyone know why NASA's open source code isn't in the public domain like
it's supposed to be [0]?

[0]
[https://en.wikipedia.org/wiki/Copyright_status_of_work_by_th...](https://en.wikipedia.org/wiki/Copyright_status_of_work_by_the_U._S._government)

~~~
tbirdz
>Does anyone know why NASA's open source code isn't in the public domain like
it's supposed to be?

That only applies to works done by federal employees. Most of the coding is
probably done by contractors, who are not required to release their work under
public domain. However, it seems NASA might have made it a part of the
contract to release the code under an open source license.

------
yCloser
Exactly what we needed for our Kerbal Space Program softwares!

------
wyclif
How long has NASA had this project and subdomain up?

------
unexistance
unreadable with JS disabled ... wonder why that is

~~~
krapp
Because they're using AngularJS, apparently.

------
gulbrandr
At first sight, I read code.NSA.gov. I had to read it at least 3 times to see
it was NASA.

------
amaks
This is truly awesome.

------
davidgrenier
You guys wanna make sure it crashes at run-time?

