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

Ruby y Ciencia

Ruby y Ciencia

Diapos de la charla del Grupo de Usuarios de Ruby de Madrid de noviembre de 2013: Ruby y Ciencia.
El video se puede ver en: https://vimeo.com/84568788

Juanjo Bazán

November 28, 2013
Tweet

More Decks by Juanjo Bazán

Other Decks in Programming

Transcript

  1. Juanjo Bazán @xuanxu madrid-rb nov ‘13
    Ruby y Ciencia

    View full-size slide

  2. ¿Ruby y Ciencia?

    View full-size slide

  3. ¿Ruby y Ciencia?
    RUBY SE UTILIZA POCO EN
    PROYECTOS DE INVESTIGACIÓN

    View full-size slide

  4. ¿ Ruby ∩ Ciencia ≃ ∅ ?
    ¿Por qué?
    ¿No es válido para usos científicos?

    View full-size slide

  5. ¿Puede Ruby cubrir las necesidades de los científicos?
    !
    ¿Qué necesitan?

    View full-size slide

  6. Investigación hoy en día:
    Hacer algo Acumular
    datos
    Manipular
    datos
    Interpretar
    resultados

    View full-size slide

  7. Teorema:
    Independientemente de la disciplina científica,

    View full-size slide

  8. Teorema:
    Independientemente de la disciplina científica,
    sin importar el campo de investigación,

    View full-size slide

  9. Teorema:
    Independientemente de la disciplina científica,
    sin importar el campo de investigación,
    (casi) todo proyecto de investigación usa código.

    View full-size slide

  10. Ruby
    Lento
    Escasez de librerías científicas

    View full-size slide

  11. Ruby
    Lento
    Escasez de librerías científicas
    Poco uso en entorno académico

    View full-size slide

  12. Ruby
    Lento
    Escasez de librerías científicas
    => No es válido para usos científicos, ¿no?
    Poco uso en entorno académico

    View full-size slide

  13. Código de un proyecto
    de investigación (P.I.)

    View full-size slide

  14. Algoritmos, simulaciones, ajustes a modelos, cálculos...
    !
    R, interfaces, automatización, gráficas, formato de datos...
    Código de un P.I.
    ¿QUÉ ES?

    View full-size slide

  15. Espectro MUY amplio de problemas
    Código de un P.I.
    ¿QUÉ ES?
    En la mayoría de los casos:
    La velocidad no importa

    View full-size slide

  16. No programadores
    Código de un P.I.
    ¿QUIÉN?
    Experimentados como para modificar otra solución
    Necesidad de ayuda

    View full-size slide

  17. ¿Qué ayuda reciben?

    View full-size slide

  18. Python
    SciPy, NumPy, Opción nº 1

    View full-size slide

  19. Java
    Muchas librerías, fácil de encontrar

    View full-size slide

  20. ¿Cómo podemos ayudar?

    View full-size slide

  21. Ruby
    Lenguaje de propósito general
    Aumenta la felicidad de los programadores
    Sintaxis bonita y potente

    View full-size slide

  22. Ruby Científicos
    Lenguaje de propósito general
    Aumenta la felicidad
    Sintaxis bonita y potente
    No programadores
    Experiencia modificando
    soluciones existentes
    Espectro amplio de problemas

    View full-size slide

  23. Ruby
    Lento
    Escasez de librerías científicas
    Poco uso en entorno académico

    View full-size slide

  24. Ruby
    Escasez de librerías científicas
    Poco uso en entorno académico
    La velocidad no importa
    Lento

    View full-size slide

  25. Ruby
    Lento
    Escasez de librerías científicas
    Poco uso en entorno académico
    La velocidad no importa
    ¡Aquí hay trabajo!

    View full-size slide

  26. SciRuby
    Goal: SciPy/NumPy for Ruby: SciRuby/NMatrix
    pre-alpha/alpha
    Desarrollo activo
    SciRuby.com github.com/SciRuby/sciruby
    Ayuda

    View full-size slide

  27. Plotting:
    Rubyvis (old, Protovis)
    plotRB (new, D3)
    IPython notebooks
    Entorno integrado:
    ¿dónde ayudar?
    Aprendizaje y difusión

    View full-size slide

  28. Empujemos Ruby al
    mundo académico
    Objetivos:
    - Que los investigadores conozcan y usen Ruby
    - Crear un ecosistema de ruby gems científicas

    View full-size slide

  29. Empujemos Ruby al
    mundo académico
    Objetivos:
    - Que los investigadores conozcan y usen Ruby
    - Crear un ecosistema de gemas científicas

    View full-size slide

  30. Participemos

    View full-size slide

  31. ¡Acción Directa!

    View full-size slide

  32. ¡Acción Directa!
    1. Elige una disciplina que te guste

    View full-size slide

  33. ¡Acción Directa!
    1. Elige una disciplina que te guste
    2. Localiza el dpto. de universidad más cercano

    View full-size slide

  34. ¡Acción Directa!
    1. Elige una disciplina que te guste
    2. Localiza el dpto. de universidad más cercano
    3. Ofrece ayuda y código

    View full-size slide

  35. OpenScience
    Ayudas a resolver otros problemas
    acceso
    verificación
    colaboración
    reproducibilidad

    View full-size slide

  36. ¿Por qué?
    ¿qué ganas tú en todo esto?

    View full-size slide

  37. ¿Por qué?
    Más usos de Ruby => Mejor Ruby

    View full-size slide

  38. ¿Por qué?
    Las mismas motivaciones que justifican
    contribuir a proyectos OpenSource

    View full-size slide

  39. ¿Por qué?
    Ayudarás a la Ciencia

    View full-size slide

  40. ¿Por qué?
    Ayudarás a una mejor Ciencia

    View full-size slide

  41. ¿Por qué?
    Harás Ciencia

    View full-size slide

  42. ¿Por qué?
    Las recompensas en OSS están bien,
    las recompensas por ayudar a la ciencia MOLAN

    View full-size slide

  43. ¿Por qué?
    Aprendes sobre temas y problemas interesantes

    View full-size slide

  44. ¿Por qué?
    Fácil
    resultado/esfuerzo

    View full-size slide

  45. ¿Por qué?
    http://xkcd.com/664/

    View full-size slide

  46. 2 Comunidades:
    Ruby & Científica
    Compartir información es la norma
    Apertura es un valor
    Sistemas basados en reputación
    Receptivas y dispuestas a ayudar

    View full-size slide

  47. ¿Podemos hacer de Ruby el
    lenguaje de programación
    de la Ciencia?

    View full-size slide

  48. Probablemente No
    ¿Quizá?
    ¿Podemos hacer de Ruby el
    lenguaje de programación
    de la Ciencia?

    View full-size slide

  49. ¿Podemos hacer de Ruby el
    lenguaje de programación
    de la Ciencia?
    Probablemente No
    ¿Quizá?
    ¿Qué más da?

    View full-size slide

  50. ¡Hagamos de Ruby
    el lenguaje de
    programación favorito
    de los científicos!

    View full-size slide

  51. ¡Gracias!
    Juanjo Bazán @xuanxu

    View full-size slide

  52. Introducing:
    AlphaRB.com

    View full-size slide

  53. AlphaRB.com
    @ResearchBase

    View full-size slide

  54. ¡Gracias II!
    Juanjo Bazán @xuanxu

    View full-size slide

  55. ¿Preguntas?
    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