Akademy 2014 – Here I come :)

Only a few days are left for Akademy 2014, the annual KDE Conference. I’m very excited to be part of it for the third time. As usual, i got my Visa on the last day.

This year, it will be hosted in Brno, Czech Republic from 6th to 12th September.

You can see the complete schedule of the conference here. There are many interesting talks that I would like to attend. Also, the board is going to do a Q&A session on Saturday afternoon and if you have any question ( and if you’re not able to attend Akademy personally ), you can post your questions here.

I will be hosting a BoF on 9th September to discuss about the future plans of KDE India. Be there, if you have any feedback and ideas and want to help us in developing a better community of KDE Contributors. Akshay Ratan will also talk about the current scenario of KDE India and conf.kde.in 2014 on 6th September.

Thanks KDE e.V. for sponsoring my travel and giving me opportunity to interact and share thoughts with awesome community people which will be life changing experience again!

Looking forward to meet all my Kool friends :)

[Git rebase] Avoiding Merge Commits in Git

We are aware of git pull  that it does a git fetch to pull down data from the specified remote, and then calls git merge to join the changes received with your current branch’s work. However, that may not always be the best case. I get annoyed by seeing ugly commit messages like this:

You can also rebase the changes in, and that may end up being a lot cleaner. You can pull changes from remote branch_name into your branch as:

git pull --rebase <remote name> <branch name>

So if you want to pull changes from master to your branch, you can simple write:

git pull --rebase origin master

Basically, as it says, this has rewound all your changes since the branch diverged from master, moved the branch point up to the tip of master, then replayed your changes on top. The effect of this is as if you had created the branch from the current latest master, so no separate merge commit is required.

PS: If you’ve shared the branch with anyone else, or are pushing it to a clone of the repository, do not rebase, but use merge instead. When you rebase a branch, you are changing its history in a way that will cause problems for anyone who already has a copy of the branch in their repository and tries to pull updates from you. You should understand the implications of using git rebase on a repository that you share.

For the complete story around the extra magic in git pull --rebase, see this answer.

Akademy 2013, I’m coming!

It is less than a week now. I’m very excited to attend Akademy 2013, the annual KDE Conference, this year for the second time. I just got my Spain visa few mins back.

This year, it will be hosted in Bilbao, Basque country of Spain. Along with +Devaja Shah, i will be talking on ” A Revolution in itself “. It will focus on KDE India and will highlight KDE Meetup 2013, held in India, the successes, the obstacles, the entire journey and the outcomes and also how it influenced and impacted the lives of many such young students who were inspired to contribute and to bring about a revolution by contributing to open source and KDE. It will be an indication and motivation for organizing many more such events in future. If you are planning to attend, do not forget to register yourself here.

I will like to thanks KDE e.V. for sponsoring my travel and giving me opportunity to interact and share thoughts with awesome community people which will be life changing experience again!

I Love Free Software

On this day of love, while people are busy with their significant others, I would like to show and celebrate my love for Free Software. Today is also an international “I love Free Software” – Day.

Free software is not about software, It is about people

The phrase ‘Free Software’, to many people, means ‘software you don’t have to pay for’—but really it’s so much more than that. It’s a way of thinking and working focused on transparency and collaborating with others. It’s about sharing ideas, plans, and developments for the benefit of the commons. I feel that Open source software is not just about Software, it is about Community.

Why i love Free Software?

Freedom! Be free is important, I should be able to manage and shape computer the way I live. It feels amazing to know how they work and what they’re doing. Money matters, but people can’t buy your soul.

All of this is possible only with Free Software, and since I am part of most amazing and friendly community KDE, I couldn’t live without it anymore. That’s a great feeling, and it inspires me to tell others about it. No matter if I have to write a document, do some Physics simulation, solve chemical equations, write software code, create some graphics, or simply enjoy a game or watch a film. Free Softwares are always there with a simple and effective solution for me in any field.

I am more positive and confident than ever. I get to learn something new almost every day.  I also got chance to attend Akademy 2012,  which is KDE annual conference. It gave me opportunity to meet people in real whom i just knew from the IRC nick. The opportunity to code, interact and share thoughts with highly intelligent and experienced minds was a life changing experience.

Without Free Software, there would be no KDE. I love Free Software because I take care about my Freedom.

KDE Meetup 2013

