Slashdot Mirror


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."

222 comments

  1. 11 Years? by Anonymous Coward · · Score: 2, Interesting

    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.

    1. Re:11 Years? by nacturation · · Score: 5, Funny

      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. It may not be the best now, but just wait until HURD is released... then this development model's superiority will be obvious!
      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    2. Re:11 Years? by the_humeister · · Score: 3, Funny

      Indeed. I can't wait to play Duke Nukem Forever on my new GNU/HURD system...

    3. Re:11 Years? by dws90 · · Score: 1

      I thought this was going to be about the GNU version of Duke Nukem Forever. When's that coming out?

    4. Re:11 Years? by LiquidCoooled · · Score: 1

      The guys got sidetracked managing the development of Duke Nukem Forever but now have free time once again since its been handed to another team to mull over.

      --
      liqbase :: faster than paper
    5. Re:11 years? by BlueParrot · · Score: 2, Funny

      Ok, I was supposed to make a joke about my kernel version here, so I pressed ctrl+alt+enter to spawn a terminal to run uname in. It took me a whole minute until I remembered that I'm visiting my relatives over christmas and that all this free software (firefox, xchat, VLC, Pidgin, Open Office, LyX ... ) is actually running on my dad's windows box. Microsoft are going to be in deep shit when KDE is released for windows.

    6. Re:11 Years? by betterunixthanunix · · Score: 5, Insightful
      Features? Maybe I can't beat you there. Reliability? Absolutely (GNU code is at least on par with BSD and other Unixes, and far more reliable than other systems, in my experience). GNU won't waste your time with a license check; when my school's Matlab license server went down, me and my peers were left out in the cold, with final projects looming over our heads.

      My school will not give students a copy of Matlab for any purpose, because of license restrictions. We can either use a school terminal (ever wonder what a crowded computer lab looks like?), or run it off a Solaris server (X11 forwarding, leaving Windows and most Apple users out of the loop) which has strict resource limits imposed (forget processing anything big). Of course, with this setup, it is completely impossible to hook up any specialized hardware to the system running Matlab, so to process data from the real world, we must first collect it on one computer, then copy it over to a computer with Matlab installed (which is rarely in the same room as the equipment in use), and no, you cannot process anything as it happens, and yes, our disk space on the Solaris server is limited to 100MB, so your data can't be too large (not that you get enough CPU cycles to process anything large).

      Octave? Right on my system. On any system I want, actually. I miss a few features, and bit of Matlab compatibility (not nearly as bad as it sounds, I have yet to have it be an actual problem), and a GUI (which I am not at all concerned about -- I'll take a functional CLI over a dysfunctional GUI any day), but in the end, I get what I needed: Something that allows me to work with other people's Matlab code, without having to wait in line for a computer or worrying about a resource limit on a Unix server. If Mathworks stopped screwing around with license restrictions, that are even worse than Wolfram (the maker of Mathematica, which is also mangled in license restrictions), I would never have even looked into Octave.

      --
      Palm trees and 8
    7. Re:11 Years? by venicebeach · · Score: 0

      X11 forwarding, leaving Windows and most Apple users out of the loop
      Why would X11 forwarding leave any Apple users out of the loop?
    8. Re:11 Years? by poopdeville · · Score: 1

      I strongly suggest you send a polite email to your school's IT staff explaining your academic needs. If that doesn't work, ask your professors to speak with the IT staff on your behalf. Don't let talk of 'policy' get in the way. Talk to policy makers on campus and get them to talk to IT on your behalf. Don't be rude. This isn't a crusade. You (presumably) have legitimate academic needs and a legitimate academic use for the resources IT would grant. That's their job.

      I find it depressing when students let shit like this happen to them.

      --
      After all, I am strangely colored.
    9. Re:11 years? by j-pimp · · Score: 1

      Microsoft are going to be in deep shit when KDE is released for windows.

      Ok and why exactly is that? They still got a windows license fee from you. They can still sell you windows software.

      --
      --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
    10. Re:11 Years? by betterunixthanunix · · Score: 3, Interesting
      While I know that MacOS X ships with an X server, I have met only one Apple user so far who has set it up, and beyond that, none of the rest are even aware of X11. X11 is not enabled by default. The Apple users I've encountered have very little knowledge of X11, ssh, forwarding, non-Apple Unixes, or how a program can run on one computer and be displayed on another. Apple designed a GUI-centric OS, and its users are often loathe to open a shell and start typing in commands (considered to be too "unintuitive"), at least in my experience.

      Most Linux or BSD users, who happen to be using a GUI, will already have X11 running, and will therefore have a much easier time running Matlab off our Unix servers. There is certainly no problem running an X server in MacOS, nor is there a problem running it in Windows -- but these systems are not being marketed to people who have the technical skill to set that up. Not to start a flame war, but Apple just isn't trying to attract users who are aware of X11, Unix terminals, programming, etc. If anything, Apple has tried as hard as possible to remove the "nerdiness" from computing, and present there systems as intuitive, simple, straightforward computers that any idiot with no computing skills whatsoever can figure out how to use. That's fine, but when it comes to doing something that doesn't fit into the desktop computer model -- running a program on a server, and having its GUI rendered on your PC does not fit into the desktop model, at least not as Apple has implemented it -- they are not marketing to people who are comfortable, knowledgeable, or appreciative of such things. You don't have to be their target market to use Apple systems, but you have to be aware of what their target market is, and that the overwhelming majority of Apple users have no interest in anything beyond the desktop metaphor that Apple has created.

      It is necessary for me to stress that I am not criticizing Apple or its users; I am criticizing my university and the Mathworks company, for creating an environment where only people who are involved in computing can access Matlab outside of our computer labs. My point is that, because of the terms of Mathworks' site license, the software must be on a specific number of university owned systems, and that while there is nothing stopping Apple or Microsoft users from accessing that software, the majority are not knowledgeable enough to do that. The university doesn't do much to educate or encourage students to set up X servers and run Matlab/Mathematica/Maple on our servers (can't say I blame them; the increased network and server load would probably bring everything to a grinding halt), and most students who use this software aren't even aware that they can access it in that manner anyway.

      --
      Palm trees and 8
    11. Re:11 Years? by lm317t · · Score: 3, Insightful

      Well I've been a matlab and octave user for 10 years and I think I used the matlab GUI once, but its so much slower than vim that I ditched it.

      Octave needs a gui like python or bash does.

      --
      EOF
    12. Re:11 Years? by EvilRyry · · Score: 3, Informative

      Or windows users for that matter. There are plenty of X servers out there for Windows including Xming. Putty even has an option for X11 forwarding, so no one can really argue that its remotely difficult to set up.

    13. Re:11 Years? by DAldredge · · Score: 1

      Why not buy the student version - almost 100% certain it cost less than one of your text books.

      MATLAB® and Simulink® Student Version Includes MATLAB, Simulink and Symbolic math functions $99.00

    14. Re:11 Years? by nadaou · · Score: 2, Informative

      Matlab from the terminal:

      local$ ssh -X solaris_server
      solaris$ matlab -nosplash -nojvm
      Welcome to Matlab v. ...
      >>

      The plot windows etc will still be rendered, but you do away with slowly pushing the entire GUI over the network.

      If you don't open plot windows and things, you don't even need an X-server.

      Connect with Putty or Cygwin from MS Windows, Terminal from OSX.

      X11 forwarding on Mac: try 'ssh -Y solaris_server'
      (... after installing X11 from the OSX install DVD ...)

      Mathematica replacement: http://maxima.sourceforge.net/

      If you have a problem with The Mathworks or Wolfram's license terms, I suggest you take it up with them BEFORE buying their product and agreeing to their terms. else take it up with the person at your university taking care of the purchasing decisions. It is really not their fault if you buy their product under known terms.

      -- Happy user of Octave at home & in the field where the ML license server won't reach. Lots of kids buy the student ML edition, it is fully functional, not tied to a network server, and no longer array size limited these days.

      --
      ~.~
      I'm a peripheral visionary.
    15. Re:11 Years? by novakyu · · Score: 3, Informative

      Or Windows users, for that matter. The Xmingw X server works pretty well on Windows, and if you are allergic to free software (after all, I don't see why anyone would be using Windows otherwise), Hummingbird makes an X server.

    16. Re:11 Years? by konohitowa · · Score: 1

      I was baffled by that comment also... Apple's been supplying X11 (XFree86 port) for OS X since what, 10.2? Whenever it was, it started as a download from Apple, then started coming on the install disc as an optional package, and in 10.5 is available on demand (installed by default and launches when needed).

      So what that comment about is beyond me (and yes, sshd etc are also installed). Although you don't have a nice GUI for the X11 forwarding config.... so maybe that's what the parent meant. Well - whatever. I doubt there'll be a followup.

    17. Re:11 Years? by Gerzel · · Score: 2, Insightful

      Yes. Sure. Lets base judgment of an entire paradise on a single relatively small bit of software in that paradime.

      Just like closed source, open source has some lemons too.

      I mean after 5 years of development by the biggest software company in the world Vista shows that closed source isn't that great either.

    18. Re:11 Years? by DAldredge · · Score: 0, Troll

      Again, what is so bad about Vista?

    19. Re:11 years? by aussie_a · · Score: 1

      Once people become accustomed to KDE its one less reason to stick with Windows.

    20. Re:11 Years? by Anonymous Coward · · Score: 0

      Please whine some more, I enjoy it. Also, "stealing ideas" is a new and interesting concept.

    21. Re:11 Years? by j_sp_r · · Score: 1

      I Can download(!) MATLAB from blackboard, I only need to make a VPN connection to my university and I can use all it's features.

    22. Re:11 Years? by torako · · Score: 2, Informative

      At least on Mac OS X 10.5, X11 is installed by default and should be available on any 10.5 Mac (unless the user specifically disabled that option during setup).

    23. Re:11 Years? by orasio · · Score: 1

      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. Free Software is about ethcs, not about development models.
      That is one of the substantial differences between open source and free software.

      About Octave, I used for all my "matlab" work in college, and it works great, with a consistent interface, I don't know why I would need a GUI, when I could use koctave,
    24. Re:11 Years? by jbolden · · Score: 1

      That's not been my experience at all. Because of Open Office requiring X11 lots of Apple end users now have it. That's besides the fact it is on by default in the last 4 months or so. I work with a bunch of design people and execs none of whom can program and all of whom use X11. I'm not sure they know what the X11 icon means but they use it no problem.

    25. Re:11 Years? by betterunixthanunix · · Score: 1

      Well, I was not aware of this, but thank you for the info, I'll keep that in mind. I suppose that mitigates the issue for Mac users.

      --
      Palm trees and 8
    26. Re:11 years? by j-pimp · · Score: 1

      Once people become accustomed to KDE its one less reason to stick with Windows.

      Plenty of people are accustomed to iTunes and FireFox. None of them seek to leave windows. Also, why would I want to run KDE on windows? As a windows user that has at times run linux on his primary desktop, I see this allowing me to run specific KDE applications on windows. I don't see myself running KDE itself except once or twice to check it out.

      --
      --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
    27. Re:11 Years? by Anonymous Coward · · Score: 0
      Dear "betterunixthanunix", you clueless moron you,

      It isn't completely accurate to say

      Not to start a flame war,

      because that is exactly what you're trying to do. You're just not trying hard enough.

      Also, where you say

      I am not criticizing Apple or its users

      you (accidentally?) included the word "not."

      Now, I don't actually know what planet you're writing in from, but if you're at my University, it's just too big for you to know even a small fraction of all the computing initiatives with healthy communities. Yet that doesn't stop gnomes like you hidden in musty corners saying that Mac users are pitiful and the University doesn't do enough for them.
    28. Re:11 Years? by ConceptJunkie · · Score: 1

      Um, everything?

      --
      You are in a maze of twisty little passages, all alike.
    29. Re:11 Years? by proselyte_heretic · · Score: 1

      Add one to that count, I switched over to a mac after I had my computer replaced with Vista (it is much worse). I have installed macports, X11, and use the cli quite often. If anything has increased the chance of my switching permanently to linux in the future, it is OS X. I am totally serious, the ease and knowledge I got from setting up latex, ruby, python, vim, emacs, and other useful things, all available on linux more easily than they are windows. I now publish many of my documents in latex. And since I have rsync, and a linux server, I can automatically backup documents to rsync. Now virtually everything I do is nearly as efficient in linux, and gutenprint, which I believe works in linux, is my choice for print drivers. P.S. I prefer Vim

    30. Re:11 years? by Celarnor · · Score: 1

      I think the implication was that it would make it less difficult for someone to convert from windows to Linux. But I think that, realistically, I think anyone who would want to run KDE on top of windows are people that are already running Linux w/kde and thinking "Hey, cool, KDE replacing explorer."

    31. Re:11 Years? by DAldredge · · Score: 1

      Using it right now as my main desktop, what issues should I be seeing?

    32. Re:11 Years? by skeeto · · Score: 1

      Years no GUI

      A GUI doesn't belong in Octave. Octave is simply an interpreter. It is like asking where the Perl GUI is. Separate programs that provide a GUI already exist as a front end to Octave.

    33. Re:11 Years? by RAMMS+EIN · · Score: 1

      ``I am criticizing my university and the Mathworks company, for creating an environment where only people who are involved in computing can access Matlab outside of our computer labs. My point is that, because of the terms of Mathworks' site license, the software must be on a specific number of university owned systems, and that while there is nothing stopping Apple or Microsoft users from accessing that software, the majority are not knowledgeable enough to do that.''

      Is the university to be faulted for computer users who prefer not learning how to use X11 over getting access to Matlab from outside the compter labs?

      --
      Please correct me if I got my facts wrong.
    34. Re:11 Years? by Anonymous Coward · · Score: 0

      Sysquake has good Matlab compatibility and native GUIs on Mac (Cocoa), Windows and Linux (GTK+). Its language is the basis of innovative applications, not only a clone of Matlab: Sysquake provides interactive graphics and easy GUI development, LyME runs on Palm handhelds, and Sysquake for LaTeX (just released) provides seamless integration of graphics and computation results directly from .tex files.

    35. Re:11 Years? by Dr.+Tom · · Score: 1

      Wow, a PERL GUI? Think fighter-pilot cockpit: fifty buttons and dials, each marked with an arcane function name. It's probably really powerful, if you could only figure out how to use it.

    36. Re:11 years? by j-pimp · · Score: 1

      "Hey, cool, KDE replacing explorer."

      Hrm good point. I think the KDE explorer might be a good replacement for explorer. Depending on how well konqueror handles gmail and google reader, firefox might stop being my daily browser.

      --
      --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
    37. Re:11 Years? by plague3106 · · Score: 1

      or run it off a Solaris server (X11 forwarding, leaving Windows and most Apple users out of the loop)

      Huh? Why would Windows or Apples users be left out? I did quite a bit of my class work sshed to a unix box from my Win95 computer.. with ability to run X applications locally. That was in '96.

    38. Re:11 Years? by Anonymous Coward · · Score: 0

      In the Python community, we think you are a real fag!

    39. Re:11 years? by tyrione · · Score: 1

      [completeConjecture:withReason]
      iTunes and Firefox aren't Desktop Environments. KDE is the competitor to Windows Desktop Environment. Two applications that run under Windows obviously wouldn't trump Windows. Two applications running with KDE would. If Apple wants to see Microsoft suck on it's nutsack, just see what happens if Apple releases iTunes for Linux and specifically via say, Qt 4.5 64-bit Cocoa port of Trolltech's Toolkit.
      [/completeConjecture:withReason]

  2. Finally... by Anonymous Coward · · Score: 0

    A Christmas gift we can ALL enjoy!

  3. Well, if they ever become competitive to Matlab. by ScrewMaster · · Score: 1

    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.
  4. 11 years? by Anonymous Coward · · Score: 1, Insightful

    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*

  5. Good and bad news by mangu · · Score: 5, Insightful
    The good news is that they are doing in a free way what the Matlab Co. has been charging (a lot!) for, which is distributing an API to use all those libraries the US Federal Government labs give away for free.


    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?

    1. Re:Good and bad news by macshit · · Score: 1

      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

      Er, sure matlab syntax sucks, but has any syntax inspired more flamewars than python's?

      --
      We live, as we dream -- alone....
    2. Re:Good and bad news by femtoguy · · Score: 1

      Two reasons.
      1. I know how to code in Matlab. I have spent the last 13 years writing matlab code, and it works well. It is especially good at writing vectorized code without having to think about it too much.

      2. I have a lot of working, tested code that I don't want to have to re-write. Much of it is special-purpose stuff, and I don't want to have to re-write it and then test it to make sure that it gives the correct answers.

      3. Sometimes languages that are good for one thing are not good for another. Most scientific code is still written in FORTRAN for the above reasons, but also because there are few cases where it is worse than C or C++, and several cases where it is better. Ironically, the lack of pointers, something that computer scientists think is terrible, is actually one of its strengths. If you are trying to parallelize a section of code, having a routine mess with array values through pointers renders the code unparallelizable.

    3. Re:Good and bad news by mangu · · Score: 1, Informative

      has any syntax inspired more flamewars than python's?

      I suppose you mean the spaces vs. tabs thing, maybe you're right, but no one can deny that Python has an extremely simple syntax.


      You can do anything with it, from HTML parsing to a game physics engine to 3d graphics to Excel spreadsheets to... you name it.


      Even if Python isn't quite enough for your needs, you can very easily link it with C language or Fortran modules in a trivial way.


      If I have an alternative that is, at the same time, simpler and more powerful, then why should I bother with this whole Octave/Scilab/Matlab mess?

    4. Re:Good and bad news by betterunixthanunix · · Score: 4, Insightful
      Matlab syntax is weird, but sometimes you are forced to work with other people who may be using Matlab. Python is not universal, 95% of the world's computers (that is to say, the ones running the most popular desktop OS) still do not ship with a Python interpreter, and many engineers are using Windows systems with Matlab and neither Python nor PERL environments.

      Like Windows, Matlab has become too popular for everyone to just drop and move on to some other platform. Python may be great, maybe even for scientific computing, but Matlab is just what people are used to. It is good that Octave exists as a free software clone of Matlab -- a great way to show people (my fellow engineers included) that it is entirely possible to live without proprietary software, and a great way to bring non-programmers into the free software movement.

      --
      Palm trees and 8
    5. Re:Good and bad news by fedtmule · · Score: 1
      Ironically, the lack of pointers, something that computer scientists think is terrible, is actually one of its strengths. If you are trying to parallelize a section of code, having a routine mess with array values through pointers renders the code unparallelizable.

      You may be over-generalizing here. Not all computer scientists think that pointers is a wonderful idea. Take a look at Haskell. A language pretty much invented and maintained by computer scientists. To be earnest Haskell do have pointers, but they are almost exclusively used to interface with other programming languages. Mostly C. In ordinary Haskell code you never see any pointers.

      And the reason you mention for not having pointers, is just one of the reasons a lot of computer scientists do not like them.

    6. Re:Good and bad news by grrrgrrr · · Score: 1

      To all the people who do not like python's syntax I like to say start indenting your java,ruby,c code for a while and yuo will see that that will improve readability a lot.

    7. Re:Good and bad news by mangu · · Score: 2, Informative

      95% of the world's computers (that is to say, the ones running the most popular desktop OS) still do not ship with a Python interpreter

      Then I have great news for you, there's single package that you can download for free and it will install everything you need to develop scientific programs in Python in a Microsoft computer.


      Even if you have years of experience in Matlab, try it, you have nothing to lose. Wherever possible, they made the function calls the same as Matlab's.

    8. Re:Good and bad news by Anonymous Coward · · Score: 0

      lack of pointers
      Not anymore! Fortran 90 has pointers, and Fortran 2003 adds function pointers. It's been years since I've used Matlab, but I know it has function pointers. Don't think it has plain ol' pointers though.
    9. Re:Good and bad news by samkass · · Score: 5, Insightful

      The good news is that they are doing in a free way what the Matlab Co. has been charging (a lot!) for

      But taking their time at it. Don't get me wrong-- I'm glad open source exists. But this project kind of supports the idea that open source can't really innovate, only follow (sometimes far) behind what proprietary companies invent. It would have been really interesting to see what some of the open source folks could do if their goal was to surpass MATLAB instead of be an almost-free version that's almost as good as something that people almost like to use.

      --
      E pluribus unum
    10. Re:Good and bad news by Anonymous Coward · · Score: 1, Funny

      Is your python code as unreadable as your English?

    11. Re:Good and bad news by timeOday · · Score: 1

      Python [python.org] 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?
      The whole point of special-purpose languages like matlab is to make it easier to write certain kinds of programs. Is Python really better than Matlab for matrix manipulation?
    12. Re:Good and bad news by chromatic · · Score: 1

      no one can deny that Python has an extremely simple syntax.

      Have you ever used decorators or nested list comprehensions?

    13. Re:Good and bad news by Verte · · Score: 1

      Two reasons. Fencepost error? :)

      I have spent the last 13 years writing matlab code There are a lot of people like you, and of course that is the point. I avoid matlab where I can, but considering the sheer number of lines of matlab code used in industry, you can't be rid of it completely. Besides, if your office is using matlab, you usually have little choice besides Octave and Matplotlib.

      It is especially good at writing vectorized code without having to think about it too much. Well, that's a good point. Python as a language does not have any inherent problem that prevents it from doing those sorts of optimisations in the background, but none of the current implementations do. They have all been written from a single threaded point of view (see discussions on the Global Interpreter Lock for the C Python case).

      However, if you're using Numpy, the situation isn't so dire. It uses the system's math libraries for matrix manipulation among other things, so only these need to be parallelised (as they do for FORTRAN or C code, so they almost always are).

      If you are trying to parallelize a section of code, having a routine mess with array values through pointers renders the code unparallelizable [sic]. Actually, that's usually the only way to write parallel code in C :) but you are right, that means it needs to be written to be parallel explicitly.

      I should also point out that it is very easy to get FORTRAN and C to play nice with Python, often easier than writing more FORTRAN or C code.
      --
      We at slashdot are scientists, specialists and kernel hackers. Your FUD will be found out.
    14. Re:Good and bad news by CaptainPinko · · Score: 4, Insightful

      I suppose you mean the spaces vs. tabs thing, maybe you're right, but no one can deny that Python has an extremely simple syntax. You can do anything with it, from HTML parsing to a game physics engine to 3d graphics to Excel spreadsheets to... you name it. You've also just described Lisp/Scheme (i.e. simple syntax and (a) languages(s) you can do anything with))... but switching to their syntax would be quite contentious. If you are gonna argue for a syntax switch you are going to have to have better points than that, especially when the default is (near-)compatibility with a popular product with a large codebase out there.
      --
      Your CPU is not doing anything else, at least do something.
    15. Re:Good and bad news by JanneM · · Score: 1

      So go take a look at SciLab or other projects whose explicit goal is not compatibility with an existing closed system. Octave can by its very nature not innovate beyond what is possible within the restraints of compatibility (and for some inexplicable reason can't seem to drop gnuplot either, despite it being the cause of most of the remaining compatibility problems).

      --
      Trust the Computer. The Computer is your friend.
    16. Re:Good and bad news by Anonymous Coward · · Score: 0

      This is a MyMiniCity link. Please treat the poster with utter disdain, and ignore the comment.

    17. Re:Good and bad news by Anonymous Coward · · Score: 0

      If you know that many people that do not indent their code, then you need to move in different circles.

    18. Re:Good and bad news by Verte · · Score: 1

      The short answer is yes.

      Python does not get the benefit of syntactical sugar purely for the purposes of matrix manipulation- for example, matrix multiplication in scipy/numpy is a = matrixmultiply(b,c). However, Python is far more powerful (especially with libraries such as scipy) and simple to use in general, and in any real world application it makes a big difference. Python is the sort of language you don't actually have to think about- you think about the problem rather than how to solve it using the pathetic set of matlab tools. It's really more on par with Mathematica in terms of power and simplicity of code (albeit without symbolic manipulation, which is where Mathematica shines- but then there's always Sage ;-).

      --
      We at slashdot are scientists, specialists and kernel hackers. Your FUD will be found out.
    19. Re:Good and bad news by j-pimp · · Score: 1

      To all the people who do not like python's syntax I like to say start indenting your java,ruby,c code for a while and yuo will see that that will improve readability a lot.

      I think the point is forcing you to indent a certain way. I will admit I've seen really badly indented code in many langiuages. I also admit that I usually end up writing code to match my IDEs beautifyer. However, sometimes I want the option to indent how I want to. For example. for long parameter lists for a function I want to be able to place the parameters on the next line indented by on tab, and when I want to split that line futher, each subsequent line will be indented by one tab and one space.

      --
      --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
    20. Re:Good and bad news by Breakfast+Pants · · Score: 1, Informative

      Huh? Python doesn't demand anything of your indention of parameter lists, anything in any kinds of braces (parameter lists are in parenthesis in Python) is complete free form.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    21. Re:Good and bad news by Dr.+Tom · · Score: 1

      Octave actually fixes a lot of the brain damage in Matlab. If you (like me) are forced to work with old matlab codes, then it's actually nice to be able to write in a "cleaner" syntax. Not to mention that it works on my laptop at home for free.

    22. Re:Good and bad news by Just+Some+Guy · · Score: 1

      Have you ever used decorators

      Writing decorators isn't always the most straightforward task, but using them is dead simple. If you have a decorator named trace, for instance, you can use it like:

      @trace
      def foo(): print 'This function call is being traced.'

      Maybe trace is hideously complex, but you, the user, don't have to see it - you just get the straightforward usage pattern.

      or nested list comprehensions?

      Those correlate exactly to nested function calls ("composition" for compsci/math types):

      a = [foo(x) for x in [bar(y) for y in range(10)]]

      isn't any more complicated than:

      a = foo(bar(range(10))
      --
      Dewey, what part of this looks like authorities should be involved?
    23. Re:Good and bad news by chromatic · · Score: 1

      I'm familiar with both, and I have no problem with them as features, but I don't consider them "exceptionally simple", syntax-wise. Don't get me started on double-underscores and slots....

    24. Re:Good and bad news by highacnumber · · Score: 1

      Exactly. That's why sage will win in the not-too-distant future.

    25. Re:Good and bad news by Anonymous Coward · · Score: 0

      So now in C/C++ hints can be given to the compiler that no aliasing takes place, ie. restrict.

    26. Re:Good and bad news by martin-boundary · · Score: 1
      Well, that's a no then.

      Anybody who proposes a = matrixmultiply(b,c) for an interactive numerics package simply has no clue about numerics. There's a reason why real mathematics writes that expression as A=BC, it's so that the notation gets out of the way as much as possible. This is vital when you get to do _real_ computations instead of toy examples.

      Your python notation will fail miserably when it's time to write down an expression such as AB^{-1}Cu + DEFQF^{-1}v, which might be a matrix component of some function being evaluated. Matlab/Octave is popular precisely because its notation is fairly close to what's written in the textbooks.

    27. Re:Good and bad news by Anonymous Coward · · Score: 0

      Slower response time is inherent in the nature of open source development, unless funded. As for innovation, in software like this there are basic abilities that are needed first and often times are requisites for more advanced abilities. A lot of the potential applications for Matlab will go commercial rather than wait for/develop open source - the goal is often to get a particular job done. Matlab does a great many jobs very well indeed - it is very impressive software. There is a reason open source duplication and innovation in these fields is slow - this is HARD stuff.

    28. Re:Good and bad news by Anonymous Coward · · Score: 0

      Why would you want to censor a classic? That was great!

    29. Re:Good and bad news by ScrewMaster · · Score: 1

      There is a reason open source duplication and innovation in these fields is slow - this is HARD stuff.

      And it will get even slower once lawyers and software patents start getting involved.

      --
      The higher the technology, the sharper that two-edged sword.
    30. Re:Good and bad news by rasputin465 · · Score: 1

      The short answer is yes.

      You spelled 'no' wrong. The parent of your comment had exactly the right point. Python may be great as a general scripting language, but for specifically math/statistical applications, Matlab is wonderful. You say that "Python is the sort of language you don't actually have to think about- you think about the problem rather than how to solve it", but that's exactly true for Matlab. Matlab syntax is completely intuitive, provided you bother to learn the syntax. I've known plenty of people who came to Matlab, hated it, but then after a couple months started to love it. That is, of course, if they didn't have to pay for it.

    31. Re:Good and bad news by Beetle+B. · · Score: 1

      Well, that's a no then. Actually, it's a yes. Just specify your variable to be a matrix, and you can use your nice A*B syntax.
      --
      Beetle B.
    32. Re:Good and bad news by Beetle+B. · · Score: 1

      Matlab syntax is completely intuitive, provided you bother to learn the syntax. I've known plenty of people who came to Matlab, hated it, but then after a couple months started to love it. I came from the MATLAB world, and learned Python, and then NumPy/SciPy.

      The original poster is correct. Python/NumPy syntax is more natural than MATLAB's. Much more so.
      --
      Beetle B.
    33. Re:Good and bad news by Sebastien_Bailard · · Score: 1

      This future is some time after sage gets into the package repositories, I imagine.

      I gave sage a try, downloaded the 200MB+ tar ball and tried to run it the program.
      No fucking luck; missing some math fonts. Sigh.

    34. Re:Good and bad news by YU+Nicks+NE+Way · · Score: 1

      Noting makes up for the need to figure out exactly how many spaces I need to tab out to get out of a given block. And I write lots of Python, and pressure other people to use it when appropraite.

      But undelimited loops? Yeah -- stupid.

    35. Re:Good and bad news by mhansen444 · · Score: 1

      The math fonts are not really necessary. Everything will run fine without them. If you do want them, there are instructions on how to install them on the jsmath website.

    36. Re:Good and bad news by shura57 · · Score: 1

      Python may be great as a general scripting language

      Scripting has nothing to do with it. Python is a great language. True, it is not compiled, but then neither is MATLAB. I tried both for quite a while. In my opinion, Python beats MATLAB hands down. It is equivalent or better in purely numerical computations, and is actually sane for other programming as well.

    37. Re:Good and bad news by RAMMS+EIN · · Score: 3, Interesting

      ``But this project kind of supports the idea that open source can't really innovate, only follow (sometimes far) behind what proprietary companies invent.''

      I don't know how _one_ open source project copying a proprietary project is supposed to support the idea that open source as a whole can't really innovate. Reasoning that way is completely bogus.

      ``It would have been really interesting to see what some of the open source folks could do if their goal was to surpass MATLAB instead of be an almost-free version that's almost as good as something that people almost like to use.''

      I agree with you, and a lot of open source development does exactly that. Or implements things that there is no proprietary software for. But Octave, like a lot of other GNU software, has a different goal, apparently: allowing users to take their MATLAB code and run it using only Free software. That's a worthwhile goal, too. Although it's not something I'm personally interested in - and, apparently, not something many people are interested in at all, or progress would be quicker (either in Octave or in a sister project fueled by developers who resent Octave's slow progress).

      --
      Please correct me if I got my facts wrong.
    38. Re:Good and bad news by RAMMS+EIN · · Score: 1

      ``Python is not universal, 95% of the world's computers (that is to say, the ones running the most popular desktop OS) still do not ship with a Python interpreter, and many engineers are using Windows systems with Matlab and neither Python nor PERL environments.''

      That's a weird line of reasoning. Python is "not universal" because "95% of the worlds [desktop] computers ... do not ship with a Python interpreter. And this is somehow an argument for using Matlab syntax...even though _100%_ of desktop computers don't ship with a Matlab interpreter!

      I do agree with your assessment that Matlab compatibility has its merits; I just wanted to point out that your reasoning is ... funny.

      --
      Please correct me if I got my facts wrong.
    39. Re:Good and bad news by rm999 · · Score: 1

      SciPY already exists - we don't need two open source solutions for the same thing. Octave fills a huge niche for people who have matlab programs and want to run/modify them for free. Matlab syntax may be terrible, but it has been a standard in so many scientific and engineering fields for so long, you won't be able to replace it by wishing you could. Instead, we should just offer these people a reasonable alternative, and develop sciPY separately.

    40. Re:Good and bad news by RAMMS+EIN · · Score: 1

      ``Ironically, the lack of pointers, something that computer scientists think is terrible, is actually one of its strengths.''

      Err...well, maybe. I don't know the opinion of _all_ computer scientists, but I am one, and I think pointers are terrible. I mean, on a low level, you need them, but you really shouldn't be writing application code on such a low level. In a well-designed language, the only power pointers would add that you don't get without them is the power to access memory in ways you shouldn't be accessing it. Besides crashing your program and introducing security holes, this also makes optimization more difficult.

      The thing with C is that the language, that is, the type system and the abstractions it offers, is so weak that you _need_ pointers to get all but the most trivial algorithms to work at all. But C is actually one of the few languages still in common use that exposes pointers, and is actually rarely used in computer science these days. For implementation work, yes, but rarely for actually communicating concepts, as far as I know.

      All in all, I think you will find that the idea that "computer scientists find the lack of pointers terrible" is just plain wrong.

      --
      Please correct me if I got my facts wrong.
    41. Re:Good and bad news by Anonymous Coward · · Score: 0

      Oh, noes! The Python trolls are out! Duck and cover!

      Seriously. Python seems the language with the biggest marketing department out there.

    42. Re:Good and bad news by Mathinker · · Score: 1

      No, and most casual users of Python don't need to.

      I use Python a lot, and I have to agree with mangu that its syntax is a lot simpler than many alternatives I've looked into (or used) like Lisp, Scheme, or even Perl (and yes, I'm sure there are a gadzillion other languages I haven't managed to look into yet, including PHP, Lua, and others).

    43. Re:Good and bad news by insignificant1 · · Score: 5, Insightful

      Wow. The leagues of uninformed.

      You think there are two things here, Matlab and Octave. Matlab is proprietary, and Octave followed it. It's as simple as that to you.

      But wait, where does much of the meat in Matlab come from? Netlib. OPEN SOURCE! HAHAHAHA (Some of the Netlib code has license restrictions, some does not.)

      http://www.netlib.org/

      What does Matlab use for optimized BLAS routines to run super-quick on your Windows/Linux/Mac? ATLAS. Check out the Sourceforge page:

      http://math-atlas.sourceforge.net/

      The really important thing for me is that now that Octave is out there (actually, Octave has been around since about 1994), the explorations that I made in undergrad in Matlab can be done entirely in Octave now and forever. A good tool doesn't get worse as it gets old, it just gets used more.

      If there was once a patent on hammers, there is no less usefulness in (but much lower prices on) hammers after the patent expires. Now we get much of Matlab's functionality completely free. Congratulations John Eaton, et al., for giving all who follow another tool to use freely to build bigger and better tools.

      And as others have mentioned, if you don't like Matlab/Octave, use another tool that tried to accomplish the task of a high-level numerical tool in a different way. To me, however, I can code up an algorithm, test out concepts, and produce incredibly helpful visualizations in a matter of minutes using Matlab or Octave. Any tool this powerful has a learning curve to get over before it is so efficient, and I climbed that learning curve with Matlab, but I was able to use Octave immediately because I had already gone through that process using Matlab.

      If you made a completely innovative new tool, it likely wouldn't be worth it for me to use for a while because I am so fast at coding Matlab/Octave, and the whole point in these tools is to make the programmer's job easy (if I wanted fast code execution, C or Fortran could be used).

    44. Re:Good and bad news by Anonymous Coward · · Score: 0

      I came from the Matlab world, learned Octave, learned Python, learned NumPy, and the you and the original poster are wrong.

      Octave is more natural than Python/NumPy. Much more so.

      Just kidding. Who cares? I am faster in Octave and feel it is more natural than Python/NumPy, and you might be faster in Python/NumPy. And we might live in the same world and both be perfectly rational people. Fuck language religions.

    45. Re:Good and bad news by gbarta · · Score: 2, Insightful

      The comment about lack of pointers in FORTRAN made by the grandparent doesn't mean what you think it does. It refers to indirect access to values and goes for references just as well as pointers. It has nothing to do with garbage collection and little to do with pointer arithmetic. The statement that "computer scientists find the lack of pointers terrible" is likely to refer to the algorithmic benefits of indirection, not a desire to shoot themselves in the foot with pointer arithmetic or the like.

      The reason it might be seen as a strength is that since FORTRAN doesn't have pointers, FORTRAN compilers generally don't have to deal with something called 'pointer aliasing' (which could just as easily be called reference aliasing, again it has to do with inderection and is nothing to do with GC or pointer arithmetic) and so can often assume that two different variables must have independent values and can make many low-level optimizations that other languages cannot make so easily.

      This includes pulling values from memory into registers and changing their values in the register without having to worry about the potiential other references to this memory (the aliases) becoming being out of date.

      It also includes being able to use hardware vectorisation without having to make as many checks that memory does not overlap in two array sequences.

      It probably includes other things as well, but you would have to ask a compiler writer or maybe a FORTRAN programmer, sadly I am neither.

      (PS I think this all refers to older versions of FORTRAN; I am pretty sure recent versions do in fact have pointers to allow enough indirection to keep the computer scientists happy.)

    46. Re:Good and bad news by Anonymous Coward · · Score: 0

      Dude, all of those things can be done in *any* language (any that's Turing-complete, anyway) - even Brainfuck qualifies. It's funny that you apparently consider "it's possible to do X" as something that counts in favour of a language (as opposed to "it's easy to do X", for example), but I guess if you're a python adherent, I shouldn't be surprised.

    47. Re:Good and bad news by jbolden · · Score: 1

      Huh? The syntax of Python is simpler than Scheme? I can write a Scheme evaluator in radically different languages in at worst a few hundred lines of code, in fact writing a scheme is a standard comp sci 2 day exercise. Python would take a few thousand lines and moreover and probably months to write. Similarly with Lisp.

      You should watch Apply Eval from SICP.

    48. Re:Good and bad news by nguy · · Score: 1

      1. I know how to code in Matlab. I have spent the last 13 years writing matlab code, and it works well. It is especially good at writing vectorized code without having to think about it too much.

      That shouldn't be a big obstacle; SciPy supports all the core Matlab functions using Matlab's function names. Your expertise will carry right over.

      2. I have a lot of working, tested code that I don't want to have to re-write. Much of it is special-purpose stuff, and I don't want to have to re-write it and then test it to make sure that it gives the correct answers.

      That's sort of a valid argument; however, converting code from Matlab to SciPy isn't hard, and it often improves the code. Also, there are ways of integrating Octave and Python.

      3. Sometimes languages that are good for one thing are not good for another.

      Sure. But the Python language is actually very good for scientific computation, better than Matlab in my experience.

      Ironically, the lack of pointers, something that computer scientists think is terrible,

      Computer scientists generally don't like pointers either. The only people who like them are C and C++ hackers, only a few of which happen to be computer scientists.

    49. Re:Good and bad news by educated_foo · · Score: 0

      Matlab syntax is weird, but sometimes you are forced to work with other people who may be using Matlab.
      This is the point, which the OP completely missed: In some fields, many useful algorithms are implemented in Matlab, so you need something like Matlab to run them. Plus, Python's just not that great, especially as an array language.
    50. Re:Good and bad news by gzipped_tar · · Score: 1

      Poor scipy.org. It seems to be slashdotted.

      And by baiting /., GNU Octave won over SciPy this time. :P

      --
      Colorless green Cthulhu waits dreaming furiously.
    51. Re:Good and bad news by cycoj · · Score: 1

      I disagree. Matlab syntax gets in the way all the time. Take your A=BC example. This is probably the case where most of the debugging takes place simply because sometimes you mean piecewise multiplication and sometimes matrixmultiplication and no the dot is not a good solution because it's way too easy to overlook. The main cause of any sort of matlab problems is a dot which was accidentally forgotten or placed and that can take quite a while to debug especially if it's not your own code. Second thing, the stupid index counting, you have to mess with -1 or +1 all the time when dealing with loops and arrays, another great source of problems. The list could go on.

    52. Re:Good and bad news by Breakfast+Pants · · Score: 1

      First I hope you are using and editor which can essentially treat spaces as tabs =). You bring up a decent issue, if you are getting out of multiple blocks it is hard to know how many indention levels you need to escape, but the same issue exists with "end"'s or any other scheme, you don't know how many you need to get to the place you want to be without remembering or going back and looking. And since python doesn't require "end"'s or closing braces, you typically have such a better use of vertical space that you don't have to scroll.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    53. Re:Good and bad news by YU+Nicks+NE+Way · · Score: 1

      The existence of an explicit delimiter allows Emacs (or VS or Eclipse or ...) to highlight the corresponding opening delim in algol-syntax languages. Python? Not so much.

    54. Re:Good and bad news by femtoguy · · Score: 1

      I suppose that I need to look at SciPy. My biggest thing that I depend on is the fminsearch function. It is a completely minimization function that can be used in really interesting ways, including doing non-linear minimization using functions that include convolutions. This something that I really haven't found anything else for. What really makes me slow to move is that my university just negotiated a site license, so MATLAB is free, increasing my dependance on the program.

    55. Re:Good and bad news by nguy · · Score: 1

      My biggest thing that I depend on is the fminsearch function.

      Fminsearch is just the Nelder-Mead simplex algorithm. It, and many other optimization methods, can be found in this SciPy package:

      http://www.scipy.org/doc/api_docs/SciPy.optimize.html

      It's generally not a good idea to rely just on Nelder-Mead; there are many problems for which it simply doesn't yield good results.

      What really makes me slow to move is that my university just negotiated a site license, so MATLAB is free, increasing my dependance on the program.

      It may seem "free" now, but the more you get addicted to it, the more Mathworks can charge you later, and they will. It's least expensive to kick the habit early on.

    56. Re:Good and bad news by Mathinker · · Score: 1

      OK, you have a good point; we are just considering two totally different simplicity metrics. it seems to me that by your metric, Forth, a language I admire a lot, would be a big winner; but my metric has to do with how simple the language is to learn and use for a "non-power" end user, not how simple it is to implement.

      This thread is (originally) about using Python as a scripting/control language for a scientific computation package; many users won't be Comp. Sci. majors and I'm pretty sure that it would take some extra effort for them to use a functional language like Scheme as compared to Python, where they would at least have infix notation for the familiar operators.

    57. Re:Good and bad news by jbolden · · Score: 1

      OK I'm glad we agree to that. Now I certainly agree that Python would feel much more natural to someone at first. But I'd argue that Scheme is easier to implement because asks you to remember so little. All you have to do is learn a few concepts and you understand there is to understand about Scheme. Moreover those concepts are consist with mathematics (like currying for example). So I would still argue that the non power user with low comp sci training would be more powerful in scheme after say 200 hours than in python. No question the first 20 hours are better in python.

  6. Help them by wikinerd · · Score: 2, Informative
  7. Not entirely compatable by Anonymous Coward · · Score: 4, Insightful

    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.

    1. Re:Not entirely compatable by Anonymous Coward · · Score: 0

      I don't know or use metlab but could you please explain what this provides? -- Why do I want a WLAN implementation in a maths tool? -- surely the physical layer shouldn't matter?

      Forgive my ignorance.

    2. Re:Not entirely compatable by Anonymous Coward · · Score: 0

      Ouch! A moron who writes 'compatable' has students!? That hurts. Dude, 'compatible' has nothing to do with eating.

  8. 11 years? by Junior+J.+Junior+III · · Score: 4, Funny

    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!
  9. No JIT a showstopper?? by serviscope_minor · · Score: 1

    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.
    1. Re:No JIT a showstopper?? by 0100010001010011 · · Score: 1

      Matlab is short for MATrix LABoratory. There's a reason it sucks for loops and is slow. It's not what it was designed for. It'd probably be cheaper yet to hire an engineer that knew how to vectorize stuff.

      I was young and stupid once. I thought the Way was with for loops. Then I started to run into bad stuff. I ran profiler on a few of my scripts and found that loops suck.

      Say I have to find something with a hundred thousand or so data points. (We have .MAT files into the GBs).

      Say I need to find a certain condition, there are 2 ways.

      for i=1:length(var)
        if 100060&rpm60
      if rpm1200
      if clutch==1
      coasting(j)=time(i);
      j=j+1;
      end
      end
      end
      end

    2. Re:No JIT a showstopper?? by 0100010001010011 · · Score: 1

      Dang it, even though I had "Plain old text" it still is reading the < and >

      There are 2 ways to find times when RPM60 and clutch=on
      Slow:
      for i=1:length(speed)
      if rpm(i)<1200&&speed(i)>60&&clutch(i)==1
      coasting(j)=time(i)
      end

      OR the fast way
      coasting=time(rpm<1200&speed>60&clutch==1);

      Time savings enters the tens of seconds with large data sets.

    3. Re:No JIT a showstopper?? by rasputin465 · · Score: 1

      Yes, that's why you vectorize your loops... it's what Matlab was made for. And if you can't (or don't want) to vectorize, your write a mex function and call it from within a matlab script (or the command line).

    4. Re:No JIT a showstopper?? by serviscope_minor · · Score: 1
      For heaven's sake, is it too much for you to read the symmary? It's not even like you have to click on a link.

      Quote:

      UI development is underway, but still no JIT compiling, which is a show-stopper for Octave newbies coming from MATLAB with unvectorized code


      MATLAB is notoriously slow at loops. So how is it a showstopper if octave is slow as wel? They both use C or FORTRAN for all the heavy lifting.

      "Yes, that's why you vectorize your loops" is not an answer because it MAKES NO SENSE given the question.

      And please, no "you must be new here jokes". Now I've left myself open for that one.
      --
      SJW n. One who posts facts.
    5. Re:No JIT a showstopper?? by rasputin465 · · Score: 1

      For heaven's sake, is it too much for you to read the symmary? It's not even like you have to click on a link.

      No, it's not too much, I read the summary+TFA quite thoroughly. Is it too much for you to mentally parse responses to your comments before replying? My point was that if you code in Matlab correctly, you don't really need JIT. Hence it's absence should not be a showstopper for Octave.

    6. Re:No JIT a showstopper?? by Neil+Jansen · · Score: 1

      Try the 'Preview' button next time ;)

  10. 11 years to switch between 2.0 and 3.0 by coryking · · Score: 3, Interesting

    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.

    1. Re:11 years to switch between 2.0 and 3.0 by coldcell · · Score: 1

      Version numbers don't matter to Joe User, neither do year stamps (which would be broken if there's >1 release per year). I'm pretty sure all he wants is "the latest, newest, non-crashing version". Full version numbers should only matter to users when reporting bugs, or when specifically wanting an older build. Instead of Firefox 2008, it's simpler just have "Firefox", and let that be the name of the latest public stable release.

      --
      Launchy.net changed my world.
    2. Re:11 years to switch between 2.0 and 3.0 by Aladrin · · Score: 1

      Yeah, because so many non-OS products did well with that... Windows 95, Office... Wait.. Yeah, that was a fad. It went on to even more cryptic naming with letters and then full words so you -really- can't tell what order they came in after all.

      When you look at Octave 2.0 and 3.0, you -know- which one came out first. That's all that matters. The year means nothing at all, and even the numbers they -do- use are picked arbitrarily. There's no science, it's just what they feel like. For instance: "I feel we've added enough features that it warrants a new number." (Yes, sometimes a new number is chosen after a complete rewrite.)

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    3. Re:11 years to switch between 2.0 and 3.0 by JohnFluxx · · Score: 4, Informative

      For a lot of projects, the major number indicates binary compatibility.

      For example, in KDE 3, a KDE 3.0 app would run on the latest KDE 3.5.8 libraries, but not on KDE 4.

      The second number indicates new API. a program written for, say, KDE 3.5 might not work on KDE 3.4 if it uses any of the new functions.

      The third number is just minor patches and fixes, and shouldn't break anything.

    4. Re:11 years to switch between 2.0 and 3.0 by HiThere · · Score: 1

      That's simple, you just use the month as a decimal version...07.10 for example. You could write it 2007-10 or 7.10 or 7/Oct. They'd all mean the same thing.

      And if you have two releases in the same month (say an important bug fix) you could have 2007.12.07 & 2007.12.09. If you need tighter specs you could even append hour, minute, and millisecond (UTC, of course), but that seems rather silly for a public release.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    5. Re:11 years to switch between 2.0 and 3.0 by swillden · · Score: 2, Informative

      The third number is just minor patches and fixes, and shouldn't break anything.

      To be very precise (at least for libraries that use this scheme):

      There is no compatibility across major number versions. Applications built against a library of one major version are not expected to run with libraries of any other major version. API changes of any sort are allowed. Interfaces may be changed, added or removed.

      There is forward compatibility across minor versions. An application built against library version x.y.z will run with any library with minor number y or greater. This means that API extensions are allowed, but API changes or removals are not.

      There is forward and backward compatibility across sub-minor versions. An application built against library version 3.5.8 will run with library 3.5.1. This means that API changes of any sort are disallowed.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    6. Re:11 years to switch between 2.0 and 3.0 by zsau · · Score: 1

      Not an insurmountable problem. For marketing purposes you could say it is based on KDE 2003 ("Kackle 2007 is a laugh generator for KDE 2003"). For technical purposes you would say it requires libkde 3.5 or greater ("Installing: Kackle 2007 is included in most distributions; simply use the standard method. If you need to build it yourself, you will need libkde 3.5 or greater to compile and install it").

      For most users who'll only read the marketing stuff anyway, the technical details of which precise library version it requires is irrelevant.

      Windows does much the same thing: Check how many programs require XP Service Pack 2 or 2000 Service Pack 4 or something.

      --
      Look out!
    7. Re:11 years to switch between 2.0 and 3.0 by SPickett · · Score: 1

      So, maybe you can standardize open source version numbers across as many packages as possible. It could be they year then the existing version number. For example, KDE 2007.3.5.8 or Linux 2003.2.6.0. Yes, they are long version numbers, but you don't need to use the entire number just as you don't today. You probably say you run Firefox 2 or KDE 3.5 unless the full version number is important. You could continue to abbreviate the version number. The advantage would be people who run a couple of open source programs, say OpenOffice 2007.2.3.1 and Firefox 2007.2.0.11 might notice the similarity and wonder if they were from the same company. With a little probing, they might discover there is an open source world out there and start searching for more such programs. (A consistent versioning system would also give you quicker info on the age of each of the products you're using.)

    8. Re:11 years to switch between 2.0 and 3.0 by koick · · Score: 1

      For what it's worth, since you don't mention it, this is exactly how Mathworks versions Matlab: current release is 2007b (of course, under the hood it is 7.5) and next one is 2008a.

  11. Octave is what Matlab should be by Strange+Attractor · · Score: 1

    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.

  12. Re:Good and bad news about SciPy by Anonymous Coward · · Score: 0

    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.

  13. Development accelerating by jpswensen · · Score: 4, Informative

    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.

    1. Re:Development accelerating by Anonymous Coward · · Score: 0

      Mod parent up. Score 5, Informative.

  14. cat gack by epine · · Score: 2, Interesting
    I was trying to preview my markup for this post, the preview function refused to work with a blank subject line, insulting me with "cat got your tongue?" so I'm posting under my working title.

    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?
    1. Re:cat gack by Constantine+XVI · · Score: 1

      In short, Octave is part of Sage. Sage is a collection of math tools bound together in a single program.

      --
      "I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
    2. Re:cat gack by mhansen444 · · Score: 2, Informative

      Octave does not come included with Sage, but Sage can make use of any installed version of Octave. There is a Sage spkg for Octave which can be installed by running the command "sage -i octave-2.1.73". With the new release of Octave, that spkg should be updated soon.

      For an interesting post by the lead developer of Sage (William Stein) on the relationship between Sage and Octave in terms of overall goals, see this http://sagemath.blogspot.com/2007/12/why-isnt-sage-just-part-of-octave.html

      --Mike (a Sage developer)

  15. Re:11 years?!?!?! Open Source **SUCKS** by larry+bagina · · Score: 1

    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.

  16. Re: You can do anything with it! by WeblionX · · Score: 3, Funny

    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!
    (")")
  17. That sucks too, but we have a winner. by r00t · · Score: 4, Insightful

    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.

    1. Re:That sucks too, but we have a winner. by Beetle+B. · · Score: 1

      Python behavior also presents difficult obstacles to optimization .

      It's quite easy to write the bottleneck in C/FORTRAN and incorporate that into a Python module.
      --
      Beetle B.
    2. Re:That sucks too, but we have a winner. by piojo · · Score: 1

      The LISP guy has a point, though that syntax is even uglier. (like being in a sensory deprivation tank) Thank you, that was beautifully put. I have never been able to concisely describe why I hate scheme, but I think I'll be able to, now.
      --
      A cat can't teach a dog to bark.
    3. Re:That sucks too, but we have a winner. by RAMMS+EIN · · Score: 3, Informative

      ``The LISP guy has a point, though that syntax is even uglier.''

      That's an old argument, but for the sake of people who haven't heard it before, I will enter the debate again.

      Lisp syntax is actually very beautiful for describing tree structures. And tree structures are very useful. For example, web pages have tree structures. And many types of relational data. And with the addition of references, trees can be used to describe graphs, and thus, all data and all relations. Oh! And lest I forget, computer programs!

      Now, why would you want to describe your program like a tree? Why would you want _everything_ to start with an open paren, then have a bunch of child nodes (which could be simple words or numbers, or could also start with an open paren, etc.), and finish with a closing paren? What is the advantage of this over having a bunch of curly braces, commas, semicolons, and infix operators thrown in for variety?

      Well, the advantage of Lisp syntax is that it is extremely regular. And this is good for analysis and transformations. And _that_ is what Lisp is all about.

      In most languages, you write your program in some complex surface syntax, which is then run through a complicated parser. The parser converts it into a tree (hey...wasn't there something about trees before?), and the compiler then performs all kinds of transformations on that tree. Transformations that are relatively easy to describe on trees, but not so much on the surface syntax of the programming language - that's why you generate the parse tree. Of course, this all happens behind the scenes. But not so in Lisp. In Lisp, your program already _is_ a tree the way you wrote it down. A convenient format for performing (and understanding!) transformations to be performed on the source code. And this is something Lisp programmers do all the time, and something that is rarely seen outside Lisp.

      I believe this is largely due to the difficulty of describing and understanding program transformations in other languages. Lisp has a very simple macro system; a macro takes a tree you wrote, and runs some Lisp code, and eventually returns a new tree. And then it is as if you had written that new tree instead of the old one. So, where in Java you will see code like...

      x.setFoo(y.getFoo());
      x.setBar(y.getBar());
      x.setBaz(y.getBaz()); ...in Lisp you will see something like...

      (copy-fields x y foo bar baz) ...which will be transformed into the code that actually does the copying. And where in Java you will see...

      FileInputStream stream = new FileInputStream("filename");
      try { // Do something with stream
      } finally { // Make sure stream is closed, even if an exception was thrown
          stream.close();
      } ...in Lisp you will see...

      (with-open-file (stream "filename")
          ; Do something with stream
          ) ...which is a macro that expands into the appropriate code.

      As it happens, the macro in the second example happens to be part of Common Lisp's standard library and the one in the first example doesn't. Of course, it can easily be written. What the macros have in common, however, is that they allow you to do the same things that the Java snippets do, but with less code, less repetition, and fewer weird characters. I don't know how you can not find that beautiful.

      --
      Please correct me if I got my facts wrong.
    4. Re:That sucks too, but we have a winner. by Anonymous Coward · · Score: 0

      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.


      Perhaps that was true two or three decades ago, but it's not true today, and hasn't been for quite a while.
    5. Re:That sucks too, but we have a winner. by m50d · · Score: 1

      The thing is, though, you can do all that wonderful transformational stuff in far more normal syntax, with e.g. python. If you have to compare your language to Java, the most horribly verbose and stupid language I have had the misfortune to program in (including assembler), to show that it's good, you're doing something wrong.

      --
      I am trolling
    6. Re:That sucks too, but we have a winner. by educated_foo · · Score: 0

      Thank you for demonstrating one pathetic thing about "OMG MACROS" advocates: the way they always trot out the same "with-foo" example. Yeah, it's a minor syntactic improvement over try/finally, but can't you think of something else?

    7. Re:That sucks too, but we have a winner. by RAMMS+EIN · · Score: 2, Interesting

      At first, I was going to ignore your comment as completely idiotic, but looking at some of your other posts I found a few good ones, so I feel you deserve a good answer.

      ``the way they always trot out the same "with-foo" example. Yeah, it's a minor syntactic improvement over try/finally, but can't you think of something else?''

      First of all: obviously I not only can, but _did_ think of something else; it's right in the very same post.

      Secondly, I don't agree that with-open-file is just "a minor syntactic improvement over try/finally". It opens the file _and_ makes sure the file is closed no matter what. It does the right thing in case an exception occurs, but, more importantly, you can't forget to write code to close the file...because you don't have to write anything more.

      Thirdly, I'd like to turn the "can't you think of something else?" around and turn it into an argument in favor of macros, instead of a baseless ad hominem. The beauty with macros is that they give you a very powerful abstraction mechanism. So that when you _do_ think of something else, you can implement that. Show me how to do the first example from my earlier post without macros. I can give you more examples of cases where macros are or would have been very helpful, but I'm not going to spend the time unless I am convinced you are actually interseted in learning, rather than bashing macro advocates for no reason I can fathom.

      --
      Please correct me if I got my facts wrong.
    8. Re:That sucks too, but we have a winner. by jbolden · · Score: 1

      wonderful transformational stuff in far more normal syntax, with e.g. python

      Not really and not the same way. In python it is very difficult to pass between code and data. He's right about the tree structures. The data structure is the code structure which means you don't have to keep data and code structures in sync with one another it happens auto-magically.

    9. Re:That sucks too, but we have a winner. by r00t · · Score: 1

      Oh, I know all that. I'm not giving up my curly braces. You can pry them from my cold dead hands.

      To a large degree, humans are visual pattern matching engines. When I look at normal code, each different language construct has a different sort of feel to it. Usually a variable declaration looks nothing like a loop, etc.

      LISP breaks all that. It doesn't let me take advantage of my human abilities. It forces me to deal with raw naked trees. That's a brutal productivity hit.

      BTW, there are other things I hate about LISP, but those are shared with everything from python to perl. I don't wish for my programs to drag along a whole damn compiler or interpreter as needed for "eval" functionality, I like being able to make system calls without having to beg a language vendor to support them, I like my inline assembly language, and I can damn well take out my own garbage.

    10. Re:That sucks too, but we have a winner. by GileadGreene · · Score: 1

      In most languages, you write your program in some complex surface syntax, which is then run through a complicated parser. The parser converts it into a tree (hey...wasn't there something about trees before?), and the compiler then performs all kinds of transformations on that tree. Transformations that are relatively easy to describe on trees, but not so much on the surface syntax of the programming language - that's why you generate the parse tree. Of course, this all happens behind the scenes. But not so in Lisp. In Lisp, your program already _is_ a tree the way you wrote it down.
      In fact (you probably already know this, but for the benefit of other readers), Lisp's S-expression syntax -- the familiar parenthesis-heavy stuff that looks like an abstract syntax tree -- started as just that: an abstract syntax for Lisp. The plan was originally to have a more ALGOL-like syntax for writing Lisp programs, the so-called M-expression syntax. But writing programs directly in S-expressions proved to be much more popular than M-expressions, possibly for some of the reasons you mentioned above.
    11. Re:That sucks too, but we have a winner. by educated_foo · · Score: 1, Interesting
      Well... thanks for the careful response. I guess I don't think Slashdot is a place to learn anything -- nonspecific online technical fora are flame-scorched wastelands -- but I'll try to be civil.

      I missed your other example, which is not clichéd like with-foo. However, it doesn't require macros in a non-broken language:

      sub copy_fields {
      my ($x, $y) = splice @_, 0, 2;
      $x->$_($y->$_) for @_;
      }
      Similarly, with-foo is usually written with a lambda rather than with macros in Scheme. Don't get me wrong -- I think macros are cool and useful. What I'm saying is that most examples fall into one of a few categories, and these are often well-served by other mechanisms (lambdas) or special syntax (decorators). Uses of macros that don't have non-trivial macro-free alternatives are harder to think of.
    12. Re:That sucks too, but we have a winner. by RAMMS+EIN · · Score: 2, Interesting
      Good job. That post shows that you are actually interested in getting things right, and not just in perpetrating whatever idea you have no matter what the facts are. It also shows you know what you're talking about. I am happy I decided to reply to your original post, and I apologize for the strong language I used.

      Now I will nitpick a bit, for the benefit of people reading this thread (yeah, right ;-) ) who want to have a more complete understanding of what is going on. It took me a bit to understand your code (which is very elegant, by the way), but what I eventually got was this (first repeating the code for completeness):

      sub copy_fields {
      my ($x, $y) = splice @_, 0, 2;
      $x->$_($y->$_) for @_;
      }

      This is a function which, when called, will assign its first argument to $x and its second argument to $y. It will then iterate over the rest of the arguments, and, for each argument, use it as a property on the object in $x and the object in $y, assigning the value of that property of $y to the identically-named property on $x.

      So, when you call the function like copy_fields($a, $b, 'firstname', 'lastname', 'birthday'); (I hope passing the field names as strings is the right way to do it in Perl; I'm not a Perl hacker), you will end up with $a->firstname being the same as $b->firstname, $a->lastname the same as $b->lastname, and $a->birthday the same as $b->birthday.

      In Common Lisp, you can write code that does exactly the same thing. For example,

      (defun copy-fields-function (x y &rest fields)
      (loop for field in fields
      do (setf (slot-value x field) (slot-value y field))))

      You can then call this function like (copy-fields-function a b 'firstname 'lastname 'birthday) and get the named fields from b copied to a, just like in the Perl code above.

      The above code uses regular functions (both in Perl and in Lisp). So, if copy-fields can be implemented as a normal function, why did I drag macros into this? Well, the difference between functions and macros lies in when things are evaluated.

      Astute readers will have noticed that the names of the fields in the call to copy-fields-function above have quotes in front of them, whereas the copy-fields in my original post took them without quotes. This is because, when you call a function, the arguments are evaluated first, and the values that result from that are passed to the function. So if you wrote (copy-fields-function a b firstname lastname birthday), you would be asking to pass the _values_ assigned to firstname, lastname, and birthday into the function, which would likely result in an error. Instead, putting quotes in front of the symbols causes the symbols themselves to be passed to the function, which is what you want in this case. (Without the quotes, the equivalent call to the Perl version would be copy_fields($a, $b, $firstname, $lastname, $birthday);).

      By contrast, arguments to macros are always passed to the macro as written, without evaluating them first. This is what allows macros to perform transformations on source code. Functions cannot do this, because, by the time the function actually gets to do anything, all its arguments will have been evaluated already. And this is an essential point, because it means that macros can control order of evaluation. The source code given as an argument to a macro may be evaluated once, more than once, or not at all. Thus, you can use macros to implement control structures, like conditionals, loops, pattern matching, etc. Or lazy evaluation. Or object systems. Macros allow you to extend the language...without having to modify the compiler. That's a lot of power for a single construct.

      Another thing to mention is that, whereas functions (at least semantically) do their work

      --
      Please correct me if I got my facts wrong.
    13. Re:That sucks too, but we have a winner. by TuringTest · · Score: 1

      Now I will nitpick a bit, for the benefit of people reading this thread (yeah, right ;-) ) I was ;-)

      Thank you for the effort. Now you are in my friends-as-slashdot-defines-it list.
      --
      Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
  18. You're right, it's not obvious by Anonymous Coward · · Score: 2, Informative

    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.

  19. Matlab and X11 forwarding by r00t · · Score: 1

    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.

    1. Re:Matlab and X11 forwarding by poopdeville · · Score: 1

      Uh, X11 comes with OS X. If I recall correctly, it's installed by default by the Leopard installer.

      Your fanaticism is showing.

      --
      After all, I am strangely colored.
  20. Still, "highly compatible with MATLAB"? by paleshadows · · Score: 1

    It seems that this is currently not the case

  21. Re:Well, if they ever become competitive to Matlab by 0100010001010011 · · Score: 4, Informative

    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.

  22. Re:meh by Anonymous Coward · · Score: 0

    actually, it's a true. Offtopic, but true.

  23. Re:Innovation. by Anonymous Coward · · Score: 0

    Ah! the innovation of open source.

    Copy a commercial product.

    Or clone things done before, such as all the old unix grep etc tools.

  24. you must be kidding by m2943 · · Score: 1

    Lack of JIT compilation is not a "show stopper"; MATLAB got along fine without it until fairly recently.

  25. Re:Well, if they ever become competitive to Matlab by ScrewMaster · · Score: 4, Insightful

    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.
  26. Running Sid(ux) on HP 2-core + sagemath by Anonymous Coward · · Score: 0

    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!

  27. Compatibility by Dr.+Tom · · Score: 2, Informative

    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!

    1. Re:Compatibility by Anonymous Coward · · Score: 0

      I don't like MATLAB a lot, but I use it for school assignments. I can tell you that you can place several functions in a MATLAB file, both in-serial and nested in each other. I don't absolutely know how that affects executing those functions from outside the file, but I know you can make a complex program inside one file if you like.

    2. Re:Compatibility by 0100010001010011 · · Score: 1

      'One function per file' was solved a little while ago. I don't exactly remember what version it was, but I've been putting multiple functions in a single m file for a few years.

      Second, I hate doing it because it goes against lots of many simple functions. When ever I start a new project I try and make numerous tiny scripts which are generic. Turns out I have started to reuse all my old code with out having to resort to copy and paste.

  28. Re:Well, if they ever become competitive to Matlab by Anonymous Coward · · Score: 0

    You do realize that it costs 1900 for a new single seat license of Matlab.

  29. Re:Well, if they ever become competitive to Matlab by Anonymous Coward · · Score: 3, Interesting

    > Define not "not treating customers well."

    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 .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:

    "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

  30. Re:Well, if they ever become competitive to Matlab by 0100010001010011 · · Score: 1

    $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.

  31. Re:Well, if they ever become competitive to Matlab by rasputin465 · · Score: 1

    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...

  32. Re:Well, if they ever become competitive to Matlab by ScrewMaster · · Score: 1

    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.
  33. Re:Well, if they ever become competitive to Matlab by ScrewMaster · · Score: 3, Insightful

    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.
  34. Re:Well, if they ever become competitive to Matlab by datan · · Score: 1

    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.

  35. Re:Well, if they ever become competitive to Matlab by ScrewMaster · · Score: 1

    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.
  36. Re:Well, if they ever become competitive to Matlab by datan · · Score: 2, Interesting

    about your first point regarding the audit letter--it may or may not simply be a coincidence.
    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 .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.

  37. Re:Well, if they ever become competitive to Matlab by steve_bedrick · · Score: 5, Interesting
    I bought a license for Matlab for my old PowerPC-based PowerBook about a year ago, and was initially quite pleased with Mathworks- the times I had to call them for support, they were helpful and responsive. All that changed when I switched to an Intel-based Mac a month or so ago. While moving all of my software over to my new laptop, I observed that most software companies used one of two possible approaches to the software redistribution problem:
    1. Release an Intel-compatible binary of their product, and make it available to current license-holders free of charge; or
    2. Take advantage of the opportunity to do a new major-version revision of their product, which license-holders would have to pay to upgrade to.

    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...

  38. Re:Well, if they ever become competitive to Matlab by DAldredge · · Score: 1

    We are reading it. We just think you are lying.

  39. Re:Innovation. by Anonymous Coward · · Score: 0

    Ah! the innovation of open source.

    Copy a commercial product.

    Or clone things done before, such as all the old unix grep etc tools.

    99% of the time, that's all anyone needs.
  40. Re:Well, if they ever become competitive to Matlab by Breakfast+Pants · · Score: 1

    You can just skip the upgrade and buy a new seat, which wouldn't be anywhere near 15k.

    --

    --

    WHO ATE MY BREAKFAST PANTS?
  41. Re:Well, if they ever become competitive to Matlab by Nexus7 · · Score: 4, Informative

    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?

  42. Re:11 years?!?!?! Open Source **SUCKS** by foreverdisillusioned · · Score: 1

    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.

  43. Re:Well, if they ever become competitive to Matlab by Anonymous Coward · · Score: 0

    Guess what my desktop runs now?

    Linux?

  44. But does it script Java/Swing? by Latent+Heat · · Score: 1
    The only thing I find Matlab useful other than it is the only thing my engineering students seem to want to bother to use is that it is a reasonably good Java scripting environment.

    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?

    1. Re:But does it script Java/Swing? by jpswensen · · Score: 1

      I believe there is a package in OctaveForge to allow the creation and use of Java object. At least I remember it being discussed on the mailing lists a while back. I'm not sure how it compares to Matlab's ability to create Java objects though.

  45. Python vs Octave by damncrackmonkey · · Score: 1

    Why not use both?

  46. Re:Well, if they ever become competitive to Matlab by Mathinker · · Score: 1

    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.

  47. JIT design by White+Flame · · Score: 1

    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.

    1. Re:JIT design by CoughDropAddict · · Score: 1

      I'm in the position of designing a JIT for my latest project (well not quite yet, but soon), and while I'm considering LLVM, I'm leaning towards DynASM. Why? DynASM is 27kb of source compressed and builds in zero time (it's just a few header files) whereas LLVM is a 4.8MB download and takes something like 15 minutes to build.

      I love the goals and scope of the LLVM project, I just wish it were a bit lighter-weight.

  48. Faith by cadeon · · Score: 1

    This release gives me faith that Duke Nukem Forever will eventually be released.

  49. Multiple dimensions ? by dargaud · · Score: 1

    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 ?
    1. Re:Multiple dimensions ? by shaiay · · Score: 1

      Octave has support for multidimensional arrays for quite some time now (at least a few years).

  50. Re:Well, if they ever become competitive to Matlab by insignificant1 · · Score: 2, Informative

    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.

  51. Re:Well, if they ever become competitive to Matlab by Camel+Pilot · · Score: 1

    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.

  52. 11 years by seeker_1us · · Score: 1
    Ok. How many years has it taken to go from linux kernel 2.0 to 3.0? About ten and counting right? Do you see my point?

    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.

  53. Re:DNF by aussie_a · · Score: 1

    I thought it was given a DNR?

  54. Too ba for Debian users... by agw · · Score: 3, Funny

    as it will take another 11 years for a Debian version to be released which then includes Ocatave 3.0.

  55. Re: You can do anything with it! by temcat · · Score: 1

    Well, if you don't buy Matlab and its toolboxes, you'll have plenty of money left for penis enlargement and Rolex purchase.

  56. wrong comparison by m2943 · · Score: 1

    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.

    1. Re:wrong comparison by Dr.+Tom · · Score: 1

      MATLAB isn't worth cloning; MATLAB sucks
      Yeah, my favorite line is that Octave is crap trying to imitate shit. I use Python/numpy for all new development. Much nicer. Still, they've put a lot of effort into Octave, and it really helps supporting old .m files. It's way easier to interface to stuff, it's scriptable, it doesn't fail halfway through because some guy down the hall snarfed one of the licences you need (yes that really happens with matlab), and it's just better.

  57. This is the reason that we run Octave by Realistic_Dragon · · Score: 2, Informative

    Date: Fri, 14 Jun 2002 11:14:42 -0400 Subject: Re: Case ID: ****** other

    This is in response to Case ID: ******

    Dear ******,

    Thank you for the additional information, unfortunately, MATLAB Student Version is only available for the Windows platform for our International customers.

    For more information about the Student Version please visit us online at: http://www.mathworks.com/products/studentversion/

    Sincerely,

    /Removed/
    --
    Beep beep.
  58. Particularly egregious b*tards by Anonymous Coward · · Score: 0

    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.

    1. Re:Particularly egregious b*tards by Anonymous Coward · · Score: 0

      You do know that Matlab != Mathematica, right?

    2. Re:Particularly egregious b*tards by Anonymous Coward · · Score: 0

      As Octave ~= Maxima

  59. SciPy by nguy · · Score: 2, Interesting

    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.

  60. Re:Well, if they ever become competitive to Matlab by Anonymous Coward · · Score: 0

    From Yahoo Answers:
    "List price for the base MATLAB {commercial, single user License} is $1900.00/us. "

    What if they flat-out refuse to sell it to you?
  61. matlab's real value is in visualization by edwinolson · · Score: 2, Interesting

    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

    1. Re:matlab's real value is in visualization by palapa · · Score: 1

      R has comprehensive plotting, and can easily produce publication quality graphs. I use it extensively for data visualization.

      --
      "Any sufficiently advanced incompetence, is indistinguishable from malice." Grey's Law
  62. You'd make a good secretary by Anonymous Coward · · Score: 0

    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.

  63. Re:Well, if they ever become competitive to Matlab by Liquid+Len · · Score: 1

    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 !

  64. Re:Well, if they ever become competitive to Matlab by datan · · Score: 1

    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).

  65. gnuplot by educated_foo · · Score: 1, Interesting

    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.

  66. not true by nguy · · Score: 1

    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.

  67. OK, I'll tell you. by hey! · · Score: 2, Informative

    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.
    1. Re:OK, I'll tell you. by petermgreen · · Score: 1

      What I see is that FOSS tends to lead to freeloaders while traditional propietry commercial software tends to lead to monopolies.

      Monopolies are bad because of the reasons you gave in your post.

      Freeloaders are bad because they mean that the ammount spent on the project does not reflect it's value to all of it's users but only it's value to a small subset of it's users. The result as in the case of octave here is development is very slow.

      If you needed a matlab feature not in octave what would make more financial sense for you to do? pay someone to add it to octave or buy a matlab license? For all but the most trivial features I suspect the latter would make more financial sense.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  68. Re:Well, if they ever become competitive to Matlab by Anonymous Coward · · Score: 0

    For the closest thing to Simulink in open-source land, check out PtolemyII from UC Berkeley. It is quite impressive.

  69. New Licensing System starting with 2008a... by koick · · Score: 1

    If Mathworks stopped screwing around with license restrictions, that are even worse than Wolfram
    Oh, just wait, it's going to get even more fun starting with the release of 2008a! http://www.mathworks.com/matlabcentral/newsreader/view_thread/160398
  70. Re:Well, if they ever become competitive to Matlab by Anonymous Coward · · Score: 0

    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.

  71. Re:Well, if they ever become competitive to Matlab by CastrTroy · · Score: 1

    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.
  72. Re:Well, if they ever become competitive to Matlab by CastrTroy · · Score: 1

    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.
  73. Octave is used on many NASA missions by Anonymous Coward · · Score: 0

    Octave is used by NASA to do calculations - no license server equals scriptable math.

  74. Re:meh by Anonymous Coward · · Score: 0

    Yep. At LinuxCon Chicago 2004, I ran into him at the bathroom. No cock, no balls. Word is bond.

  75. Scilab vs Octave? by El_Isma · · Score: 1

    Does anybody have experience with both? Care to comment the differences? I tried both and couldn't notice.