Jump to navigation Jump to search
Create page.
* Date: Tuesday, April 27, 2021 @ 18:00 UTC
* Location:

== Todays topics ==

* Meet and greet 5 minutes before meeting (audio testing).

=== MXE Octave branches and buildbots ===


=== String class strategy ===

* Strategy for transition to string class syntax (incompatible to current double-quoted character vectors in Octave)?

=== C++17 ===

* Allow using more modern C++ dialects (C++17 STL std::filesystem or boost::filesystem)?

== Previous topics ==

=== Octave 7 ===

==== Previous idea collections for Octave 7 ====
* [[:Category:Development#Goals_for_upcoming_releases]]
** [[JWE Project Ideas]]
** [[GUI terminal widget]]
* Discourse

==== How to make Octave 7 visibly special? ====

* Implement Matlabs new String-class
** Difficult, but highly demanded.
* Builtin hash-operator
** Distinct feature from Matlab

===== Improve graphics =====

* Use "new" OpenGL code path
** Nice overview by [[User:Hg200]]
** Likely to make plotting faster (more efficient methods to move data to graphics card)
** Does '''not''' solve "double precision" problem, scaling must happen on Octave side even with new OpenGL code path
* Consult professional OpenGL developer to review code
** General agreement to spend Octave project money on this

===== Implement Matlabs new input validation =====

* jwe can create dummy tree-elements
** Problem if values are evaluated, the "right" action must be done
* Can those validation statements come at arbitrary positions or only at the beginning of the file?

===== Command Window Widget =====

* [[GUI terminal widget]], (jwe's patch!)
* Of special interest for MS Windows users
* Unify widget for all OSes
* Make jwe's patch a configurable options for testing (nothing to use productively yet)
* Need to implement own pager (alternatively: scroll bar only)
* Better responsibility delegation between GUI and interpreter
** Big matrix output: interpreter could ask GUI to print big matrix, GUI could confirm with user, etc.
** Formatting (colors, URLs, etc.) could be done by the GUI. Interpreter does not need to know about window-width, etc.

===== Backend code improvements =====

* "Ditch" old UNIX system functions (e.g. popen)
** Move to package?
** compose a list of functions that are candidates for removal from core Octave. See: [ Moving POSIX system call and library functions out of core Octave]
* performance of symbol lookup
** use <code>std::unordered_map</code>, rather than <code>std::map</code> to increase performance (e.g. of interpreter lookups)
** Potentially implement "import" keyword? That would probably slow down symbol lookup some more.
* Replace custom reference counters with implementation using <code>std::shared_ptr</code>
** Some instances are more difficult to replace. jwe will post something about this on the discourse forum.
* favor C++ std-library functions over gnulib where possible
** Maybe require C++14 or C++17? See: [ Using C++17 features]
* improve HDF5 integration
** Add "wrapper" for libhdf5 functions in Octave's scripting language.
** Key to support latest Matlab file formats. Try to implement in the interfaces for that format in .m file functions.
** Some developers very interested in this!

==== Testing Matlab code ====

* jwe will a single Discourse thread to ask for tests in Matlab
** Old Discourse threads many maintainers receive notifications.

==== Octave online service ====

* Similar to Matlab online
* There are already existing services
* In general Jupyter-Notebook based solutions are already highly developed
* Running an own service lacks of manpower and financial resources

==== Documentation ====

* Split Octave manual into
** Function reference, like Octave Forge
*** Need knowledge how it was created (Kai looks at this again)
*** Once succeeded, hosted at
** Usage manual (like the current one, more detailed, without @docstrings)

== Ideas for next meeting ==


== See also ==

* Next meeting: [[Online Developer Meeting (2021-05-25)]]
* Last meeting: [[Online Developer Meeting (2021-03-23)]]


Navigation menu