KDE Meetup is an event for Free Software enthusiasts to meet up, share their knowledge, contribute, learn, play, have fun and create limitless possibilities using Qt and KDE. It is the first large scale open source Meetup in Gujarat and the largest KDE event in India after conf.kde.in in 2011.

If you are in India, Do not miss the opportunity to become a part of the most amazing community.

Announcing KDE Meetup 2013

The KDE Community  is pleased to announce “KDE Meetup 2013“. KDE meetup is the largest KDE event in India after conf.kde.in 2011 and the first large scale open source Meetup in Gujarat. It will be held on February 23rd-24th at DA-IICT, Gandhinagar and it shall be a really great opportunity for all those who wish to get started on Open source contribution to learn about it.  Our primary focus is to introduce people to the world of infinite possibilities of Open source development by teaching them about the basic tools for development including Qt. This event also appeals to those who are already familiar with the tools since there will also be specialized talks on certain topics by experts. Also there will be hackathons after the talks which shall make this event enjoyable and fruitful for everyone involved with Open source including teachers, developers and students.

conf.kde.in 2011, Photo by Kushal Das

We needed a forum to gather as many KDE contributors as possible at one place again after conf.kde.in 2011. FOSS events like those of KDE itself have been always concentrated around then same region in the country and we are trying to keep that going in another region as well.  So Indian KDE volunteers along with GDG DA-IICT came together to organize a conference solely dedicated to KDE with an aim to spread KDE and FOSS as far as possible. Our main target is to include more and more students from India in the KDE community and also to get them involved with Open source development and what better way to spread awareness and knowledge than to organise a really lively and enjoyable event which shall appeal to the students and combine the core elements of learning and fun. The expertise of the speakers and the quaint and cool campus environment shall also serve as prime factors in making the event a pleasant and extremely insightful one.

KDE

The KDE® Community is an international technology team dedicated towards creating a free and user-friendly computing experience. It is one of the largest international free software community. It has an integrated set of cross-platform applications designed to run on GNU/Linux, FreeBSD, Solaris, Microsoft Windows, and OS X systems.

To find more information about KDE, please visit  http://www.kde.org/

KDE-India is a group of volunteers who are a part of this community, and have been meeting up at various FOSS events in India and abroad. Over the last few years, there has been a substantial increase in contributions to KDE from India to various avenues like coding, localization, marketing, website/infrastructure maintenance etc. There has also been a lot of contributions as a part of programmes like Google Summer of Code and Season of KDE.

Event Schedule

The event is a two day conference to be held on the 23rd and 24th of February.

Pradeepto Bhattacharya, Shantanu Jha, Vishesh Handa, Rishabh Arora are some of the  speakers that shall be giving talks at the event. The talks shall introduce people to the KDE community and Qt Development. KDE workspaces and applications, Nepomuk and KDE Edusuite shall also be covered in the talks.

Apart from the talks there will be hands on workshops wherein the experts shall be teaching everyone about Qt application development and also help them with bug fixing in KDE appss. This shall be followed by hackathons for all those enthusiastic participants who wish to take the learning process a notch higher and want to delve further into bug fixing or development and they shall be guided by the Open source developers.

We are still working on the agenda, you can check it out here.

Venue

DA-IICT is Located in the peaceful city of Gandhinagar, the capital city of Vibrant Gujarat, which is on its way to becoming an IT hub. While at a distance of just 17 kms from the international airport and with an efficient public transport system in the city, the beautifully lush and green campus of DA-IICT serves as the perfect environment to host such events. With incessant Wi-Fi access throughout the campus and fully equipped computer laboratories, the event can go on uninterrupted with adequate provision of all the necessary equipments.

Dhirubhai Ambani Institute of Information and Communication Technology(DA-IICT) is included in the top ten Technology Schools in the country and is ranked as the topmost private technology university in the country.

Lecture theatre during GDG DA-IICT Session

Also, last year 17 students from the institute were selected for the google summer of code internship program out of which 8 students were selected in KDE. This was the highest number of selections from any university in India.

 

Registration

Registrations for KDE Meetup are open now.  Do not pass on the opportunity to become a part of the most amazing community.

The early bird student registration fee is only ₹400.

For more details regarding the event, please visit our website.

Special thanks to Devaja Shah for helping me in writing this article.

Google Summer of Code in Winter

After years of hard work by Simon team, Simon 0.4.0 is out which is the major release after a long time.

