Awesome days during Akademy 2013

Awesome days during Akademy 2013

Hi all,

Being a part of KDE Akademy is one of the most awesome experiences ever. This was my second Akademy after the one in 2012 . Akademy 2013 was held in the beautiful city of Bilbao in Spain. Held from 13th July to 19 July, it had 2 days conference followed by 5 days of workshop, Birds of a Feather sessions (BoFs), lots of hacking, and of course lots of fun!

Day 0

I reached Bilbao on 12th July and went for pre-registration where I also met many KDE folks (some of them I already met during last Akademy and some new people). It was great to meet everyone again, we all had a fun time together with greeting each other, drinks and lovely music.

Day 1

The first day of the conference started with a keynote by Eva Galperin . A member of EFF, she talked about the NSA surveillance and how it affects people outside the US.

After keynote, Kevin Krammer gave talk on Declarative widgets where he explained and showed demo on how to create widgets based UI in QML. This approach enables non-C++ programmers to participate in UI development for traditional desktop applications.

Till Adam talked about KDE on Blackberry where he explained about Blackberry 10 architecture which is totally based on Qt with QNX kernel and discussed why KDE should be interested in another mobile platform.

We got a chance to hear the story about the Mer Project and the current status by David Greaves. Mer is used by Jolla for the Sailfish operating system and Plasma Active as the base distribution for creating tablet systems.  He talked about how the Sailfish SDK uses virtual machines for even the SDK (apart from the simulator) as it makes it easier to run the SDK on different platforms.

I always wanted to see a live demo of the Jolla Phone, based on Sailfish OS, and I got lucky! Along with a beautiful demo of the phone, Vesa-Matti Hartikainen  from Jolla talked about the history behind it, how Jolla’s team collaborates with various open source projects such as Qt, Mer, and Nemo Mobile to build the system.

Further Will Stephenson talked about LightWeight KDE which try to exploit KDE’s modularity and tweakability by cutting down a full feature desktop to the lightweight desktop size, while retaining the ability to use additional components from the full feature set as needed.

This time we had a new guest at Akademy, the Razor Project. Jerome Leclanche talked about the effort towards a lightweight, modular, Qt-based desktop. He discussed how Razor project collaborates with other desktop environments and various efforts towards compatibility with KDE Frameworks. And if this was not enough, he pointed out that even LXDE is moving to Qt (yay!).

I think this is probably one of the coolest things about the Free Software communities, that even projects that are technically competitors actually collaborate with each other.

Marco Martin talked about Plasma 2 where he talked about changes in the Plasma library from Plasma 1 to Plasma 2, how to use it from any application, and how a single workspace will now be used for all form factors, such as Plasma Desktop, Netbook and Active. We are planning to move Plasma Media Center too from Plasma 1 to Plasma 2 (and hence, to Qt5) once the libraries are stable enough.

Later, Shantanu Tushar gave talk on “Pair Programming”. He shared his experience on benefits of doing pair programming and how did in KDE projects like Calligra and Plasma Media Center with me, Sujith and Akshay.

At the end of the day, Thomas Pfeiffer and  Björn Balazs gave a talk together on Task-Centered UIs in Plasma Active . Plasma Active is one of the best example I know which is a tightly integrated system combining various components into it. UI workflow is in such a way  that optimal user intervention is required while achieving required task.


Jolla phone demo                                Thomas Pfeiffer

Day 2

Similar to last year, there were Lightning Talks by students. It was interesting to see that this year students were from GSoC as well as other mentoring programs like SoK, Google Code-in, OPFW. Students were from different KDE project like Telepathy, KDE connect, Keyboard layout, Digikam, Tomahawk. It was good to see the progress and experience of students while working on KDE projects.

Lydia Pintscher talked about Negotiation Theory for geeks. It was about conflicts which arise in free software projects and techniques to resolve them.

As per tradition of Akademy, we had a group photo 😀

After lunch, Kevin Ottens gave Keynote on KDE Democracy where he looked upon the democratic and meritocratic structure of communities and how KDE has changed over the past few years.

Later, Vishesh Handa and Martin Klapetek gave talk on Metacontacts Library which aims towards a system to aggregate all multiple contact sources into a manageable way. This is done by keeping all information in Nepomuk and providing library to developers called KPeople.

