GSoC/2015/StatusReports: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2015
 
(9 intermediate revisions by 6 users not shown)
Line 105: Line 105:
***'''"Restore from trash" implementation'''<pre style="color: green;">Done</pre>
***'''"Restore from trash" implementation'''<pre style="color: green;">Done</pre>


*'''Documentation:'''<pre style="color: orange;">In Progress</pre>
[[File:DigiKam_012.png]]


*'''Creating GUI dedicated to controlling multithreading:'''<pre style="color: red;">Not yet</pre>
*'''Documentation:'''<pre style="color: green;">Done</pre>


*'''Writing test code:'''<pre style="color: red;">Not yet</pre>
*'''Writing test code:'''<pre style="color: orange;">Pending</pre>


*'''Benchmarking:'''<pre style="color: red;">Not yet</pre>
*'''Benchmarking:'''<pre style="color: orange;">Pending</pre>
----
----
''' IRC Nick: ''' tootis
''' IRC Nick: ''' tootis
Line 119: Line 119:
'''Blog: ''' [https://mohamedanwer.wordpress.com Mohamed Anwer]
'''Blog: ''' [https://mohamedanwer.wordpress.com Mohamed Anwer]


''' This is awesome about GSoC: '''Not Yet
''' This is awesome about GSoC: ''' Learning new things everywhere I edit the sorce code


''' This is what I learned during GSoC: '''Not Yet
''' This is what I learned during GSoC: ''' Dealing with threads efficiently, and using some useful design patterns




Line 132: Line 132:
'''A  Brief Description:'''  This project aims to integrate cantor (a front-end to powerful mathematics and statistics packages) with LabPlot (a scientific data plotter application). The expected result is a to use cantor's session data as to plot graphs inside labplot.
'''A  Brief Description:'''  This project aims to integrate cantor (a front-end to powerful mathematics and statistics packages) with LabPlot (a scientific data plotter application). The expected result is a to use cantor's session data as to plot graphs inside labplot.


''' Status: ''' Workin on UI integration of cantor
''' Status: ''' Succefull Integration of LabPlot and Cantor


''' Screenshot: ''' https://www.googledrive.com/host/0B0d1uAp4oMlRflU1bXBQcXlpZFhLQWtEVGRRTGJmSWVxcmU4LXVqbVUxSk8tenZwZzl2LUE/Selection_110.png
''' Screenshot: ''' http://4.bp.blogspot.com/-y1luKW1lfI8/VdM90DjaqUI/AAAAAAAAIDc/SNqda7WQnj0/s1600/snapshot11.png
http://3.bp.blogspot.com/-X29jgscWWmM/VdM-JsLjggI/AAAAAAAAIDs/IHgYy0WVzT4/s1600/snapshot10.png


''' IRC Nick: '''  garvitdelhi
''' IRC Nick: '''  garvitdelhi
Line 176: Line 177:
*'''Updating kdev-cppcheck:'''<pre style="color: green;">done</pre>
*'''Updating kdev-cppcheck:'''<pre style="color: green;">done</pre>
*'''Updating kdev-valgrind:'''<pre style="color: green;">done</pre>
*'''Updating kdev-valgrind:'''<pre style="color: green;">done</pre>
*'''Implementing clang-check:'''<pre style="color: green;">done</pre>
*'''Implementing clang-check support:'''<pre style="color: green;">done</pre>
*'''Implementing pylint:'''<pre style="color: green;">done</pre>
*'''Implementing pylint support:'''<pre style="color: green;">done</pre>
*'''Implementing jshint:'''<pre style="color: green;">done</pre>
*'''Implementing jshint support:'''<pre style="color: green;">done</pre>


''' Screenshot: '''
''' Screenshot: ''' N/A


''' IRC Nick: ''' dfighter
''' IRC Nick: ''' dfighter
Line 191: Line 192:


''' This is what I learned during GSoC: '''
''' This is what I learned during GSoC: '''
* The importance of good documentation
* Some C++11 features
* Unit testing with Qt Test


== Marius Stanciu ==  
== Marius Stanciu ==  
Line 198: Line 202:
'''A  Brief Description:'''  The main part of the project consists in extending Marble's map editor ( Annotation Plugin ) to support  OSM files. The goal is to allow the user to open, view, edit and export OSM maps while offering him all the tools ( as many as possible )  necessary.  
'''A  Brief Description:'''  The main part of the project consists in extending Marble's map editor ( Annotation Plugin ) to support  OSM files. The goal is to allow the user to open, view, edit and export OSM maps while offering him all the tools ( as many as possible )  necessary.  


''' Status: ''' Final stages: finished back-end development, finishing up the UI.
''' Status: ''' Done!.


''' Screenshot: ''' http://3.bp.blogspot.com/-G-k42xDW4Zo/VdD766_ZDjI/AAAAAAAAADg/-gVZ0Jum_70/s1600/2.png
''' Screenshot: ''' http://3.bp.blogspot.com/-G-k42xDW4Zo/VdD766_ZDjI/AAAAAAAAADg/-gVZ0Jum_70/s1600/2.png
Line 250: Line 254:
'''A Brief Description:'''  Use Clang (and especially libTooling) to provide KDevelop with refactoring capabilities. Implementation lands in kdev-clang (plugin based on Clang designed to replace old C++ support)
'''A Brief Description:'''  Use Clang (and especially libTooling) to provide KDevelop with refactoring capabilities. Implementation lands in kdev-clang (plugin based on Clang designed to replace old C++ support)


''' Status: ''' Skeleton of interface, Replacements -> DocumentChangeSet in progress
''' Status: ''' Implementation - done, merging - in progress (stale)


Done:
Range based refactorings:
* CompilationDatabase for CMake based projects
* Extract variable
* ClangTool pre populated with cache content (TODO: updates)
* Extract function


Take the lowest AST node for expression containing selection. You have to provide name for new entity. Expression will be extracted and placed above Your code. (as new variable one line above or new function above function containing selected expression)
Point based refactorings:
* Rename (variable or field)
* Change signature (rename, add new parameters, remove existing, change order)
** Changes every declaration of selected function and it's uses.
** If new parameters are introduced, existing calls will require further actions.
* Encapsulate field (replace direct uses of field by calls to newly generated accessor/mutator)
** May choose to generate mutator.
** Default body of accessor and mutator can be adjusted.
** Definitions are placed in a class with specified visibility (default: `public`).
** Visibility of field is changed to `private`.
** Uses of field are replaced by calls to generated functions.
* Instance to static (non virtual method)
** Existing method is changed to `static`.
** cv-qualifiers are removed.
** If function implementation uses (explicitly or implicitly) `this` pointer, new argument is introduced to replace uses of `this`. (detection may fail if function body is not available at early stage, in such case safe default is to introduce new argument and notify after end if it was really required, Change Signature refactoring can fix that).
** Type of introduced argument is inferred from type of `this` pointer.
** Uses of method are changed accordingly to provide explicitly new `this` argument.
* Move (static method to another class)
** Existing declaration is turned into friend declaration.
** Declaration is moved to target class.
** Definition is translated to enable referring to internals of "old" class from "new" method (use qualifiers explicitly to preserve references to "old" class) (may fail if declaration of static method is a definition - it is inherent limitation - unable to translate code which is going to be removed).
** Uses of method are also translated to refer to its new location.
** Code may require manual fix - method declaration in "new" class must be known before friend declaration. It may be necessary to include definition of "new" class.


Unfinished:
Unfinished:
* Build system for plugin (works, but need more polish)
* merge with KDevelop (C++ ABI is blocker)
 


''' Screenshot: '''
''' Screenshot: '''
Line 268: Line 296:


'''Blog: ''' https://blogs.kde.org/blogs/maciej
'''Blog: ''' https://blogs.kde.org/blogs/maciej
'''Source: ''' https://github.com/Maciej-Poleski/kdev-clang


''' This is awesome about GSoC: '''
''' This is awesome about GSoC: '''
* Almost "good internship"
* Working on my own idea/project
* In 3rd world country good reward for remote work


''' This is what I learned during GSoC: '''
''' This is what I learned during GSoC: '''
* Sometimes ordering of libraries in linker invocation makes difference (linker errors). This apply to LLVM/Clang libraries.
* Sometimes ordering of libraries in linker invocation makes difference (linker errors). This apply to LLVM/Clang libraries.
* Well advertised approach to refactorings using Clang (RefactoringTool with refactorings as FrontendActions) is defective by design. It is hardly possible to get reasonable performance this way. RefactoringTool may be good for batch processing but is unhelpful in interactive environment. FrantendActions can be used to gather/maintain source code model, but not for real refactoring - processing every single translation unit at each refactoring action is way too slow.


== David Kolozsvari ==
== David Kolozsvari ==
Line 450: Line 485:
'''Project Name: '''  Porting Marble to Android platform - Step I. - Marble Maps
'''Project Name: '''  Porting Marble to Android platform - Step I. - Marble Maps


'''A  Brief Description:'''  Nowdays more and more Android devices are being used worldwide as personal devices and in education too. So I am going to port Marble to Android with Qt for Android. This basically means to rewrite the UI and design it for mobile platforms, refactoring the original sourcecode if needed and creating some Android specific codes.
'''A  Brief Description:'''  Nowdays more and more Android devices are being used worldwide as personal devices and in education too. So I am worked on to port Marble to Android with Qt for Android. This basically meant to write some UI and design it for mobile platforms, refactor the original sourcecode and the creation of some Android specific codes.


We decided to create two applications instead of one for Android: Marble Maps and Marble Globe. With this approach we can create a way more better tools. In the summer I work on Marble Maps. The goal is to get a nice Open Street Map based map and navigation app.
We decided to create two applications instead of one for Android: Marble Maps and Marble Globe. With this approach we can create a way more better tools. In the summer I worked on Marble Maps. The goal was to get a nice Open Street Map based map and navigation app.
 
So from now, you can create an application based on Marble for Android, and you have Marble Maps too.
 
''' Status: ''' Android compatible base, working routing and navigation features for Marble Maps which can be found in Google Play
 
''' Screenshot: '''


''' Status: ''' Working on the routing
[[File:MarbleMaps-s1.png|200px]] [[File:MarbleMaps-s2.png|200px]] [[File:MarbleMaps-s3.png|200px]] [[File:MarbleMaps-s4.png|200px]]


''' Screenshot: ''' [[File:MarbleMaps-s1.png|200px]] [[File:MarbleMaps-s2.png|200px]]  [[File:MarbleMaps-s3.png|200px]]
[[File:MarbleMaps-s5.png|200px]] [[File:MarbleMaps-s6.png|200px]]  [[File:MarbleMaps-s6.png|200px]]


''' IRC Nick: ''' pgabor
''' IRC Nick: ''' pgabor
Line 464: Line 505:
'''Blog: ''' http://pgabor.blogspot.com
'''Blog: ''' http://pgabor.blogspot.com


''' This is awesome about GSoC: ''' Working with other nice people from all over the world, and createing something useful, and learning useful things about different programming languages
''' This is awesome about GSoC: ''' Working with other nice people from all over the world, and createing something useful, and learning useful things about different programming languages.


''' This is what I learned during GSoC: ''' I have gained a lot of experience with Android, CMake, Qt and Qml
''' This is what I learned during GSoC: ''' I have gained a lot of experience with Android, CMake, Qt and Qml.


== Ranveer Aggarwal ==  
== Ranveer Aggarwal ==  
Line 552: Line 593:
'''A  Brief Description:'''  Kopete still contains some KDE3 libraries and does not use the latest KDE libraries (KF5/Qt5). This project aims to integrate with Kopete with KF5.
'''A  Brief Description:'''  Kopete still contains some KDE3 libraries and does not use the latest KDE libraries (KF5/Qt5). This project aims to integrate with Kopete with KF5.


''' Status: ''' Half-way through removing KDE3 dependencies from libkopete.  
''' Status: ''' Kopete compiles on KF5, support for few protocols missing. To test, switch to the "kf5" in koepte's main repository.


''' Screenshot: '''
''' Screenshot: '''
Line 562: Line 603:
'''Blog: ''' https://harishnavnit.wordpress.com/blog
'''Blog: ''' https://harishnavnit.wordpress.com/blog


''' This is awesome about GSoC: ''' Everything about GSoC is awesome :) To be able to work on something that will actually be in production(so to say), is for a student, a rare opportunity indeed. In addition, interacting with mentors and developers from across the world and learning new things everyday is priceless.  
''' This is awesome about GSoC: ''' Everything about GSoC is awesome. To be able to work on something that will actually be in production(so to say), is for a student, a rare opportunity indeed. In addition, interacting with mentors and developers from across the world and learning new things everyday is priceless.  


''' This is what I learned during GSoC: ''' Setting up scratch repos and modifying a large codebase.
''' This is what I learned during GSoC: ''' Working on large and ancient(in my case) codebase. Unique experience indeed.


== Bhushan Shah ==  
== Bhushan Shah ==  

Latest revision as of 10:05, 24 March 2016

Status reports for GSoC, OPFW and SoK 2015.

Student Name (Please leave this as a template and make a copy for yourself!)

Project Name:

A Brief Description:

Status:

Screenshot:

IRC Nick:

IRC Channels:

Blog:

This is awesome about GSoC:

This is what I learned during GSoC:


Minh Ngo

Project Name: VTK Integration into LabPlot

A Brief Description: The project involves VTK library integration into the labplot project for visualization of 3D plots and later integration into the scientific computing application Cantor.

Status: Mostly completed. https://fedorapeople.org/~minh/2015/08/21/gsoc-last-report.html

Screenshot: PK6o1Eb.png

IRC Nick: nlminhtl

IRC Channels: #kde #kde-edu #kde-games #kde-devel #fedora #fedora-kde #gsoc #kde-soc

Blog: https://fedorapeople.org/~minh/

This is awesome about GSoC: -

This is what I learned during GSoC: -

Akshay Ratan

Project Name: IRC Protocol for Kopete

A Brief Description: Kopete does not have working IRC protocol support. In Kopete, git tree is unfinished semi­ported plugin from Kopete KDE3 which is not working. This project aims to provide a full fledged IRC Plugin support to Kopete.

Status: Currently integrating Communi framework for IRC support in Kopete. Will be updating the progress on my blog soon.

IRC Nick: akshay_r

IRC Channels: #kopete, #kde-devel, #kde-soc, #kde-in, #plasma

Blog: Akshay Ratan

This is awesome about GSoC: The satisfaction of seeing your contribution integrated in real-world applications with so many people using it. The opprtunity to learn so many new things, and enjoying each and every bit of open-source software development.

This is what I learned during GSoC: CMake, Git Version Controlling, IRC Protocols

Siddhesh suthar

Project Name: Port of GCompris to QtQuick

A Brief Description: GCompris is a an educational software suite comprising of numerous activities for children aged 2 to 10. Originaly written in Gtk+ it's development team decided to rewrite it from scratch in Qt Quick. I am porting reading activities and will create new computer learning activities this summer.

Status: Working on live feedback for reading activities

IRC Nick: siddhism

IRC Channels: #gcompris

Blog: siddhesh suthar

This is awesome about GSoC: We get to learn things and enjoy our work at the same time. It feels awesome to contribute and see our work integrated, inspires us to do more quality work.

This is what I learned during GSoC: To properly plan and discuss the features. A lot to be learned in coding period yet.

Mohamed Anwer

Project Name: [digiKam] Rewrite database KIO-slaves as pure Qt5 with multithreading

A Brief Description: Originally, KIO-Slaves was implemented to run database queries in a separate process to prevent problems with SQlite. Since SQlite support queries from separate threads, KIO-slaves can be dropped, and a new API can be implemented using pure Qt threads API. This will improve digiKam portability, and permit adjusting CPU cores assigned to database processes efficiently.

Status:

  • Dropping dependency on KIO-Slaves:
    Done
    • Dropping listing and scanning KIO Slaves methods
      Done
    • Dropping data serialization
      Done
    • Dropping KIO dependant file operation methods from DIO class
      Done
  • Isolating all KIO calls in a wrapper:
    Done
  • Creating Qt based file I/O operations
    Done
    • Copy/Move
      Done
    • Rename
      Done
    • Delete
      Done
    • Trash
      Done
      • DTrash Item Info container
        Done
      • DTrash Item Info model
        Done
      • Trash View
        Done
      • "Delete Permanently" Implementation
        Done
      • "Restore from trash" implementation
        Done

  • Documentation:
    Done
  • Writing test code:
    Pending
  • Benchmarking:
    Pending

IRC Nick: tootis

IRC Channels: #digikam

Blog: Mohamed Anwer

This is awesome about GSoC: Learning new things everywhere I edit the sorce code

This is what I learned during GSoC: Dealing with threads efficiently, and using some useful design patterns

Garvit Khatri

Project Name: Integrate Cantor with LabPlot

A Brief Description: This project aims to integrate cantor (a front-end to powerful mathematics and statistics packages) with LabPlot (a scientific data plotter application). The expected result is a to use cantor's session data as to plot graphs inside labplot.

Status: Succefull Integration of LabPlot and Cantor

Screenshot: snapshot11.png snapshot10.png

IRC Nick: garvitdelhi

IRC Channels: #kde-devel, #kde-soc, #kde-edu

Blog: http://garvitdelhi.blogspot.in/

This is awesome about GSoC: We get to write code with best community people and also get paid for it. We get to learn a lot of things as we progress with the summers.

This is what I learned during GSoC:

Vineet Garg

Project Name: Improving KDE Connect encryption

A Brief Description: KDE Connect uses plain RSA encryption scheme to transfer packets between devices. This project aims to use SSL for packet encryption.

Status: Code refactored on Android side to provide backward compatibility. Started implementing SSL filter over sessions.

IRC Nick: vineet

IRC Channels: #kde-devel

Blog: https://thebinarybin.wordpress.com/

This is awesome about GSoC: Working with awesome people on awesome project who can pin point even the tiniest error and help you to do some great work.

This is what I learned during GSoC: About networking protocols, cryptography and security


Laszlo Kis-Adam

Project Name: KDevelop - Checker framework

A Brief Description: Create a reusable framework for problem checker tools. Update some tools to use the framework. Create new tools with the framework.

Status:

  • Creating framework:
    done
  • Updating kdev-krazy:
    done
  • Updating kdev-cppcheck:
    done
  • Updating kdev-valgrind:
    done
  • Implementing clang-check support:
    done
  • Implementing pylint support:
    done
  • Implementing jshint support:
    done

Screenshot: N/A

IRC Nick: dfighter

IRC Channels: kdevelop, kde-devel

Blog: https://dfighter1985.wordpress.com/

This is awesome about GSoC: I get to do my hobby (developing open source software) and get paid for it.

This is what I learned during GSoC:

  • The importance of good documentation
  • Some C++11 features
  • Unit testing with Qt Test

Marius Stanciu

Project Name: Adding OSM ( OpenStreetMap ) support for Marble

A Brief Description: The main part of the project consists in extending Marble's map editor ( Annotation Plugin ) to support OSM files. The goal is to allow the user to open, view, edit and export OSM maps while offering him all the tools ( as many as possible ) necessary.

Status: Done!.

Screenshot: 2.png

IRC Nick: stancium

IRC Channels: #marble #kde-soc

Blog: http://mariusoc.blogspot.ro/

This is awesome about GSoC:

    Great way to get me started with bigger projects.
    Introduced me to the concept of open-source ( was an alien concept to me ).
    Got the chance to contribute to such a great community, that is Kde! :D

This is what I learned during GSoC:

   Sharpened my C++ skills
   Got a serious grasp on Qt
   Got familiar with Git and the Review board

Ahmed AbouElhamayed

Project Name: Continue improvement of KDE Reports.

A Brief Description: KDE Reports is a project started in GSoC 2013 that displays reports about different KDE projects and can help one get a general overview of any project activity. This year I'm planning to add customized reports so that one can request reports about a certain contributor activity. Also, I want to add reports about wikis, build status and project code.

Status:

  • Improving average line graphs in Bugs and Reviewboard Reports
    Done
  • Generating average time to first reply in mailing lists, irc and forum reports
    Done
  • Generating Wiki report
    Done
  • Generating builds report
    Done
  • Generating lines of code in commits report
    Done
  • Allowing one to generate his own report
    Done

Screenshot: CCWnnmW.png

IRC Nick: TheMonster

IRC Channels: #kde-www, #kde-sysadmin, #kde-devel, #kde-soc

Blog: Ahmed AbouElhamayed

This is awesome about GSoC: Best way I found till now to learn new stuff while enjoying your time and achieving something... Getting help and advice from some of the best people.

This is what I learned during GSoC: Quicker understanding of APIs and writing better code.

Maciej Poleski

Project Name: Refactoring for KDevelop

A Brief Description: Use Clang (and especially libTooling) to provide KDevelop with refactoring capabilities. Implementation lands in kdev-clang (plugin based on Clang designed to replace old C++ support)

Status: Implementation - done, merging - in progress (stale)

Range based refactorings:

  • Extract variable
  • Extract function

Take the lowest AST node for expression containing selection. You have to provide name for new entity. Expression will be extracted and placed above Your code. (as new variable one line above or new function above function containing selected expression)

Point based refactorings:

  • Rename (variable or field)
  • Change signature (rename, add new parameters, remove existing, change order)
    • Changes every declaration of selected function and it's uses.
    • If new parameters are introduced, existing calls will require further actions.
  • Encapsulate field (replace direct uses of field by calls to newly generated accessor/mutator)
    • May choose to generate mutator.
    • Default body of accessor and mutator can be adjusted.
    • Definitions are placed in a class with specified visibility (default: `public`).
    • Visibility of field is changed to `private`.
    • Uses of field are replaced by calls to generated functions.
  • Instance to static (non virtual method)
    • Existing method is changed to `static`.
    • cv-qualifiers are removed.
    • If function implementation uses (explicitly or implicitly) `this` pointer, new argument is introduced to replace uses of `this`. (detection may fail if function body is not available at early stage, in such case safe default is to introduce new argument and notify after end if it was really required, Change Signature refactoring can fix that).
    • Type of introduced argument is inferred from type of `this` pointer.
    • Uses of method are changed accordingly to provide explicitly new `this` argument.
  • Move (static method to another class)
    • Existing declaration is turned into friend declaration.
    • Declaration is moved to target class.
    • Definition is translated to enable referring to internals of "old" class from "new" method (use qualifiers explicitly to preserve references to "old" class) (may fail if declaration of static method is a definition - it is inherent limitation - unable to translate code which is going to be removed).
    • Uses of method are also translated to refer to its new location.
    • Code may require manual fix - method declaration in "new" class must be known before friend declaration. It may be necessary to include definition of "new" class.

Unfinished:

  • merge with KDevelop (C++ ABI is blocker)

Screenshot:

IRC Nick:

IRC Channels:

Blog: https://blogs.kde.org/blogs/maciej

Source: https://github.com/Maciej-Poleski/kdev-clang

This is awesome about GSoC:

  • Almost "good internship"
  • Working on my own idea/project
  • In 3rd world country good reward for remote work


This is what I learned during GSoC:

  • Sometimes ordering of libraries in linker invocation makes difference (linker errors). This apply to LLVM/Clang libraries.
  • Well advertised approach to refactorings using Clang (RefactoringTool with refactorings as FrontendActions) is defective by design. It is hardly possible to get reasonable performance this way. RefactoringTool may be good for batch processing but is unhelpful in interactive environment. FrantendActions can be used to gather/maintain source code model, but not for real refactoring - processing every single translation unit at each refactoring action is way too slow.

David Kolozsvari

Project Name: Improve Marble's OSM vector rendering and printing support

A Brief Description: Marble has a great rendering engine, which is fast (Marble starts up in 2-5 seconds), reliable and allows developers to easily improve some of its features. This projects main goals are to improve the following parts of the program: the rendering of the .osm file based vector tiles, the picking of the texture tiles, improving printing support. I also intend to fix any bugs that I may encounter in the process. This would improve Marble's rendering and maturity too, so the end-user should be more satisfied with the application.

Status:

  • Completed:
    • OSM vector tile rendering:
      • Completed the outlines of the streets and highways.
      • Completed "fake3D" decoration for buildings.
      • Tweaked the color styles to match better the openstreetmap mapnik theme.
      • Proper coloring and placement of street labels implemented.
  • Currently working on:
    • Improving printing support, making marble's rendering resolution independent:
      • Experimenting with marble on android to see how it behaves on different devices with different DPI resolution.

Screenshot:

  • Outlines of streets and the street labels following the streets.

  • "Fake3D" of buildings in OSM vector tiles.

IRC Nick: koldavid

IRC Channels: #marble #kde-soc

Blog: http://koldavidgsoc.blogspot.ro/

This is awesome about GSoC: There is a lot of things that I enjoy about GSoC, but probably the best thing is the nonstop interaction with the mentors and the students. Besides that, being a GSoC student is a great way to learn new stuff, not only regarding to programming, but to everything that comes in the way while coding or chating with others.

This is what I learned during GSoC:

Aroonav Mishra

Project Name: Porting of Amarok to Qt5/KF5

A Brief Description: Currently, kdelibs is distributed as a single set of interconnected libraries which makes it bulky. Under the KDE Frameworks 5 efforts, these libraries are being remodelled into a set of independent modules enabling the developers to use only the specific parts which they need and avoid pulling unwanted dependencies. Amarok currently uses Qt 4, kdelibs and Plasma 4. This project aims to port amarok to Qt 5 while using KDE Frameworks 5 enabling amarok to derive their benefits.

Status: Most work in porting the cmake files has been done. I am now porting amarok with the aim to compile it using KF5::KDELib4Support which will take some time.

If we can consider the percentage at which the amarok build breaks as a measure of progress of the project's current stage (i.e Porting amarok to build using KDELibs4Support) then the build breaks at around 78% now. I know that it seems like a crude way of measuring the progress made but I think it can be considered pretty safely.

Screenshot:

IRC Nick: roguedragon

IRC Channels: #amarok, #kde-devel, #kde-soc, #kde, #gsoc

Blog: http://binaryspring.blogspot.in/

This is awesome about GSoC: I have always loved the amount of help that I get from the community and this is something that isn't unique to GSoC but is common in open source world.

This is what I learned during GSoC: I have learned a LOT about using git, error correction in C++ (some errors seem really weird at first and trust me, you will face a LOT of errors in a port of this magnitude ) and I have come to learn that new APIs are not as scary as they seem at first. I have also gained experience in using Qt, CMake, etc.

Pinak Ahuja

Project Name: Better Tooling for Baloo

A Brief Description: This project aims to provide better Tooling for Baloo. These tools will include a UI and CLI tools to monitor status of Baloo and UI to visualize which types of files are taking how much of storage, utilizing the data indexed by Baloo.

Status: Weekly Status updates on blog

Screenshot: not yet

IRC Nick: pinak

IRC Channels: #kde-baloo #kde-devel #plasma #kde-soc #kde-in

Blog: http://blog.pinak.me/

This is awesome about GSoC: What's not to love about GSoC, contributing to a FOSS project, full time support of a mentor and the community, on top of that being paid for it.

This is what I learned during GSoC: Too soon? Though I'm sure this will be a huge list.


Joseph W. Joshua

Project Name: Kopete - Improved History Plugin

A Brief Description: Kopete currently has an history plugin, but it is not up to spec. This project will focus on creating a new, improved plugin, storing the data in SQL.

Status: I have implemented a database logger to store all Kopete messages. Currently, we are logging to SQLite, and I am planning to implement MySQL and other RDMS in coming weeks.

BLOG: http://jwj-gsoc.blogspot.com/

IRC Nick: joshwambua

IRC Channels:

  1. kopete
  2. kde-devel
  3. kde-soc


This is awesome about GSoC: -Lots of support, and everyone is given room to think, and share our ideas.

This is what I learned during GSoC: -- I have sharpened my C++ skills --git --Team work --Better communication

Daniel Leu

Project Name: Ekos Scheduler

A Brief Description: I am in the process of implementing a simple scheduler for the KStars application. The scheduler will automate the astrophotography sessions thus making the astronomer obsolete. Based on some constraints like weather conditions and altitude, the scheduler will decide if the session is good to go or is aborted.

Status: Working on DBus interface to make INDI calls.

Screenshot: Nothing visual at the moment. Check my blog for further updates.

IRC Nick: daniel_leu

IRC Channels: #kde-kstars

Blog: https://danielgsoc.wordpress.com/

This is awesome about GSoC: I think it provides the conditions and environment for the perfect learning experience.

This is what I learned during GSoC: I learned a lot about Qt (and i am still learning) and i re-discovered my passion about astronomy. Being able to work on something i loved ever since i was a kid is awesome.


Rahul Chowdhury

Project Name: Make an Editor Library/Plugin for KVTML Files

A Brief Description: The goal of the project is to separate the built-in editor in Parley into a library and/or plugin and make it available for other applications. This editor library should be made flexible and configurable so that applications with different needs could create an editor which supports the level of sophistication that suits that application best.

Status: Migrating of the editor models from Parley to LibKEduVocDocument is done and put up in reviewboard. Set up LibKEduVocDocument and Parley with Qt 5.5.0 and the editor works fine with the models from the library. Next thing to do is move the view classes to the library and implement them in Parley.

Screenshot: parley_editor.png

IRC Nick: rahulch

IRC Channels: #kde #fedora-kde #konversation #kde-devel #kde-edu #kde--sysadmin #Calligra #plasma #kde-soc #kde-in #gsoc #gsoc-india

Blog: https://rahulc93.wordpress.com/

This is awesome about GSoC: Getting to work on awesome softwares of opensource communities, under the guidance of experienced mentors who have a lot of knowledge to share with you, and seeing your contributions being used by other users worldwide is surely a great experience.

This is what I learned during GSoC: Sharpen my skills on OOPS and software development.

M.S.Adityan

Project Name: Adding the constellation art feature to KStars

A Brief Description: My project is about enabling KStars draw constellation images on to the sky map.

Status: In progress. I have made a file that lists constellations and KStars is able to read it. I will be working on making KStars draw the constellations from now on.

Screenshot: None at the moment. Please check my blog for further updates.

IRC Nick: drawkward

IRC Channels: #kde-kstars,#kde,#kde-devel

Blog: http://www.msadityan.com

This is awesome about GSoC: It is a steep learning curve and a wonderful opportunity for students.

This is what I learned during GSoC: I learnt about Qt and read up a lot on astronomy.

Gábor Péterffy

Project Name: Porting Marble to Android platform - Step I. - Marble Maps

A Brief Description: Nowdays more and more Android devices are being used worldwide as personal devices and in education too. So I am worked on to port Marble to Android with Qt for Android. This basically meant to write some UI and design it for mobile platforms, refactor the original sourcecode and the creation of some Android specific codes.

We decided to create two applications instead of one for Android: Marble Maps and Marble Globe. With this approach we can create a way more better tools. In the summer I worked on Marble Maps. The goal was to get a nice Open Street Map based map and navigation app.

So from now, you can create an application based on Marble for Android, and you have Marble Maps too.

Status: Android compatible base, working routing and navigation features for Marble Maps which can be found in Google Play

Screenshot:

    
   

IRC Nick: pgabor

IRC Channels: #marble

Blog: http://pgabor.blogspot.com

This is awesome about GSoC: Working with other nice people from all over the world, and createing something useful, and learning useful things about different programming languages.

This is what I learned during GSoC: I have gained a lot of experience with Android, CMake, Qt and Qml.

Ranveer Aggarwal

Project Name: Package Install for 3rd Party Applications

A Brief Description: KDE applications need to install software (extra features) in various places. Most applications don't have an interface wherein one can do so. The task is to implement such an interface for the apps that need it. This has to be done in a way such that it works across all major distributions.

Status: Learnt packaging, currently trying to build a small application that uses Libpackagekit-Qt

Screenshot: N/A

IRC Nick: ranveeraggarwal

IRC Channels: #kde-devel

Blog: http://ranveeraggarwal.com/blog

This is awesome about GSoC: Interacting with lots of brilliant people from around the world working towards a common mission.

This is what I learned during GSoC (till now): Packaging and Publishing

Claudio Desideri

Project Name: Restructuring content delivery system with ocs-server and Gluon Player

A Brief Description: I'm writing a ready to be used ocs server that implements a subset (for now) of the Open Collaboration Services and improve the current Gluon Player.

Status: As for now, I'm restructuring the ocs server and fixing bugs. I decided to do some sort of TDD to increase stability.

Screenshot: It's a bit difficult to screenshot a php server-only application ;) I'll do some of the admin panel in work.

IRC Nick: snizzo

IRC Channels: #ocs, #gluon, #kde-devel, #kde-soc, #plasma

Blog: http://playgfx.blogspot.it/

This is awesome about GSoC: I think GSoC is awesome because it gives you the possibility to join a community such KDE without worrying for expenses. Kudos to all the KDE community for being a great one. I've been here for some years now, and it's getting better and better.

This is what I learned during GSoC: I'm more and more learning about software architecturing and methodologies more than just programming, since of the nature of my project. I'm also learning to manage incoming contributions rather than just outgoing ones, since I'm working very close with a teammate (Francesco Wofford) and his strictly related project, doing mentoring and guidace for him.

Francesco Wofford

Project Name: ocs-client

A Brief Description: ocs-client is a client for the ocs-server project from Claudio Desideri. In a few words the webclient that now goes with the name of “PlasmaStore” aims to replace kde-look. In my GSoC proposal I had written about providing also a desktop client but discussing with my mentor and the community we found out that slight modifications to muon discover may suffice.

Status: I think that I can say that I'm at a good point with the webclient, it now implements content retrieval, edit and comment. Currently I'm working on the friendship system and on content rating. As for the muon part I had serious incompatibility and instability problems with my pc that we weren't able to solve but during akademy with the help of Claudio and his laptop we were able to use the kns backend to retrieve and install new content.

Screenshot: [1]

IRC Nick: woffy

IRC Channels: #ocs, #gluon, #kde, #plasma, #gsoc, #kubuntu

Blog: http://wolfcliff.blogspot.it/

This is awesome about GSoC: I think that what is awsome about GSoC is the possibility to work to a project with the help of an assigned mentor and I also think that it is a great opportunity for every student

This is what I learned during GSoC: I have improved my php skills and I've got more confident with mvc

Gurjot Singh

Project Name: Kdenlive - Add support for new Animation capabilities

A Brief Description: This project aims to upgrade the animation capabilities to allow much simpler, smoother and more general animations than the traditional keyframes technology and also intend to provide new widgets to edit these properties, and eventually evolve on-monitor interactions.

Status: Have understood the MLT Framework (overview), now looking into animation API.

IRC Nick: bhattigurjot

IRC Channels: #kdenlive

Blog: Gurjot Singh

This is awesome about GSoC: You get an opportunity to work on something which is being used by so many people. You get to discuss with developers around the world and learn how to stick to your schedule. You get reward for your work which in itself is pretty motivating.

This is what I learned during GSoC: I am learning how to read other people's code which I always find pretty daunting stuff. Moreover, I have learnt about MLT Framework which is quite awesome to work with.

R. Harish Navnit

Project Name: Port Kopete to KF5

A Brief Description: Kopete still contains some KDE3 libraries and does not use the latest KDE libraries (KF5/Qt5). This project aims to integrate with Kopete with KF5.

Status: Kopete compiles on KF5, support for few protocols missing. To test, switch to the "kf5" in koepte's main repository.

Screenshot:

IRC Nick: rharish

IRC Channels: #kopete, #kde-devel, #kde-soc, #kde-in

Blog: https://harishnavnit.wordpress.com/blog

This is awesome about GSoC: Everything about GSoC is awesome. To be able to work on something that will actually be in production(so to say), is for a student, a rare opportunity indeed. In addition, interacting with mentors and developers from across the world and learning new things everyday is priceless.

This is what I learned during GSoC: Working on large and ancient(in my case) codebase. Unique experience indeed.

Bhushan Shah

Project Name: TV Optimized Dashboard support

A Brief Description: This project aims to provide the containment and user interface for the Plasma Media Center which can be easily controlled using the remote control

Status: Discussed design with VDG, currently working on the basic containment

Screenshot: screencast of containment

IRC Nick: bshah

IRC Channels: #plasma #kde-devel #kde #kde-in #gsoc

Blog: Blog of Bhushan Shah

This is awesome about GSoC:

This is what I learned during GSoC:

Sagar Chand Agarwal

Project Name: Port of GCompris in Qt Quick

A Brief Description: GCompris is a high quality educational software suite comprising of numerous activities for children aged 2 to 10. Major categories are game oriented but educational and it spans across arthimetic,reading science,games,music and a lot more.GCompris is developed on GTK+ framework based on C and Python

I am working on the newer version of GCompris based on Qt Quick.It helps to deliver across Desktop and Tablet platforms.My role is to create newer activites and port existing activities.

Status: Working on creation of science and computer activities as well as porting of exisiting activities

Screenshot: 778px-Watercycle_gcompris.png

IRC Nick: sagaragarwal94

IRC Channels: #gcompris

Blog: https://scagarwal.wordpress.com

This is awesome about GSoC: "Flipping bits,not burgers"

This is what I learned during GSoC:My blog will brief all the information.Updated every activity.

Michael Bohlender

Project Name: Akonadi2 Settings

A Brief Description: The goal is to port the Widget based configuration dialog of Akonadi to QtQuick.

Status: Drafting QML APIs

IRC Nick: mbohlender

IRC Channels: #kontact

Blog: mbohlender.wordpress.com

Denis Kuplyakov

Project Name: Finish implementation of an outliner for Calligra Author

A Brief Description: The main aim of the project is to finish an outliner (special tool to help planning and writing novels) as a part of Calligra Author application using the codebase created last year.

Status: New section handling code is ready to land and waiting review. I've added a huge part of unittesting and found a number of bugs in old code: all are fixed now.

Author was ported to KF5, changes are on frameworks branch already. I've made a patch for Soprano to make it compatible with Qt5, contacted Vishesh Handa: he will make needed changes, apply patch and continue life of Soprano on Qt5 systems. Screenshot:

IRC Nick: dener

IRC Channels: Calligra

Blog:

This is awesome about GSoC: Working in team and producing good free software for everyone.

This is what I learned during GSoC: Carefull unittesting, get experience on Qt5 and KF5.

Nikolaos Chatzidakis

Project Name: Kopete - PGP Plugin

A Brief Description: This year's project is about writing a new PGP plugin for te

Status: Working on the plugin's KCM module in kopete. Adding per-account specific settings.

Screenshot: kopete1.png

IRC Nick: nikhatzi

IRC Channels: #kopete on freenode

Blog:

This is awesome about GSoC: Colaborating with other people to boost kopete!

This is what I learned during GSoC: New encryption libraries. QCA is awesome!

Saheb Preet Singh

Project Name: Introduction of tag, layers and linearization support in okular

A Brief Description: Okular is a KDE universal document viewer with support for a lot of different formats like PDF, PostScript®, Tiff, CHM, DjVU, Images (png, jpg, etc.) XPS, Open Document (ODT), Fiction Books, Comic Book, Plucker, EPub and Fax. But it currently lacks some of the features currently supported by the poppler ( pdf backend for okular ) such as pdf layers, tagged pdf support and linearized pdf support. This project focus on implementing the missing functionalities.

Status:

  • Layers support:
    Done
  • Linearization support:
    Done
  • Tags support:
    Done
  • Documentation:
    In Progress

Screenshot:

Layers Support


12.png


13.png


14.png


Linearization Support


15.png


Tags Support


16.png


17.png


18.png


IRC Nick: sahebpreet

IRC Channels: #okular, #poppler, #kde-devel, #kde-soc, #kde-in

Blog: Saheb Preet Singh

This is awesome about GSoC: Satisfaction of contributing in real world applications which are used by a lot of people under guidance of smart people.

This is what I learned during GSoC: Writing better code, managing time and working hard :)