This new version of the open source speech recognition system Simon features a whole new recognition layer, context-awareness for improved accuracy and performance, a dialog system able to hold whole conversations with the user and more.

You can read about the new release in detail here.

It feels amazing when something you have implemented during Google Summer of code 2012 is part of the release. Also, this was the first time i was part of any release :)

I know, it is very late for posting about my experience during GSoC 2012 but i do not want to miss this opportunity to share it with you all before this year ends.

Yash Shah's GSoC 2012package

GSoC 2012 package

 

Let me brief you again with my project, it is based on Multimodal Accessibility in which i am using Computer Vision to improve Speech Recognition in Simon. As the major obstacle for command and control speech recognition systems was to differentiate commands from background noise, so in my project i am using the computer vision to determines when to activate / deactivate the sound recognition using visual cues like when the user is actively looking at the screen/robot and is speaking something.

Why i picked up this project in particular?

I came to know about GSoC from our seniors and the learning experiences they got out of it really motivated me to get into this. So i started searching for projects before the organisation list was even announced. Fortunately, i saw this project idea and i really liked the idea. Also, I was working on face detection lately. I also knew from seniors that the KDE is awesome community and Computer vision is one of my favourite fields. I love to work on something which replaces the normal way of using computers and which replaces physical mouse/keyboard. This all factors together droved me completely towards this project and kept me motivated. So i contacted Peter and we discussed about the ideas and it was the first time i stepped onto IRC :) Then i kept discussing about it on the irc and the mailing list and that’s how it all started :)

Experience

It has been an incredible learning experience and I’m very happy of the final results. I am more positive and confident than ever. I learnt a lot of basic stuffs like git, makefiles, building, executing and debugging code and much more. This project also acted as a starting point to my contribution to the open source community. It was my first “serious” project with such a big codebase but Simon is nicely documented and with peter’s proper guidance, i was able to adjust very soon.

I also faced many challenges during the period. It was really tough to adhere to the timeline. CMake build system and git was very much new to me. There were many unexpected bugs which surprised me a lot but then it was so much fun figuring it out and fixing it. Also working on UI was time-consuming.

KDE also invited and sponsored me to the Tallinn, Estonia for Akademy 2012 which is their annual conference. It was my first international journey. It gave me opportunity to meet people in real whom i just knew from the irc nick. The opportunity to interact and share thoughts with highly intelligent and experienced minds was a life changing experience, and the biggest takeaway, which would not have been possible without the support of Google, KDE and my mentor.

I also participated in Randa meeting 2012 in Switzerland as a part of KDE Accessibility team. It was my first sprint ever and was really very productive. I implemented vision configuration and solved many bugs there. I would again like to thanks Mario Fux for organizing this fantastic event and all sponsors and donors who made it possible.

End Result

Peter has recorded great video on Context awareness which covers most of the things i have implemented during GSoC 2012.


Simon 0.4.0: Context awareness

As you can see clearly in the video, that Simon has turned into multimodel speech recognition system. Simon will deactivate the input devices in absence of the user. This is strikingly similar to the day-to-day communication between humans!

Acknowledgement:

I owe a big part of success to my mentor Peter Grasch for always being there to answer my questions, offer advice and review the code. I have learnt a lot from him and I am sure I have improved a lot as a programmer. The best thing about working with him was that he never really disclosed the solution, instead he gently guided towards the direction of the solution, so I never lost a learning opportunity :-)

Randa Meeting 2012 with Peter Grasch

 

I would also like to thanks Aditya bhatt, Aakriti Gupta and Nikhil Marathe for giving me amazing start and guiding me throughout the year.

And thanks to lots of other people in the community as well whose names I am forgetting. While there I would like to thank my friends keeping up with me when I slept during the day and worked at night.

And more than anything else, I am very happy to make my parents proud after so many years of constant hard work they have put and sacrifices they have made to to chase my dream of becoming a computer engineer. I hope it’s the first of many more proud moments that I will be giving to them in the future.

What’s Next?

I would like to maintain this project after GSoC and continue contributing myself to Simon/KDE. So stay tuned, there is much more to come :)

To Future GSoC Aspirants:

I would suggest maintaining good communication links with the comunity and trying to be involved with the project as much as possible.

Peter adviced me to first draw the class diagrams before starting my project and it really helped me in the future. I know we all have habit to directly start with coding but i would highly recommend you to have proper structure diagram ready before starting to code, it will give you clear idea about the implementation.

