For example, libSVM already exists as such an implementation. Using LAPACK or something like that for NNMF and writing an easy-to-use hook for Ruby would make more sense than doing it in Ruby. I just don't get the urge to rewrite code in another language without fundamentally improving the situation (obviously 'improvement' is subjective, but I mean here 'make it go faster').
Are there really a ton of sites that are so heavily invested in Ruby that they fail to see its shortcomings in this respect? (As in, it's slow for many types of operations... that's why most scientific libraries are written in C++ or Fortran and then interfaced to a more flexible language or languages) NumPy exists, for example, because Python sucks at manipulating matrices.
I guess I've been an academic for too long at this point, but it seems a little sad to do this unless someone is paying you for the tedium. YMMV.