Increasing use of scientific libraries for Ruby

Hello there!

I've been attending quite a few meetups and it seems like most individuals
doing research or things like data science or machine learning are using
Python libraries.

What is the driving factor for that? Is it that Python has more scientific
libraries? Is Ruby just too slow? Is it because a user has to install Ruby?

The reason I ask is because I find that it's easier for me to manipulate
data with Ruby. The Ruby syntax feels more natural to me, and I feel it's
easier to work with enumerables with Ruby. So it comes to me a bit of a
surprise that more users of dynamic languages don't consider Ruby for
things.

If the lack of libraries like Pandas <http://pandas.pydata.org/> or Numpy
<http://www.numpy.org/> are the reason, perhaps we can talk about
developing our own.

I look forward to hearing from everyone.

Cheers,
h

What is the driving factor for that? Is it that Python has more

scientific libraries? Is Ruby just too slow? Is it because a user has to
install Ruby?

I think the main reason is that Python has a ton of scientific libraries
and visualization libraries to go along with that. And these have been
available for quite a while now. Nothing similar has been available in
other languages, and has led to the tremendous popularity of Python for
scientific analysis. It will be hard to break this legacy - it is not easy
to get people to switch their workflow

saji

Saji N Hameed,
Environmental Informatics,
University of Aizu, Tsuruga, Ikki-machi,
Aizuwakamatsu-shi, Fukushima 965-8580,
Japan

Tel: +81242 37-2736
Fax:+81242 37-2760
email: saji@u-aizu.ac.jp
url: http://enformtk.u-aizu.ac.jp
bib: Web of Science
code: sajinh (Saji Hameed) · GitHub

···

On Wed, Dec 2, 2015 at 11:42 AM, Hector Rios <that.hector@gmail.com> wrote:

Hello there!

I've been attending quite a few meetups and it seems like most individuals
doing research or things like data science or machine learning are using
Python libraries.

What is the driving factor for that? Is it that Python has more scientific
libraries? Is Ruby just too slow? Is it because a user has to install Ruby?

The reason I ask is because I find that it's easier for me to manipulate
data with Ruby. The Ruby syntax feels more natural to me, and I feel it's
easier to work with enumerables with Ruby. So it comes to me a bit of a
surprise that more users of dynamic languages don't consider Ruby for
things.

If the lack of libraries like Pandas <http://pandas.pydata.org/&gt; or Numpy
<http://www.numpy.org/&gt; are the reason, perhaps we can talk about
developing our own.

I look forward to hearing from everyone.

Cheers,
h

Hello there!

...

If the lack of libraries like Pandas <http://pandas.pydata.org/&gt; or Numpy
<http://www.numpy.org/&gt; are the reason, perhaps we can talk about
developing our own.

Ruby has narray, which AFAIK represents the numpy basic functionality. The GSL (gnu scientific library) is
available, too. Together, they are pretty powerful. I think, that something like matplotlib is still missing,
but you can use it via the rubypython bridge.

IMO python had/has large support in scientific communities in Europe and north America - that's where many of
the libraries come from. It's self-energizing: Everybody around my is using it - so do I. I guess, this holds
true for companies: They choose the most popular scripting language.
People may have already decided to go for python, when ruby became more popular.

cheers,
ralf

···

On 12/02/2015 03:42 AM, Hector Rios wrote:

Currently, there is SciRuby <http://sciruby.com/&gt; initiative. And as a part
of it, there are nmatrix (Numpy-alike) and DaRu (Pandas-alike) things, as
well as several other things. Also, there is IRuby (IPython-alike, using
IPython-s engine)
All of it is currently is under active development, receives grants and
students and so on.

Though, it seems for me that appreciation of Ruby as suitable language for
scientific computations requires more effort (and maybe more luck) than we
have now.

I, for one, also concerned about application of Ruby in those areas. For
me, Ruby is much more expressive and consistent language than competing
ones, and its acceptance for experiments and studies will be useful both
for Ruby community and scientific community.

