Long time, no post
So it has been well over a month since my last post, and that is just far too long. Finals snuck around the corner, then it was spring break, and then getting back into the swing of school. But now that I am back, I thought I would jump back on the train.
Today, I thought I would provide a couple thoughts on some tools I have been trying out. I use Matlab fairly extensively in school, but since I work for myself, I have to use other, alternative products to develop my strategies in to avoid having to pay Matlab’s exorbitant licensing fees. If you’ve read some of my past posts, you will also know that I have been trying to find some sort of alternative to my Ruby addiction — something preferably statically typed and with strong functional roots.
But I am also looking for something that allows me to do easy numerical computing and statistics work. This means a good matrix interfacing library, as well as a strong set of statistics (and preferably, econometrics) packages.
My first stop was the “Matlab” clones and cousins: Octave, SciLab, R, SciPy and Sage. My initial thoughts were:
- Octave: I would really like to have a GUI. And a lot of Matlab functions I want are missing (particularly, textscan).
- SciLab: Not enough to differentiate itself from Octave. Why bother learning the differences?
- R: I absolutely despise R’s semantics — but it is a brilliant statistics package.
- Sage: Too ‘mathematica’ like for me
- SciPy (with NumPy and IPython): Not a bad alternative, if I could get the damn thing to compile on Mac OS X 10.6
After continued searching, I found QtOctave, which solved my Octave GUI problem. For now, I have stuck with that.
I also have been playing around with Haskell, doing as much homework in it as possible. Being more of an ‘academic’ language, it has a lot of scientific packages available. Unfortunately, it doesn’t really have a uniform set of interfaces, which I think is the largest bonus of Matlab. Can Haskell do everything Matlab can? Probably. But can it do it as easily and without as much glue code? Not at all. I really do think that Haskell is a fantastic language and would like to work on a project where I can unify several projects into one easy to use package — but my Haskell capabilities are just not there yet. This all makes the learning curve twice as frustrating compared to any of the Matlab clones.
Another tool I re-stumbled upon, which I like, is Weka. Instead of having to code up all my classification algorithms to perform analysis, I can quickly load up a file into Weka and have it perform the tests. Saves me a whole lot of time. I highly recommend checking it out for any quick machine learning tasks you have.
That is pretty much it, for now. I am currently working on installing RLaBPlus. I will provide my thoughts in a few days.