Monday, September 4, 2017

In finish line but not in the end

Hey guys. For the second time for me now this time has come. I'm in the finish line of GSoC. For the second time I was working on LabPlot with my awesome mentors, Alexander and Stefan. We've been working on this project together, without their help we wouldn't be here. As you could read in my previous post, we were quite close to the main aim of the project already then but we were still missing a few things like reading from sockets. Those problems are solved since then, but like in real life there are always new ones. Our main focus in the continuation of this part of LabPlot is the performance improvement. I have since the previous post fixed the reading from local, tcp, udp sockets. We have fixed a couple of bugs, implemented preview for sockets, did some performance improvements on plotting. In the future we are considering the following steps according performance: parallelization of the plotting, use different threads for data read to avoid UI blocking, algorithmic optimizations. Another thing we need to finish is the reading from serial port, we had a hard time with it till now, but we'll surely find a way to fix it.

I made a demo video in which I use LabPlot as a monitoring tool. Here I'm sending data though a TCP socket using a python script. I'm sending a few values, like cpu usages, memory usage, swap memory usage, disk usage. You can see the live data read and plotted in LabPlot. You can also see that we have fixed/implemented the data ranging, only a number of data points are plotted if you look closely in my video. 

You can watch the demo video here:

Here is how the preview for TCP sockets looks like:

Preview for TCP

It's been again a great experience to learn new things, techniques during this GSoC. You can read "but not in the end" in the title, this means that the end of this program shouldn't mean that we quit contributing to open source software. I am sure that all of us had great moments of success during GSoC and I think as we use a lot of software for free we should give something back to the open source community. If it would be possible I would apply again to be a GSoC student again next year or anytime. 

Thanks for the moments, thanks for the read and huge thanks again to my mentors, Alexander Semke and Stefan Gerlach.

In the future I'll be posting here stuff we work on in Labplot, so keep an eye here :)


  1. This is quite interesting! I used lab plot a few years ago to plot signal from a radio telescope. I wonder if this could be embedded as a KPart in KStars? or any other KDE application? It could be used to plot signals from radio and photon detectors.

  2. Hi Jasem,

    it's not possible to embedd LabPlot as kpart at the moment. Is the data you're referring to collected directly in KStars? Is it possible to write out this data to a file or to provide a (network or local) socket for this data that we can consume. Maybe having this we could create a nice example for the combination of KStars and LabPlot.