My experience with conf.kde.in 2017

conf.kde.in 2017 was held in the big and beautiful campus of IIT, Guwahati in Assam. During 10th to 12th March, the conference schedule was 2 days of talks followed by a day of workshop. Talks were lined-up in single track which helps attendees not to miss any talk. Conference pictures from my camera are available at flickr.

33348374282_19cd6e08ef_z

1st Day

The first day started with inaugural ceremony where college professors and Valorie lightened up candle to start the conference.
Later, Valorie Zimmerman gave a keynote on Your Superpower. This talk was to motivate everyone to believe in themselves because each one of us have got superpower. To do something, it is very important to first believe in yourself.
33505439955_a0fd2bf847_m       33121738790_38b47982c0_m
Further, Shantanu gave an introductory talk on Qt and QML and showed some live demo explaining how easily UI can be created using QML. This talk was one of the important base for 3rd day workshop.
Bhushan gave talk on different KDE projects where one can contribute like KDevelop, Plasma, Krita, Kstars, Calligra, etc. He also provided some important information useful for beginners like how to get a KDE project’s source code, joining project related mailing lists and asking questions on respective IRC channel on freenode. Also talked about junior bugs associated with project – an easy way to start contributing to a project.
First day ended with Pradeepto’s talk of his 11 years experience with KDE and how he made so many friends across different parts of world. I feel that this is one of the best part of any conference, we meet friends with whom we work remotely and also make some new ones.
32691070893_d79e4e9caf_z

2nd Day

The 2nd day started with my talk on how I use KDE software to survive. I started using KDE desktop as my primary desktop since I was in college in around 2009. I strongly believe that to start with contribution to any software, it is very important to first use it and understand it. This gives new contributors a better idea where she can start contributing.
In my talk I discussed some KDE software which I use everyday for my personal as well as professional work. Slides for my talk are available at github.
852118014_98488

Photo Credit – Srijan Agarwal

I liked Shantanu’s talk on using GammaRay to debug QtQuick applications. He showed how he uses GammaRay to debug his office project called SoStronk – desktop application written in Qt and QML.
Another interesting and amazing talk was given by Aditya Mehra on Mycroft integration with KDE in the form of a plasmoid. Mycroft is an open source voice assistant application which can run anywhere – on a desktop computer, inside an automobile, Raspberry Pi and so on. One can view a pre-recorded video available on YouTube and yes if you don’t like the voice, you can add your own custom voice.
33505577155_065d890933_m        33348927352_5fc88ff6c6_m
There were other several interesting talks on topics like GCompris, GSoC 2017 and how one can participate, Journey of SuperX – Linux based OS + KDE software started in Assam, India.

Workshop

Most of the attendees were college students and it was important to give them some hands-on experience to help them to start with contributing to Open Source. Ashish Madeti started with explaining importance of git and how create a project with git version control setup, doing commits and other basic stuff. Attendees were trying in parallel on their laptop and we helped attendees individually to make sure they are able to do it themselves.
Later, Shantanu Tushar and Tony Thomas started with creating basic UI project using QML in Qt Creator. They explained how to browse documentation in Qt Creator for available components. Attendees tried on their own laptop and we all helped them to solve problems that they were facing.
33121892090_392858fa0b_z
There were many other interesting things discussed during the conference which is hard to cover in a single blogpost.
A big thanks to all volunteers who helped from start of the conference till end. Special thanks to Bhushan Shah for organizing it and KDE eV for sponsoring my travel.
With each conference, we get some awesome KDE contributors and hoping the same this year!

Flock 2016 & my talk on ABI checking in Fedora

Flock is the annual Fedora conference where you can find Fedora contributors as the main audience. This year the conference was held at the beautiful city Kraków, Poland from 2nd to 5th August. Being a schedule of 4 days, it was split into first 2 days of talks and later on workshops. Majority of talks were enriched with various Fedora related topics.

Main Talks

Since I have recently started to contribute to Fedora, I decided to attend only couple of talks and spent rest of time talking to more Fedora contributors. Some of the talks which I attended includes keynote by Matthew Miller on State of Fedora 2016, keynote by Radek about modern and open way of education among kids, modularity in Fedora talk by Langdon White and status of Pagure by Pierre-Yves Chibon.

28737950212_939a0dff2a_m          28558622010_c73a65833c_m

Most of talks have been recorded and  has been uploaded on YouTube. Link to recordings and slides for talk can be found at Fedora wiki.

Workshops