Trying to change things that way, I was inspired by Wolfram Language
<https://www.wolfram.com/language/&gt;&#39;s approach "every human knowledge
accessible from your language", and currently working on set of gems
proxying various open data sources into Ruby for use as "native objects".

···

2015-12-02 4:42 GMT+02:00 Hector Rios <that.hector@gmail.com>:

Hello there!

I've been attending quite a few meetups and it seems like most individuals
doing research or things like data science or machine learning are using
Python libraries.

What is the driving factor for that? Is it that Python has more scientific
libraries? Is Ruby just too slow? Is it because a user has to install Ruby?

The reason I ask is because I find that it's easier for me to manipulate
data with Ruby. The Ruby syntax feels more natural to me, and I feel it's
easier to work with enumerables with Ruby. So it comes to me a bit of a
surprise that more users of dynamic languages don't consider Ruby for
things.

If the lack of libraries like Pandas <http://pandas.pydata.org/&gt; or Numpy
<http://www.numpy.org/&gt; are the reason, perhaps we can talk about
developing our own.

I look forward to hearing from everyone.

Cheers,
h

I think that porting Google's TensorFlow would be a grand project! If
anyone is interested in this, please feel free and respond to this thread.

I would like to see what are the influences behind Ruby's adoption levels.
For example, since Python is included in every Linux/Unix distribution, is
that the reason more people use Python? If so, perhaps it might be worth
trying to get Ruby into some core Linux distributions.

Looking forward to some feedback.

Cheers,
h

···

On Tue, Dec 1, 2015 at 11:30 PM, Umang Raghuvanshi <u@umangis.me> wrote:

I believe that ruby and python are pretty similar (Ruby is better, none of
that indentation crap), and as Hector says, porting those libraries would
be awesome. A good place to start would be porting Google's TensorFlow.
Anyone up for that?

Criticism is welcome.

Cheers,
Umang.

On Dec 2, 2015, at 8:20 AM, Saji Hameed <saji@u-aizu.ac.jp> wrote:

> What is the driving factor for that? Is it that Python has more
scientific libraries? Is Ruby just too slow? Is it because a user has to
install Ruby?

I think the main reason is that Python has a ton of scientific libraries
and visualization libraries to go along with that. And these have been
available for quite a while now. Nothing similar has been available in
other languages, and has led to the tremendous popularity of Python for
scientific analysis. It will be hard to break this legacy - it is not easy
to get people to switch their workflow

saji

Saji N Hameed,
Environmental Informatics,
University of Aizu, Tsuruga, Ikki-machi,
Aizuwakamatsu-shi, Fukushima 965-8580,
Japan

Tel: +81242 37-2736
Fax:+81242 37-2760
email: saji@u-aizu.ac.jp
url: http://enformtk.u-aizu.ac.jp
bib: Web of Science
code: sajinh (Saji Hameed) · GitHub

On Wed, Dec 2, 2015 at 11:42 AM, Hector Rios <that.hector@gmail.com> >> wrote:

Hello there!

I've been attending quite a few meetups and it seems like most
individuals doing research or things like data science or machine learning
are using Python libraries.

What is the driving factor for that? Is it that Python has more
scientific libraries? Is Ruby just too slow? Is it because a user has to
install Ruby?

The reason I ask is because I find that it's easier for me to manipulate
data with Ruby. The Ruby syntax feels more natural to me, and I feel it's
easier to work with enumerables with Ruby. So it comes to me a bit of a
surprise that more users of dynamic languages don't consider Ruby for
things.

If the lack of libraries like Pandas <http://pandas.pydata.org/&gt; or
Numpy <http://www.numpy.org/&gt; are the reason, perhaps we can talk about
developing our own.

I look forward to hearing from everyone.

Cheers,
h

I believe that ruby and python are pretty similar (Ruby is better, none of that indentation crap), and as Hector says, porting those libraries would be awesome. A good place to start would be porting Google's TensorFlow. Anyone up for that?

Criticism is welcome.

Cheers,
Umang.

···

On Dec 2, 2015, 8:20 AM, at 8:20 AM, Saji Hameed <saji@u-aizu.ac.jp> wrote:

