Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ruby & Science

Ruby & Science

Presented at Eurucamp 2013, Berlin (http://2013.eurucamp.org/).
It contains the seed ideas for the Alpha.rb project: http://alpharb.com

Juanjo Bazán

August 16, 2013
Tweet

More Decks by Juanjo Bazán

Other Decks in Programming

Transcript

  1. Juanjo Bazán @xuanxu
    Ruby & Science

    View full-size slide

  2. Ruby & Science?

    View full-size slide

  3. Ruby & Science?
    FACT:
    RUBY IS NOT WIDELY USED
    IN RESEARCH PROJECTS

    View full-size slide

  4. Ruby ∩ Science ≃ ∅ ?
    Why?
    not suitable for scientific uses?

    View full-size slide

  5. Can Ruby fill the needs of scientists?
    What people in academia need?

    View full-size slide

  6. Research nowadays:
    Do
    something
    Collect
    data
    Manipulate
    data
    Interpret
    results

    View full-size slide

  7. FACT:
    It doesn’t matter the scientific discipline,

    View full-size slide

  8. FACT:
    It doesn’t matter the scientific discipline,
    It doesn’t matter the research field,

    View full-size slide

  9. FACT:
    It doesn’t matter the scientific discipline,
    it doesn’t matter the research field,
    (almost) every research project needs code.

    View full-size slide

  10. Ruby
    Slow
    Lack of scientific libraries

    View full-size slide

  11. Ruby
    Slow
    Lack of scientific libraries
    Small academic user base

    View full-size slide

  12. Ruby
    Slow
    Lack of scientific libraries
    => Not suitable for science?
    Small academic user base

    View full-size slide

  13. core research, simulations, modeling, calculations ...
    R, automatization tasks, graphs, formatting data ...
    Research Project’s code
    WHAT?

    View full-size slide

  14. Wide spectrum of very different tasks
    Research Project’s code
    WHAT?
    Speed is not a factor

    View full-size slide

  15. Not programmers
    Research Project’s code
    WHO?
    Experienced enough to tweak an existent solution
    Help wanted

    View full-size slide

  16. What help are they
    getting?

    View full-size slide

  17. Python
    SciPy, NumPy

    View full-size slide

  18. Java
    Lots of libraries, easy to find

    View full-size slide

  19. Excel
    Really!

    View full-size slide

  20. How can we help?

    View full-size slide

  21. Ruby
    General purpose lang
    Increase developer happiness
    Powerful & beautiful syntax

    View full-size slide

  22. Ruby Researcher
    General purpose lang
    Increase developer happiness
    Powerful & beautiful syntax
    Not programmers
    Experience tweaking
    existent solutions
    Wide range of
    different code tasks

    View full-size slide

  23. Ruby
    Slow
    Lack of scientific libraries
    Small academic user base

    View full-size slide

  24. Ruby
    Lack of scientific libraries
    Small academic user base
    Slow Speed not a factor

    View full-size slide

  25. Ruby
    Slow
    Lack of scientific libraries
    Small academic user base
    Speed not a factor
    Let’s push here!

    View full-size slide

  26. SciRuby
    Goal: SciPy/NumPy for Ruby: SciRuby/NMatrix
    pre-alpha/alpha state
    Active development
    SciRuby.com github.com/SciRuby/sciruby
    Help wanted

    View full-size slide

  27. Let’s push Ruby into
    Academia
    Goals:
    - Make Ruby known to/used by researchers
    - Create an ecosystem of scientific ruby libs

    View full-size slide

  28. Let’s push Ruby into
    Academia
    Goals:
    - Create an ecosystem of scientific ruby libs
    - Make Ruby known to/used by researchers

    View full-size slide

  29. Let’s participate

    View full-size slide

  30. Direct action

    View full-size slide

  31. Direct action
    1. Choose a discipline you like

    View full-size slide

  32. Direct action
    1. Choose a discipline you like
    2. Find your closest university department

    View full-size slide

  33. Direct action
    1. Choose a discipline you like
    2. Find your closest university department
    3. Offer help & code

    View full-size slide

  34. Why?
    What’s in it for you?

    View full-size slide

  35. Why?
    More Ruby uses => Good for Rubysts & Ruby

    View full-size slide

  36. Why?
    OpenSource: Same motivations

    View full-size slide

  37. Why?
    Helping Science

    View full-size slide

  38. Why?
    Doing Science

    View full-size slide

  39. Why?
    OS rewards are good,
    helping science rewards are great

    View full-size slide

  40. Why?
    Learning about interesting issues & problems

    View full-size slide

  41. Why?
    Easy
    result/effort

    View full-size slide

  42. Ruby & Science
    communities
    Sharing information is the norm
    Openness is a value
    Reputation based systems
    Members are welcoming and willing to help

    View full-size slide

  43. Can we make Ruby the
    programming language of
    Science?

    View full-size slide

  44. Probably No
    Maybe?
    Can we make Ruby the
    programming language of
    Science?

    View full-size slide

  45. Can we make Ruby the
    programming language of
    Science?
    Probably No
    Maybe?
    Who cares?

    View full-size slide

  46. Let’s make Ruby
    the favorite
    programming language
    of scientists!

    View full-size slide

  47. Thank you!
    Danke!
    Juanjo Bazán @xuanxu

    View full-size slide

  48. Questions?
    Juanjo Bazán @xuanxu [email protected]
    photo credits:
    http://www.flickr.com/photos/aai/6936657289
    http://www.flickr.com/photos/3dking/148507938/
    http://www.flickr.com/photos/morton1905/8638721846
    http://www.flickr.com/photos/shanegorski/2449377038
    http://www.flickr.com/photos/x-ray_delta_one/5865762878

    View full-size slide