

This guy is translating "Programming Collective Intelligence" from Python to Ruby - pius
http://www.railsonwave.com/railsonwave/2008/1/15/programming-collective-intelligence

======
apathy
Why is there so much interest in reinventing the wheel around here? Many if
not most of the examples would be best served by writing a flexible C/C++
library implementation and SWIGging or otherwise hooking them into
(Ruby,Lisp,Perl,...)

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.

~~~
pius
I'm assuming he's doing it primarily for educational purposes.

Even if he weren't, there's nothing wrong with porting libraries to Ruby.
There's always an impedance mismatch when you SWIG or otherwise FFI a library
into a native application.

Besides, let's be honest -- Python ain't _that_ much faster than Ruby,
especially with Rubinius et al on the horizon.

~~~
apathy
is there a Ruby version of NumPy?

------
mov
And this guy is translating to Common Lisp:

[1] [http://i-need-closures.blogspot.com/2007/09/programming-
coll...](http://i-need-closures.blogspot.com/2007/09/programming-collective-
intelligence-in.html)

[2] [http://i-need-closures.blogspot.com/2007/09/programming-
coll...](http://i-need-closures.blogspot.com/2007/09/programming-collective-
intelligence-in_27.html)

[3] [http://i-need-closures.blogspot.com/2007/10/programming-
coll...](http://i-need-closures.blogspot.com/2007/10/programming-collective-
intelligence.html)

------
imsteve
On to this topic:

Am I the only one who thinks that this field still seems so incredibly
privative? Online recommendation systems particularly... they suck!

But more importantly, even if someone developed a "perfect" recommendation
system, what would that be worth? For example, it has been said that symmetric
encryption is good enough today that even if the perfect (could only be beaten
via bruit force) algorithm was created , nothing would change.

Are we facing the same problem in this field? Or are those implementing these
systems today just neglecting to take the field to the next level?

------
plinkplonk
what do you think of the book itself (Programming Collective Intelligence)?

It might be just me but I found the book fairly useless. All the author does
is take some ultra basic AI/Machine Learning algorithms and build some bare
bones web 2.0 type scenarios around it. The chapters on neural networks, svms
and decision trees struck me as particularly primitive. A lot of additional
work would need to be done (e.g: nomalizing data for the NNs) before those
algorithms would be useful in a real world context.

An ok book if you know nothing at all about AI/machine learning. I wonder how
much value it actually provides. I might be missing something. If you think so
feel free to correct me.

~~~
apathy
it's a good starting point for someone with no mathematical background. A lot
of these were state of the art in eg compbio a few short years ago... Very few
applied texts out there use examples from interesting sources for a lay
reader.

------
raju
If I am correct, this has been done before...

[Though he did exactly what I planned. I just picked up Programming Collective
Intelligence, and plan to write the examples in Ruby... ]

------
fake
Oh boy euclidean distance!

~~~
imsteve
Agreed. Although the author's work is still appreciated.

