Google Summer of Code 2022 proposed ideas: Διαφορά μεταξύ των αναθεωρήσεων
Pkst (συζήτηση | συνεισφορές) Χωρίς σύνοψη επεξεργασίας |
Χωρίς σύνοψη επεξεργασίας |
||
| Γραμμή 70: | Γραμμή 70: | ||
Ilias Kyrannas (iliaskyrannas@gmail.com), Giannis Skitsas (iskitsas@gmail.com) | Ilias Kyrannas (iliaskyrannas@gmail.com), Giannis Skitsas (iskitsas@gmail.com) | ||
== SciDavis data Analysis and Visualization Program == | |||
==== Brief Explanation ==== | |||
SciDAVis is a free interactive application aimed at data analysis and publication-quality plotting. It combines a shallow learning curve and an intuitive, easy-to-use graphical user interface with powerful features such as scriptability and extensibility. SciDAVis runs on GNU/Linux, Windows and MacOS X; possibly also on other platforms like *BSD, although this is untested. SciDAVis is similar in its field of application to proprietary Windows applications like Origin and SigmaPlot as well as free applications like QtiPlot, Labplot and Gnuplot. What sets SciDAVis apart from the above is its emphasis on providing a friendly and open environment (in the software as well as the project) for new and experienced users alike. Particularly, this means that we will try to provide good documentation on all levels, ranging from user’s manual over tutorials down to and including documentation of the internal APIs We encourage users to share their experiences on our forums and on our mailing lists.More information, including screenshots, reviews, current contributers can be found on the SourceForge project webpage. | |||
SciDAVis has been started as a fork off of QtiPlot with the aim of introducing some changes in design and establishing an open and friendly community. The versions labelled SciDAVis 0.1.0 to 0.1.4 are still very close to QtiPlot 0.9.×. But many new features and a revision of existing ones have been introduced in release 0.2.0. This is especially true for tables and matrices which have internally been rewritten almost completely. | |||
At some time in 2008, the developer teams of LabPlot and SciDAVis found their project goals to be very similar (and since LabPlot 2.x is based on the same library as SciDAVis, i.e., Qt4.x) decided to start a close cooperation. The current plans are to use a common backend with two frontends, one with full KDE4 integration (called LabPlot 2.x) and one with no KDE dependencies (pure Qt so to say) for easier cross-platform use (called SciDAVis). This promises a faster development speed for both projects while focussing on slightly different audiences. From the user's point of view, there will still be two different applications. | |||
At the time of writing, SciDAVis is completely independent of LabPlot, whether the collaboration mentioned in the previous paragraph will ever happen is a moot point. | |||
By 2011, the original development team had moved on to other things, and development of SciDAVis stalled. Stewardship of SciDAVis has passed over to Russell Standish, aka High Performance Coder, an experienced SourceForge project manager. The immediate plan is to focus on bug fixes reported in the SourceForge ticket system, and creating regression tests, whilst the new development team get up to speed with the code base. Russell uses the Aegis source code repository system for managing the releases, so this has meant bumping the version number to 1. Releases within a version number are denoted by the delta number assigned to the code when it is successfully committed to Aegis. At the time of writing the current version is 1.D4, and the plans are for roughly 6 monthly releases, unless a critical bug is found and fixed to bring the release forward, or no development activity has taken place since the last release. | |||
==== Duration of the Project ==== | |||
Depending on the scope and the technologies tackled | |||
==== Expected Results ==== | |||
Extending the features of Scidavis open software to adapt the needs of scientific community , creating useful tutorial for the community, contributing to program documentation and translating program features and documentation in Greek | |||
==== Related repositories ==== | |||
http://scidavis.sourceforge.net/ | |||
==== Knowledge Prerequisites ==== | |||
C/C++, Python, Latex | |||
==== Mentors: ==== | |||
[[Κατηγορία:GSOC2022]] | [[Κατηγορία:GSOC2022]] | ||
[[Κατηγορία:GSOC]] | [[Κατηγορία:GSOC]] | ||
Αναθεώρηση της 07:38, 16 Φεβρουαρίου 2022
Contributors interested to participate should check which of the following projects fits their interests and skills.
Τo communicate with the mentors and ask questions about the projects, students should subscribe to this list and post relevant questions. Please follow the Proposal Template
For practical information, developers should visit this page.
Workflow and Parallelization patterns for Node-RED
Brief Explanation
Node-RED (https://nodered.org/) is a popular low code programming environment for event driven applications, particularly in the IoT world. It is based on a visual, browser based editor in which developers can write functions, wire them together to form a workflow, group a subset of functions into reusable and parametric subflows etc. Node-RED can interact with any API or service, thus its usage can be extended to be used in collaboration with other services, e.g. Function as a Service platforms, as an orchestrator.
Expected Results
The purpose of the work is to exploit Node-RED's subflow and workflow features in order to implement reusable flows that can be shared through Node-RED's repository. The initial scope of the flows is around workflow primitives for easier workflow creation, parallelization patterns (e.g. migrating logic and patterns from MPI to node-red, implementation of orchestration logic for parallel AI operations and learning etc). This can be coupled with function creation for executing the workflows in state of the art function as a service environments like Openwhisk, for actual computational parallelism.
Related repositories
https://flows.nodered.org/flow/7a5acfc999b1ad47bb32b5d37419c777,
https://gist.github.com/gkousiouris/7a5acfc999b1ad47bb32b5d37419c777
Knowledge Prerequisites
Javascript, Knowledge of Node-RED or FaaS is a plus
Mentors:
George Kousiouris, Christos Diou
Build recorder: A system to record what goes on when a software is being built.
Brief Explanation
The purpose of a project is to fully record the interactions between assets (files and tools) when a software component is being built (compiled). For example, when compiling a software written in C,the system will record the source files being compiled, the generated object files being linked, the final executable, as well as the compiler used, the options given, and the environment.
Duration of the Project
Can be either a short or a long-term project, depending on the scope and the technologies tackled.
Related repositories
New project, no existing repo available.
Knowledge Prerequisites
one or (preferably) more of compiled languages: C, C++, Go, Rust, Java, ...
Mentors:
Alexios Zavras
Flexbench
Brief Explanation
Flexbench is a benchmarking tool used mostly for stress and performance testing of web application servers. It is a forked project from the http-traffic-simulator npm package, which was developed to provide simulated throttled http traffic for testing purposes, towards specific http endpoints. It utilizes the nodejs cluster module to generate http requests, by spawning multiple workers (balanced over the system cores) in the cluster, responsible to create clients that generate requests. This architecture enables the simulator to scale in really big throughputs. The main supported features are:
Duration of the Project
Depending on the scope and the technologies tackled
Expected Results
- Create a GUI using flutter - Offer it as desktop app (package it and make it run as a standalone app in Windows, macOS and Linux) - Offer it as a web server exposing REST APIs - Support authentication and authorization for REST APIs, preferably with OpenIDC. - Support GraphQL - Migrate to typescript - Dockerize, produce the required artifacts to deploy to kubernetes. - Integrate Nginx proxy - Implement a DSL language to describe scenarios that can be executed by flexbench (eg. store a scenario under a .flxb file ) - Implement an editor for .flxb files with syntax highlighting support
Related repositories
https://github.com/flexivian/flexbench https://www.npmjs.com/package/http-traffic-simulator, https://github.com/iskitsas/http-traffic-simulator
Knowledge Prerequisites
NodeJS, js, typescript, Html, Css, flutter, docker
Mentors:
Ilias Kyrannas (iliaskyrannas@gmail.com), Giannis Skitsas (iskitsas@gmail.com)
SciDavis data Analysis and Visualization Program
Brief Explanation
SciDAVis is a free interactive application aimed at data analysis and publication-quality plotting. It combines a shallow learning curve and an intuitive, easy-to-use graphical user interface with powerful features such as scriptability and extensibility. SciDAVis runs on GNU/Linux, Windows and MacOS X; possibly also on other platforms like *BSD, although this is untested. SciDAVis is similar in its field of application to proprietary Windows applications like Origin and SigmaPlot as well as free applications like QtiPlot, Labplot and Gnuplot. What sets SciDAVis apart from the above is its emphasis on providing a friendly and open environment (in the software as well as the project) for new and experienced users alike. Particularly, this means that we will try to provide good documentation on all levels, ranging from user’s manual over tutorials down to and including documentation of the internal APIs We encourage users to share their experiences on our forums and on our mailing lists.More information, including screenshots, reviews, current contributers can be found on the SourceForge project webpage.
SciDAVis has been started as a fork off of QtiPlot with the aim of introducing some changes in design and establishing an open and friendly community. The versions labelled SciDAVis 0.1.0 to 0.1.4 are still very close to QtiPlot 0.9.×. But many new features and a revision of existing ones have been introduced in release 0.2.0. This is especially true for tables and matrices which have internally been rewritten almost completely.
At some time in 2008, the developer teams of LabPlot and SciDAVis found their project goals to be very similar (and since LabPlot 2.x is based on the same library as SciDAVis, i.e., Qt4.x) decided to start a close cooperation. The current plans are to use a common backend with two frontends, one with full KDE4 integration (called LabPlot 2.x) and one with no KDE dependencies (pure Qt so to say) for easier cross-platform use (called SciDAVis). This promises a faster development speed for both projects while focussing on slightly different audiences. From the user's point of view, there will still be two different applications.
At the time of writing, SciDAVis is completely independent of LabPlot, whether the collaboration mentioned in the previous paragraph will ever happen is a moot point.
By 2011, the original development team had moved on to other things, and development of SciDAVis stalled. Stewardship of SciDAVis has passed over to Russell Standish, aka High Performance Coder, an experienced SourceForge project manager. The immediate plan is to focus on bug fixes reported in the SourceForge ticket system, and creating regression tests, whilst the new development team get up to speed with the code base. Russell uses the Aegis source code repository system for managing the releases, so this has meant bumping the version number to 1. Releases within a version number are denoted by the delta number assigned to the code when it is successfully committed to Aegis. At the time of writing the current version is 1.D4, and the plans are for roughly 6 monthly releases, unless a critical bug is found and fixed to bring the release forward, or no development activity has taken place since the last release.
Duration of the Project
Depending on the scope and the technologies tackled
Expected Results
Extending the features of Scidavis open software to adapt the needs of scientific community , creating useful tutorial for the community, contributing to program documentation and translating program features and documentation in Greek
Related repositories
http://scidavis.sourceforge.net/
Knowledge Prerequisites
C/C++, Python, Latex