What is the driving factor for that? Is it that Python has more

scientific libraries? Is Ruby just too slow? Is it because a user has
to
install Ruby?

I think the main reason is that Python has a ton of scientific
libraries
and visualization libraries to go along with that. And these have been
available for quite a while now. Nothing similar has been available in
other languages, and has led to the tremendous popularity of Python for
scientific analysis. It will be hard to break this legacy - it is not
easy
to get people to switch their workflow

saji

Saji N Hameed,
Environmental Informatics,
University of Aizu, Tsuruga, Ikki-machi,
Aizuwakamatsu-shi, Fukushima 965-8580,
Japan

Tel: +81242 37-2736
Fax:+81242 37-2760
email: saji@u-aizu.ac.jp
url: http://enformtk.u-aizu.ac.jp
bib: Web of Science
code: sajinh (Saji Hameed) · GitHub

On Wed, Dec 2, 2015 at 11:42 AM, Hector Rios <that.hector@gmail.com> >wrote:

Hello there!

I've been attending quite a few meetups and it seems like most

individuals

doing research or things like data science or machine learning are

using

Python libraries.

What is the driving factor for that? Is it that Python has more

scientific

libraries? Is Ruby just too slow? Is it because a user has to install

Ruby?

The reason I ask is because I find that it's easier for me to

manipulate

data with Ruby. The Ruby syntax feels more natural to me, and I feel

it's

easier to work with enumerables with Ruby. So it comes to me a bit of

a

surprise that more users of dynamic languages don't consider Ruby for
things.

If the lack of libraries like Pandas <http://pandas.pydata.org/&gt; or

Numpy

<http://www.numpy.org/&gt; are the reason, perhaps we can talk about
developing our own.

I look forward to hearing from everyone.

Cheers,
h

If you are targeting science, consider FreeBSD. Nobody needs a GUI when it comes to science boxes.

The issue here is, that their OS is shipped minimal, not even with the bash shell. But focus in that community could get some decent exposure.

Also the Raspberry Pi crowd would be nice as well. It’s a great environment for beginners, tinkerers, and science dorks like me. $35 computers are very neat. That whole “Make crowd” can take it far. That introduction would also beckon integration with new company hardware like Sparkfun.

HTH

···

On Dec 2, 2015, at 10:07 AM, Hector Rios <that.hector@gmail.com> wrote:

I would like to see what are the influences behind Ruby's adoption levels. For example, since Python is included in every Linux/Unix distribution, is that the reason more people use Python? If so, perhaps it might be worth trying to get Ruby into some core Linux distributions.

Looking forward to some feedback.

Cheers, Bee

may be of interest

···

On Wed, 2015-12-02 at 16:25 +0100, Ralf Mueller wrote:

On 12/02/2015 03:42 AM, Hector Rios wrote:
> Hello there!
...
> If the lack of libraries like Pandas <http://pandas.pydata.org/&gt; or Numpy
> <http://www.numpy.org/&gt; are the reason, perhaps we can talk about
> developing our own.
>

Ruby has narray, which AFAIK represents the numpy basic functionality. The GSL
(gnu scientific library) is
available, too. Together, they are pretty powerful. I think, that something
like matplotlib is still missing,
but you can use it via the rubypython bridge.

IMO python had/has large support in scientific communities in Europe and north
America - that's where many of
the libraries come from. It's self-energizing: Everybody around my is using it
- so do I. I guess, this holds
true for companies: They choose the most popular scripting language.
People may have already decided to go for python, when ruby became more
popular.

cheers,
ralf

There is a rather long list of linux distros, that support ruby with their package managers. I don't think,
that this level of availability is a problem. If availability is the key, you have to choose PERL. This will
be installed on any unix-like OS.

My experience is, that hardware vendors tend to sell recent hardware with old software. So you have to install
things yourself or call your sys-admin.

I work in climate science, where most of the people use Fortran and shell. Python has become popular in the
40- class of poeple here. One reason is, that you can program python in fortran style - it looks strange, but
that's what people are used to :wink:

