ruby and science
DESCRIPTION
Slides for my talk at Berlin Eurucamp 2013, about the use of Ruby in scientific enviroments and how to foster it. It contains the seed idea for the Alpha Research Station project: http://alpharb.comTRANSCRIPT
![Page 1: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/1.jpg)
Juanjo Bazán @xuanxu
Ruby & Science
![Page 2: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/2.jpg)
Ruby & Science?
![Page 3: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/3.jpg)
Ruby & Science?FACT:
RUBY IS NOT WIDELY USED IN RESEARCH PROJECTS
![Page 4: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/4.jpg)
Ruby ∩ Science ≃ ∅ ?
Why?not suitable for scientific uses?
![Page 5: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/5.jpg)
Can Ruby fill the needs of scientists?
What people in academia need?
![Page 6: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/6.jpg)
Research nowadays:Do
somethingCollect
data
Manipulatedata
Interpret results
![Page 7: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/7.jpg)
FACT:
It doesn’t matter the scientific discipline,
![Page 8: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/8.jpg)
FACT:
It doesn’t matter the scientific discipline,
It doesn’t matter the research field,
![Page 9: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/9.jpg)
FACT:
It doesn’t matter the scientific discipline,
it doesn’t matter the research field,
(almost) every research project needs code.
![Page 10: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/10.jpg)
enter Ruby
![Page 11: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/11.jpg)
RubySlow
![Page 12: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/12.jpg)
RubySlow
Lack of scientific libraries
![Page 13: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/13.jpg)
RubySlow
Lack of scientific libraries
Small academic user base
![Page 14: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/14.jpg)
RubySlow
Lack of scientific libraries
=> Not suitable for science?
Small academic user base
![Page 15: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/15.jpg)
core research, simulations, modeling, calculations ... R, automatization tasks, graphs, formatting data ...
Research Project’s codeWHAT?
![Page 16: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/16.jpg)
Wide spectrum of very different tasks
Research Project’s codeWHAT?
Speed is not a factor
![Page 17: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/17.jpg)
Not programmers
Research Project’s codeWHO?
Experienced enough to tweak an existent solution
Help wanted
![Page 18: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/18.jpg)
What help are they getting?
![Page 19: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/19.jpg)
PythonSciPy, NumPy
![Page 20: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/20.jpg)
JavaLots of libraries, easy to find
![Page 21: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/21.jpg)
ExcelReally!
![Page 22: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/22.jpg)
How can we help?
![Page 23: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/23.jpg)
Ruby
![Page 24: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/24.jpg)
Ruby
General purpose lang
Increase developer happiness
Powerful & beautiful syntax
![Page 25: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/25.jpg)
Ruby Researcher
General purpose lang
Increase developer happiness
Powerful & beautiful syntax
Not programmers
Experience tweaking existent solutions
Wide range of different code tasks
![Page 26: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/26.jpg)
RubySlow
Lack of scientific libraries
Small academic user base
![Page 27: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/27.jpg)
Ruby
Lack of scientific libraries
Small academic user base
Slow Speed not a factor
![Page 28: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/28.jpg)
RubySlow
Lack of scientific libraries
Small academic user base
Speed not a factor
Let’s push here!
![Page 29: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/29.jpg)
SciRuby
Goal: SciPy/NumPy for Ruby: SciRuby/NMatrix
pre-alpha/alpha state
Active development
SciRuby.com github.com/SciRuby/sciruby
Help wanted
![Page 30: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/30.jpg)
Let’s push Ruby into Academia
Goals:
- Make Ruby known to/used by researchers
- Create an ecosystem of scientific ruby libs
![Page 31: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/31.jpg)
Let’s push Ruby into Academia
Goals:
- Create an ecosystem of scientific ruby libs
- Make Ruby known to/used by researchers
![Page 32: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/32.jpg)
Let’s participate
![Page 33: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/33.jpg)
Direct action
![Page 34: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/34.jpg)
Direct action
1. Choose a discipline you like
![Page 35: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/35.jpg)
Direct action
1. Choose a discipline you like
2. Find your closest university department
![Page 36: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/36.jpg)
Direct action
1. Choose a discipline you like
2. Find your closest university department
3. Offer help & code
![Page 37: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/37.jpg)
Why?
What’s in it for you?
![Page 38: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/38.jpg)
Why?
More Ruby uses => Good for Rubysts & Ruby
![Page 39: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/39.jpg)
Why?
OpenSource: Same motivations
![Page 40: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/40.jpg)
Why?
Helping Science
![Page 41: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/41.jpg)
Why?
Doing Science
![Page 42: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/42.jpg)
Why?
OS rewards are good, helping science rewards are great
![Page 43: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/43.jpg)
Why?
Learning about interesting issues & problems
![Page 44: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/44.jpg)
Why?
Easyresult/effort
![Page 45: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/45.jpg)
Why?
![Page 46: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/46.jpg)
Ruby & Science communities
Sharing information is the norm
Openness is a value
Reputation based systems
Members are welcoming and willing to help
![Page 47: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/47.jpg)
Can we make Ruby the programming language of
Science?
![Page 48: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/48.jpg)
Probably No
Maybe?
Can we make Ruby the programming language of
Science?
![Page 49: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/49.jpg)
Can we make Ruby the programming language of
Science?Probably No
Maybe?Who cares?
![Page 50: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/50.jpg)
Let’s make Ruby the favorite
programming language of scientists!
![Page 51: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/51.jpg)
Thank you!Danke!
Juanjo Bazán @xuanxu
![Page 52: Ruby and Science](https://reader037.vdocuments.us/reader037/viewer/2022102700/554f3e5bb4c905cd048b52a2/html5/thumbnails/52.jpg)
Questions?
Juanjo Bazán @xuanxu [email protected]
photo credits:http://www.flickr.com/photos/aai/6936657289http://www.flickr.com/photos/3dking/148507938/ http://www.flickr.com/photos/morton1905/8638721846http://www.flickr.com/photos/shanegorski/2449377038http://www.flickr.com/photos/x-ray_delta_one/5865762878