Simon is KDE’s speech recognition system which is maintained by Peter Grasch who gave an interesting talk on FLOSS Speech Recognition. He explained current status of this project and also gave demo on how nicely speech recognition works.

At the end of conference, there were  short presentations by various sponsors of Akademy  like Blue Systems, BlackBerry, Red Hat  etc.

Like every year, we had the awesome Akademy awards given to:

Eike Hein          –   Best Application award for his work on Konversation

Vishesh Handa –   Best Non-application award for work done in  Nepomuk

Timothée Giet   –   Jury’s Award for shaping the future and community of Krita

Kenny Duffus   –   Jury’s Award for for being the memory and soul of Akademy

Dani Gutiérrez  –  Organization Award for organizing wonderful Akademy

I had a great time during Akademy by meeting old friends again, making new friends, learning new stuff and lots of fun 😀 Thanks to my employer, RedHat for sponsoring my travel and KDE eV for taking care of my accommodation.


Schedule  –

Videos      –

Photo       –

Workshop on GCC Internals


Last week, I attended a workshop on GCC Internals  held at IIT Bombay. It was five days workshop  from 29th June to 3rd July.


Me, Amit Shah and Gopal Tiwari went from Red Hat. We booked a cab and left for Mumbai on Friday, 28th June afternoon. The journey from Pune to Mumbai was awesome with nice scenery and rain on the way. We reached IIT Bombay in the evening and were had guest house booked for us. The campus was really big, great and full of natural things like trees, leopard, snakes, oh and even python 😛

We were supposed to do some setup in laptop before attending workshop as mentioned in .

Day 1

I woke up early in  the morning and reached to venue FC Kohli auditorium after having breakfast. With around 40 participants, it started with small introduction to the motivation, objectives, goals, etc behind this workshop by Prof. Uday Khedker. Then we had small introduction with all participants and TAs (Teaching Assistant). It was good to hear from different people. Participants were from different areas like Teachers, students, corporate world.

Now, actual workshop started. All participants were grouped together with two in each group for doing  lab assignments. There were first presentation on particular topic followed by lab session.

It started with An Overview of Compilation and GCC in which  Prof. Khedker discussed about structure of a simple compiler, GNU tool chain, how parse tree and abstract syntax tree is created for a program.

After this we learnt about Gray Box Probing of GCC i.e examining input and output of various components and modules of GCC. We learnt about basic transformations in GCC from one language to another language.
We learnt about how GIMPLE representation is done for  data types, functions, pointers, array, classes, virtual/non-virtual functions, inheritance, etc. Another interesting thing was possible optimization in GIMPLE like constant propagation, Copy propagation, Loop unrolling, Dead code elimination. Various optimizations can be achieved for a program (checkout, gcc -c –help=optimizers)

Here, I came to know that there are total 163 GIMPLE and 89 RTL passes in GCC 4.7.2 among which 215 are unique passes. This is really an amazing thing to know what gcc do internally when I compile my simple “Hello World “ program.

Post lunch there was more presentation on GIMPLE IR. After that, we were doing assignment which was on Gray box probing of GCC and GIMPLE assignment.

Day 2

There was presentation on GCC Control Flow and Plugins. we learnt about

– We can  add, remove and maintain module independently in GCC called Plugin

–  Both static and dynamic plugins are possible in GCC

– How control flow happen in intraprocedural and interprocedural passes

– Link Time Optimization (LTO) which enables interprocedural optimizations across different files (Use -flto option during compilation)

– Type of LTO possible i.e partitioned and nonpartitioned

After this we did lab assignment on Link Time Optimization which contains compiling simple C program using -flto with and without partition mode and analyzing different dump produced by them.

Post lunch there was presentation on GCC configuration and building. Here, we learnt about

– Code organization of GCC

– GCC build dependencies

– Configuring and building gcc

– Machine description

– Building GCC as cross compiler

Day 3

There was presentation on Register Transfer Language (RTL). Here we learnt about

– Why GCC uses RTL like it supports low level optimizations, instruction scheduling, register allocation, etc

–  How to analyze RTL dump generated during RTL passes

– Internal view of RTL i.e types of RTL objects, internal representation of RTL expression

– Manipulating RTL Intermediate Representation

