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

Experiences from oSC13

Conferences are a great way of interacting with people you know online. I have always enjoyed attending technical conferences. This month, I got the chance to attend the openSUSE Conference 2013 in Thesalloniki, Greece. This was in the pipeline for over two months, since the registrations and the call for papers started. This was my second oSC, having attended the same in Prague last October.

This was undoubtedly a better experiences. I already knew lots of people, having met them last time. The fact that the conference was the first one organized completely was pretty awesome and inspiring. I would love to have a similar conference in India (or Asia for that matter). The Greekos really put in a lot of effort in organizing the conference, and made sure it was a success.

The trip to Greece turned out be quite chaotic. I had a flight till Athens, and then a train to Thesalloniki. I, along with Manu Gupta and Shayon Mukherjee had rented a place in Salonica, quite close to the venue. I reached on 18th morning, and realized that I had no mobile network, low phone batteries quite low, and with no means to contact either of my friends. To top it all off, I got lost, and reached the wrong place. Using the internet connection from a cafe, I made contact with Manu, and managed to reach the house, only to find that Shayon had lost (and found) his passport, and that we were locked out of the house. The trip was 12 hours old, and already very very eventful.

Back to the conference, the first day was very eventful. We reached the conference venue, The Olympic Museum, and it was already bustling with activity. We collected our goodie bags, and then started mingling with the rest of the Geekos. The full conference can be summed up with the awesome interactions with people, and the truly amazing parties (awesome food, drinks and people), which went on throughout the night, in true Salonica style.

Some of the highlights of the conference for me were(in no particular order of importance):

1.) The interactions with most of the community members, such as Jos, Bernhard, Robert, Richard, Agustin, Izabel, Henne, Oliver, Carlos to name a few.

2.) The folks from SUSE China. Sunny, Max to name a few, and having discussions regarding an openSUSE event in Asia (Really hoping it transpires)

3.) Manu and I, taking a talk on Google Summer of Code. This was the first talk I took at a conference, and the fact that it was being broadcast and taped scared the bejesus out of me. I didnt start off very well, but thanks to Manu, I regained my composure. Overall, it was a satisfying experience, talking about our experiences managing the program for openSUSE this year.

4.) The talks. They were top notch this year.

5.) The Town Hall meeting was nice, and I feel we should have it at every oSC.

6.) Manu and Shayon making the trip awesome. We really had a blast, roaming the streets of Salonica till 5 AM, and turning up for the conference the next day. To those sleepless but awesome nights :)

7.) The Greekos. They did an absolutely awesome job of organizing the event. Here’s to Kostas, Zoumpis, Stella, and the organizers for their effort

Overall, it was a very satisfying conference, and I learnt a lot about the community as a whole. I would love to get a chance to attend the next openSUSE Conference at Dubrovnik, Croatia in 2014.

Lastly, a word of appreciation to the Travel Support team, which did an awesome job of sponsoring 16 people to the conference, including me, Manu, Shayon and Amey. It really is an awesome program, which does a lot in increasing openSUSE’s participation in events across the globe. I hope more people make use of the program and turn up at events. \

For some more details about the program, I wrote a blog post about it some time back
https://iamsaurabh.wordpress.com/2012/10/27/the-opensuse-travel-support-program/

Installing Realtek 8273AE driver on openSUSE 12.3

This was a problem I didnt think I would face while getting a new laptop. I got the Toshiba C580 laptop, which has quite decent specifications. It is a nifty machine, and openSUSE works more or less flawlessly. The only issue I faced was with the Wireless card. It is a Realtek device, which is usually well supported, but this particular model, the 8273AE is yet to be fully supported by the kernel. I had to dig around a lot to get this to work, but received a lot of help from the openSUSE forums, and managed to get it to work. Thanks to lwfinger for writing the patch to get it to work properly.

1.) Use YaST to install the Kernel Development, C/C++ development and Base Development patterns

2.) Download the compat-wireless package from
http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2012-10-03.tar.bz2

3.) Download the patch from
http://www.lwfinger.com/realtek_drivers/rtl8723ae_master_patch

4.) Run the following commands

tar jxvf compat-wireless-2012-10-03.tar.bz2
cd compat-wireless-2012-10-03/
patch -p1 < ../rtl8723ae_master_patch
make
sudo make install

5.) Check if the driver is working with
sudo modprobe -v rtl8723ae

This should get the driver working properly

Source: http://forums.opensuse.org/english/get-technical-help-here/wireless/477285-rtl8723ae-realtek-wirless-driver-hell-3.html