GSoC 2014 Experiences

Whew…Another Summer of Code done with. New experiences, Lessons learnt, a lot of code became mainstream. Overall, an excellent program. So, here are my experiences for this years program:

1.) We participated with ownCloud, Zorp and MATE desktop. I personally think participating with other organizations is a good think and fosters collaborations between the open source communities. It is something we expect to continue in future versions of the program.

2.) As opposed to previous years, all our students managed to complete the program successfully. Their work was praised by the community as a whole. A big Thank You to all the students for their awesome work, and specially to the mentors who keep the wheels rolling.

3.) Me and Manu tried to address the shortcomings of the previous year. We decided on two ‘rules’ for selecting students

- All students must be vouched by a professor (to try and solve the problem of disappearing students).
– All students must send weekly update mails to the opensuse-project mailing list.

The first proposal was met by stiff opposition by some mentors. We even discussed this on the gsoc-mentors mailing list. While well intentioned, I admit that we did not expect many things. We assumed it would be as easy to get a vouch from a professor in Europe and the US as it is to get in India We realised much later that professors don’t have the level of interaction with the students as they do here in India. We scrapped the rule. The original problem is still not solved, and though we have not been hit by it this year, we are open to suggestions on how we can address this problem.

About the weekly mails on the mailing list, I feel it was a good decision. While students may feel that it is excessive ‘red tape’ and totally unnecessary (blogs and project specific ML’s serve well enough), it does help us in the off chance that something goes wrong. We had some experiences in the last edition and felt that it was better to enforce it as a rule. Additionally, it gives community members to provide feedback and improves the visibility of the student’s work.

4.) A lot of work done for openSUSE. Projects such as TSP (Travel Support Program), OSEM (Open Source Event Manager) benefited a lot from the program.

5.) This year, Google is celebrating its 10th anniversary of the program, and having a reunion meet for the same next month. Dominik Bamberger and Artem Chernikov are going to represent openSUSE at the summit.

6.) Mentoring is a tough job and it takes a lot of the mentors time. Henne pointed out that the program is not so rewarding to a mentor, and that we could incentivize mentoring. A lot of ideas were bounced around and we hope to work on them as well.

Lastly, I will be speaking about the Google Summer of Code, and our own experiences at next month’s openSUSE Asia Summit (Yay!). So for this year, over and out :)

openSUSE Asia Summit – How to Help?

openSUSE will host its first Asia Summit at Beihang University in Beijing, China in October. This is the first time the lovely green chameleon will host an event in Asia. This summit has been in the pipeline for a while and will finally see the light of day, thanks to the amazing openSUSE community in China.

To make this event a success, we need a lot of help. If you want to help around with the event, there are many ways to do that.

  • If you are into artwork, we require posters, logos and a lot of artwork that goes into the event. There is also a Artwork and Logo contest.
  • Submit a Talk/Workshop. This is the mainstay of the conference, and there will be many talks throughout the conference. CfP is open for End User Track, Business Track, Community and Project Track, Technology and Development Track.
  • For Django developers, openSUSE is using a voting tool called ‘Snoek’, which was developed during one of the SUSE Hackweeks. Support is needed for adding features like openID support and some more feature enhancements

A big thanks to those who are working round the clock to make the event a great success and to set the bar for future summits. I will keep writing more about the Summit in the weeks to come.

For more information about the summit, the following link can be used

http://summit.opensuse.org/

Experiences from openSUSE Conference 2014

CSC_0177

Another openSUSE Conference, another Country, but the same awesomeness. I attended the openSUSE Conference in the amazing city of Dubrovnik (more commonly known as King’s Landing), and it was another spell binding experience. Right from the talks, presentations, people (I cant stress on this one enough) to the location, everything was impeccable. I sit down to pen my thoughts at another experience, and memories which I will cherish. There was plenty to enjoy, learn, discuss at the conference, which lived upto its tagline – ‘The Strength to Change’. I highlight some of my experiences in this rather lengthy post.

The Location:

The location was just spectacular. I have been a ‘A Song of Ice and Fire’ and ‘Game of Thrones’ fan for quite some time, and had a vivid image of what King’s Landing would look like. It lived up perfectly to its name. I think Dubrovnik was ‘meant’ to play host to King’s Landing in the series. Visiting the Walls, Fort Lovrijenac (The Red Keep) felt like I had landed inside the world of Westeros.

IMG_20140427_172841

The Conference was held in the University of Dubrovnik. It was a pretty nice location, very close to Oldtown in a nice, peaceful location.

IMG_20140425_093152

 

Video Team:

