Posts

Provided all Libroadrunner functions to plugins using RoadRunner C API

We are completely driven by self-interest. In the last week, I realized that building everything from scratch will be reinventing the wheel and at some point in time we have to reuse someone else written code in our program. So, I thought to use rrplugins in my code and worked on how to remove the dependency of LibRoadRunner. As of now, I decided to provide plugins all roadrunner functions through a C API which is already built. Now the main problems lie in removing roadrunner dependency from the plugin loader. For which will discuss a solution with mentors tomorrow early morning. This week I understand some basic concepts which I missed in my class. The detailed difference between dynamic and static linking. A brief concept is in this link  https://www.geeksforgeeks.org/difference-between-static-and-shared-libraries/ .  Also in this Wuhan Corona Virus pandemic time due to my university will conduct my end semester exams. So I will be not be working on this project fro...

Building a plugin manager in libRoadRunner

Every effort we put in plan B is the effort we take away from plan A.  The community bonding period is now coming to an end. I have used this community bonding period to make a demo application and base to work on. I have designed a platform-independent plugin manager. Also, the dynamic library can use host functionality. My mentor gives me an example and based on it I designed  https://github.com/debashish05/PluginSystem . Also, I have introduced to all the members of the Sauro Lab. Then I deployed this plugin manager to the libRoadRunner. Meanwhile while covering some c++ concept I came across a channel which describes some key feature and basic c++ if you have time and interested you can check it out  https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb . I first thought of using the poco shared library to load plugin but then I decided to stick on functions provided by OS. Although it tough and then I have to take care of platform dependency. ...

GSoC 2.0

"Never regret your past. Rather, embrace it as the teacher that it is." I am very happy to say that I have been selected for GSoC for the project Developing an Optimization Library for libRoadRunner  Link . Here is the link to my proposal. I am working on my last year's project and some major bugs. I have planned to publish a research paper with my mentor Herbert and Kiri on this project.  Now the community bonding period is started. But honestly, I don't need this since I have bonded with the community last year so will just jump right into the work. I will keep on updating this project here.  Stay Safe in this COVID 19 pandemic. Have a good day.

Submission of the project

The journey of a thousand miles begins with a single step. I submitted the report  https://gist.github.com/debashish05/82564fc7aee5130fbca9997c55681e14  along with the code and filed the last evaluation details. It has been an amazing journey for me. Starting from discussing the project with the mentor before GSoC and ending it. In this journey, my mentor and my co-mentor both played a vital role in the progress of the project. It's a very nice experience for me and most important a huge learning comes along with GSoC too. I learned evolutionary algorithm, cmake, swig, windows development environment and a lot more. I found that I need to revisit c++ some concepts again. I would like to thanks my mentor and my co-mentor for their support. I will keep contributing to the libRoadRunner and definitely, it's not the end of my open-source journey, in fact, it's the start of my open source journey. Best of Luck to all.

Differential Evolution and RRPlugins C API

Sorting out life in O(1) is luck. In this week I have added support of Differential Evolution. So, I am left with the swig wrapper problem for the last week. But the build of Travis CI is failing due to some error in uniform real number generation. Also, there is some build problem with Travis CI with RRPlugins C API. To be specific there is some lapack issue. I have referred these two links  https://en.wikipedia.org/wiki/Differential_evolution  and  http://www1.icsi.berkeley.edu/~storn/code.html#c++c  for the differential evolution part. For the RRPlugins C API, I have used pre-existing API from rrplugins ( https://github.com/sys-bio/rrplugins/tree/master/wrappers/C ). In this ultimate final week, I will first finish off with the documentation part first and then figure out with wrapper problem. I am looking forward to merging these changes to the main repository. Also, have to present all my hard work this summer. Looking forward to wrapping up the project ...

Finishing of with the cmake part and added support of beta plugins

In this week I have finalized the complete cmake part. So, now there is a separate option in cmake to build ONLY plugins not roadrunner and we can choose upon all available plugins provided we installed roadrunner once. Also merged the beta plugins. Now only the wrapper and testing part is left along with differential evolution optimizer. For the optimizer, I am going to implement  https://en.wikipedia.org/wiki/Differential_evolution  algorithm. Since college started I am not able to give the proper time to the project, but, I am sure will finish the project soon before 19th. In this week will try to finish off the wrapper part to get a beautiful scenario of the work I did in the GSoC till now. 

Second Evalutaion

Its's hard enough to find an error in your code when you're looking for it; it's even harder when you've ASSUMED your code is ERROR-FREE.                                                                                                                - Steve McConnell   I have successfully passed the second evaluation with a good remark as well from my mentor :). It feels proud when a mentor gives a strong positive remark on the ongoing project.  For the second Evaluation, I was asked to provide a screencast of all build (with all the code that I have committed since the second evaluation). I used two very nice open-source software (Google Summer of Code creates a deep space inside developers f...