SlideShare una empresa de Scribd logo
1 de 66
Descargar para leer sin conexión
Ruby y Ciencia

Juanjo Bazán @xuanxu

madrid-rb nov ‘13
¿Ruby y Ciencia?
¿Ruby y Ciencia?
RUBY SE UTILIZA POCO EN
PROYECTOS DE INVESTIGACIÓN
¿ Ruby

∩ Ciencia ≃ ∅ ?

¿No

lid
vá
es

pa
o

os
us
ra

ntí
c ie

é?
qu
or
¿P

os?
fic
¿Puede Ruby cubrir las necesidades de los científicos?
!

¿Qué necesitan?
Investigación hoy en día:
Hacer algo

Acumular
datos

Interpretar
resultados

Manipular
datos
Teorema:

Independientemente de la disciplina científica,
Teorema:

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

Independientemente de la disciplina científica,
sin importar el campo de investigación,
(casi) todo proyecto de investigación usa código.
Ruby
Ruby
Lento
Ruby
Lento
Escasez de librerías científicas
Ruby
Lento
Escasez de librerías científicas
Poco uso en entorno académico
Ruby
Lento
Escasez de librerías científicas
Poco uso en entorno académico
=> No es válido para usos científicos, ¿no?
Código de un proyecto
de investigación (P.I.)
Código de un P.I.
¿QUÉ ES?

Algoritmos, simulaciones, ajustes a modelos, cálculos...
!

R, interfaces, automatización, gráficas, formato de datos...
Código de un P.I.
¿QUÉ ES?

Espectro MUY amplio de problemas
En la mayoría de los casos:
La velocidad no importa
Código de un P.I.
¿QUIÉN?
No programadores
Experimentados como para modificar otra solución
Necesidad de ayuda
¿Qué ayuda reciben?
Python
SciPy, NumPy, Opción nº 1
Java
Muchas librerías, fácil de encontrar
Excel
O_o!
¿Cómo podemos ayudar?
Ruby
Ruby
Lenguaje de propósito general
Aumenta la felicidad de los programadores
Sintaxis bonita y potente
Ruby

Científicos

Lenguaje de propósito general

No programadores

Aumenta la felicidad

Experiencia modificando
soluciones existentes

Sintaxis bonita y potente

Espectro amplio de problemas
Ruby
Lento
Escasez de librerías científicas
Poco uso en entorno académico
Ruby
Lento

La velocidad no importa

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

La velocidad no importa

Escasez de librerías científicas
Poco uso en entorno académico
¡Aquí hay trabajo!
SciRuby
SciRuby.com github.com/SciRuby/sciruby
Goal: SciPy/NumPy for Ruby: SciRuby/NMatrix
pre-alpha/alpha
Desarrollo activo
Ayuda
ar?
yud
de a
dón
¿

Plotting:

Rubyvis (old, Protovis)
plotRB (new, D3)

Entorno integrado:
IPython notebooks

Aprendizaje y difusión
Empujemos Ruby al
mundo académico
Objetivos:
- Que los investigadores conozcan y usen Ruby
- Crear un ecosistema de ruby gems científicas
Empujemos Ruby al
mundo académico
Objetivos:
- Que los investigadores conozcan y usen Ruby
- Crear un ecosistema de gemas científicas
Participemos
¡Acción Directa!
¡Acción Directa!
1. Elige una disciplina que te guste
¡Acción Directa!
1. Elige una disciplina que te guste
2. Localiza el dpto. de universidad más cercano
¡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
OpenScience
Ayudas a resolver otros problemas
acceso
verificación
colaboración
reproducibilidad
¿Por qué?
¿qué ganas tú en todo esto?
¿Por qué?
Más usos de Ruby => Mejor Ruby
¿Por qué?
Las mismas motivaciones que justifican
contribuir a proyectos OpenSource
¿Por qué?
Ayudarás a la Ciencia
¿Por qué?
Ayudarás a una mejor Ciencia
¿Por qué?
Harás Ciencia
¿Por qué?
Las recompensas en OSS están bien,
las recompensas por ayudar a la ciencia MOLAN
¿Por qué?
Aprendes sobre temas y problemas interesantes
¿Por qué?
Fácil
resultado/esfuerzo
¿Por qué?

http://xkcd.com/664/
2 Comunidades:
Ruby & Científica
Apertura es un valor
Compartir información es la norma
Receptivas y dispuestas a ayudar
Sistemas basados en reputación
¿Podemos hacer de Ruby el
lenguaje de programación
de la Ciencia?
¿Podemos hacer de Ruby el
lenguaje de programación
de la Ciencia?
Probablemente No
¿Quizá?
¿Podemos hacer de Ruby el
lenguaje de programación
de la Ciencia?
a?
sd
má
é