This was something new to me. I helped around with the video team in mixing videos, and handling the camera for some of the talks. I had never done this before, and Christopher Hoffman gave me a great hands on. It was a pretty nice experience, working with Stephan Barth, Dubravko Jakovljević, Sarah, Jurgen, Marcel. I hope to be helping around with the video team at the next oSC as well.

DSC_2017

The Presentations:

As always, the presentations were top notch. Mentioning some which I really liked

  • Design and Branding – Kenneth Wimmer. This one cleared up some confusion there was with the openSUSE artwork. I really like the cool and funky new Geekos ;)
  • Almost every talk by Jos Poortvliet
  • SLE and openSUSE by Jan Weber
  • YaST Module from Scratch by Josef Reidinger (This one was cool!!!)
  • oSC15 by Bruno Friedmann
  • The upstream view of MySQL – Norvald H. Ryeng
  • The TSP talks by Izabel and Ancor

The Townhall Meeting:

I missed a part of the townhall partly due  to the incessant rain, but I got in time for the bulk of the discussion. The burning issues in the townhall were related to the openSUSE Release Cycle, and how Factory fits in. The discussion was pretty interesting, though the outcome will probably be clear in the current weeks. As of now, openSUSE 13.2 is slated for a November release.

openSUSE Summit:

At oSC13 in Thessaloniki, I had met Yan Sun, where she had put forth the idea for an openSUSE Summit in Asia. She put forth the proposal to the board in the last conference, though due to some issues, the dates kept shifting, though the event had been approved. Now, it looks like the event would be held in October/November in Beijing. I had a good discussion with her on topics such as talks, presentations and the TSP, which would be a vital cog for the conference. I am hoping to attend the event and give a presentation. Lets see how that works out. Fingers crossed on this one :)

Anahuac Gil:

Yes…I had to devote a whole section to this amazing person from Brazil, and one who made the conference even more memorable. I first met him at the hotel with Izabel, and we got down to talking. The discussions were amazing on talks from our diverse, but to a certain extent, similar cultures to the evil aspects of Google (and the nexus with the NSA :D). For a whole hour, he shed light on Cuba, which was pretty amazing. Whenever the guy talks, people listen intently. I enjoyed talking to him, and his banter of ‘You are TOO SLOW man!!!’ has stayed with me. Reaffirms my belief that conferences are a great place to meet people and understand different cultures.

The openSUSE Party:

Geekos love to party…plain and simple. After a hard and long conference, we had the main party at Eastwest Beach Club Banje, on the Adriatic shore. It was quite a picturesque place. The food was pretty nice, though I could hardly find stuff I could eat (considering I dont eat meat). Still I had a fun time interacting with people. I met with Peter Czanik, who works with Balabit Security, an organization we are collaborating with in the Google Summer of Code. We had a lengthy discussion on topics ranging from Hungary, Balabit, GSoC to name a few.

The best part of the party was certainly the dedication to Hans de Raadt. He could not make it to the conference, and he is going to organize the next oSC at the Hague. Netherlands. The Geekos gave an awesome tribute to Hans

IMG_20140427_194005

I got together with a group of Greekos, and talked about the Google Summer of Code. IMO, Greekos are really the most passionate community within the openSUSE Community. I am hoping they participate next year in GSoC :)

Craziest and most fun part – Geekos exchanging ID Tags in football style. I have no idea who ended up with mine. I now have Tomas Cech’s ID tag instead of mine :D

Travel Support Program (TSP):

The Travel Support program has been integral for me attending the conference. It is an awesome tool which enables contributors to attend events which help openSUSE as a project grow. Being sponsored to the openSUSE Conference is a great feeling, and urges you to contribute more towards this awesome project. The talk discussing the openSUSE Travel Support Program by Izabel laid out some clear points

  • Contribute. It is not a free ride.
  • We want to support as many people as possible, but you have to ask for help
  • It is not just attending the event in the shadows. Get Involved. It is as much ‘during’ the event, than it is ‘before’
  • If you have been sponsored to the conference, remember that it is at the cost of someone else. Make it count…

Prior to the Trip:

