WnCC - Seasons of Code
Seasons of Code is a programme launched by WnCC along the lines of the Google Summer of Code. It provides one with an opprtunity to learn and participate in a variety of interesting projects under the mentorship of the very best in our institute.
List of Projects
- Scilab-Julia Interface
- Scilab Video Player
- Scilab server
- Xcos on Web
- Remote Triggered Virtual Lab
- FOSSEE Toolbox Project
- Front end development for FOSSEE websites
- Common Drupal based theme for FOSSEE Websites
- Develop GUI for OpenModelica using Python
- SBHS Virtual lab server and website
- Image Processing for Healthcare Research
- To Create Dynamic Syllabus Matrix for Virtual Labs Community portal
- Mapping Analytics from Virtual lab to edX
- Continuous integration for Virtual Labs
- Establishing P2P communication on edX mobile client
- Revive pythonFlu package for OpenFOAM
- Website development for Spoken Tutorial project
- Smart Mouse
- IIT-B App
- Tum Tum Tracker
- Learn To Flap
- Panorama in Cam-Scanner
- LendIt- A sharing platform
- Interactive textbook for Probability & Statistics
- Game-playing AI agents
- Competitive Programming
- Functional Programming
- Poisson Solver with Image Editing
- Blind Source Separation
Enchancing the Scilab server to efficiently load and deliver results to the user.
Scilab Textbook Companion (TBC) is one of the flagship activities undertaken by FOSSEE. It is a collection of code for each solved example of a standard textbook. We have active Scilab and Python TBCs. Students and faculty of colleges have created more than 500 Scilab TBC and a similar number of Python TBC. As there are about 50,000 scripts in 500 TBCs, it becomes a valuable resource for documentation, function usage search and also as a subject learning material. More details could be fetched from here.
Unlike other scripting languages, Scilab loads a huge set of libraries in the background. Thus a single instance causes considerable consumption of computer resources.This would create a problem if we want to have parallel instances of Scilab.
We have thought of a couple of solutions to this problem.
- Fixing the Scilab core to only load libraries which are called in the program at the run time.
- Developing an atoms module to accept code from various threads and pipe them to a single Scilab instance.
The atoms module shall do the following:
- It should decode communication packet(code) received from user
- Execute Scilab code in a protected environment
- Return the result/error to the user
- Clear the Scilab memory
In the case of overloading on a single Scilab instance, there should be an intermediate program to monitor and initiate a new Scilab instance. This autoscaling operation should happen seamlessly. The autoscaling program should keep track of user requests.