With my interest to have patches in Kernel, I attended workshop on Building the Fedora Kernel by Laura Abbott. During this workshop I successfully built Fedora Kernel locally in fast mode using ./scripts/fast-build.sh x86_64 kernel_srpm. Also, learned building upstream kernel with enabling/disabling desired modules during build using command make menuconfig (Need to try out!)

I am not usually a design person but still went to try out my chances in Fedora badges workshop organized by Maria Leonova and Marie Nordin 🙂 To design badges you need to have inkscape software (dnf is our friend) installed. To use Fedora specific color, copy palettes files (*.gpl) into ~/.config/inkscape/palettes/ and get one of badges templates. Now pick up new open ticket and you are ready to go. I tried working on an opened ticket which was to create a badge for “You helped get NodeJS 4 into Fedora”. So far, it seemed easy but seriously placing NodeJs logo in the right way in Fedora template was not so easy. I tried some ways and thought it’s better I stay away from it otherwise Fedora might get some ugly badges 😉

28811741586_e2ac08edae_z

Our (I and Dodji Seketeli) talk on Ensuring ABI stability in Fedora

Our main goal to have this talk in Flock was to make more people aware of the concept of Application Binary Interface and how one can ensure that application which they are writing/maintaining are ABI compatible across various releases. Slides and recording of our talk are also available to view.

During this talk, Dodji covered:

  • What ABI in C/C++ applications means
  • Artifacts which may lead to ABI changes like:
    • File format – right now we support only ELF file format
    • Target architecture for which binary has been compiled
    • Calling convention
    • Addition/Removal of functions and variables in source code
    • Change in type(s) of existing functions
  • Among found ABI changes in application, only some of them are incompatible changes such as: removal of existing functions or variables, incompatible layout changes in types.

28225418924_63469694be_z

Later on, I continued the talk and explained:

  • Automatic ABI checking performed in package updates shipped in Fedora koji using abicheck task integrated with taskotron.
  • Depending upon abicheck result, status message (PASSED, FAILED or NEED_INSPECTON) with log is sent to package maintainer(s) ( whoever has subscribed) for review. This is already running in production which you can view anytime.
  • Other than abicheck task run, libabigail provides tools which can be used by package maintainers (fedabipkgdiff, abipkgdiff) and developers (abidif, abipkgdiff) during development phase to avoid releasing ABI incompatible applications.
  • Verifying ABI changes log with live example taken from abicheck task run on gpgme package.
  • Various future improvements in our tooling like reducing memory consumption during ABI check run, extending ABI check run to all koji packages(right now runs only on packages mentioned in critpath), running ABI checks in rawhide on two distinct packages.

 

Talk was well taken by attendees and they had various curious questions (which have been recorded in our talk video).

28225417524_7f171272b9_z

During this conference, We managed to talk to some taskotron maintainers (Tim Flink and Kamil Páral) and got their feedback on existing status of abicheck task run. They seem pretty ok with its current status. We also discussed on following future works which needs to be done to improve ABI checking experience in Fedora:

  • Running abicheck task on all koji packages – We are already running ABI checks on important userspace packages with few exceptions due to memory constraints (kdelibs, firefox, thunderbird). Existing runs are stable now and it is time to extend to run on all packages and we all agreed in favor of. A task has already been created on phabricator which will get done soon.
  • Compare abicheck on two distinct builds in rawhide update – Currently, when abicheck run on rawhide packages, it ends up comparing between same nvr which is not very useful. This is because there is no tags like update-testing which we have in Fedora branches. In rawhide, latest build become the greatest. We thought of multiple solutions to fix it but for now we agreed to go on easily doable solution. We will compare latest build in rawhide with second immediate latest one. More details is getting tracked on phabriactor.
  • Run abicheck task only if package has Shared library – Right now abicheck task is only relevant if run on C/C++ shared libraries. Lot of packages in Fedora are non c/C++ and without shared libraries. So, it doesn’t make sense to waste resources by running on all packages. We have a task created in phabricator which will look into rpm package content first and look for shared libraries. Regex which we will use to find out shared libraries files are \.so[0-9.]*$’. If a package has at least one shared library then only perform abicheck run on it.

Overall, the conference was productive to me both technical and community wise. I met a lot of people in person to whom I have only talked over IRC channel/mailing lists. Also met some new people from the community. Thanks to all the organizers who did a great job with the organization. Everything was so great including venue, arrangements and evening events (sadly I couldn’t attend walking tour to city). I captured some pictures during my Flock trip which can be found at flickr.

28558664680_b608079857_z