Then there were presentation on Machine Descriptions,  Spim Machine  Description, Retargetability Model of GCC. Here, we learnt about

– Organization of Machine Description (MD)in GCC , essential constructs of MD

– Cross building GCC for SPIM

– SPIM machine description and changes in MD

– How basic instructions are performed in SPIM like move, add, compare, procedure call etc

– How retargetability is achieved in GCC

After presentation, we were doing lab assignment on Spim machine description which included building GCC for Spim, adding machine description for left shift operator and analyzing added assembly instruction for same.

Day 4

There was presentation on Parallelization and Vectorization in GCC by Prof. Amitabha Sanyal. he taught about

– Parallelism i.e executing same operation on multiple operands and vectorization i.e performing N  operation together in different vector register

– Possibility of parallelization and vectorization inside program e.g instructions inside multiple for loops

– Data dependence i.e Anti dependence ( Write after Read), Flow dependence ( Read after Write) , Output dependence ( Write after Write)

– Transformations enhancing vectorization and parallelization like loop interchange, loop distribution, loop fusion etc

Day 5

This was last day of workshop which started with summary  presentation regarding what we learnt in previous 4 days. Further, there was feedback session where few people gave feedback regarding workshop.

According to me overall workshop was very good, everything from start till end was so well. Teaching Assistant had main role along with Prof. Khedkar in success of this workshop. They helped participants with any kind of help needed like problem in doing lab assignments, arranging laptop for participants who didn’t have on, uploading assignment on website on time and other related stuff.

Thanks to Red Hat for sponsoring this workshop and travel. I am happy and confident that I know much more about what GCC does internally than I did earlier.

Here are few pictures I took,


KDE Meetup 2013

Hi all!

Last week, I attended KDE Meetup held in DA-IICT college. It was much more better than what I expected. Everything went so well from start till end.

Day 1 (23rd Feb 2013)

I reached venue in morning around 9:30 am, registration was still going on. It was quite amazing to see more than 300 people who came to attend this KDE meetup.
After opening ceremony, Pradeepto Bhattacharya gave talk on Introduction to KDE, where he spoke on why, how, who should contribute to KDE and other general KDE stuff. People were so  interested and asked so many questions during his talk.
Later, Vishesh Handa gave talk on Introduction to Qt. He talked about various features available in Qt and showed some demo too. Participants were so interactive that this session was extended till lunch break and we postponed next talk to tomorrow which was supposed to be given by Shantanu Tushar.

Post lunch, there was workshop on Qt apps. Almost 300 people were there for this workshop. Most of the people have brought their own laptop. All of us helped them in installing Qt SDK. Workshop went  so well and all of them were able to follow it. All of us were running here and there to fix errors and issues if encountered by participants during workshop 😀

Later, Vishesh Handa took one session on version control mainly git. People were so smart here too and asked so many questions.

Post lunch, one more session was taken by Pradeepto Bhattacharya for around 50 people who came from Bardoli . These people were going back from conference due to some reasons like not able to follow first half day talk, hesitated in asking questions in crowd, language problem and many more reason. Pradeepto noticed and talked to all of them and tried to understand their problems. At the end, they promised to come tomorrow and we promised to take separate session for them in college lab.
In evening we planned to celebrate KDE 4.10 release party 😀 Awesome cake was arranged by Yash Shah and volunteer. It was so kool celebrating release party together.
Day 2 (24th Feb 2013)

I, Aditya Bhatt, Jigar Raisinghani, Yash Shah and some more (forgot name) of us went to lab to take sessions for Bardoli students. Aditya showed first kool KDE desktop and then yash talked his experience with KDE. All of them responded so well and asked questions without hesitating. After making them comfortable with KDE, we demoed them how to make Qt apps and told them to do same too.  At the end of this session, all of them were confident and inspired too.
Parallel to this session, in Main Hall talk was going on  Our Plasma workspaces – desktop, tablet etc by Shantanu Tushar , Contributing to KDE EduSuite by Rishab Arora and Understanding Nepomuk – Semantic Data by Vishesh Handa.

Post lunch, there was Workshop on hacking on KDE apps (opted rekonq). Initially, we faced little problem due to slow internet connection, after sometime this issue was fixed. People learnt to compile and build rekonq source. They played around source code and done changes in code.

