Online Developer Meeting (2022-01-25): Difference between revisions

From Octave
Jump to navigation Jump to search
Line 33: Line 33:


=== GSOC 2022 opening soon ===
=== GSOC 2022 opening soon ===
* In this wiki [[GSoC]] (landing page) and [[Summer of Code]] (past projects).


* [https://developers.google.com/open-source/gsoc/timeline GSOC 2022 Timeline] (Feb 7-21 is Org application window, acceptances announced Mar 7.)
* [https://developers.google.com/open-source/gsoc/timeline GSOC 2022 Timeline] (Feb 7-21 is Org application window, acceptances announced Mar 7.)
Line 39: Line 41:
* Past projects at other orgs ranged quite widely in scope, especially with change to smaller projects in 2021:
* Past projects at other orgs ranged quite widely in scope, especially with change to smaller projects in 2021:
** some were often a part of big tasks. Are there bigger octave goals that could be parted out for a GSOC task? parts of classdef, or graphics handles, or a new command window, or dare we suggest JIT?
** some were often a part of big tasks. Are there bigger octave goals that could be parted out for a GSOC task? parts of classdef, or graphics handles, or a new command window, or dare we suggest JIT?
** Some amounted to "tackle all the bugs related to X". Are there bug categories or unimplemented function categories (that might require particular coding or mathematical knowledge) worth directing particular focus on? 'the unimplemented interpolant clasess/functions' or 'unimplemented image package functions related to feature recognition' or ...  
** Some amounted to "tackle all the bugs related to X". Are there bug categories or unimplemented function categories (that might require particular coding or mathematical knowledge) worth directing particular focus on? 'the unimplemented interpolant classes/functions' or 'unimplemented image package functions related to feature recognition' or ...  
** "complete this unfinished thing" tasks (prior gsoc? pkg related? the 'did you mean' feature?)  
** "complete this unfinished thing" tasks (prior gsoc? pkg related? the 'did you mean' feature?)  
* Thinking ahead, 'Google Season of Docs' has typically announced/opened their program in Feb-March.  Are there small/large doc projects worth getting into GSOD so a paid freelance technical writer/coder can take it on for 6-9 months? Successful examples ranging from document creation to doc infrastructure - [https://developers.google.com/season-of-docs/docs/participants 2021] [https://developers.google.com/season-of-docs/docs/2020/participants 2020] [https://developers.google.com/season-of-docs/docs/2019/participants 2019]
* Thinking ahead, 'Google Season of Docs' has typically announced/opened their program in Feb-March.  Are there small/large doc projects worth getting into GSOD so a paid freelance technical writer/coder can take it on for 6-9 months? Successful examples ranging from document creation to doc infrastructure - [https://developers.google.com/season-of-docs/docs/participants 2021] [https://developers.google.com/season-of-docs/docs/2020/participants 2020] [https://developers.google.com/season-of-docs/docs/2019/participants 2019]
* Please find small / partial contributions (also m-files) that help you with your current projects on Octave.
** HDF5 project?
** Time to specify the task lacks...


== Previous topics ==
== Previous topics ==

Revision as of 02:41, 26 January 2022

Todays topics

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

Release process of Octave 7.1

  • Blocking issues: 9 bugs targeting 7.0.90 (see Savannah overview on octave.space)
  • Most important ones (in no particular order):
    • bug #61788: arrays of type int16 contain wrong numbers]
      • Will probably be reverted before Octave 7.
    • bug #61813: memory management bug when calling MEX that returns an output]
      • Issue if Octave is compiled with C++17, while the mex file not. @jwe checks on this.
      • maybe also: malloc-delete[] combination in the .mex interface
    • bug #61821: segfault using tree_parameter_list in oct file]
      • Lower priority, only conditionally reproducible.
    • bug #61898: subsref: Error when field syntax is used on non-scalar @class object]
      • Needs reproducible example without interval package. Similar bug #61843 reported.
  • A few package releases with fixes for Octave 7 were pushed to mxe default, e.g. https://hg.octave.org/mxe-octave/rev/d601436d29f2 (ga, control, communications)
    • Should those changes be applied to the "release" branch? -YES.
  • Revisit load path caching: https://octave.discourse.group/t/rfc-remove-faulty-load-path-caching/2136
    • Improving the caching strategy is the way to go.

C++17 features in Octave API?

  • Timeframe?
    • When qt6 is distributed? - Probably bad strategy (Debian/Ubuntu and even Arch have trouble with qt6).
    • Regarding stable=stale Linux distributions.
  • Should we announce that possible requirement for some time in the future with the release of Octave 7?
  • See also: Should Octave switch to C++17? If so, when? on Discourse.

GSOC 2022 opening soon

  • GSOC 2022 Timeline (Feb 7-21 is Org application window, acceptances announced Mar 7.)
  • 2022 changes - after shifting to shorter projects in 2021, GSOC now allows flexible project/time commitments from 10-22 wks (12 standard, org/mentor flexibility on milestone dates).
  • GSOC FAQ (took note that the organization does get a small stipend for participating... helping a bit to offset yearly infrastructure costs)
  • Past projects at other orgs ranged quite widely in scope, especially with change to smaller projects in 2021:
    • some were often a part of big tasks. Are there bigger octave goals that could be parted out for a GSOC task? parts of classdef, or graphics handles, or a new command window, or dare we suggest JIT?
    • Some amounted to "tackle all the bugs related to X". Are there bug categories or unimplemented function categories (that might require particular coding or mathematical knowledge) worth directing particular focus on? 'the unimplemented interpolant classes/functions' or 'unimplemented image package functions related to feature recognition' or ...
    • "complete this unfinished thing" tasks (prior gsoc? pkg related? the 'did you mean' feature?)
  • Thinking ahead, 'Google Season of Docs' has typically announced/opened their program in Feb-March. Are there small/large doc projects worth getting into GSOD so a paid freelance technical writer/coder can take it on for 6-9 months? Successful examples ranging from document creation to doc infrastructure - 2021 2020 2019
  • Please find small / partial contributions (also m-files) that help you with your current projects on Octave.
    • HDF5 project?
    • Time to specify the task lacks...

Previous topics

The following items were not discussed. Just some links to progress on those items are displayed.

Release process of Octave 7.1

  • No blocking issues at the moment.
    • Visibility flags are disabled (on the stable branch).
    • Polymorphic allocators are disabled by default, but can be enabled with a configure switch.
  • Translations are still ongoing.
  • Update year in copyright notes.
  • Do a first release candidate during the next few days (independent on current status of translations).

Projects for Octave 8

  • Array<T> template class:
    • Allow implicit instantiations
    • Less explicit instantiations (where possible)
      • Background: Current design of requiring explicit instantiations was probably "just" for optimization of compile time.
    • Make sorting a part of the Array<T> template (instead of a separate template).
      • Background: At the time, this was first implemented, there was (probably?) no good sorting method in the STL.
      • Maybe move to C++ sorting methods now if possible.
    • provide STL compatible iterators (might be a requirement for STL sorting)
    • generally try to take better advantage of templating and specializations.
  • Make it explicit in the docstring if functions have a return argument.
  • Allow @seealso links to point to old class functions - like @ftp/open. (Doesn't work currently in doc cache.)
  • Lookup classdef methods for help and debugger.
  • Check reason for "disappearing" classdef constructor for MException class: bug #40828
  • Is it possible to simplify the implementation of classdef in Octave core?
  • General note on changes: Don't over-complicate code for micro-optimizations. Use STL where possible and where it makes sense.

Update strategy for MXE Octave

  • default branch was merged to release a couple of weeks ago. That was meant to get the CI working after the merge from default to stable in the main Octave repository. It was not meant to freeze the branch...
  • When should the "actual" merge happen? For the (first?) release candidate? For the final release?
    • Merge some time during the next few days. Before the first release candidate.
    • After that, fix bugs as necessary.

Status of plotting in Octave

See also