Would love to visit Flock again with more contribution in Fedora 🙂

Devconf – Amazing place for a developer

As a fresh start of 2016, I got a chance to be part of Devconf – an annual conference which takes place in the beautiful Brno city of Czech Republic. From past three years, its been happening in February month’s first Friday to Sunday and hence this year it was from 5th to 7th February.

24773396030_35784f5c66_z2

This conference attracts not only developers but also Testers, System Administrators, Product Security groups, Packagers,  DevOps, and many more from different technologies and communities e.g. OpenShift, OpenStack, Container, SELinux, Fedora, Gluster, Kernel ,  JBoss, etc. If you don’t believe me, check out this year’s Devconf schedule yourself 🙂  I am sure that after looking into the schedule, you want to see interesting recorded talk’s videos.  No worries, Devconf organizers and volunteers did amazing job in uploading videos quickly on youtube. You can also find couple of photos taken by me during conference on flickr.

In this blog, instead of going into any kind of technical details of a talk, I will be doing a small walk-through of the conference from my perspective. In case you are looking for technical details, I recommend to look for schedule and recorded talks 🙂

At the beginning of conference, every participant was welcomed with a conference schedule booklet and pen! It was very handy to have the schedule in hand during conference. Later on,  Radek Vokál welcomed everyone to enjoy this year conference and insisted to be at conference till the end to win some interesting prizes 😉

The conference began with two parallel keynotes among which I went for Tim Burke ‘s talk on  Rock Star Recipe . He was previously a programmer and now vice president for Software Engineering at Red Hat. With his own experience, in 10 slides he explained beautifully how an engineer or a normal person can become a rock star. I am sure, everyone wants to be a rockstar. So, don’t forget to watch his talk 😀

24442073143_f5e00fc8ae_m1        24950812002_dfcfd720ae_m

In chilly Czech weather, I felt that Containers were the hottest topic of discussion for this year’s Devconf.  Very first day, talks in the main conference room were either directly about containers or integration with containers. To be honest, with my limited working experience with container technology I really like it!  To improve my knowledge about these, I mostly attended containers related talks on the first day. It’s good to see rapid growth and seriousness among people about docker containers. Lot of people are either trying or already running their applications in containers. Since there is discussion of containers, it is also good to keep track of project atomic – Create, deploy and manage containerized applications on a proven and trusted platform.

25065895736_6950efa694_z1   25042622406_b0d7b7566b_z

I love to know and learn about different Open Source projects, their communities and most important interacting with people. So, I spent the rest of the conference attending workshops, talks on Networking tools, POWER, QML, Product Security and Fedora community. Among lot of workshops, I managed to attend only two – Advanced packaging by Miroslav Suchý and Creating Automated Jobs to Run Against Fedora by Tim Flink. Packaging workshop improved my packaging skills and I hope to (c0)maintain some more packages. My love towards Libabigail project drew me to Tim Flink’s workshop. I wanted to understand and later implement a Taskotron task  which triggers ABI checks when a package is pushed for update in bodhi. I managed to understand some bits and soon will work on it!

24701204279_f998ee8d4e_z

 

Other than talks, there were multiple fascinating booths outside the main conference hall. Some of booths were about Red Hat, RDO, OpenShift, Foreman, Project Atomic, Fedora. I loved going to every booth and interacting with them to understand what’s new happening there. I also got awesome goodies from them (thanks for that!).

25042585956_54259bf885_m    24701311939_7a459e77f7_m

Conference ended with grand finale where winners got some interesting prizes like Yubikey, Raspberry Pi, Devconf T-shirts.

If you are interested in knowing precise information (data taken from Devconf site), there were total 3 Keynotes, 203 talks + workshops and 22 lightning talks :O Other than that, one organized city tour (which I missed) and one networking party at Starobrno brewery pub. I must say the conference was rich with variety of talks. There were 8 parallel tracks running for 3 days comprising around 1600 attendees. To keep everyone alive during conference, there were even sponsored beverages and food! And to manage everything, there were 110 awesome volunteers (Kudos to all of them!).

Thanks to all volunteers, organizers, sponsors, speakers, etc for this awesome Devconf. I hope to see you all again in next Devconf 😀

24975564931_0ee837f0cd_m          Cheers!

 

My first presence in Fedora Conference with FUDCon, Pune 2015

