GNU Octave Gets a GUI
jones_supa writes "GNU Octave — the open source numerical computation suite compatible with MATLAB — is doing very well. The new 3.8 release is a big change, as it brings a graphical user interface, a feature which has long been requested by users. It is peppered with OpenGL acceleration and uses the super fast FLTK toolkit for widgets. The CLI interface still remains available and GNUplot is used as a fallback in cases where OpenGL or FLTK support is not available. Other changes to Octave 3.8 are support for nested functions with scoping rules, limited support for named exceptions, new regular expressions, a TeX parser for the FLTK toolkit, overhauls to many of the m-files, function rewrites, and numerous other changes and bug fixes."
In the past year, I've never seen a time when Mathworks wasn't hiring hundreds of people. They even run sponsorships (read: ads) on NPR all the time about how many jobs they have.
How does Octave or any other open source tool hold up against something with so many resources behind it?
I'm asking honestly. I know Apache and Firefox certainly do pretty well, but the former has a huge business community using it, and the latter has an enormous consumer user base. How do smaller projects compare to big software tools? For example, isn't it generally understood among graphic artists that Gimp doesn't measure up to Photoshop?
Scilab is far better and always had native 3D graphics, a GUI and a simulation engine: scicos/xcos. It atonishes me that it is systematically ignored. Is it because is french?
...is to keep vendors of commercial, closed-source software honest. Do you think Microsoft IIS would be half as good as it is if Apache and nginx weren't perfectly capable of doing the same job, for free and with the source code open to anyone? Come on. Octave will hopefully do the same for MATLAB.
Finding God in a Dog
Yes. This runs unmodified MATLAB code.
As someone who does science with Octave, I disagree.
My blog, if you're interested: http://www.purp
MATLAB compatibility. From my experience that is just about it, both are pretty feature complete but as Octave basically copies MATLAB warts and all so I don't know why anyone would use it if they knew other nicer programming languages. And if you have access to MATLAB and use it every day then MATLAB is just way faster than Octave (or at least was last time I used it).
Being a copy of MATLAB is really useful though, and Octave serves a role there. I code primarily in python (or C/C++) for work, but most of my colleagues use MATLAB. The Linux MATLAB client is crap and a pain to install and keep working, but Octave is one apt-get away and usually does the trick when I need to run my colleagues scripts or write something for them. It has a permanent spot on my hard drive for that.
The main advantage is that you can run pre-existing MATLAB code, often without any modification whatsoever. When composing new code, I certainly prefer python/scipy. Also, many engineers and scientists know MATLAB because it is pervasive in industry, but do not have experience with Python.
.. but Matplotlib + iPython Notebook + Pandas is worth a look, for those trying to escape "Matlab Prison"
* In most cases. I used to manage an octave and a matlab library and there were plenty of places in the code where we had to fork the code on a test "Is this octave?" to call the right function.
I have the complete Adobe suite. I use Gimp more often. Photoshop, like MS Office, is the de facto file exchange format in certain fields. Photoshop is also much slower than Gimp and in my opinion harder to use, hiding commonly used tools like rectangular selection underneath other tools.
Neither is BETTER in an absolute sense. Most professional software engineers use/used C. That doesn't make C better than JavaScript.
Personally I switched from Matlab to python with spyder as the GUI interface and I'll never look back.
Whenever there's a comparison between an open source product and a proprietary somebody always brings up the statement that "GIMP" is inferior to Photoshop like it's the "incontestable, revealed by Jesus Christ himself, truth" without *any* kind of supporting evidence.
The Toe, I don't hold you personally accountable for repeating what's become a cultural FUD meme, but I do feel that somebody has got to set the record straight here.
I would not consider myself an expert on image manipulation software, but I would consider myself competent enough to detect the stench of bullshit when it's spoken. I would very much like to see someone provide a valid metric for comparing Photoshop vs. GIMP and then proceed to provide real, valid data that either demonstrates that GIMP really is "inferior" to Photoshop or there's no real difference or that comparing the 2 products is inappropriate because they have different uses.
Examples of bullshit metrics would be something like "has to support Photoshop plugins", or "has to have an interface like Photoshop" because that's not comparing capability, but comparing preference.
Mathematica replacement.
http://www.mathics.org/
You are welcome.
it has one ALREADY
I have been using Qtoctave for a VERY long time
the current in SUISE12.3
---
Repository: Packman Repository
Name: qtoctave
Version: 0.10.1-2.28
Arch: x86_64
"I don't pitch OpenSUSE Linux to my friends, i let Microsoft do it for me
I would not consider myself an expert on image manipulation software, but I would consider myself competent enough to detect the stench of bullshit when it's spoken. I would very much like to see someone provide a valid metric for comparing Photoshop vs. GIMP..
Good luck with that quest.
Just before Christmas, I did some graphics work for a customer, and most of the 'grunt' work was dome in Gimp (and yes, I have fully licensed copies of CS4 and CS5 at my disposal).
It's just another tool, and I use it when I need it. (I know of other 'professional' graphics artists who still use PSP)
(Just for completeness, the final output design for this project was generated via Coreldraw X5).
From experience, when doing my thesis:
For my thesis, I had to implement something (DSP) which was part of my advisor's doctorate. This entailed computing a whole lot of constants for a FIR filter. My advisor had implemented this using symbolic computation, which apparently worked up to MATLAB 2007, but not any more on more recent versions. When I tried his code on the school computers, I got no answers, or the code kept on running, so I could not obtain implementation constants for this filter.
Well, symbolic computation did not work either on Octave, but I could install it on all my computers, so I did not need to either buy a version, run with an illegal version or only do my computations in school.
I solved the problem, by the way, using convolution, which was much faster, and always worked.
I suppose that the main reason for people using MATLAB professionally, is in the more advanced tools which are built on top of the basic layer, like Simulink and model-based design, which are missing in Octave. Anyone know how SciLab stacks up in this region against MATLAB?
I used Photoshop a long time ago on Macintoshes. It was supremely intuitive to use. GIMP today is much worse than Photoshop of old. I've recently paid the Adobe tax (wife has a business that requires it) and the new Photoshop is a nightmare. Current versions of GIMP and Photoshop are both non intuitive and break the expected select/act behavior.
The same is true of illustrator. The current interface is very unclear. I purchased a book to get past the initial confusion.
I don't understand the rationale. They don't explain it. The manuals should perhaps start with a "Look it works like this and here's why" section. It's so much easier to follow the logic of a UI when you understand what the rationale is.
Of course it could just be bad design.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
Ouch, GIMP is a usability disaster since they separated Save As and Export. I use Save As, every. single. time. And then realize it's wrong every. single. time. I am unable to override decades of muscle memory, even if I consciously know I should not use Save As in GIMP.
Photoshop is only considered usable because people train themselves to use it. For someone who does use Photoshop often, trust me, its user interface is bizarre, unintuitive, and just plain wacky. It's like WordPerfect 5.1 in the way you have to just memorize how to do things. Then the user interface makes perfect sense, because you've trained yourself in how it works. It seems obvious if you've practiced and use it all the time.
JASC Paint Shop Pro, up to version 9 before it was sold to Corel, was the only intuitive graphics program I've ever seen. It had one flaw which is why I never use it any more: You can't resize the selection rectangle.
Corel PhotoPaint used to be good, too, except it was slow, slow, slow, slow, slow.
The cost of using Gimp is not really zero. At least, if you are coming from a Photoshop background. You have to invest some time (surprisingly little!) in getting to know the software. It is, however, very capable software and the out-of-pocket cost is nil. It may be that investing some time is a good business proposition. It has been for me, as an independent graphics artist.
I find Gimp to be a very capable application. My workflow isn't, in any way, hampered by choosing Gimp in stead of Photoshop. Yes, that took some time, and at times it was a steep learning curve. But I wouldn't go back to Photoshop for the kind of projects I do. I'd feel cramped if I'd have to.
Examples of bullshit metrics would be something like "has to support Photoshop plugins"
Would "has to support industry-standard, proprietary plugins A, B, and C, which are critical in my company's field of work and whose developers refuse to take our money for a port to GIMP" be more honest?
Matlab itself can be easily replaced by Octave. But the value of matlab is in the available domain specific toolboxes and companies are willing to pay the 4- and 5-digit prices for these extension because they can save man-months or even man-years with them.
Two examples of things I've done in the past and am currently doing:
- count points on elliptic and hyper elliptic curves on a distributed parallel system for cryptography research
- simulating electric motor magnetic fields, forces and temperatures on said parallel system
My blog, if you're interested: http://www.purp
Yeah, the fact that it runs always, while MATLAB does only sometimes, is why I use it when I need to run MATLAB stuff, even though my institution actually has a MATLAB site-license. Octave generally just works, while MATLAB has a bunch of license-server nonsense. Among other things, it doesn't work at all if you're offline (e.g. on a plane), since it has to contact the license server, and network-licensed copies have no Steam-style "offline mode", even a temporary one. And even online, the license server appears to be run on a toaster and down half the time, although that's probably my university's fault rather than MathWorks's fault.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
I agree this is subjective, and I agree this is a horses for courses situation. But MATLAB isn't designed for abstract numerical computing, it is designed for linear algebra. If you have a task which you know can be reduced entirely (or at least almost entirely) to linear algebra (like a prototype neural network training scheme I was looking at a while back in MATLAB), then sure I'd say I find MATLAB's syntax a bit easier to work with. But if we are talking general numerical computing, or numerical computing involving a large chunk of code that needs to be properly organised then I think python's (with numpy and scipy) features wins out. Where exactly that line is depends.
I'm a bit surprised to find that, 60 comments in, nobody's yet suggested R , e.g. http://cran.r-project.org/ as an alternative. There are several different GUIs available for R (Rstudio, Rcommander, Rjava,...), it's 100% opensource, and frankly most of us R users find the syntax and flexibility to be far better than MatLab. And the graphics have to be seen to be believed. You can do anything and then some.
https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
From experience, when doing my thesis: ...
Well, symbolic computation did not work either on Octave...
Did you try sympy? I was amazed recently how well it works -- you can start with certain assumptions and derive formulas/equations from them, output latex, and finally evaluate the equations, for instance for matplotlib plotting. Then you can change your assumptions and rederive new equations / plots.
Of course it depends what kind of math you do.
NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
Speaking as someone who uses these kinds of programs mainly for drawing/painting, GIMP is useless to me; I've yet to find a way to rotate/flip the viewport (not the image itself), save as/export issues as you've mentioned, no easy way to configure some necessary shortcuts (though it's been some months since I've used it, so I may be misremembering or it may have changed), the number bars for brush size, etc. are fucking awful, etc.
You can't find viewport adjustment because it doesn't exist; GIMP is oriented toward image manipulation, not creation. Using GIMP or Photoshop as a drawing tool is a case of forcing the tool to be used in ways it wasn't originally intended, and unlike Photoshop, GIMP doesn't have the development resources for adding those sorts of things.
What you should really be using is Krita, which lives somewhere between the extremes of GIMP and MyPaint. It isn't as powerful for editing as GIMP is, but it still has various editing tools, while still being focused on creation tools.
Some interesting Krita features:
* Non-destructive (i.e. viewpoint only) canvas rotation.
* Non-destructive mirroring of the canvas.
* Multiple viewports of the same canvas with independent zoom, mirroring, rotation.
* Different layer types, including paint, vector, and filter.
* Layer grouping.
* Filter layers can be applied to either a single layer or a layer group, modifying the composite of the group's layers.
* These Filters are non-destructive: they can be added or removed, and the layer(s) they affect can be edited while they're in use.
* An excellent pop-up colour and brush selector. The centre is a normal colour selector, the middle ring lists the last twelve used colours, and the outer ring has ten brushes of your choice.
* Multiple brush engines, all very flexible. The normal pixel brush engine is powerful by itself, but there is also a colour smudge brush for smooth blending (not mixing), a brush that emulates the harmony brushes, another that emulates Alchemy's shape brush, and "deform brush" that can nudge and move strokes on the canvas.
* An editable perspective grid. Brush strokes can be forced to follow it for striaght, accurate lines.
* Pseudo-infinite canvas. The canvas is finite, but when you scroll past the edge, an arrow appears; click it and the canvas extends in that direction. Not as nice as MyPaint, but still better than using a resize UI for quick extending.
* Sessions. You can set up different UI layouts and change them on-the-fly with a click.
* Different colour and shade selectors available, including the MyPaint one.
* CMYK, RGB, and other colour models available, as well as varying bit depths
R has everything I need for linear algebra.
I love the graphics on R as well. Matlab always looks too computer-y for me. However, the thing I love the most about R is that not only is it free and top-notch quality, but I run it on my Windows box, linux box, for giggles I've loaded it on Raspbian on a Raspberry Pi, and if I ever get around to rooting my phone, I could even load it on there as well. No license files.
With regard to Octave, when I've been given m-files, I've found Octave to be a very good substitute for Matlab.
Linus used Minix to write Linux. His motivations included pure geek fun, 32 bit support, and the ability to modify and distribute. Minix was free of charge, but not 100% freedom. You weren't allowed to modify Minix and distribute your own version. At the time, BSD included code written and controlled by AT&T.
http://www.learnlinux.ie/content/linus-torvalds-original-announcement-usenet