
GNU Octave 3.4 has just been released - chaostheory
http://www.gnu.org/software/octave/index.html
======
forkandwait
I would like to give up some love to the Octave team:

First, it is a super solid platform and shows a lot of promise for the future
as the build system gets ironed out.

Second, although R and Python are a lot more fashionable these days, for some
good reasons and some bad, Matlab syntax is the closest thing to actual
mathematics. (Some features like cell arrays and 1-based indexing may seem odd
to a Algol/ Pascal/ C/ Perl/ Python/ Java programmer, it can handle any data
structure with as much grace as these more "traditional" syntaxes.)

Third, Matlab has a huge share of the numeric / math world (for good reason, I
think), and a plug in replacement is HUGE for us free software communist
hippies.

------
Nate75Sanders
textread() becomes part of Octave just as it's getting phased out in Matlab :)

textread() is a nice function that essentially takes an array of records (in a
flat file) and turns it into a set of arrays. Basically you're performing a
projection to get the set of time series you need from a time series of
records.

I used to use Octave a lot instead of Matlab in grad school (computer vision)
and still use it a good bit now translating/writing scripts for U-Hawaii's
Oceanography program. viraptor is right, though, "ipython -pylab" is a great
replacement, too

Python is where I keep going back to, for _everything_, because it has
libraries for so much stuff, super-clean syntax, relatively easy integration
with C, and enough extensibility.

~~~
chancho
I don't understand why the computer vision community is so locked in to
matlab. Sure it's a great tool, but it's only marginally better than what the
python community has to offer (that margin being the network effect I'm about
to rage against) and it's damn expensive. You'd think the high cost and vendor
lock-in would be off-putting to academics (the discounts are such a
transparent ploy.) I mean, what good is it releasing some code under the GPL
when you need a $2000 system (plus a handful of toolboxes at $1000 a pop, plus
maintenance fees) to run it.

What's particularly galling (to a matlab hater like me, anyway) is how some of
the most highly-cited and useful work that's made available by researchers is
done so only through matlab. The de facto standard benchmark for keypoints
(<http://www.robots.ox.ac.uk/~vgg/research/affine/>) is a matlab function, but
it's not like that code uses matlab in any interesting way, it just reads text
files. And even though it's not computationally intesive (the benchmark is
only on small set of images) there is a mex function involved to do the actual
computation, which makes it a pain in the ass to use with octave. Basically
they're using matlab as a $2000 bash shell. Same situation for the standard
segmentation benchmark
([http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsd...](http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/))
And then there's LabelMe (<http://labelme.csail.mit.edu/>) the "open"
annotation tool. They've got a really slick javascript UI for crowdsourcing
ground truth collection for image segmentation / object classification tasks.
They make the data freely available (which is awesome) but to access it you
have to go through a matlab toolbox...? WTF?! I mean really, you've obviously
got someone on your team who knows a thing or two about the web: take a page
out of Flickr's playbook (after all they've done for the CV community) and
make your data available via open standards. There's not even a goddamned
download link on the page. It's like they're on the Mathworks payroll.

Grrr...

~~~
Nate75Sanders
A lot of it is institutional buy-in.

Your group might be buying single licenses or something, but pretty much all
reasonably big research universities in the US have either a site license or a
college/school-level license -- like maybe the whole College of Engineering or
whatever.

A lot of engineers (non-CS guys) REALLY like Matlab because it's extremely
easy to use with good visualizations and with all the toolboxes and stuff, you
can do whatever you want. So you get a lot of ME, EE, CE, other guys saying
"we want Matlab" and all of a sudden you have a good reason to get a site
license.

Add to that that many computer vision researchers are really EE or applied
math guys who aren't going to use some other language/tool and it boils down
to free Matlab (because you have the site license) or free Octave (because
it's free) and they take Matlab because it's more full-featured. Particularly,
until the last few years, the plotting/visualization stuff under Octave was
some mix of incomplete and very hacky. The situation has certainly become
better, lately, though.

Also, as of say...2006? Matlab was considerably faster.

Also, at conferences, etc, it's easy to find books about Matlab and a salesman
with a little booth who's happy to talk to you and they also advertise
elsewhere a good bit.

I don't think anybody's preaching Octave, actively, except for the choir.

Edit/addendum: I think Octave is great. Just explaining why I think people
choose Matlab.

------
vtail
I'm really wondering if any HN users actually use Octave in their daily lives?

~~~
andrewcooke
I'm writing some GPU code that is called from Matlab. I don't have a Matlab
licence, so I test everything using Octave (it has mex support). Works just
fine.

This is consultancy work in geophysics. I'm writing code for a colleague to
use (he does have a Matlab licence) who is working with a mining company.

~~~
andrewcooke
Actually, if anyone is using this as a reference, I should add that it's not
100% identical. Octave doesn't support nested functions (it will interpret
them as separate, but doesn't have any notion of closures, so if you reference
a value in an outer scope it will fail). Also, at least one routine returns
data in a slightly different format (listing files in a directory - the Octave
approach is much simpler, and leads to cleaner code, but causes problems with
inter-op). But moving a fairly large hacked-together (ie growing from
exploratory data analysis) set of scripts from Matlab to Octave took less than
an hour of testing and editing.

