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.

GSoC 2013 Experiences

924x156xbanner-gsoc2013_png_pagespeed_ic_Z9V_lgyiqp

Finally, GSoC 2013 comes to an end. Being an admin for openSUSE was an enriching experience, and I learnt a lot in the process. I realized that it takes as much effort to manage a program in the community as it takes to participate in one. With a few hiccups along the way, I can safely say that GSoC 2013 was a success for openSUSE. In this post, I am highlighting the work done along the way for openSUSE this summer, and my own experiences.

Work Done over the Summer:

Overall, We had 12 selections from the openSUSE umbrella, which comprised of openSUSE, Balabit (syslog-ng), Hedgewars and ownCloud. 6 projects were for openSUSE and 2 each for the other organizations. Towards the end, we had 10 successful projects.

The projects completed over the summer were:

  • OBS Discussion System by Shayon Mukherjee
  • Automatic Resizing of LVM Volumes by Akif Khan
  • OSEM by Stella Rouzi
  • AppArmor Profiling Tools by Kshitij Gupta
  • git-review by Xystushi
  • User Management Application for ownCloud by Raghu Nayyar
  • Music App for ownCloud by Morris Jobke
  • Syslog-ng MySQL Destination by Gyula Petrovics
  • Syslog-ng Redis Destination by Tihamér Petrovics
  • Hedgewars Mission Campaign by Periklis Natansis

My Experiences:

  1. It took us a long time to get started for GSoC this year. In the early months, me and Manu were facing difficulties in trying to get mentors to add projects, perhaps due to previous experiences. An issue with GSoC over the years has been that students don’t stick around in their respective communities. Mentors invest a lot of time in the students, and the effort is *wasted*, when the student doesn’t stick around. This got us into a debate whether we should give preference to existing contributors, or give potentially new contributors a chance. For this year, we had a good mixture of new and existing contributors, which bodes well for openSUSE as a whole.
  2. We got very few slots this time. With the number of proposals we got, and the sheer number of projects on our ideas pages, we expected around 16-17 slots, which could accommodate most of the openSUSE projects, and also our coparticipating orgs. Getting 12 slots was a bit of a shock for us, because we had a good number of projects. Some of the mentors were understandably upset, that their project was overlooked, as we had 6 projects for openSUSE, and 2 each for the other orgs. This was something beyond our control, but it would helped if we would have got a few more slots.
  3. We were hit this time by the problem of Disappearing students. One of the students had got accepted, only to disappear for long periods of time. Ultimately, the project failed. The worst part was that the student had prior contributions, and the mentors had verified them. This calls for stricter rules to select students, and verify their credibility.
  4. Health of students proved to be the stumbling block for projects. One of our students had severe issues with health till the midterm. His mentor chose to pass the student in the midterm, but valuable time was lost. Even with a lot of effort, there was not enough output for the mentor to pass the student. Hats off to the student for still staying motivated to contribute to openSUSE. In another case, the student fell sick after the midterm, and due to that, all the project goals could not be completed, though the project is in good shape to be completed.
  5. At the openSUSE Conference, me and Manu had discussions with the community, mentors about the program. We realised that the potential of GSoC could be realised by having worthwhile contributions, and having the contributors stick (which is what the program is about). Our efforts in the coming years would be based on that, and hopefully, we wont face many problems

openSUSE Issues and their Resolution by Kernel of the Day

I have been using openSUSE 12.3 since the past three months on my new Toshiba rig. Despite some issues, I found it to be the most stable Operating System around. The KDE Release is specially slick, and didnt give me many issues. After updating the system, and installing a truckload of softwares, some issues crept up, that I initially found it hard to deal with. As my wireless driver was a very recent Realtek one, the driver was not part of the kernel that openSUSE initially came with. I was using a patched version of the compat-wireless package, but it was slightly buggy, and I was facing frequent disconnections, when the signal strength was comparitively weak.

Another minor issue was that of codecs. Kaffiene stopped playing video files for some reason, even though I had proper codecs installed. This was more of a graphics driver issue than a codec issue though. My most sever problem was that of the i915 Graphics driver not being loaded. This was not immediately clear to me, as I didnt have much experience debugging kernel issues. Going through the ACPI log, and using hwinfo and modprobe nailed down the problem. It was a module compilation error.

I never expected the problems to be simple. I just updated the kernel to 3.10, using the Kernel of the Day for openSUSE. Now, I am running the 3.10 kernel. All my issues went away in a jiffy, and I back to using the distro I love and admire.

Kernel of the Day – http://en.opensuse.org/openSUSE:Kernel_of_the_day