Try to budget a lot of extra time in your project application – most of us are not experienced developers and cannot estimate the amount of work needed for something correctly. Plus, when some additional problems arise (and they will), it’s always better to have time set aside to deal with them. I would highly recommend you to discuss this with your mentor before submitting your proposal.

Finally, Nothing is too hard to accomplish if you love what you do.

Convert multiple images to single PDF file in Linux

My third semester final exams are starting from next week. It is really high time now to start collecting notes from your dear friends. So i have decided to go eco-friendly this year.
Instead of taking xerox of the notes, you can take the images of the notes and then compile them into a single pdf file which is very handy and easy to read.

Go paperless!

If you are using Linux OS, it is pretty easy to accomplish this. Type the following commands in the terminal:

1. Install ImageMagick.
If you are on Ubuntu/debian system:

sudo apt-get install imagemagick

2. Copy all your images which you want to convert into pdf file in a single directory and then move to that <directory-location>

cd <directory-location-where-your-images-are-located>

3. Enter the following command to convert your images to pdf:

convert * notes.pdf

where notes.pdf is the desired single pdf output file.
If you want to compress,

convert -compress jpeg *.jpg notes.pdf

You can also use convert’s option -quality 100 to improve the resulting PDF.

KDE Randa meeting – 2012

The KDE Randa Meeting is a small gathering of KDE contributors in the beautiful small village Randa in Switzerland. Randa Meeting 2012 will be held from 21 to 27 September 2012. It will includes key KDE projects and top developers, all collaborating concurrently under one roof, isolated from noise and distractions.
Randa, Switzerland

Image by: Teo Mrnjavac

I am very excited as it will be the first time that i will be attending Randa meeting and any coding sprint in general. Thanks to Mario Fux for making it possible. This year, it will mark the fourth year of Randa Meeting.

Randa, SwitzerlandRanda, Switzerland

Every previous Randa meeting has been concentrated and productive, generating exceptional results; We really expect even more this year.

This year 4 KDE groups are coming to Randa:

  • Accessibility
  • Education
  • Multimedia/Amarok/Phonon
  • Plasma

In total, 35 developers will come from all over the world to be at the Randa meeting. In seven inspiring days full of hard work, they will accomplish more than even they can imagine. I am part of KDE Accessibility group of 6 people who are coming together to create an accessibility infrastructure for free software that truly works.

Randa, SwitzerlandImage by: Anne-Marie Mahfouf

At this sprint we all are volunteers and as you understand there are some hard expenses like accommodation, food and travel. The fundraising goal is €10,000. We have already reached the half way. Please donate whatever you can to make Randa Meeting 2012 possible.

Click here to lend your support to: KDE Randa Meetings and make a donation at www.pledgie.com !

Finally.. My first trip to Akademy

Hurray! I am very happy and exited that finally i am going to Tallinn, Estonia to attend my first Akademy ever. Finally after a long wait and huge efforts, I got my Visa few hours back.  It will be really awesome meeting KDE family whom i knew only through IRC.

First of all, I would really like to thanks KDE eV for providing me the sponsorship for travel and accommodation.

For those who don’t know about Akademy, It is the annual world summit of KDE which is one of the largest Free Software communities in the world. It is a free, non-commercial event organized by the KDE Community. This year marks 15 years of KDE AND the 10th edition of the KDE Community Summit. Akademy features a 2-day conference with presentations on the latest KDE developments. It also will be followed by 5 days of workshops, birds of a feather (BoF) and coding sessions  where participants meet, discuss, work on projects and launch new initiatives.

For more details, Kindly visit http://akademy.kde.org/

Ak2012 imgoing2.png

tallinn.jpg (1595×1600)

 

[KDevelop]Failed to lock the session , probably it is already active in another running instance

Somehow I had a system crash, after which I was not able to reopen the session I had in KDevelop, I just get an error dialogue saying that it is already open in another running instance. So i was looking at how to rectify it.

So i found out that this is in order to restrict opening many instances of KDevelop. So it create a lock file for the system to realize that we already have started. 

One solution to this is to reboot your system (Atleast it worked for me).

Another solution i found out after searching is to delete this file

~/.kde/share/apps/kdevelop/sessions/*/lock

 where ~ is the path to your user.

Or, simply run the following command:

sudo rm ~/.kde/share/apps/kdevelop/sessions/*/lock