This one perhaps warrants a separate blog post, as a guide on how NOT to travel, but I am going with the flow. I made a hash of my reservations, which almost cost me attending the conference.

  • I booked flight tickets through Germany, without realizing that I would need at least an airport transit visa. I assumed I would get a German visa, which would allow me to enter Croatia as well. The Embassy of Germany rejected my application, and I was stuck in Limbo for some time. I specially went to Delhi to apply for a Croatian visa, and got it a few days before the trip, leaving me no time to apply for the German visa
  • I canceled the tickets through Germany, and in panic, booked tickets going through Austria, without realizing that there is a 20 layover in Vienna, which would have been intolerable, and that I would potentially overstay on my visa.
  • I tried looking for an alternative, and was on the verge of booking tickets to Moscow, only to see the price double while I blinked.
  • I ultimately ended up canceling the ticket through Austria, and booking through Istanbul, which was a ‘sensible’ route, though it involved a flight plan which went: Bangalore -> Mumbai -> Istanbul -> Zagreb -> Dubrovnik. Travel Hell!!! I am sick of flights…
  • I missed the last day of the conference due to these issues, and also ended up spending some more on extending my hotel reservation, which was for a day less.

As the dust settles on the openSUSE Conference, I can only reflect on the awesomeness over the past week. It has really left a lasting impression over me. Thanks to the Geekos around the world, who make the openSUSE Project a success

 

Google Summer of Code 2014 @openSUSE

openSUSE has made it to yet another Google Summer of Code. This season, we got 14 students who would be contributing code to openSUSE, along with our sister organizations ownCloud, MATE and Zorp. Over the period of four months, students work towards completing their projects under the guidance of their mentors. Specific to openSUSE, we got a host of awesome projects with topics ranging to OSEM(Open Source Event Management), TSP(Travel Support Program application), Snapper, Live Flashing USB, Git Review, libvirt to name a few.

The projects (and their students) selected this season are:

1. Travel Support Program application – Karthik Senthil
2. Playlist Functionality for ownCloud Music App – Volkan
3. ownCloud Calendar Application in angularJS – Raghu Nayyar
4. openSUSE GSOC ideas: Cool live flash – Zsolt Peter Basak
5. Open Source Event Manager (OSEM): Refactor user management model – Stella Rouzi
6. Open Source Event Manager (OSEM): Implemention Organizer Dashboard – cbruckmayer
7. MATE: Port from deprecated GStreamer 0.10 – Michal Ratajsky
8. Integrate Snapper Snapshot browsing into openSUSE Desktop tools – Oguz Kayral
9. Implement an application-level LBaaS driver for Zorp – Péter Vörös
10. Extend Git-Review to support BitBucket – xystushi
11. Event Splash page for Visitors In Open Source Event Manager Application. – Gopesh Tulsyan
12. ePub support in Atril (MATE) – Avishkar gupta
13. Add Snapshot management API to libvirt Xenlight driver – David Kiarie
14. Improving the functionality of the extensions system in Caja – Alexandervdm

We hope to have an awesome summer of code with a lot of code being integrated into the respective codebases.
Happy Hacking!!!

conf.kde.in 2014

I had the opportunity to attend conf.kde.in 2014 at DAIICT, Gandhinagar recently. Having missed the previous edition in 2011, due to not being aware of the event, and the fact that I was not using KDE back then, this one was a must attend. I had booked my tickets quite early, and was expecting an awesome conference.

-> It turned out to be THE best conference I have attended so far. The talks were simply amazing. I have used Qt extensively in my earlier projects, and also in my Google Summer of Code project, and I could relate to most of the talks. Some of the talks, such as the one on C++14 literally blew me away. Even the organizers felt that it deserved more time than was actually allotted to it. The sheer power of Qt and C++ was displayed very well.

-> The talk on Baloo (nepomuk 2.0) by Vishesh Handa was pretty nice. For obvious reasons, he could not delve into the details of semantic search, but the high level picture did give me a new outlook about KDE. I am now using nepomuk more than ever

-> Reusable QML Components by Avnee Nathani was another useful one. I realised that a lot of my OBS plasmoids code could be split into reusable chunks which I just need to use.

-> Being a big fan of the KDE Multimedia applications such as Amarok, Kaffeine etc, I liked the talk by Shubham Chaudhary. It’s main emphasis was about contributing to KDE Multimedia from the ground up. I actually started trying out patches for Dragon Player after the talk.

-> The talk on Plasma Media Center by Sinny Kumari was nice as well. Nice to see KDE targeting television as well. Unfortunately PMC doesnt work out of the box for me on my openSUSE system, and I am trying to compile from source and run it

-> Jos Poortvliet came down to India for taking a talk on KDE Frameworks, Plasma 2 and the direction KDE is taking. His talk was quite interesting and provided deeper insights into the KDE Community.

-> Lastly, the venue was awesome. DAIICT has quite a strong KDE base, having hosted a meetup in February last year. I quite liked the location.

-> The KDE Community ROCKS as usual. Meeting Shantanu and Pradeepto and many other KDE contributors was an awesome experience. I hope to keep up in the KDE community and get some patches in ;)