Jouni Pentikäinen

Project Name: Animation in Krita

A Brief Description: The goal is to integrate basic raster animation features into Krita. This includes changes in Krita core to introduce a keyframing system, the implementation of various operations to do animation, and creation of a timeline interface for interacting with keyframes.

Status: In progress. See blog for updates.

Screenshot:

IRC Nick: Tyyppi

IRC Channels: #krita, #kde-soc

Blog: http://kritaanimation.blogspot.com

This is awesome about GSoC:

This is what I learned during GSoC: (TBD)

Alexander Mezin

Project Name: Pointing Devices KCM

A Brief Description: New KCM that will handle both mouses and touchpads, allow per-device configuration, and support KWin on Wayland.

Status: libinput supported on both Wayland and X11. evdev and synaptics are supported too, but UI is incomplete.

Screenshot:

IRC Nick: amezin

IRC Channels: #kwin

Blog: http://amezin.github.io/

This is awesome about GSoC: Working on the project you choose yourself. And being paid for it.

This is what I learned during GSoC: UI design is a rocket science

Sergey Kalinichev

Project Name: Further Clang integration in KDevelop

A Brief Description: Finish (well, at least fix as many bugs and implement as many missing features, as possible) the kdev-clang plugin to make it an usable replacement for the existing C++ plugin.

