Live data from Hacker News

GNU Octave 6.1.0

gnu.org

81–90 of 100 posts

Re: GNU Octave 6.1.0

#81
post #39

I wish Octave the best of luck, but it faces an uphill battle against MATLAB (established engineering projects) and Python (new starts). The biggest issue with Octave for me is the slowness of its plotting compared to MATLAB. A major use case for me is visualizing large data sets. I can generate data using any backend (Python, C++, MATLAB, etc.) and want the ability to plot it, zoom in/out to a rectangle, filter to a…

> The biggest issue with Octave for me is the slowness of its plotting compared to MATLAB I was going to say exactly the same thing. The language implementation is mostly fine-ish. But plotting (which is like half the point of MATLAB) is unusable slow. It's not just Octave though. All of Julia's plotting libraries are similarly slow. MATLAB still has a monopoly on fast scientific plotting. Matlab's hobby license is s…

This (individual non-commercial license) is my current approach, too. I wonder though, why do we have such a lack of fast scientific plotting, as you wrote?

Is it due to the fact that few people really care or is there some inherent set of hard problems that Mathworks figured out how to handle?

Re: GNU Octave 6.1.0

#82
post #58

Earlier quoted context omitted.

Curiously, I have the opposite experience as yours between matlab and octave. I have used both, and I find matlab clunky and slow to start, while octave is very lean and responsive. My way of using them is probably not very representative though. I never do plotting, it's mostly saving the computed solutions into files and looking at them with other programs. In the rare cases I need to plot something, I write the da…

Agree completely -- MATLAB is slow to start and is a memory hog. The language itself is horrible (which is why I prefer to use another language for complex back-end computation). Libraries for reading and writing formatted data are a joke (try reading a large XML or JSON file; or even a large CSV file with a mix of numeric and string fields); etc., etc. But it is just so good for visualization that I am willing to su…

If your primary concern is only the quality of visualizations and not language or libraries, I'm curious why you'd choose MATLAB over something like Mathematica. I've always found the latter to produce far prettier plots (with far less effort).

Re: GNU Octave 6.1.0

#83
post #18

What value can Octave give me, relative to python?

To me the biggest value octave gives me is its ease of use. When you are trying to learn a new mathematical concept and are manipulating matrices and vectors, Octave/ Matlab is a breeze. Compared to other languages that require you to call the `dot()` function.

Additionally compared to python's matplotlib, Octave / Matlab's plotting syntax is much simpler. Not faster but its functional.

In short, its a great educational tool, prototyping mathematical / engineering models. Bad for production use where you are using the code base to actually solve an engineering / science problem.

Re: GNU Octave 6.1.0

#84
post #58

Earlier quoted context omitted.

Agree completely -- MATLAB is slow to start and is a memory hog. The language itself is horrible (which is why I prefer to use another language for complex back-end computation). Libraries for reading and writing formatted data are a joke (try reading a large XML or JSON file; or even a large CSV file with a mix of numeric and string fields); etc., etc. But it is just so good for visualization that I am willing to su…

If your primary concern is only the quality of visualizations and not language or libraries, I'm curious why you'd choose MATLAB over something like Mathematica. I've always found the latter to produce far prettier plots (with far less effort).

I gave a more involved example in a sibling comment, but I need fast, interactive plotting for large datasets; not necessarily the prettiest. And as another user mentioned, MATLAB currently has a lock on fast scientific plotting. It really is in a league of its own for now.

Re: GNU Octave 6.1.0

#85
post #25

I know it's not really the point here, but it's nice to see a GNU project with a decent home-page. It's clear, presentable, and modern. (And of course it's not a JavaScript horror-show, but we'd never see that from a GNU project.)

You say that, but I feel like it's a bit of a case of 'dress for the job you want'. Having a modern-ish looking site just gives off some signals like 'this is maintained', 'this has been deemed to still have utility in 2020' and 'the developer has some awareness of current UX'. It doesn't need to be flashy. Just a nice font, a header, centre justification, some spacing, a paragraph explaining what the thing is, a nic…

I had this thought recently--is there a class of website where being being unstylish and looking like it came out of an earlier era of web design gives the site more credibility?

Re: GNU Octave 6.1.0

#86
post #39