ralf

···

On 12/02/2015 04:07 PM, Hector Rios wrote:

I think that porting Google's TensorFlow would be a grand project! If
anyone is interested in this, please feel free and respond to this thread.

I would like to see what are the influences behind Ruby's adoption levels.
For example, since Python is included in every Linux/Unix distribution, is
that the reason more people use Python? If so, perhaps it might be worth
trying to get Ruby into some core Linux distributions.

Looking forward to some feedback.

Hey there!

Regarding Machine Learning and Data Mining with Ruby: I successfully used
the Weka library <http://www.cs.waikato.ac.nz/~ml/weka/&gt; (Java) through the
ruby-band <https://github.com/arrigonialberto86/ruby-band&gt; gem (JRuby) in
the past. Unfortunately, ruby-band had some installation problems in its
current version, is out of date, and seems not to be actively maintained at
the moment. So, I recently started to rewrite, update and improve it as a
weka <https://github.com/paulgoetze/weka-jruby&gt; gem. (will release it
within the next days, I think – feel free to try it!).

For me at least it was and still is way easier to learn about ML etc. by
using Weka with Ruby rather than writing Java to prototype ML approaches or
Clustering workflows.

So I guess it's also a matter of making people aware of that there already
exist some solutions for not only scientific libraries for Ruby but also
wrappers that make it easy to use mature libraries in Ruby.

Cheers
Paul

···

2015-12-02 17:30 GMT+01:00 Victor Shepelev <zverok.offline@gmail.com>:

Currently, there is SciRuby <http://sciruby.com/&gt; initiative. And as a
part of it, there are nmatrix (Numpy-alike) and DaRu (Pandas-alike) things,
as well as several other things. Also, there is IRuby (IPython-alike, using
IPython-s engine)
All of it is currently is under active development, receives grants and
students and so on.

Though, it seems for me that appreciation of Ruby as suitable language for
scientific computations requires more effort (and maybe more luck) than we
have now.

I, for one, also concerned about application of Ruby in those areas. For
me, Ruby is much more expressive and consistent language than competing
ones, and its acceptance for experiments and studies will be useful both
for Ruby community and scientific community.

Trying to change things that way, I was inspired by Wolfram Language
<https://www.wolfram.com/language/&gt;&#39;s approach "every human knowledge
accessible from your language", and currently working on set of gems
proxying various open data sources into Ruby for use as "native objects".

2015-12-02 4:42 GMT+02:00 Hector Rios <that.hector@gmail.com>:

Hello there!

I've been attending quite a few meetups and it seems like most
individuals doing research or things like data science or machine learning
are using Python libraries.

What is the driving factor for that? Is it that Python has more
scientific libraries? Is Ruby just too slow? Is it because a user has to
install Ruby?

The reason I ask is because I find that it's easier for me to manipulate
data with Ruby. The Ruby syntax feels more natural to me, and I feel it's
easier to work with enumerables with Ruby. So it comes to me a bit of a
surprise that more users of dynamic languages don't consider Ruby for
things.

If the lack of libraries like Pandas <http://pandas.pydata.org/&gt; or Numpy
<http://www.numpy.org/&gt; are the reason, perhaps we can talk about
developing our own.

I look forward to hearing from everyone.

Cheers,
h

True. A cheap Dreamhost account, for what it’s worth, comes with Passenger on top of Ruby 1.8.7, which is restrictive. Representing Ruby, I would probably want to make sure they get a script to load something more recent as their default version.

They want accounts, so setting them up with a recent Ruby could help attract that, given Passenger is already installed.

HTH

···

On Dec 2, 2015, at 11:02 AM, Ralf Mueller <ralf.mueller@mpimet.mpg.de> wrote:

My experience is, that hardware vendors tend to sell recent hardware with old software. So you have to install
things yourself or call your sys-admin.

Cheers, Bee

Hi all,

There are some great ideas floating around here. I just wanted to recap a
few of them.