-> Best part of the conference – Some asking the full form of RTFM, and getting the answer :D

Experiences from FreedomHack

I recently participated in FreedomHack, a 24 hour hackathon organized by inMobi. The event was organized in memory of Aaron Swartz, with ‘Freedom in Software’ was an integral theme. I, and my teammates (Harshit and Karan) decided to create an application to calculate and attempt to reduce the carbon footprint during travel. To do this, we decided to leverage the datasets provided by the Indian Government, and use them in conjunction with Google Maps, to find alternative paths of travel, which will have lower carbon footprint. An environment centric idea, but still had ideas for expansion. Overall, the hackathon experience was awesome, and the fact that we achieved most of what we had in mind with half an hour to spare felt nice. Following were some of my experiences:

  • I had written some PHP code, to retrieve tickets from my GMail account using IMAP, and parse basic information such as Source, Destination etc. My code was flawed in the beginning, and Karan really had to rewrite most of it, and make it efficient. As for testing, my credentials were hardcoded into the file. For jest, Karan and Harshit added some comments in the code to mock me, and uploaded the pic to FB. Somebody used the credentials and changed my password (facepalm moment!!!). This was one of the craziest experience in the event
  • We had divided responsibilities among ourselves, and my main task was to create an API exposing the functionalities provided by Google Maps. A Key aspect was how the data parsed from GMail would be passed to my functions. We zeroed in using AJAX to retrieve the data exposed as JSON. We made a small mistake of sending JSON as a string, rather than modifying the HTTP headers and sending response as JSON. This wasted some time. Moral: Always know inbuilt language features, rather than attempting to write your own
  • We used Git from the beginning, but due to some faulty commits, gave up after some time. This is not the ‘right’ way to collaborate, and next time, we have to do better in this regard
  • Bootstrap really makes for good UI, and we used it to good effect in our application
  • Technical aspects aside, me and Karan didn’t sleep for the duration of the hackathon. Surprisingly, our productivity picked up after 00:30, and most of the code worked after that.
  • The organization of the event was awesome, and it was a nice hacking environment. Tea/Coffee/Juice/Munchies helped us stay awake and code. Really had a nice experience, though one thing bugged me. Talks during the hacking hours just doesn’t make sense.

Staying true to the ‘Software Freedom’ philosophy, I will be pushing the code on Github (minus my GMail credentials). Overall, the hackathon produced some excellent hacks. More hackathons to follow…

Compiling the Kernel on openSUSE

Of Late, I have been very interested in compiling and installing my own Kernel. I tried once or twice earlier on virtual machines, which didnt boot after installation. So, I was not sure how it would work this time. This time, I compiled the 3.12 kernel on my openSUSE 12.3 system. Though not a big risk (I could always boot into the earlier 3.11 kernel), it was still a frightening task for me, who is just learning to find his feet around the kernel.

Installing a kernel from source is not a particularly hard task. The hardest part is configuring it to tweak it to your needs. The fact that there are thousands of options to configure is intimidating in itself. Fortunately, there are a variety of options you could use, to get your system up and running in no time. The purpose of this post is to put the simplest and shortest steps which you could use to configure and install the kernel on openSUSE.

1.) Get the latest kernel source from https://www.kernel.org/

2.) Install the dependencies required to compile and instal the kernel. The easiest way to do this on openSUSE is to install the ‘Linux Kernel Development’ pattern on openSUSE.

3.) Create a configuration file. This is the task that is going to take up most of the time in installing the kernel. The kernel configuration is in the .config file of the kernel source tree.

To create and edit the options, either of the following commands can be used:
-> make menuconfig (console based)
-> make gconfig (GTK+ needed)
-> make xconfig (needs Qt installed)

A default configuration file can also be used, which contains most of options enabled. This is probably the configuration used by Linus to build the kernel.

The easiest way to set the configuration file, is to copy the configuration file for the currently running kernel (it is in /proc/config.gz), and use it for the custom kernel. This was the approach I used.

4.) If you want to make additional changes to the config file, you can fire up the above tools, and make those changes before proceeding.

5.) Run the ‘make’ command to compile the kernel. Now grab a cup of coffee, as it takes quite a while.

6.) In all probability, you will get no compile errors. After the compilation is done, run ‘make modules_install’, to install all the modules built during compilation

7.) To install the kernel, run ‘make install’

8.) Reboot to run the new kernel

This isnt the best way to compile the kernel (using the distribution config file will have most drivers and options enabled, which may not be desired). I am still exploring most of the options, as I learn more and more about the kernel. I am already enjoying working around the kernel, and I hope to learn a lot more in the coming days.