At the end of Day 2, all participants got participation certificate. Many participants who asked questions got kool KDE t-shirts too 😀

This meetup was so awesome, we all had lot of fun helping them. We were able to motivate and inspire so many people from this KDE meetup.
Thanks to all who were there and participated actively in it.

More snaps are available at
Cheers! 2012

Hello everybody!

Last week, I attended 2012 in Bangalore. It was three days conference consisting of various interesting talks, tutorials and mini confs. The Schedule was divided into three conference rooms. There were good arrangements for everything including registration, food, hacking area, sponsors stall, booth, etc.

Day 1:

Started with registration followed by opening ceremony with Atul Chitnis sharing his ideas, followed by lighting of the lamp.
First  talk I attended on Big Data by Gopal V where he talked about how to handle big amount of data, filtering, removing duplication. He also discussed about various challenges arises in handling big data like reliability, optimization, sharing, security, etc.

Further I attended talk on Wikidata where Lydia Pintscher explained the idea behind it. The Wikimedia aims Wikidata to become what Wikimedia commons is for images – a central repository for all the wikipedia content. Some of the advantages this will bring are easier localization, more machine readable content, sharing of content between wikis and so on. Wikidata will also provide a public API that developers can then consume to make it easy to access information.

After lunch, I attended C++ tutorial by Ulrich Drepper where he showed some demo programs on addition done in C++11 like auto, array, iota , slice, for_each, Functional Programming, Lambda Functions, etc. He also explained C++ processor specific programs which can improve performance.
Day 2:

Next day, I attended talk on Scalable Parallel Programming Techniques by Ulrich Drepper. It started with history of how changes has occurred from uniprocessor to multiprocessor. Then, concept of parallelism, lock, thread, thread pool, c++ 11 interface, etc. Various possibilities to achieve parallelism like reuse of threads, automatic detection of dependencies, optimized thread pool implementation and so on.

Later, I attended talk on optimized thread pool implementation by Lennart Poettering. Systemd is  core of distributions like Fedora, OpenSUSE, Mageia, Tizen. He discussed how systemd is better than init daemon. He also discussed about sysvinit, initd, git as daemon, consolekit, syslog, watchdog, autofs, udev, cryptsetup and many more.

Post lunch, I attended talk on Calligra – productivity made easier by Shantanu Tushar where I learnt about some internals on how Calligra suite works and people can use it in their applications.

This was followed by KDE mini conf where Sebastian Kügler organized a workshop for writing device adaptive applications using QtQuick. It was exciting to see that in addition to students, seasoned professionals were interested.
Day 3:

Last day of conference, I attended talk on KGDB: Kernel Source Level Debugger by Swapnil Pimpale. kgdb is used with gdb to debug linux kernel. He told various advantages of using kgd like placing breakpoints in kernel code, stepping through the code, observing variables, inspecting memory and looking through call stack information. He also discussed how to setup kgdb, its usage, working and limitations.

Rest of the day, I was at the KDE booth where we were showing people Plasma Active demo on ExoPC tablet and Plasma Media Center  demo as well. People loved it and some of them were interested to contribute 🙂 We helped few of students in how to start contributing into Open Source Projects. We were happy to know that one of them was able to find one bug too 😀

Some of talk’s videos are available at .

I enjoyed in being a  part of 2012, met old foss friends and made some new ones 😀 Thanks to Red Hat for sponsoring my attendance at 🙂


Plasma Media Center demo on Desktop and Tablet

Recently I have blogged about Running Plasma Media Center on Fedora and Ubuntu distro and I am very happy with the response 🙂 Some of you have requested for a demo video, but didn’t get time. Finally I am ready with two videos of PMC – one on the ExoPC tablet and other on a desktop.

PMC demo video on tablets on ExoPC
PMC demo video on Desktop (courtesy Shantanu Tushar)
(the videos are recorded through a camera because screencast was jittery)

Finally, thanks to all of you that you appreciated PMC. This gives me a feedback that we are going in right way. Enjoy these videos and if you have any suggestion, feel free to post it.


Running Plasma Media Center on Fedora, Ubuntu and openSUSE distro

Hi to all !

Good news for all PMC lovers and those who wanted to try it but haven’t yet. Anyone can easily install PMC on their system with little effort. Only you need to do is, follow the steps which are mentioned below.