- Bundling Ruby with Linux and FreeBSD.
- Increasing the quality and quantity of scientific libraries in Ruby.
    - For existing libraries, try to contribute to them and increase their
quality.
- Try to port over existing libraries, such as Google's TensorFlow.

Do we think that having some tutorials or guides on studying data would be
helpful to increase exposure?

Cheers,

Cheers,
h

···

On Wed, Dec 2, 2015 at 2:26 PM, Bee.Lists <bee.lists@gmail.com> wrote:

True. A cheap Dreamhost account, for what it’s worth, comes with
Passenger on top of Ruby 1.8.7, which is restrictive. Representing Ruby, I
would probably want to make sure they get a script to load something more
recent as their default version.

They want accounts, so setting them up with a recent Ruby could help
attract that, given Passenger is already installed.

HTH

> On Dec 2, 2015, at 11:02 AM, Ralf Mueller <ralf.mueller@mpimet.mpg.de> > wrote:
>
> My experience is, that hardware vendors tend to sell recent hardware
with old software. So you have to install
> things yourself or call your sys-admin.

Cheers, Bee

I think that porting Google's TensorFlow would be a grand project! If
anyone is interested in this, please feel free and respond to this thread.

I would like to see what are the influences behind Ruby's adoption levels.
For example, since Python is included in every Linux/Unix distribution, is
that the reason more people use Python? If so, perhaps it might be worth
trying to get Ruby into some core Linux distributions.

Looking forward to some feedback.

There is a rather long list of linux distros, that support ruby with their package managers. I don't think,
that this level of availability is a problem. If availability is the key, you have to choose PERL. This will
be installed on any unix-like OS.

My experience is, that hardware vendors tend to sell recent hardware with old software. So you have to install
things yourself or call your sys-admin.

I work in climate science, where most of the people use Fortran and shell. Python has become popular in the
40- class of poeple here. One reason is, that you can program python in fortran style - it looks strange, but
that's what people are used to :wink:

This is a good point.

It's difficult to engineer the success of something as complicated as a programming language. It's difficult to elevate the discussion above some very general requirements like:

- Functionality
- Access/ Availability
- Performance
- Usability
- ...

Measured in terms of the number of users, accumulation would seem to be the key strategy.

A new user has to learn the language, which takes time and effort. S/he needs a good reason to do so. (Rails, for example. People are probably not going to learn the language because of a new way of iterating over a collection of objects. Although they may learn to like the new syntax in time.) Having learned the language, it's critical for the success of the language that the user keeps using it. If it's just an arbitrary choice to use Python, Ruby or something else than it's really about familiarity (and to some extent consistency and quality.)

In the end, I think it's a long-term trend. Ruby libraries are also critical but it's the qualitiy of the libraries (or their ruby bindings), over a period of time, which are going to prove to be ultimately important. If people, who make the effort to learn Ruby can do what they need to do in Ruby, then Ruby will continue to grow.

···

On 02.12.2015 17:02, Ralf Mueller wrote:

On 12/02/2015 04:07 PM, Hector Rios wrote:

>
> ralf
>

hey hector,

Every linux distro I have put on any of my computers already had ruby
installed on them.
Even my OSX came with ruby installed.

Don't know about FreeBSD at all, I haven't used BSD since 1982, when it was
on DEC Ultrix.

jerry

···

--
Extra Ham Operator: K7AZJ
Registered Linux User: 275424
Raspberry Pi and Arduino developer

*The most exciting phrase to hear in science - the one that heralds new
discoveries - is not "Eureka!" but "That's funny...".*- Isaac. Asimov

*I*
*f you give someone a program, you will frustrate them for a day; if you
teach them how to program, you will frustrate them for a lifetime. *-
Anonymous

*If writing good code requires very little comments, then writing really
excellent code requires no comments at all!*- Ken Thompson

On Wed, Dec 9, 2015 at 1:52 PM, Hector Rios <that.hector@gmail.com> wrote:

Hi all,

There are some great ideas floating around here. I just wanted to recap a
few of them.