Probablemente No

Qu
¿

¿Quizá?
¡Hagamos de Ruby
el lenguaje de
programación favorito
de los científicos!
¡Gracias!

Juanjo Bazán @xuanxu
Introducing:
AlphaRB.com
AlphaRB.com
@ResearchBase
¡Gracias II!

Juanjo Bazán @xuanxu
Juanjo Bazán @xuanxu hello@juanjobazan.com

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

Más contenido relacionado

Similar a Ruby & Ciencia

Introduccion 1º
Introduccion 1ºIntroduccion 1º
Introduccion 1º
aimorales
 
Informacion y biblioteca
Informacion y bibliotecaInformacion y biblioteca
Informacion y biblioteca
Biblioteca UPPR
 
Programación del curso inf212 - POO
Programación del curso inf212 - POOProgramación del curso inf212 - POO
Programación del curso inf212 - POO
Diego Santimateo
 
Collaborative Ontology Building System
Collaborative Ontology Building SystemCollaborative Ontology Building System
Collaborative Ontology Building System
Joseba Abaitua
 

Similar a Ruby & Ciencia (20)

Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Uso bibliotecadigitalmarcoteorico
Uso bibliotecadigitalmarcoteoricoUso bibliotecadigitalmarcoteorico
Uso bibliotecadigitalmarcoteorico
 
Bdoo
BdooBdoo
Bdoo
 
Introduccion 1º
Introduccion 1ºIntroduccion 1º
Introduccion 1º
 
Programación orientada a la semántica
Programación orientada a la semántica  Programación orientada a la semántica
Programación orientada a la semántica
 
Reproducible Research
Reproducible ResearchReproducible Research
Reproducible Research
 
3ª ed. Cursos virtuales y herramientas antiplagio
3ª ed. Cursos virtuales y herramientas antiplagio3ª ed. Cursos virtuales y herramientas antiplagio
3ª ed. Cursos virtuales y herramientas antiplagio
 
Informacion y biblioteca
Informacion y bibliotecaInformacion y biblioteca
Informacion y biblioteca
 
2-presentacion.pdf
2-presentacion.pdf2-presentacion.pdf
2-presentacion.pdf
 
Compartir el conocimiento en su desarrollo
Compartir el conocimiento en su desarrolloCompartir el conocimiento en su desarrollo
Compartir el conocimiento en su desarrollo
 
Programación del curso inf212 - POO
Programación del curso inf212 - POOProgramación del curso inf212 - POO
Programación del curso inf212 - POO
 
Seminario deustotech 13marzo-2013
Seminario deustotech 13marzo-2013Seminario deustotech 13marzo-2013
Seminario deustotech 13marzo-2013
 
Collaborative Ontology Building System
Collaborative Ontology Building SystemCollaborative Ontology Building System
Collaborative Ontology Building System
 
Pyladies Workshop (Spanish)
Pyladies Workshop (Spanish)Pyladies Workshop (Spanish)
Pyladies Workshop (Spanish)
 
Linked data con R
Linked data con RLinked data con R
Linked data con R
 
Socialización rica
Socialización ricaSocialización rica
Socialización rica
 
Programar en primaria: ABP con Scratch
Programar en primaria: ABP con ScratchProgramar en primaria: ABP con Scratch
Programar en primaria: ABP con Scratch
 
Del data al opendata
Del data al opendataDel data al opendata
Del data al opendata
 
The big ball of mud!
The big ball of mud!The big ball of mud!
The big ball of mud!
 
The big ball of mud | 4Sessions Feb17
The big ball of mud | 4Sessions Feb17The big ball of mud | 4Sessions Feb17
The big ball of mud | 4Sessions Feb17
 

Más de Juanjo Bazán

Más de Juanjo Bazán (6)

How to manage an open source project
How to manage an open source projectHow to manage an open source project
How to manage an open source project
 
Space software
Space softwareSpace software
Space software
 
Ruby and Science
Ruby and ScienceRuby and Science
Ruby and Science
 
Nimbus
NimbusNimbus
Nimbus
 
Contribuir a Rails
Contribuir a RailsContribuir a Rails
Contribuir a Rails
 
Rails para programadores Java
Rails para programadores JavaRails para programadores Java
Rails para programadores Java
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Ruby & Ciencia