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 Slide

  2. Ruby & Science?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  10. enter Ruby

    View Slide

  11. Ruby
    Slow

    View Slide

  12. Ruby
    Slow
    Lack of scientific libraries

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  18. What help are they
    getting?

    View Slide

  19. Python
    SciPy, NumPy

    View Slide

  20. Java
    Lots of libraries, easy to find

    View Slide

  21. Excel
    Really!

    View Slide

  22. How can we help?

    View Slide

  23. Ruby

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  32. Let’s participate

    View Slide

  33. Direct action

    View Slide

  34. Direct action
    1. Choose a discipline you like

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  39. Why?
    OpenSource: Same motivations

    View Slide

  40. Why?
    Helping Science

    View Slide

  41. Why?
    Doing Science

    View Slide

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

    View Slide

  43. Why?
    Learning about interesting issues & problems

    View Slide

  44. Why?
    Easy
    result/effort

    View Slide

  45. Why?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  52. 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 Slide