Contributing to Shark

The Shark library is an open-source software project and welcomes contributions from external developers. For this reason, the following process for external contributions to the Shark library and for being appointed as a Shark core developer has been established:

  • Submit your patch to the Shark review board instance at https://nisys.dyndns.biz:8081 (see the development environment tutorial for more information).
  • Select ‘SharkCoreDevelopers’ as review group.
  • Whenever the core developers issued a “Ship it”:
    • Contact any member of the group SharkCoreDevelopers by email, noting down your review number and ask him to commit your patch to the Shark repository.

That’s it :-) Whenever an external developer has ten or more patches shipped with Shark, he/she might apply to become a Shark core developer at admin@shark-project.sourceforge.net .

Please feel free to work on one of the open issues listed below:

ToDo List

Automatically generated entries

This is a list of all .. todo:: items in all of the sphinx documentation

Todo

The application examples page will be part of the full, official Shark release.

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/showroom/showroom.rst, line 10.)

Todo

describe basics of algorithm: working set selection, shrinking and update step.

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/algorithms/quadratic_programs.rst, line 29.)

Todo

write this section

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/algorithms/quadratic_programs.rst, line 178.)

Todo

TG: should it be Type1 feature1; Type2 feature2; ??? mt: i second this question

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/library_design/batches.rst, line 230.)

Todo

mt: undef pointname also?

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/library_design/batches.rst, line 247.)

Todo

implications of this? is there a task in the tracker? etc.

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/library_design/kernels.rst, line 160.)

Todo

math here? mt: yes please! :)

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/library_design/kernels.rst, line 258.)

Todo

i think we need some more explanation on the expected size of weights, especially since we don’t have type checks in the code of weightedParameterDerivative (maybe these should be added, too). in any case, the workings of weightedParameterDerivative should be explained more, or link to some tutorial where this is done.

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/library_design/kernels.rst, line 292.)

Todo

i think what is missing here is a comment on the normalization conventions. i can’t even quite figure them out on my own from the code. it seems that for losses, when the type passed to eval is data-of-something, then the result is normalized by the number of samples, and if i use the batch interface of eval, it is not normalized, correct? so, using the data interface is a statement that one wants normalization and otherwise on always does it oneself? i am aware that this could also go down to where the eval-interfaces are explained, but i think it should be at a more prominent place actually.

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/library_design/losses.rst, line 69.)

Todo

i think the descriptions in the right table need some update. for example, the one for CrossEntropyIndependent does not make sense;

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/library_design/losses.rst, line 231.)

Todo

ADD TUTORIAL

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/library_design/optimizers.rst, line 189.)

Todo

give the exact equations for all criteria in the table. also check the code again if they all really adhere to the Prechelt paper, i.e., .

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/library_design/stopping_criteria.rst, line 82.)

Todo

TG: Present one simple and one involved use case? Or is this the wrong place?

OK: We need one tutorial for Kernels and Models which explain how these derivatives can actually b calculated. Maybe introduce your nice scalar product syntax which makes the calculation a breese.

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/optimization/conventions_derivatives.rst, line 194.)

Todo

Insert sufficiently detailed description of the whole package-making process here.

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/for_developers/issuing_a_release.rst, line 15.)

Todo

explain the new tut2rst and tpp to cpp workings. (iinm, the tpp to cpp happens when doing ccmake . in the shark_source dir.)

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/for_developers/managing_the_documentation.rst, line 116.)

Todo

Write this section!

(The original entry is located in /Users/igel/Shark/doc/sphinx_pages/rest_sources/tutorials/concepts/data/import_data.rst, line 176.)