- Bundling Ruby with Linux and FreeBSD.
- Increasing the quality and quantity of scientific libraries in Ruby.
    - For existing libraries, try to contribute to them and increase their
quality.
- Try to port over existing libraries, such as Google's TensorFlow.

Do we think that having some tutorials or guides on studying data would be
helpful to increase exposure?

Cheers,

Cheers,
h

On Wed, Dec 2, 2015 at 2:26 PM, Bee.Lists <bee.lists@gmail.com> wrote:

True. A cheap Dreamhost account, for what it’s worth, comes with
Passenger on top of Ruby 1.8.7, which is restrictive. Representing Ruby, I
would probably want to make sure they get a script to load something more
recent as their default version.

They want accounts, so setting them up with a recent Ruby could help
attract that, given Passenger is already installed.

HTH

> On Dec 2, 2015, at 11:02 AM, Ralf Mueller <ralf.mueller@mpimet.mpg.de> >> wrote:
>
> My experience is, that hardware vendors tend to sell recent hardware
with old software. So you have to install
> things yourself or call your sys-admin.

Cheers, Bee

Yes I think some tutorials guides and books are very important. Especially books,Python has a lot of them in many topics.

···

On Dec 9, 2015, at 10:52 PM, Hector Rios <that.hector@gmail.com> wrote:

Hi all,

There are some great ideas floating around here. I just wanted to recap a few of them.

- Bundling Ruby with Linux and FreeBSD.
- Increasing the quality and quantity of scientific libraries in Ruby.
    - For existing libraries, try to contribute to them and increase their quality.
- Try to port over existing libraries, such as Google's TensorFlow.

Do we think that having some tutorials or guides on studying data would be helpful to increase exposure?

Cheers,

Cheers,
h

On Wed, Dec 2, 2015 at 2:26 PM, Bee.Lists <bee.lists@gmail.com> wrote:
True. A cheap Dreamhost account, for what it’s worth, comes with Passenger on top of Ruby 1.8.7, which is restrictive. Representing Ruby, I would probably want to make sure they get a script to load something more recent as their default version.

They want accounts, so setting them up with a recent Ruby could help attract that, given Passenger is already installed.

HTH

> On Dec 2, 2015, at 11:02 AM, Ralf Mueller <ralf.mueller@mpimet.mpg.de> wrote:
>
> My experience is, that hardware vendors tend to sell recent hardware with old software. So you have to install
> things yourself or call your sys-admin.

Cheers, Bee

there are ruby ports for freebsd and openbsd

ralf

···

On 12/09/2015 09:56 PM, Jerry Davis wrote:

hey hector,

Every linux distro I have put on any of my computers already had ruby
installed on them.
Even my OSX came with ruby installed.

Don't know about FreeBSD at all, I haven't used BSD since 1982, when it was
on DEC Ultrix.

Hector Rios <that.hector@gmail.com> writes:

- Bundling Ruby with Linux and FreeBSD.

Please name Linux distributions that do not have Ruby in their
repositories.

Greetings
Marvin

···

--
#!/sbin/quintus
Blog: http://www.guelkerdev.de

GnuPG key: F1D8799FBCC8BC4F

All,

I am convinced that I am wrong about Linux distributions without Linux. My
apologies!

That said, I would also be interested in increasing the general use of Ruby
as well as fostering more contributions. One thing I noticed about the
Python community is that they have MANY different mailing groups. There
seems to be a very easy way to get involved in that community. This is just
an observation.

I firmly believe that by increasing relevant guides and tutorials would be
a great way to show people the beauty of Ruby.

I look forward to hearing critiques!

Cheers,
h

···

On Thu, Dec 10, 2015 at 3:39 AM, Quintus <quintus@quintilianus.eu> wrote:

Hector Rios <that.hector@gmail.com> writes:
> - Bundling Ruby with Linux and FreeBSD.

Please name Linux distributions that do not have Ruby in their
repositories.

Greetings
Marvin

--
#!/sbin/quintus
Blog: http://www.guelkerdev.de

GnuPG key: F1D8799FBCC8BC4F