Required packages

– 17, 18 and 19

$ sudo yum groupinstall “Development Tools”

$ sudo yum install kde-workspace-devel kdelibs-devel

$ sudo yum install qt-mobility-devel

$ sudo yum install taglib-devel

$ sudo yum install nepomuk-core-devel

– 20 and higher versions

$ sudo yum groupinstall “Development Tools”

$ sudo yum install kde-workspace-devel kdelibs-devel

$ sudo yum install qt-mobility-devel

$ sudo yum install taglib-devel

$ sudo  yum install baloo-devel kfilemetadata-devel

Optional Package(kffmpegthumbnailer)

In order to install  kffmpegthumbnailer, enable rpmfusion free repo

$ sudo yum localinstall –nogpgcheck$(rpm -E %fedora).noarch.rpm

$ sudo yum install kffmpegthumbnailer


– 12.10, 13.04 and 13.10

$ sudo  apt-get install cmake kde-workspace-dev kdelibs5-dev build-essential

$ sudo  apt-get install libdeclarative-multimedia

$ sudo  apt-get install libtag1-dev

$ sudo  apt-get install kffmpegthumbnailer

$ sudo apt-get install nepomuk-core-dev

– 14.04 and higher versions

$ sudo  apt-get install cmake kde-workspace-dev kdelibs5-dev build-essential

$ sudo  apt-get install libdeclarative-multimedia

$ sudo  apt-get install libtag1-dev

$ sudo apt-get install baloo-dev libkfilemetadata-dev

Optional package (kffmpegthumbnailer)

In order to install kffmpegthumbnailer package in Ubuntu 14.04,  add ppa:mc3man/trusty-media

$ sudo add-apt-repository ppa:mc3man/trusty-media

$ sudo apt-get update

$ sudo  apt-get install kffmpegthumbnailer

openSUSE (13.1 and higher versions)

– checkout blog
Build Instructions

Common for all distro
$ git clone git://

$ cd plasma-mediacenter

$ git checkout  v1.4

$ mkdir build

$ cd build

$ cmake .. -DCMAKE_INSTALL_PREFIX=`kde4-config –prefix`

$ make

$ sudo make install

Note: If you find any error related to moccpp and don’t want to build test, pass -DKDE4_BUILD_TESTS=OFF to cmake


Cool! Now you are ready to try it . So, what are you waiting for? Give it a try and have fun.
Still facing any problem? Have suggestion, feedbacks? post as comment!


PyCon India 2012

Hi to all !

I recently attended Pycon 2012 and no doubt it was an awesome experience to be there. I had also attended the first ever Pycon in 2009 but this time I could make more out of it 🙂 I joined Red Hat last month and thanks for sponsoring and the encouragement to participate.

This time it was for 3 days, first day was tutorial and last two days were conference. I am new to python world, so I thought of attending tutorial too.

Day 1

Since It was day1, I reached the venue on time 😛 As usual first was registration and from there I got the schedule of tutorials and talks. For me all topics were new, so I thought of attending basic tutorials .

First half I have gone for  Django – Introduction and Demo conducted by Sivasubramaniam Arunachalam. It was not according to my expectation since he was explaining most of the things by taking account of a Windows user and I have rarely used Windows. Wifi at the venue was also not working that time, so I couldn’t explore much. Finally, I came out early from that tutorial.

I spent some time sitting at the Red Hat stall and interacted with various people. I even met Nick Coghlan!

Second half, I attended Solving Puzzles with Python conducted by Anand Chitipothu where I learnt solving Tower of hanoi and 8 queen problems in Python. I also attended Hands on beginning Python conducted by Kushal Das where I learnt strings, functions, class, modules, etc in Python.

Day 2

Today, main conference started. Reached little late at venue so missed the keynote by David Mertz.

I attended talk by Satyajit Ranjeev on using vim while coding in Python. This talk was really good, where he discussed about features of vim, Modal editing, reasons why one should use vim (e.g customizable, extensible, availability etc), Syntastic, Rope, Tagbar, IPython, customizing vim and many more.

Later, I attended python, the weird bits by Saager Mhatre. This talk was good where he enumerated about namespaces, built-in functions, exception handling, decorators, metaprogramming, etc with example code.