I wish Octave the best of luck, but it faces an uphill battle against MATLAB (established engineering projects) and Python (new starts). The biggest issue with Octave for me is the slowness of its plotting compared to MATLAB. A major use case for me is visualizing large data sets. I can generate data using any backend (Python, C++, MATLAB, etc.) and want the ability to plot it, zoom in/out to a rectangle, filter to a…

Curiously, I have the opposite experience as yours between matlab and octave. I have used both, and I find matlab clunky and slow to start, while octave is very lean and responsive. My way of using them is probably not very representative though. I never do plotting, it's mostly saving the computed solutions into files and looking at them with other programs. In the rare cases I need to plot something, I write the da…

This was true even 10-15 years ago. Matlab is great but it is a behemoth. It's like comparing Unreal/Unity with Godot.

Re: GNU Octave 6.1.0

#87
post #54

Earlier quoted context omitted.

I spent the majority of my career porting MATLAB to C++. We charge about $70 an hour ($200 billable man-hour) to do it. It’s a slow and arduous process. Often times the features that are running in Matlab needs some C++ library that prevents the sort of speed increase that you hoped to gain out of the C++ port, so a C++ reimplementation of the toolbox needs to be developed anyway; this loosing the benefit of the “ver…

I would be curious to know more about your firm and what customers you are serving? I feel like I have a lot of experience translating or communicating with weird things to MATLAB but I'm not sure who values this outside Academia.

A lot of companies in the (German) automobile industry rely heavily on Matlab and its toolboxes, so I'd assume that people like you are wanted there as well.

Re: GNU Octave 6.1.0

#88
post #25

Earlier quoted context omitted.

You say that, but I feel like it's a bit of a case of 'dress for the job you want'. Having a modern-ish looking site just gives off some signals like 'this is maintained', 'this has been deemed to still have utility in 2020' and 'the developer has some awareness of current UX'. It doesn't need to be flashy. Just a nice font, a header, centre justification, some spacing, a paragraph explaining what the thing is, a nic…

I had this thought recently--is there a class of website where being being un stylish and looking like it came out of an earlier era of web design gives the site more credibility?

You might be right, like *nix utilities that have been around forever? Perhaps https://www.cis.upenn.edu/~bcpierce/unison/ is such a page? Staid, having a sense of permanence, what in Britain we describe as "part of the woodwork" (something that's been around so long, and is dependable, like the very structure of a building).

Re: GNU Octave 6.1.0

#89

When I left university and did not have access to MATLAB anymore, I spent many a nights hacking away at GNU Octave. I have fond memories of Octave. I thought Octave will be a valuable skill when I enter the industry but I could not have been more wrong. Does anyone still use Octave? Is it worth learning? What tools or languages would you recommend as alternatives to someone graduating from university today?

> I thought Octave will be a valuable skill when I enter the industry but I could not have been more wrong.

If your skill with Octave makes you more effective in a role, then it's still valuable even if your employer doesn't specifically require experience with it.

I started using Octave after a coworker showed me how he used Matlab as a DSP prototype workbench. At the time I couldn't justify asking the boss for my own Matlab subscription, so I applied what I learned using Octave instead. At this point in my career, Matlab is available to me but Octave does what I need.

Re: GNU Octave 6.1.0

#90
post #64

Earlier quoted context omitted.

This is very interesting and would never have guessed that it is possible. I would love to read a more detailed write up how all this works (is everything bundled to a large blob for the octave interpreter for example?). Also is the a specific reason you used v4.4.1? And playing with the PWA everything seems instant, but Octave is ~1Gb installed, wouldn't the Octave wasm have to be downloaded to the client (which it…

The GNU Octave interpreter and its dependencies are all in the matpower.wasm file. 19Mb is still quite large for a website, but it is loaded asynchronously and WASM get compiled as it streams in. The interpreter runs in a WebWorker using a Promise based interface so the UI doesn't get held up. Many of the dependencies (e.g. FFTW, CHOLMOD, ARPACK, Qt, HDF5) are disabled as they are not needed to run MATPOWER. There wa…

Thank you for explaining, I will have to explore this further as this opens up a lot of interesting possibilities. I find it very impressive that you have managed to get virtually no perceptible loading time at all, for octave running on a client (I remember threads now and then about statically compiling octave for portability which all eventually end up with it not being possible so I would never have guessed this was viable).
Post reply on HN