Status:

Screenshot:

IRC Nick: klins

IRC Channels: #kdevelop

Blog: https://sklin0.wordpress.com/tag/gsoc/

This is awesome about GSoC:

This is what I learned during GSoC:

Wolthera van Hövell tot Westerflier

Project Name: Tangent Normal Brush for Krita.

A Brief Description: A Brush engine that uses Tilt of advanced tablet to draw the normal-surface color. This can be used to make normal maps.

Status: Nearly ready for merge.

Screenshot:

This brush engine makes normal maps that can be used in 3d programs.

Video: https://www.youtube.com/watch?v=qiX60EWyMF8


IRC Nick: wolthera

IRC Channels: #Krita

Blog: Wolthera.info

This is awesome about GSoC: Making a cool project happen.

This is what I learned during GSoC: Making filters, and learning about QVectors. I had never really done that before.


Ankit Wagadre

Project Name: Datapicker for LabPlot

A Brief Description: To develop Datapicker for Labplot, it is a tool which converts an image file showing a graph or map, into numbers.

Status: Working on multiple curve and error bars support.

Screenshot: 6lkUGoj.png

IRC Nick: ankitw

IRC Channels: #kde-edu

Blog: http://datapicker.blogspot.in/

This is awesome about GSoC: Interaction with the community is the best part about GSoc. Also Contributing to Open Source feels awesome and is a wonderful learning opportunity.

This is what I learned during GSoC: It improved my C++, OOP, git and communication skills.

Vyacheslav Matyushin

Project Name: Port KSystemLog to KDE Frameworks 5 and use journald as a backend

A Brief Description: KSystemLog is a tool for viewing log files. It can display system logs, kernel logs as well as logs from various software, such as Apache, Cups, Samba, and others. Traditionally system logs were written to /var/log/syslog, but in a past few years many Linux distributions have switched to systemd. Systemd provides journald - a component which manages system logs. The goal of the project is to port KSystemLog to KDE 5 frameworks and add the support for reading journald logs to KSystemLog.

Status: Completed. Implemented local and network journald support, filtering by priority, systemd units and syslog identifiers. Stability and memory leaks fixes. Usability improvements.

Screenshot: main_window.png

filter_by_priority.png

cups_missing_files.png

journald_mode_settings.png

journald_remote_filtering.png

IRC Nick: abiogenesis

IRC Channels: #kde-devel, #plasma

Blog: http://vyacheslav-matyushin.blogspot.ru/search/label/kde?view=classic

This is awesome about GSoC: Contributing to open source software, getting to work with professionals, learning how production-level software works.

This is what I learned during GSoC: I learned a lot about journald, Qt 5 and KDE Frameworks.