After having lunch, I attended talk on Building better APIs by Hemant Kumar. Here, he discussed how to build better APIs, about REST, Resource and how to identify resources in a given example, Hypermedia, etc

Later, I visited Red Hat Bangalore office together with other colleagues. We had maggi and coke, and played few games too 😀

Day 3

First talk I attended was on Gevent, here speaker discussed about Python twisted, Monkey patching, Greenlets, Gevent APIs,
Greenlet management, networking, synchronization, Greenlet pools, advantages, issues, etc.

After finishing this talk, I collected Pycon T-shirt which is really cool!

Further, I attended talk on  Django templates for web designers by Shreyank Gupta. Here, he talked about templates and context, Lookups, various tags like if, URL, for loop, cycle etc. He also discussed about built-in filters like string, Text (linebreaks, linenumbers, slugify, truncatechars, truncatewords, wordwrap) , HTML (removetags,safe striptags,escape), Array, slice etc, static files, custom tags and filters.

Last talk which I attended was given by Nick Coghlan on Path Dependent Development. It was a general topic which deals with different way of thinking about many of the complex trade-offs that are involved in creating and shipping useful software and the way those trade-offs influence the evolution of a piece of software over time.

Other than talk, I met many new people. Some of my old friends and some of my KDE friends to whom I talked only on IRC. In one word, It was awesome. Looking forward to attend next year’s Pycon India, till then lets get my hands dirty with some Python awesomeness!


Plasma Media Center update after Akademy 2012

Hi! I am back with Plasma Media Center current status  😀 . It took me little more time to give updates due to migration from College to Office life 🙂

Various small improvements have been done according to suggestion from Akademy 2012 PMC BoF and new features has been added.

1. New Plasma Media Center home screen
2. Add media to Playlist. This option is obtained by holding mouse on media for small time.
3. Cover fetching of available music files.
4. Picture Slideshow
5. Flickr plugin in which user can search pictures by adding text into search box

6. Picasa plugin to view pictures available in user Picasa account ( Not fully completed)
7. Support for external devices by adding places

I am so happy that we got a new contributor for PMC, Fabian Riethmayer . I hope, more people will join and contribute in PMC by giving suggestion, feedback, code etc.

Don’t forget to give it a try. Need help? look into my previous blogs 🙂

Thanks to all and Cheers!

Fun, Lightning talk and BoF at Akademy :)

It was an awesome trip to Akademy 2012. Had lots of fun during travelling as well as at Akademy. The fun started early on when I started meeting fellow contributors at Helsinki airport during transit. Call it the KBus – we all came together in  bus from airport to the pre-registration event 😀


Next day, we had keynote, talks and GSoC student lightning talks. Even I gave a lightning talk on Plasma Media Center (PMC) which included brief overview of PMC features and future work. Thanks to Lydia and fellow contributors who helped me in giving the presentation.


I was happy that people liked the PMC work and wanted to help in its improvement in different ways. Interest got reflected during the PMC BoF which was held on Thursday. With the ideas and suggestion from the participants, various improvement have been identified in PMC. Here’s few snapshots showing the outcome:-


Looking forward to implement all the suggestions I got provided. I have updated the summary of PMC BoF on wiki page too.

I still need more feedback and suggestion. Your suggestion will lead PMC to perfection and more usable by common people. So, if you have any kind of suggestion related to PMC , put it here. I will be the most happiest person to implement it.


Yay! First trip to Akademy

Yay! I am going to Akademy

I am so happy and excited since this is the first time I am going to Akademy. Eager to meet all people from the KDE community, after meeting them for the first time during .

Akademy gives you the chance to get together with all people, share ideas, have fun and lot more. There will be so many talks by different people who will talk about different KDE projects and It will also have BoF and workshop. Anyone who wants to learn QML should attend QtQuick 2 workshop. If anyone is interested and wants to know in detail about any particular project, Birds of a Feather sessions (BoFs) is the right place. If thats not enough for you, there will be hacking room too.

This time there will be 2 hours BoF on Plasma Media Center too on thursday. I know many people are interested in this project and wanted to help in its development by code or feedback. So, please come to the BoF of PMC and see live demo. We need YOU!

Thanks to the KDE eV to provide me the sponsorship for travel and accommodation. Looking forward to meet all of you 😀