One of the popular Fedora conference called FUDCon which recently happened in beautiful campus of MIT College of Enginnering Pune. FUDCon stands for Fedora Users and Developers Conference and organized in different regions of world. After 2011, once again FUDCon APAC was organized in Pune from 27th to 29th June. I couldn’t attend FUDCon 2011 because I wasn’t involved in Fedora in any ways and sadly never came to know about it from any of my friends. Around 3 years back, when I heard about FUDCon, I decided that I will definitely go to this conference whenever and wherever it happens in India. In early months of 2015, I was thrilled when heard about FUDCon, Pune announcement. I also submitted a talk on ABI Compatibility with positive hope of getting it accepted (Yes! it got accepted as well 🙂 . Talk selection committee did very good job in selecting talks and putting them in a very well organized schedule

 

Day1

It started with very early reaching to MITCoE around 8:30am. We soon rushed to main Auditorium to attend first day keynote by Dennis Gilmore on Delivering Fedora for everything and everyone. In his keynote, he talked about upcoming changes in future Fedora releases. I was surprised when I saw his last slide where it was written ausil. Reason of getting surprised was that, I have seen this name at lot of places in section “built by” in  koji web interface while browsing through packages. It was good to see ausil talking on stage upfront. Keynote was followed by traditional lamp lightning by MITCoE professors and Amit Shah.

     

Later, I rushed to the seminar room where I was supposed to give a talk on ABI Compatibility I kept my talks simple, basic and easy so that even students can understand as well. I started with API and how API changes in an application can affect all API consumers by demonstrating API change in C printf() function. Further, talked about how ABI of an application may change and can lead to wrong results or crashes in application. Also discussed how you can make use of tools like readelf, objdump, abidiff, abicompat to do ABI analysis on C and C++ binaries. Audience were interested in knowing if we can use these tools on application from other programming languages as well but sadly answer is No. Talk ended with showing demo about how Libabigail‘s abidiff tool detects ABI changes between two versions of a library. Talk was well accepted by attendees.

Next talk was presented by Samikshan Bairagya which was about ABI changes in Kernel. He talked about advantages and limitation of genkysyms tool which is currently being used in kernel for ABI checks. Later, he introduced us to new tool called Spartakus on which he is currently working on. Spartakus aims to solve limitations of genkysyms. He also welcomed new interested contributors to Spartkus.

    

After the talk, I had a brief talk with Suchakra who other than contributing to Fedora does research and study in areas like profiling, debugging, OS and other low level stuff which interests me as well. I planned to attend his talks and workshop which was schedule on Day 2.

Outside conference hall, there was Fedora booth as well from where we all attendees picked awesome Fedora swags like stickers, DVDs, badges. It was also a great place for different people to interact with each other and talk and ask for help if needed.

Day 2

Day2 started with keynote by Jiri Eishchmann on current status and upcoming features in Fedora workstation. Everyone was thrilled when Jiri told in his talk that MP3 patent is going to expire soon and we can use it for free to play mp3 media!  Further, I attended Suchakra’s morning talk on different tracing tools like LTTng, SystemTap, Dtrace which went very well. I also attended workshop on Kernel module development  where I learned creating your own network packet filtering kernel module. Sadly, module didn’t compiled on my machine because of mismatch of kernel sub-packages versions. Error got fixed next  day when I updated my whole system with new kernel sub-pacakges versions.

      

In between, we also had group photo session with all Fedorians

FUDPub

After end of Day 2 conference, all volunteers and speakers gathered for FUDPub in Blue O. It was way awesome than I thought, free drinks, free games and Fedora friends ! Most of the time I spent doing bowling because it was unlimited 😀 Next day, I got reward of doing so much bowling by getting pain in hand 😛

Day 3

I attended introductory Docker workshop in morning which was lead by Lalatendu and Aditya. They did very well set-up for distributing Fedora vm with docker images already available in it. This avoided hassle of waiting for college internet for downloading on demand. Whole session was hands-on and that’s why I liked it very much. Further session was on Kubernetes which I attended partly and then moved to AskFedora UX/UI hackfest. I didn’t actually hack on anything related to UI/UX there rather was listening and noticing to what improvements they made and planning to do in AskFedora web interface.

      

Day3 ended up with closing ceremony where Rupali expressed her thanks on behalf of all Fedora community to  each group of attendees. I was amazed to see the enthusiasm of organizers and volunteers throughput the conference. Both of them did a great job in making this FUDCon a grand success. I would personally like to thank Fedora for approving my travel sponsorship request and providing a great stay in Pune. Few pictures which I captured is available on flickr . Will update with FUDCon talks videos link once it is available.

In one sentence, “Another great conference” for me! Looking forward to be part of upcoming Fedora events and conferences.