Sunday, December 27, 2015

My Experience with KDE and Cantor

Hello. I'm Divit, a 15 year old KDE contributor. I was introduced to KDE through Google Code-in. For those of you who don't know, Google Code-in is a contest introducing 13-17 year old pre-university students to open source software development. It is somehow similar to Google Summer of Code. This post is related to one of my Google code-in task and in this post, I'll be telling about the KDE application- cantor and my experience with KDE so far in this competition.
I have been working with KDE for a few weeks now and it has been an amazing experience. I have completed a number of tasks for different KDE applications like Cantor, Gcompris, Artikulate, Neon, Khangman, Rocs and Plasma. Some of these task were based on coding and development while others on User Interface. Throughout these tasks, I have been mentored by a number of KDE developers who have helped me to adapt to the KDE development enviornment. I would sincerely like to thank each one of them for guiding me along the way. 


About Cantor 

Now, more about Cantor. Cantor is an application that lets you use your favorite mathematical applications from within a nice KDE-integrated Worksheet Interface. It is a part of the KDE Education project. Cantor is perfect for mathematical and scientific analysis. One of the best things about cantor and other KDE applications is that they are open source. It has a very neat graphical user interface and it allows several kinds of plugins for adding different backends. Cantor can make use of Sage, R, KAlgebra, Python, Maxima, Qalculate, Scilab, GNU, Octave, and Lua. We can share worksheets with others easily. Another task I did for KDE was "To Enable HighDPI support in Cantor" cause of which I got associated with the cantor source code.

Features

  • Nice Worksheet view for evaluating expressions
  • View of plotting results inside the worksheet or in a separate window
  • Typesetting of mathematical formulas using LaTeX
  • Backend aware syntax highlighting
  • Plugin based assistant dialogs for common tasks (like integrating a function or entering a matrix)

Compiling Cantor (GCI task)

The most basic step for all coding tasks in KDE is to compile, build and run the application involved. In this section, I'll be discussing about how to run Cantor in your linux system. The OS I use is KUbuntu.
  • The very first step is to get the cantor source code. The following command can be used for that :- "git clone git://anongit.kde.org/cantor".
  • Building cantor:- The first step in building cantor is to get all the required dependencies. This can be done by the terminal command "sudo apt-get build-dep cantor". If this doesnt give you all the required dependencies, log on to https://techbase.kde.org/Getting_Started/Build -> Select "Platform Specific Information -> Select your linux based OS and there you will find how to get your system to work for building KDE apps. In general, the needed packages for almost all the KDE apps are: cmake, git-core, libqt4(-dev), kdelibs(-dev) or kdebase-workspace-dev, g++ .
  • Once you are done with preparing your system, the next step is to set up the development system of  the app. using CMake which is an open-source build system used by almost all the KDE applications. The following command is used:- cmake .. -DCMAKE_INSTALL_PREFIX=<install_path> -DCMAKE_BUILD_TYPE=debugfull
  • Once this is done, you can finally compile the app by :- make -j3.The link that I followed is https://techbase.kde.org/Getting_Started/Build/KDE_Applications.
Here's a screenshot of Cantor:-



3 comments:

Filipe Saraiva said...

Hi Divit, please could you to get again this task? SO I can to confirm your text.
You need to fix the instructions about the build of Cantor. Cantor now requires KF5 and Qt5, you can read more in "How to build" section in https://phabricator.kde.org/diffusion/CANTOR/

Thanks.

Unknown said...

Hey that's great, Divit! Looking forward to hearing more about what you're doing!

Divit Gulati said...

Thank you!