If you’d like to work on software projects that might one day send your code to Mars or on a deep space mission, NASA has some code for you to hack on. The Space Agency recently unveiled a new website, code.nasa.gov, to provide a home for NASA’s various open source software projects.
The new website isn’t the first open source effort from NASA, in fact the increasingly popular OpenStack cloud software stack grew out of a NASA project. If you go further back into history, the Beowulf cluster — forerunner of most of today’s Linux clusters — was also a NASA project.
Unfortunately for outside developers NASA’s past open source efforts have not been very well organized, nor has there been an easy way to contribute code to the various projects. The new code website is designed to change that. According to its homepage the site’s mission is to “surface existing projects, provide a forum for discussing projects and processes, and guide internal and external groups in open development, release, and contribution.”
For the initial release the focus seems to be primarily on the first item in the list, while the forums and discussion aspects are still listed as “coming soon.”
If you’ve been building websites for a while, chances are you have some boilerplate code you use to jump-start a new site — perhaps some CSS resets, a basic HTML structure, and so on. You tweak and refine your boilerplate as standards evolve.
One of the best ways to improve your basic code is to see how other people do the same thing. We recently stumbled across HTML5 Reset, a set of templates and code that makes a great starting point for a sites that will be using HTML5 and CSS 3.
As the HTML5 Reset authors note, the code is by no means an “end-all and beat-all” set of templates. In fact, the code may not work for your project at all, but even you don’t end up using it as-is, you may be able to glean some good ideas from it.
For example, because I use Sass for developing stylesheets, raw CSS isn’t all that useful for my projects. However, HTML5 Reset has a very nifty class for clearing floats without extra markup, so I ended up incorporating that element into my own Sass-based boilerplate code. Take what’s useful and leave the rest.
There are a couple versions of HTML5 Reset — the “Kitchen Sink” version that includes nearly everything and has copious comments and a “Bare Bones” version that’s stripped down to just the basics. I recommend checking out the former unless you’ve decided to commit to HTML5 Reset. It’s always easier to start off by removing things you don’t need than trying to figure out what you need to add.
If you’re curious, head over to the HTML5 Reset site to learn more. HTML5 Reset is available under the BSD license. If you see bugs or have suggestions on how to improve HTML5 Reset, be sure to let the authors know.