Live data from Hacker News

SciRuby

sciruby.com

31–40 of 63 posts

Re: SciRuby

#31

Looks good. I'm a big fan of narray to get decent performance for array operations, interesting to see how the rewrite of that will perform. Narray is pretty damn close to realtime compared to native ruby implementations.

realtime what? Realtime like C? Realtime like ATLAS or MKL?

Re: SciRuby

#32
post #25

This is a sincere question, if you're doing science, why would you want to use ruby over python?

My answer to this question is transparency. At my company Brighter Planet we write all of our scientific/methodological code in Ruby so that people with basic technical skill can understand what's going on. The ability to create expressive DSLs is really crucial.

I have a similar answer - I'm a data analyst at a company full of rubyists. I can (and do) use R for most of my analyses, but there's a cost in transparency -- I can't realistically ask someone to review my R code when they don't know the language, and the bus factor is high if anything I write in R is at all important.

That's why I'm trying to use Ruby where possible, even at the cost of a small productivity hit. The benefits of others being able to read my code far outweigh the few extra minutes it takes for me to do something (and in many cases, the sheer brevity of Ruby as a language means it's faster, simply because it's less typing).

I'd love to see SciRuby become a more useful project, and I'd love to contribute. Unfortunately, they don't make it especially easy to get involved -- the mailing list points people to the roadmap, but it's not at the level of detail where someone could jump in (and the component gems don't seem much better), so it's a bit hard to know where help would actually be useful.

Re: SciRuby

#33
post #31

Looks good. I'm a big fan of narray to get decent performance for array operations, interesting to see how the rewrite of that will perform. Narray is pretty damn close to realtime compared to native ruby implementations.

realtime what? Realtime like C? Realtime like ATLAS or MKL?

realtime like it's fast fortran matrix stuff. compared to slow-as-molasses ruby native Array#mean (which has to be implemented in ruby).

Re: SciRuby

#34
post #5

I'm glad to see this project is coming back. I'm in the middle of writing a Stats library for Ruby[0]. Maybe we can join forces? [0] https://github.com/davejacobs/stats

I scanned your project and it looks great. This is one of the major things we are trying to accomplish with SciRuby - simplified access to things like GSL for basic/essential science and stats. Seems like you and Claudio Bustos should get together (Claudio is working on distribution[0] and is very involved in sciruby). We should join forces.

[0] https://github.com/clbustos/distribution

Re: SciRuby

#35
post #26

I noticed this is licensed as GPLv3 as opposed to a BSD license for SciPy. Isn't this going to be a huge barrier to adoption, or am I missing something?

Could you go into more detail? Since we haven't released yet, we might still switch. But I haven't heard a lot of compelling reasons for doing BSD instead.

Re: SciRuby

#36

Earlier quoted context omitted.

My answer to this question is transparency. At my company Brighter Planet we write all of our scientific/methodological code in Ruby so that people with basic technical skill can understand what's going on. The ability to create expressive DSLs is really crucial.

I have a similar answer - I'm a data analyst at a company full of rubyists. I can (and do) use R for most of my analyses, but there's a cost in transparency -- I can't realistically ask someone to review my R code when they don't know the language, and the bus factor is high if anything I write in R is at all important. That's why I'm trying to use Ruby where possible, even at the cost of a small productivity hit. Th…

Noah -- I'd love to get your thoughts on how to make it easier to include people in our project. Would you be willing to send me an email? john dot woods at marcottelab dot org.

Re: SciRuby

#37
post #26

I noticed this is licensed as GPLv3 as opposed to a BSD license for SciPy. Isn't this going to be a huge barrier to adoption, or am I missing something?

Could you go into more detail? Since we haven't released yet, we might still switch. But I haven't heard a lot of compelling reasons for doing BSD instead.

Sure. My understanding is that you can't include GPL'd code in a project that is not itself licensed under the GPL. This may be an oversimplification, since you could potentially use the tools without actually including them in a project, but this is sort of a legal gray area that I don't fully understand (e.g. what constitutes inclusion of GPL'd code in a project?)

Re: SciRuby

#38
post #26

I noticed this is licensed as GPLv3 as opposed to a BSD license for SciPy. Isn't this going to be a huge barrier to adoption, or am I missing something?

Could you go into more detail? Since we haven't released yet, we might still switch. But I haven't heard a lot of compelling reasons for doing BSD instead.

As a matter of course, MIT and BSD licenses are non-threatening to businesses and organizations who do not necessarily have software as their primary focus.

Non-software shops who may be interested in using a piece of software may balk at using GPL3'd software because they don't know what the legal ramifications are of failing to comply, or the knowledge/wherewithal/processes to do release the software that they're using.

Talking to people about BSD/MIT is really easy: "You can do whatever you want with it as long as you retain the license and copyright".

At the risk of getting into a FOSS license debate, i'd like to think that FOSS contributors do it out of a motivation other than license restriction (and hell a lot of people still rip libs off, even when they are GPL'd!).

Re: SciRuby

#39

Earlier quoted context omitted.

Could you go into more detail? Since we haven't released yet, we might still switch. But I haven't heard a lot of compelling reasons for doing BSD instead.

As a matter of course, MIT and BSD licenses are non-threatening to businesses and organizations who do not necessarily have software as their primary focus. Non-software shops who may be interested in using a piece of software may balk at using GPL3'd software because they don't know what the legal ramifications are of failing to comply, or the knowledge/wherewithal/processes to do release the software that they're u…

I am sure that most FOSS contributors do it out of a motivation other than license restriction, but I am also certain that many potential FOSS contributors work for organizations that may have questions about contributing to a GPL project (not particularly valid concerns/questions, but the less you have to deal with the legal department the easier it is to get sign-off on contributing to a project...) When you are talking about semi-specialized software like numerical analysis tools it is quite possible that there is a latent pool of potential contributors in industry who would find it easier to contribute to a BSD/MIT project than a GPL one.

It is also the case that this is basically a library, and many who would have no problems using/contributing on a GPL application will balk when it comes to a library or framework.

Re: SciRuby

#40

I hope they don't set up SciPy as the project to emulate and improve upon. Deep knowledge of R, Fortran, and Matlab would better inform this project of what scientists need. SciPy is great, but it's clearly best for programmers that have a slight scientific bent and can't stomach learning the existing scientific tools (which are admittedly a bit difficult to combine with modern software engineering). There are some g…

Actually, I have experience with both SciPy/Numpy and Matlab and I must say, I vastly prefer Python.

I want to interoperate with C code without disgust. I actually want to write my computation kernel in C, inline with my general high-level code. Numpy does that and I LOVE it for that.

I want to be able to use libraries that are not provided by Mathworks. Serious GUI programming using PyQt, for example. Or, say, a decent XML parser. Or maybe some JASON importing.

I want to be able to run my scientific programs without having to wait for a huge Matlab installation to start up and I want to be able to use my terminal properly.

I want to not have to run X11 on OSX for christ sake. (Though apparently, this has been alleviated to some extent in the latest version. Anyone know first hand?)

Oh, and I don't want to fork over 3k bucks just to write some simple signal processing stuff. (And I don't want to pay upgrade fees every year.)

But then, I don't have an infinite budget, I am mostly interested in signal processing for audio signals and I certainly have more of a programming background than a science background (though my formal education would have me believe otherwise). Also, I am not much interested in Simulink and my latest version of Matlab is of 2007 vintage.

Post reply on HN