GNU Octave 3.0 Released After 11 Years
Digana writes "GNU Octave is a free numerical computing environment highly compatible with the MATLAB language. After 11 years of development since version 2.0, stable version 3.0 released yesterday. This version is interesting because unlike other free or semi-free MATLAB competitors like Scilab, specific compatibility with MATLAB code is a design goal. This has manifested itself in goodies like better support for MATLAB's Handle Graphics, a syntax closer to MATLAB's own for many functions, and many functions from the sister project Octave-Forge ported to the core Octave project for an enriched functionality closer to the toolboxes provided by MATLAB. GUI development is underway, but still no JIT compiling, which is a show-stopper for Octave newbies coming from MATLAB with unvectorized code."
11 Years no GUI, and no JIT and only partial MATLAB support. Tell me again why GNU FreeSoftware is a better development model if you don't mind.
A Christmas gift we can ALL enjoy!
This will be a good thing. That company really doesn't treat its customers very well at all.
The higher the technology, the sharper that two-edged sword.
Why is 11 years significant? 2.0 and 3.0 are just version numbers.
It's been over 11 years since Linux 2.0, and Linux 3.0 is nowhere in sight, but I don't see anybody complaining about its version number.
OTOH, GNU Emacs is at version 22, and I don't see either its proponents or its detractors claiming this is a good or bad thing.
Or maybe I'm just amused because it's on Slashdot. I mean, releasing a new major version of some numerical analysis software must be really easy, right? It's not rocket science, like, say, using CSS for a webpage, huh? Huh? *nudge*
The bad news is that they are wasting their time using the Matlab syntax, while there is a much better alternative for doing exactly the same thing. Python is universal, if there's anything you can do with a computer, the simplest way to do it is with Python, so why do it the hard way?
here is how you can help them
One of the reasons I haven't moved my students completely to Scilab or Octave is an excellent implementation of 802.11 in Matlab. It uses a bunch of toolkits and blocksets. I'm not even thinking of translating it.
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=3540&objectType=FILE
I wonder how many other such applications there are.
It turns out that Octave is one of the lesser-known products of 3DRealms. Also, Duke Nukem Forever/Hurd will be out next quarter.
You see? You see? Your stupid minds! Stupid! Stupid!
No way. MATLAB is notoriously slow with unvectorized loops. Actually, octave would be very useful even to MATLAB license payers if it's significantly faster with loops.
SJW n. One who posts facts.
But it was under development the whole time.
I know some people might disagree with me, but I'm beginning to think some open source projects would benefit from using a year for the public version number:
Octave 2008 (3.0.x)
Thunderbird 2006 (2.0.x)
Firefox 2008 (3.0.x)
FreeBSD 2006 (6.0)
FreeBSD 2008 (7.0)
PostgreSQL 2006 (8.1)
PostgreSQL 2007 (8.2)
PostgreSQL 2008 (8.3)
While internally, the product could use the same version scheme it did before, I think many open source projects are far too anal about version numbers. The stubborn refusal to bump up the "big" version field doesn't help public image because if it never moves up people think the project is dead.
The only version number that matters is the build number and repository version, the rest is marketing. Granted the year scheme isn't perfect in the early stages of a product when functionality is drastically changing every 3 months, but on mature products, I think we could all really benefit from number schemes that use the year the product was release.
An excellent free instructional interface to excellent free numerical libraries that undergraduates who don't want to learn to code can use for simple examples.
I've wasted way too much time trying to use such crippled languages for serious programming.
The good news is that they are doing in a free way what Octave is doing, but without being tied down by Matlab syntax.
The bad news is that they are wasting their time using Python, while there is a much better alternative for doing exactly the same thing. Lisp is universal (it doesn't change its syntax every year like some languages we could mention!). Python doesn't even have a native optimizing compiler, which is a dealbreaker for numeric computation for many people. It doesn't have macros, or even the concept of read-time evaluation, which makes some things harder, and often forces you to choose between readability and performance. SciPy wraps C/Fortran libraries to get performance, which means you get good performance only when you can use an existing function; if you can't, you can't just extend the framework from your HLL.
I've done scientific programming in the past, and I looked at Python. I used Lisp, Octave, and even Java instead. Python failed at just about every criteria I could think of.
I have been using Octave heavily over the past few years (and done a little light development), and I can say for certain that development is accelerating. In the last few years, there have been several new large contributors. One of them has made significant improvements to getting the bleeding edge Octave running with all the bells and whistles and installers on Windows, another dedicated to putting out binaries for Macs. All the core distributions have fully optimized Octave packages available. Most of the handle graphics compatibility has been done in the last 12 months. I know there is a push by people who are not the core developers to make an IDE (some based on Eclipse, others on GtkSourceView/VTE, others on QT). There has been work to make the debugger better. I guess my point is that a lot of project like this can take time to develop critical mass and that I think Octave is well on its way. Just as an aside, I think the design and implementation of Octave is great. It is the first kindof big open source project that I have really been able to wrap my head around in terms of understanding the code base and where things are/how to hack on it.
Math software shows up here fairly regularly. I keep taking notes, but never get around to using any. The R statistical package also gets frequent good mention, which I understand is accessible from within Sage.
Where does Octave stand relative to Sage?
MS is like a gas giant, expanding to the point it collapses in onto itself. For their own good, they really ought to split up and get rid of the huge bureaucracy that produces things like Vista.
Do you even lift?
These aren't the 'roids you're looking for.
Ah, but can it give me a larger penis and a rolex? Not that I need either, but I certainly wouldn't turn down the chance to get them.
(\(\
(=_=) Bani!
(")")
Python is about equally bad as far as syntax goes. Python behavior also presents difficult obstacles to optimization; the Matlab system apparantly does not (one can convert to C).
The LISP guy has a point, though that syntax is even uglier. (like being in a sensory deprivation tank)
If you really do want to crunch numbers, you don't screw around with any of the above. You use FORTRAN. Maybe that isn't cool, trendy, hot, exciting, whatever... but it works damn well. Assuming your idea of the C language doesn't include heavy use of the "restrict" keyword, FORTRAN optimizes even better than C. FORTRAN has a genuine international standard; it won't suddenly change because Guido gets a random urge. For number crunching, the world is full of FORTRAN code. Really, you can't do better.
If I am going to process a signal, it doesn't much matter how I implement the program as long as the program does the right thing. For instance, I can implement a filter (IIR, FIR, you name it) on a mainframe, in a spreadsheet http://www.conestogac.on.ca/eet/courses/d-com1/lab1/lab1.html , on a DSP chip, even on a fairly anemic microcontroller. Every implementation will do the same thing, albeit at different speeds.
In the case of the Matlab 802.11 model, every part of the protocol is implemented. That means you can look at the guts of the whole thing. Not only that but the channel is modeled for a fading channel. You can look at the eye diagram and watch the eye close as the s/n ratio deteriorates. You can also watch the constellation deteriorate from 64 tight dots to two blobs.
As a teaching tool, the model is amazing. In theory it could be done in any language (just about) or on any hardware (as long as speed doesn't matter). In practice, it was created in Matlab.
First of all, it works great with Windows and MacOS X. When you install Windows or MacOS, one of the first things you do is get an X server. (for evil reasons, the OS is supplied without decent compatibility with open protocols and open file formats) Of course you also install an ssh client, a POSIX shell for Windows, etc.
Second of all, maybe that is where your CPU cycles are going. Last I checked, which was indeed some time ago, Matlab was fully capable of running without the GUI. You can make your graphical output go to PostScript files.
If you wish to print these files through a terminal emulator, use the vtprint program. (or write your own) It's just a shell script that sends the VT100 escape sequences for printing, your file, and the escape sequence to stop printing. It worked great for me. You can also print to image files, maybe in a directory that shows up on a web server somewhere.
It seems that this is currently not the case
Define not "not treating customers well."
I've called them with a fairly high level support problem. I got patched directly through to an engineer and within 7 hours (we had been pounding our heads against the wall for a week) we had a solution.
I've heard numerous other stories of similar fate (which is where I got the idea to call).
While Octave is fine for supporting *most* of the features of Matlab. There is a segment of the market that Octave is never going to touch. Simulink, most of the extra toolboxes, direct from Simulink to ECM Flash software. Some of the high level Power Sim blocks, hardware in the loop stuff (From dSpace). "Matlab" is just the tip of the iceberg when it comes to Mathworks software. We even have people writing S-Functions, I'm picking up MEX to speed up some data routines.
I live and breathe on Matlab and for most of the stuff I do, Octave won't touch it. For 'us' Octave will never be competitive.
actually, it's a true. Offtopic, but true.
Ah! the innovation of open source.
Copy a commercial product.
Or clone things done before, such as all the old unix grep etc tools.
Lack of JIT compilation is not a "show stopper"; MATLAB got along fine without it until fairly recently.
Okay, I'll define it. The math man at our company only uses Matlab intermittently (the occasional R&D project) and for the past few years it was decided that we couldn't justify buying support or upgrades. This year he was asked to look into what it would cost to upgrade. He was told that we'd need to make up all the money that Matlab didn't get all those years first, before we could even be considered for an upgrade, and conveniently just purchasing a new copy would be even more expensive. Now this was in spite of the fact that they had provided no support or services in that period. Ended up being about fifteen grand for one seat. Let me tell you, that's a sense of entitlement with a vengeance, one that even the RIAA could appreciate. In other words, play our game and pay us our yearly juice money or we'll shove it up your ass.
I know Matlab is a complex product that took decades to develop, but demanding money for services not rendered, just because you know the customer has nowhere else to go, is usurious at best. I presume you've never had to deal with them in that vein because you've obviously bought into their system and it's worth it to you to keep paying them. I have no problem with that. But their attitude left a very bad taste in our corporate mouth, and given that our needs are simplistic compared to yours, we'll be evaluating what else is out there. Their behavior in this regard is not what I expect of a truly customer-oriented operation, but it is what you expect when a single company achieves a de-facto near monopoly.
The higher the technology, the sharper that two-edged sword.
Working now to run VisIt. Can't wait for this, ooh, ahh, well, many years I already have. Thank asteroid-god-to-soon-hit-Mars (not Eros, she's the Woman) I might not must need to code so even to run some damned parallel-port-hell-controller to actually do lab physics. On the sly, in some hidden unknown W**ngshop. Now I might keep my job, by making it actually work. Neuyear Greetings!
The standard line is that Octave is as compatible with Matlab as Matlab is with itself. Every new release of Matlab breaks something. Porting your code to Octave is similar. But Octave fixes some of the brain damage in Matlab's horrible syntax, making it easier to write cleaner code. And they also fixed a lot of the weirdness surrounding the whole 'one function per file' thing. In Octave, you can not only write complex programs in a single file, you can make them executable scripts!
You do realize that it costs 1900 for a new single seat license of Matlab.
> Define not "not treating customers well."
.x.x upgrades for more than a thousand US dollars a year), I received several of the usual reminders to renew, followed by a very strange email:
OK, I'll define it for you.
I have been a Matlab user since my first graduate classes in control systems in the early nineties, when it ran on old PCs in our controls labs and didn't have the current integrated GUI. It was a revelation to be able to perform matrix and control system analyses in such a simple way, with the many built-in functions (lsim, step, bode, margin, etc.) There was nothing else like it and it taught me a lot.
In my subsequent work as a controls engineer in the astronomy field, I have used Matlab consistently for many years, occasionally requesting technical support - as you mention - and normally getting a good response. I have downloaded free evaluations of new toolboxes and sometimes we have followed up with a purchase, if the product is worth it. We use Simulink a lot for design, and this is also a really good tool.
Over the last two years or so, Matlab - the company - has been getting more unfriendly. When I decided not to renew my ongoing 'maintenance' package with them, after I saw we were getting poor value for money per year (a few
"September 25, 2006
Dear Mr. (Name Deleted):
(Company Name Deleted) is a valued customer of The MathWorks, Inc. and we appreciate your business. As you are probably aware from reading press and industry reports, software license compliance remains a challenge for the computer software industry. Like many of our peer companies, The MathWorks is implementing a license compliance audit process and has engaged an independent third-party auditing firm to assist us in performing this work.
This letter does not indicate that your company has been selected for an audit, but rather, serves as a general announcement of the program. While we are in the planning stages of the program, we wanted to take the opportunity to inform you of this activity. We realize it is very important to answer any questions you may have about the program and we want to work hard to eliminate any surprise if your company does get selected for review.
As we move forward with our program, we will begin to select various customers to conduct compliance audits pursuant to the terms of our software licensing agreement. If your company is selected, you will be notified in advance by a representative of The MathWorks. Our auditors will then contact your company to discuss the audit timing and procedures, and request documents to help make the process run as efficiently as possible.
The procedures our auditors will follow are designed to validate software licenses deployed and measure deployment against historical records. We understand that you are busy and every step will be taken to minimize the impact to your daily operations during the process.
If you have questions about your current usage of MathWorks products, please do not hesitate to contact the Installation and Licensing Team by e-mailing: support@mathworks.com
We value our relationship with your organization and look forward to your support.
Sincerely,
The MathWorks Licensing Compliance Team
To update your address, send e-mail to: service@mathworks.com
The MathWorks, Inc. - 3 Apple Hill Drive, Natick, MA 01760 - 508-647-7000"
I never heard more about this, but it looked suspiciously like applying a bit of pressure - 'if you don't want a visit - or the possibility of one - from our licensing compliance goons, why not just cough up that maintenance fee'. I mean, if piracy and so on is such an issue, then check out every single customer, irrespective of their maintenance status. What have you got to hide, eh?
What finally pissed me off was when I wanted to download a trial of a toolbox I was interested in purchasing. Here is the friendly reply:
"(Name Deleted),
Here is a quote to add the (Toolb
$15k for ONE seat? What the hell else did you buy?
From: http://www.socialtext.net/researchcomputingtest/index.cgi?matlab_site_license
* What is the cost of simply increasing our current licenses to 50/100/250 seats for concurrent use with all 50 toolboxes? How does that compare to the site license?
100 seats of concurrent licensing at the 50 toolbox level would be about $100,000; for the 250 seat level, about $300,000. The site license will be less than half the cost of the 100 seat level.
From Yahoo Answers:
"List price for the base MATLAB {commercial, single user License} is $1900.00/us. "
15k can get you some pretty shiny toolboxes for someone that doesn't use it that much.
Ended up being about fifteen grand for one seat.
I don't buy that for a second. Even if you bought every single toolbox available (which no one would do because they cover such a broad set of tasks), it wouldn't add up to 15 grand per license.
I've only dealt with Matlab on the academic side, but I can say I've had good relations with their customer service. The last time I interacted with them, I had to buy new licenses for our research group; I had read through the various options and thought I had found the cheapest configuration that would meet our requirements, spoke with the sales rep, and he spent some time on his own digging around and found an even cheaper way to get what we needed.
My [admittedly uneducated] guess is that maybe "the math man" in your company is a moron at the negotiation table...
Did you read what I said? Yes, I know MatLab is expensive, but the upgrade cost (including the required three or four years of past payments on software maintenance) put that seat at around fifteen grand. They provided no service during that period, yet they insist that they should be paid for it regardless. Apparently they feel that, once you've purchased the program, you are beholden to them indefinitely for support payments, whether you want to pay for support or not, whether you need their support or not.
The higher the technology, the sharper that two-edged sword.
I didn't say it was the price for one seat. It was the cost to pay for the software maintenance that we had chosen not to pay for the past few years. I wish people would read what I post instead of just the first line. And there was no negotiation involved: just a simple email request for current pricing. I saw the response from Mathworks. We were all kinda surprised at the amount.
The higher the technology, the sharper that two-edged sword.
First of all, they make it very clear when you purchase the software that if you don't go on software maintenance, if you ever want to upgrade your license you have to pay back all the years you missed out. It's a decision that presumably someone made at your company not to go on support, so I'm not quite sure why you're complaining that they are enforcing their end of the deal.
Secondly, if the cost of paying back all the years you missed exceeds the cost of getting a new seat, then simply get a new seat and stop using the old seat. Your cost of $15k seems that you should consider simply getting a new seat.
Thirdly, when we move into the realm of "very expensive software", most software require you to pay an annual fee just to keep current and receive updates eg. Windows Software Assurance. The fact that your company declined to go on Software Maintenance means it should bear the consequences of not doing so.
Finally, I also must add that Mathworks is usually pretty responsive with technical issues that I've had.
Well, personally I couldn't care less. I have no interest in the product so I'll take your word for it. I just know what I heard at work.
The higher the technology, the sharper that two-edged sword.
about your first point regarding the audit letter--it may or may not simply be a coincidence. .x.x upgrades for more than a thousand US dollars a year), " -- you're forgetting the ability to download free trials of toolboxes. If you need any technical support you're entitled to a certain xx hours per year.
but your second point you definitely have no grounds to complain. They allow only people who are on software maintenance to have a free trial of the toolboxes. That's one of the benefits of software maintenance. "we were getting poor value for money per year (a few
Each of these, to me, seem like reasonable solutions— if it's a major-version update, I'd have to pay for it anyway... and if it's just a recompiled version of the product I already have, it should be free to current users. It turns out, however, that there was a third possibility, which is what Mathworks chose:
3. Release a new minor-version Universal Binary update, and then make all current customers buy a new full-price license in order to get it.
So, in order to run Matlab on an Intel-based Mac, current PowerPC license holders have to re-purchase their expensive software from scratch. No upgrade path, no nothing— just a nice, loud, "screw you" from Mathworks to their users. And it's not like we could just use our PowerPC verisons under Rosetta- there was a workaround, but it involved disabling all of the graphing/visualization features. Basically, it was a "pay for a full new license or don't use Matlab on your new computer" kind of thing.
I dunno, maybe it's not that big of a deal, but it still felt pretty crappy. From a customer service standpoint, it wasn't exactly a master-stroke- it wouldn't have really cost them anything just to let current license-holders have an Intel-compatible copy of the software they'd already paid for...
We are reading it. We just think you are lying.
99% of the time, that's all anyone needs.
You can just skip the upgrade and buy a new seat, which wouldn't be anywhere near 15k.
--
WHO ATE MY BREAKFAST PANTS?
No, he isn't lying.
MATLAB did the same thing to us, made us pay maintenance for all the years that it had lapsed, because we wanted to upgrade an users' desktop to the latest version.
Guess what my desktop runs now?
Of course you do realize that most major Open Source projects will actually wait until something is stable and make sure all of the important features are added and working correctly before releasing it, right? Microsoft would have released this 7+ years ago and you would have paid for the privilege of beta-testing it, and paid 2 or 3 more times again as "updated" (read: bug fixed + more eye candy) versions are released. Compare this to Firefox--I was using it for at least a year and a half before it went 1.x, and at 0.7.x it was very usable, with extensions and everything. Similarly, I'll wager Octave has been perfectly usable for years now--some people simply have much higher "1.0" standards.
Guess what my desktop runs now?
Linux?
You have to run javac from some other place (Eclipse, command line), but Matlab is a nifty substitute for the java command. You can construct Java objects from the Matlab command line or from inside M-file and function scripts, you can assign those objects to Matlab variables, you can invoke methods on that object using oname.fname() syntax.
Cooler yet but not yet well documented in Matlab is javacomponent where you can embed Java Swing widgets in Matlab figure windows, so you can build Matlab GUI apps out of Swing widgets. There is a slow move to do this -- I think someone has a DNA sequence widget that they promote for use inside of Matlab.
Matlab can do much of this because it is Java in reality. Well, not all of it, but the Matlab IDE shows the coffee cup when it is slow to load, telling you that it is a Swing JFrame. All their numeric stuff may be hardcore C (or even FORTRAN) code under the hood, but Mathworks has moved into Java as a portable way of doing their GUI across the different OSs they support.
Matlab also allows embedding ActiveX widgets in a figure window (under Windows only, of course). If a figure window happens to be a JFrame in reality, and if it is displaying my ActiveX control wrapper for a Swing widget (it really works quite well once you get the classpath and librarypath details worked out), well you get the picture of what you can do.
Is there a remote chance that this Octave thingy is going the Java Swing JFrame route for figure window graphics by way of Matlab clonality, or was that too much to hope for?
Why not use both?
So you've done this? You were a customer of The MathWorks who didn't upgrade an old version of Matlab and they let you buy a new seat without upgrading your old one?
You do realize that the situation we're talking about is "we have the right to dictate any renewal and purchase terms for our software which are not otherwise illegal", right? The situation that ScrewMaster describes does not seem to me to be particularly unlikely.
And yes, I realize ScrewMaster's company could get around it in various, perhaps illegal ways, like having the employee buy a personal copy and giving him a bigger bonus or something. That doesn't change the validity of his complaint.
I've seen a number of projects, from VMs to stuff similar to this project, roll their own JIT solutions all the time, causing it to work well only on a limited number of platforms with a limited number of optimizations. Hopefully if they go this route they'll use something like LLVM and not reinvent the wheel yet again.
This release gives me faith that Duke Nukem Forever will eventually be released.
Last time I checked, Octave could only directly manipulate arrays with 2 dimensions at the most. A show stopper, unless you went into arrays of arrays but that got old very fast. Has it been improved ?
And about the tech support from Matlab, yeah it sucks. I've had their DRM crash on boot for the last 6 months and they've done jack shit about it. Fortunately I didn't need Matlab no more so I just gave up on it, but still, the site license costs a few newborns. Way to go.
Non-Linux Penguins ?
I call bullshit. Check out the price list, which I have only picked items that make sense for tasks that I do regularly (and hence this is not too broad of a scope):
The bare minimum for signal processing stuff:
MATLAB: $1900
Simulink: $3000
Signal Processing: $800
Signal Processing Blockset: $1000
Subtotal: $6,700
A few more helpful tools that almost every engineer can make use of, not very extravagant:
Control System Toolbox: $1000
Filter Design Toolbox: $1000
Subtotal now: $8,700
I do a lot of RF comms stuff, so the following are very useful for me:
Communications Toolbox: $1000
Communications Blockset: $1000
RF Blockset: $2000
RF Toolbox: $1000
Subtotal now: $13,700
Implementing algorithms in the real world almost always involves fixed-point computation, so:
Simulink Fixed Point: $1000
Fixed-Point Toolbox: $1000
Grand total: $15,700
In fact, if you look at the MathWorks product listing for each category:
MATLAB CATEGORIES:
Math & Optimization: $4,100
Statistics & Data Analysis: $9,800
Control System Design and Analysis: $6,700
Signal Processing and Communications: $7,800
Image Processing: $2,900
Test & Measurement: $4,900
Computational Biology: $4,000
Financial Modeling and Analysis: $5,500
Application Deployment: $5,200
Application Deployment Targets: $12,000 (.NET, Excel, and Java each are $4k)
Database Connectivity and Reporting: $1,500
SIMULINK CATEGORIES:
Fixed-point Modeling: $1,000
Event-based Modeling: $5,800
Physical Modeling: $11,000
Simulation Graphics: $1,700
Control System Design and Analysis: $4,000
Signal Processing and Communications: $5,000
Code Generation: $30,300
PC-Based Rapid Control Prototyping and HIL: $10,000
Embedded Targets: $12,000 (Each processor is $3k apiece)
Verification, Validation, and Testing: $9,000
Find their product price list here:
http://www.mathworks.com/store/default.do
And you can add up what they recommend for signal processing applications yourself (Hint: just getting the recommended Matlab, Simulink, and Real-Time Workshop is $12,400.)
http://www.mathworks.com/applications/dsp_comm/products.html
They have recommendations for other fields of R&D also if you want to look.
Wow, I can't see how ANYONE could POSSIBLY rack up a $15k MathWorks bill. My educated guess is that you are not a moron, but that you are uninformed about more than just the moron status of this guy's "math guy." Maybe you got a very nice academic discount. Maybe you just got Matlab and a couple of toolboxes. But that's not the situation a lot of folks face when they actually want to accomplish something with Matlab/Simulink.
yes they are assholes, thanks for providing me a public forum to air my discontent...
One year our purchasing department was slow in renewing our dozen or so Matlab licenses and we went 2-months beyond our expiration date. They jerks charged us for those two months (we have never used their tech support in over a decade) and still kept our renewal date as the original date. I explained to the salesman that we would be happy to pay for the 2-months support but i wanted the renewal date moved up since we paid full price for the renewal and the 2-months support. No-can-do!
I would support a Matlab switch in our shop to a different vendor in a heart beat when the opportunity becomes available - and maybe it has.
Octave has had several "dot" revisions in between, and many of those constituted major progress.
And what is this "show stopper" stuff? If you are going to use Matlab or Octave, you damned well should vectorize your code, otherwise there's pretty much no point: pick a different language. The JIT is not a show stopper. I have done some very hardcore numerical work with Octave over the last five years. It works.
I thought it was given a DNR?
as it will take another 11 years for a Debian version to be released which then includes Ocatave 3.0.
Well, if you don't buy Matlab and its toolboxes, you'll have plenty of money left for penis enlargement and Rolex purchase.
11 Years no GUI, and no JIT and only partial MATLAB support. Tell me again why GNU FreeSoftware is a better development model if you don't mind.
There is fairly little effort going into Octave. Why? Because MATLAB isn't worth cloning; MATLAB sucks. Even if more effort were going into it, Octave could never catch up with MATLAB, simply because it takes 1-2 years to clone MATLAB features after a MATLAB release.
The real comparison is with the true open source alternative to MATLAB: SciPy. SciPy is where all the open source effort goes, and it beats MATLAB in pretty much every regard: language, GUIs, plotting, compilers, packages, etc.
Beep beep.
Demanding fees like this for a port to Intel is criminal.
Particularly since Theo Gray (Wolfram Research's development director) went on stage at the 2005 Mac Developers Conference alongside Steve Jobs and gleefully explained how the whole port had been conducted by one guy in 2 hours flat. So good was Apple's support for transition from PPC to Intel.
Grab a copy of the keynote from Apple's site, find Mr Gray's comments (about 3/4's of the way in) and email them to your Mathematica vulture^H^H^H^H^H^H^H salesperson.
Then put it on a loop in your foyer underneath a sign saying "We no longer use this man's software." Should scare off any future vul.. I mean salespeople with unreasonably rapacious ambitions.
Octave is a great effort, and it is very useful for being able to be able to run Matlab code freely. However, most of the effort in open source numerical computing is happening with NumPy and SciPy (www.scipy.org). For most applications, SciPy is already far superior to even the commercial version of Matlab, and SciPy is the de-facto standard in several scientific communities. There are a few areas where Matlab still has toolboxes that have no good equivalent for SciPy yet, but that's going to get fixed.
So, if you're looking for an open source Matlab alternative, use SciPy for new development and stick to Octave only for occasional backwards compatibility and testing during porting.
What if they flat-out refuse to sell it to you?
I think that Matlab's biggest strength is how it easy it is to visualize and manipulate plots. Matlab plots can be easily tweaked, enough so that they can be used as figures in academic papers. In contrast, Octave's previous use of gnuplot always felt clunky-- it was hard to get it to do exactly what you wanted, and the results were often ugly.
I will check out Octave 3's improved "graphics handle" support-- I hope it closes the gap. But for my own part, I care much less about language compatibility and more about making it really easy to visualize and explore your data.
-Ed
When I was a student I had the good fortune to work in the labs headed by Gerhard Herzberg. On coffee breaks I used to listen to the office ladies complaining about the fact that their bosses made lots of spelling and grammar mistakes. The trouble was that those bosses were some of the world's leading scientists. Dr. Herzberg won the 1971 Nobel prize for chemistry. Needless to say, the office ladies didn't win any Nobel prizes. It was a good lesson.
My institute (I work in a physics research lab in Europe) used to benefit from Research/Teaching prices. All of a sudden, Mathworks decided that we weren't eligibile anymore (along with a bunch of other similar labs), although there's no doubt we should qualify as a research & teaching institute. Since our main experiment (a fusion reactor) is largely dependendant on Matlab, needless to say we were screwed and we had to pay up. IIRC, our bill must have been multiplied by 5. Our lawyers threatened to sue them, but they chickened as soon as The Mathworks execs said there weren't afraid... (Tell me why we are paying to have lawyers, again ?)
Anyhow, there's no doubt that Matlab is a good product but the rogue attitude of their people makes me wish the few OS enthusiastics among us can keep on convincing more and more people to use Python (matplotlib), Octave and other alternatives. Sure, there are domains in which we won't be able to compete (I'm thinking about specific toolboxes) but most people here only use very basic capabilities of Matlab and with a little effort, they could use something else. It's just that most people are resilient and since they learned how to use Matlab, they don't see why they should adapt to something else (yeah, I find it weird that some scientists may think that way but hey, what can I do ?). Our management is reluctant to force them by, say, restricting the number of licences in our pool, which I can understand, I guess.
We've significantly reduced our Matlab usage, in the past few years and I'm optimistic we'll be able to keep on getting rid of Matlab almost entirely. So, if Octave can help us to do so by improving itself, I say keep on with the good work, guys !
I've bought a second license without having my first one on software maintenance. Also, Mathsworks does not distinguish between using for corporate and personal use so I don't see anywhere in the license agreement that prohibits a worker from buying a personal license and using it at work (provided he keeps within the terms of a single user agreement like not installing it on every PC in the company).
Octave is a great piece of software, but it has been going downhill for awhile. It used to be that you could make nice plots via gnuplot commands, but for some reason the project leaders insist on sabotaging this feature.
Like Windows, Matlab has become too popular for everyone to just drop and move on to some other platform
That implies that Matlab has a near universal hold on numerical computing; that is simply false. Both Python and R are widely used in many disciplines. Furthermore, Python has so much more useful functionality than Matlab that there can be a strong motivation for many people to switch when they learn about it.
Well, if that's how you judge a development process, to be honest you also have to include the failed commercial products -- of which there are countless. I myself use open source (and certainly non-proprietary) systems as much as possible because I've been burned by products that were "repositioned", the feature sets, pricing and licensing all radically altered. This is often a first step, not to revitalizing the business of supporting the product, but the product going away entirely.
The open source model is all about market efficiencies. The closed source model is all about individual companies beating the market by differentiating their products. Open source makes software functionality a service you can buy, and that service is in effect a commodity. Pork bellies don't disappear because a particular slaughterhouse stops producing them.
In this case, you have another case of market efficiencies. There aren't enough people demanding a fully functional or compatible open source version of MATLAB on one hand, or programmers capable of contributing to such a product on the other, to produce the product on short order. If a commercial outfit was working on this, they'd hire people to produce it who otherwise wouldn't work on the product. They'd then have to sell the product against MATLAB, which they can only do by offering new features or lower prices. However they're very unlikely to be able to price it lower, since MATLAB's development costs are already recovered. So they add features. MATLAB comes out with its own incompatible versions of the same features, trims its price a bit, and competitor goes out of business.
All the money used to create the closed source alternative might as well have been piled up and burned. There is no value delivered to the market by the failed project. The vendor might as well have picked their customers' pockets for all the value the delivered to them in the end.
By comparison, an open source project taking a long time is a model of efficiency. It is not obvious to most people that an open source MATLAB is the highest use of their resources, therefore the project doesn't get that much resources. However it still produces value: users who don't need the missing features can use whatever is there. Developers on other projects can use the source code (subject to license) or even embed the entire product.
So, rather than rapidly consuming large quantities of resources to produce zero value, the open source model here is consuming small quantities of resources to steadily produce modest quantities of value.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
For the closest thing to Simulink in open-source land, check out PtolemyII from UC Berkeley. It is quite impressive.
Unlike some of the other responses, I completely believe your description. Upfront when I've dealt with the MathWorks, this was my understanding of their policy. (Actually, this is an improvement from what I remember, which was that if your maintenance lapse for a year, you didn't have any option but to purchase a new full license. Glad to hear its improved.)
I guess I consider my annual agreement as paying for 2 things: Tech Support and Continuing Development. You may not have used the tech support, but if you're talking about getting current I'm assuming its because you're interested in the result of the continuing development.
This isn't the only way to fund software development. But its what this company has chosen. I'd encourage you to look around and see if someone else has a model that fits your needs better, but I don't see anything inherently wrong with the business model.
As for the actual amounts quoted, I always find it very difficult to compare the pricing of software. Its very difficult to judge from the outside if someone is making a killing, has a really expensive/unproductive development team, or just is writing complex software.
Seems to me like it could be done pretty easily.
Statistics & Data Analysis = $9800
Application Deployment = $5200
total = $15000
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
Couldn't you get around this by opening a new account?
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
Octave is used by NASA to do calculations - no license server equals scriptable math.
Yep. At LinuxCon Chicago 2004, I ran into him at the bathroom. No cock, no balls. Word is bond.
Does anybody have experience with both? Care to comment the differences? I tried both and couldn't notice.