As a young scientist, I find myself facing these challenges (or, at least, let’s say that I am trying to improve in these areas):
- make research in an interdisciplinary and distributed context,
- maximize the chances that anybody can access and reproduce my results,
- engage with the wide public.
Learning these enabling tools are helping me dealing with this:
- A programming language, easier if it is a high level one such as R or Python. Knowing a programming language not only helps you get a computer or a robot do what you want. It also allow you to write and share with everybody a rigorous set of instruction (scripts) for what you do,
- A markup language, such as Latex, or a combination of HTML and markdown, this enables you to easily publish what you want on the web. It can be a blog, a text book, or an extensive manual on how to interpret and use your lab results,
- A version control tool; Git/Github. It allows open and collaborative development of your projects,
The nice things about these tools is that they have been developed in an open source / open knowledge framework, therefore the only thing needed to learn them (besides a computer, access to the web and -OK- understanding of basic English) is time.
These technologies already had an impact on academic research once, with the advent of “big data”. They might have an impact again at the present day with the implementation of open hardware and open robotics.
While learning those tools, I found these resources incredibly helpful :
- For the R language anything that Hadley Wickham does,
- The Mozilla Development Network gets you started with HTML and the web (I am still learning this)
- Markdown is just incredibly easy, just check the original guide or the Github Flavored Markdown guide
- What better place to get started with github then the Git Book itself? It’s at the same time easy and detailed.
I have not found yet the best guide for learning open hardware development.
Have fun :)