QProcess Or KProcess ?

1 month of GSoC is already over and the coding period has officially begun. Here’s a highlight of what I did and what I plan to do for this week

Most of the time of community bonding period was spent giving college exams. By the time my exams got over,  I only had a week left to make something useful of the community bonding period time.

The last week started with a discussion with my mentor , where we decided which API to use to port the back ends.  We had to  decide between QProcess and KProcess. Just a brief of what these APIs do:

QProcess is used to start external programs and to communicate with them. The communication between QProcess and the external program happens through channels. The three standard channels used for communication are
Standard output(stdout): supplies regular console output
Standard error(stderr): supplies the errors that are printed by the process
Standard input(stdin): provides input to the process

KProcess is no different from QProcess. It inherits QProcess and extends it by by some extra and useful functionality

Since a few of the back ends of cantor were already using KProcess, we had to decide whether we actually need KProcess or whether QProcess will suffice our needs. The best  way to  decide this  was to port a back end which makes use of KProcess to QProcess.

Port of Scilab to QProcess

The port process was pretty simple and did not take more than an hour to port and test. The test was performed  on various inputs including plot commands.
You can have a look at the commit that actually does the port
Since Everything worked fine, we decided to move forward with QProcess and use it for other back ends

Plan for this week

The very first back end I have decided to work on is Qalculate. Qalculate at the moment uses libqalculate library for all the calculations.
To get rid of libcalulate, we will be making use of qalc which is the command line interface for Qalculate
This week  I’ll be concentrating on setting up basic communication  between Cantor and  Qalculate using  qalc

Let the hacking begin!

GSoC 2017 with KDE


Hi! I am Rishabh. This post is going to be about what project I will be working on and how happy and excited I am about  spending the summers with KDE

First things first, I would like to thank the entire KDE community and especially my mentor  Filipe Saraiva for accepting my proposal and being kind and generous to me whenever I needed any help. I can’t stress on this enough but KDE is really a  very helpful community, especially to beginners who struggle at very basic steps.

So, this is the first time my proposal for GSoC got accepted . I am really happy and would like to make the most of this opportunity.

Project Details:

I will be working on  Cantor and will be mentored by Filipe Saraiva,  who is the maintainer of Cantor

Cantor is a KDE Application aimed to provide a nice Interface for doing Mathematics and Scientific Computing. It doesn’t implement its own Computation Logic, but instead is built around different Back ends.

The main aim of this project is to port all the back ends to make use of  standard streams for communication.

At the  moment, Cantor use different methods to communicate with the back ends. Some of them use C Api, some use D-Bus protocol and some have already been making use of Q/K process.

This project is important since this way Cantor will make use of a standard technology to implement back end and it will enable the use of Cantor in different operational systems.

If you want to know more about the project, kindly have a look at my  proposal . It lists out the current status and the implementation details.

That’s all for this post. I will keep posting the progress of my project from time to time.

Looking forward to have great summers