Flock 2017

This was my second Flock conference. The last Flock I attended was in 2014. This time it happened in CapeCod, MA, US from 29th August to 1st September. This Flock was also a nice experience.

This time there was no keynote session (as per schedule and also as told on flock-planning list) but the only first talk for day 1 was “Fedora State of the Union” from Fedora Project Leader Matthew Miller.


He talked about history of Fedora releases their usage, downloads per release in graphs. One of the graph showed number of IP connections to Fedora update servers is getting increased per release, another graph Geologic Eras of Fedora showed which Fedora release series was used most by users. He then given importance that Fedora Atomic CI and Fedora Modularity are the upcoming development in Fedora.

I attended some talks and Do-sessions from which I will write here for few of them.


I attended workshop on “Become a Container Maintainer“. This was a very useful workshop. I have been doing a package reviewing for many years now. Fedora project added namespaces in PkgDB which enabled containers, modules which made adding containers and modules easy in Fedora. For the last few months I found few Container specs that is Dockerfiles have been submitted for reviews.  I was interested in trying reviewing few of Containers but did not get time but after attending this workshop, I got to know few concepts that Fedora has introduced while writing Dockerfiles for Fedora containers. During workshop we formed a group of 2 peoples and asked to write a Dockerfile for whichever software we want to containerize. Then our dockerfile has been given to another group for review. This was very helpful exercise. Hopefully I will look more into Container guidelines and try reviewing Dockerfiles getting submitted to Fedora. Thanks to Adam Miller and Josh Berkus for such a nice workshop.

Another workshop I attended was “Atomic Host 101“. For this workshop Dusty already provided needed lab files and images that I already downloaded day before. So it was easy start for me for this workshop. Dusty first gave introduction to Atomic concept. The workshop was divided into parts. Starting with preparing for this workshop as part0 to containerizing applications as part05. If someone want to follow this workshop stepwise then start with this blog post. This workshop provided how to use rpm-ostree commands, few things about container storage, how one can upgrade or rollback atomic host, some commands to try the experimental features Atomic is providing currently.


One of the talk I attended was “New Container Technologies” where Dan Walsh presented about new things coming for Containers. He discussed about Open Container Initiative (OCI) which is designing open standard for containers, Skopeo project which provides pulling container images from remote registries, images information. Then he discussed about image signing goals, System containers which can be installed by atomic command where skopeo is used to pull image and ostree to store image layers on disk. Then he discussed about standalone containers, container image development tools buildah. Then he gave some introduction to CRI-O project and shown some kpod tools which is management tools for CRI-O. This was one of the good session to know what development is happening for containers currently.

Another talk I attended was “Automate Building Custom Atomic Host with Ansible”  where Trishna Guha talked about architecture of Atomic host, conventional way of 8 steps on how to compose own tree. Then she explained how this much 8 steps work can be simplified with the usage of Ansible. With the use of Ansible it become already easy to deploy things now.

Conference Organization

This time Flock was organized differently that mean specific topic wise tracks. These tracks were having a mix of Do-Sessions and Talks (and 2 hrs lunch break daily). I like the concept of such schedule but then I saw some advantages and disadvantages. The advantage I saw that 2+ hours Do-Sessions proved to be very productive. As it was for longer duration and covered the given topics in detail, the attendees got that topic learned in detail. But for few such sessions there was another parallel good talks were going that I could not attend. The point I want to say here is that if there are only talks in parallel then one can choose one and skip others and can watch video later. But when you need to choose between one 2 hours workshop vs one or few talks then it becomes difficult. Also, one can say here that I can just attend workshops and watch videos of talks later but then you will loose chance to listen to the session presenter and if you got some queries then you can resolve it at the same time in the talk session.

Final words

Overall Flock was a nice experience. All we saw people were talking about these words only Atomic, Containers, Modularity. One of the good thing was the session “Advertise your session” on first day where I got a chance to see every session owner and also got to know about what they have planned for their session. Another good thing was on last day, last session where people talked about what they achieved and what they have planned for future. Also, first 3 days were having 2 hours of lunch break which really proved good to discuss some topics with other Flock attendees. Keep these things for next Flock also.

My suggestion for future Flock conference will be to keep only talks in parallel for say 2 or more days and rest of day workshops or daily morning session talks and post lunch workshops but not to mix them.

I want to thank to Flock organizing committee for such a nice selection of hotel and conference venue. I liked it much. Also thanks to Red Hat for sponsoring my air travel to this Flock.



Summary report on FUDCon APAC, Phnom Penh

This year FUDCon APAC happened in Phnom Penh, Cambodia for two days 5th and 6th of November. This FUDCon happened as part of bigger conference called as BarCamp, ASEAN 2016. This BarCamp happened at Norton university from 4th to 6th November.

On the first day of this BarCamp/FUDCon when we reach to the venue, we found it to be very nice place, full of people like students, volunteers, banners of BarCamp everywhere. It was a five floor building and the inauguration talk happened at the top 5th floor where all the honourable guests including Brian Exelbierd, Fedora Community Action and Impact Coordinator talked about FOSS.



The actual FUDCon talks were started by 11.00 AM on the second floor. We got mostly 3 parallel talks on both the days. The talk selection was good it covered all the areas where Fedora is growing.

I attended the first talk by Kanika on “Programming with Rust” where she explained about Rust, how to install it on Fedora, write a program in Rust and compile it, run it. Then we had a nice lunch. The second talk was by me on “How to Globalize your software?” where I explained what globalization is, its advantages and disadvantages. I also gave a link to my github project where people can clone it and take the small exercise stepwise to learn on how to add globalization to any software. Then I attended Alex Eng’s “Zanata – Translation Platform” talk where he explained nicely about Zanata platform, its upcoming features, different Zanata instances and Zanata client tools.

In the same room then I attended talk on “Web VR on Fedora” by Sumantro. He gave a nice talk on how to use Virtual Reality on Web. He used some javascript library and explained how to experience VR with HTML code. He showed how to build VR scenes. The Last talk we attended was by Anwesha on “A walk of licenses in Fedora Ecosystem”. Anwesha explained licenses used in Fedora packages. She also showed us a nice graph about which licenses Fedora packages are using.

That concluded first day of the FUDCon.

The second day started early at 9 AM. It was raining heavily and it continued till the evening. The first talk I attended was by Noriko on “How you can help us get Fedora to World?” where Noriko gave a talk on how translators can help to translate Fedora. During the talk Sirko gave an overview of Asian countries and their translation teams status. It was a useful discussion that provided the current situation of translators and what more need to be done to increase the translators. Then the next talk was by Sayan who explained “Exploring Fedora Infrastructure” by giving examples of Fedora applications Hubs and Pagure, their coding design, some common functions used in both application codes, alembic usage etc.

Kushal gave talks on “Testing Fedora Atomic hosts in an automated way” where he gave demo of how Tunir tool can be used to test Fedora Atomic hosts and how he got an idea to develop Tunir. We break for lunch and then I attended “Fedora QA” talk by Sumantro where he gave overview of Fedora QA, testing process, bodhi and its usage. The next talk I attended was again by Kushal on “Writing your first automated test for Fedora Atomic” where he explained how to write tunir tests. The last talk of the day for me was given by Jens Petersen on “Flatpak applications for general distribution” where Jens explained flatpak concept, its usage, sandboxes, how to build any flatpak app.

That concluded last day of the FUDCon. I did miss some talks as I attended other talks at the same time. We then immediately moved to FUDPub venue where we had our social event. It was a nice place.


Speakers Group Photo by Tommy He

This was my first BarCamp conference also that I attended. Some of the good things I observed about this FUDCon

  1. Venue place was good
  2. Many many BarCamp volunteers to help
  3. Volunteers used to paste the talk information page to room door just at the start of the hour.
  4. Thankfully no shortage of free water bottles
  5. Many attendees were come to this BarCamp event
  6. Single person organized FUDCon event (Sirko Kemter)

Also, thanks to BarCamp organizers who gave some gift to the session speaker at the end of their talk.

Some of the missing things I observed in this FUDCon

  1. No Fedora swags given at all
  2. No conference speaker badges provided
  3. No talk recordings happened

Overall we were around 22 speakers who gave 30 talks in this FUDCon 🙂

Thanks to FUDCon organizer Sirko Kemter for giving me the opportunity to speak at the FUDCon APAC event and thanks to Brian for quick processing of the travel funding. I also would like to thank Yekleang Dy for her help in organizing local logistics for this event.

dnf-langpacks plugin retired from F25

Last release we implemented new way of installing langpacks packages using RPM’s weak dependency feature. The dnf-langpacks plugin commands thus become not retire dnf langpacks plugin package called dnf-langpacks in rawhide(f25+).

Those who still want to know what is current way of installing language packages please check this test case page.

I have also submitted a pull request for fedora-comps to remove dnf-langpacks package from “standard” as well as “workstation-product” group.

Migrate manually your fedorahosted git repository to Pagure

I see Pagure has been progressed a lot and is in a very good state that one should use it for their own project hosting.  I was in need to update my project on fedorahosted and realized why not start using Pagure now. I decided to move my projects there. I was knowing how to move source repositories by adding remote repository. I created empty repository on Pagure and then pulled remote source repository into it. I just did that but realized it did not bring all branches and tags. I then got help from Vivek and Farhaan and with the help of them manually migrated to Pagure.

Let me provide here steps to migrate a project say xyz on fedorahosted to pagure. Let’s assume you have your git repo at https://git.fedorahosted.org/git/xyz.git

checkout locally this fedorahosted repository as

git clone ssh://<FASID>@git.fedorahosted.org/git/xyz.git

Check the branches status

$ git branch -a
* master
remotes/origin/HEAD -> origin/master

Checkout remote branches locally if you have any. You need to ensure all remote branches are locally available. We found how to do this from this stackoverflow question page

$ git branch -r | grep -v ‘\->’ | while read remote; do git branch –track “${remote#origin/}” “$remote”; done
fatal: A branch named ‘master’ already exists.
Branch feature1 set up to track remote branch feature1 from origin.
Branch feature2 set up to track remote branch feature2 from origin.

Then just fetch branch information

$ git fetch –all
Fetching origin

Now, create a new project with same name on Pagure by filling this form.

Suppose you created your project as https://pagure.io/xyz

Now as we have got all the branches locally, next we  add this pagure git repository as remote to fedorahosted xyz project

$ git remote add upstream ssh://git@pagure.io/xyz.git

Then we push all the local branches to remote pagure’s xyz project

$ git push –all upstream
Total 0 (delta 0), reused 0 (delta 0)
To ssh://git@pagure.io/xyz.git
* [new branch]      feature1 -> feature1
* [new branch]      feature2 -> feature2

but above command only pushed all the local branches including master but not any tagged sources. To do that execute following

$ git push upstream –tags
Counting objects: 24, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (24/24), 3.75 KiB | 0 bytes/s, done.
Total 24 (delta 9), reused 15 (delta 0)
To ssh://git@pagure.io/xyz.git
* [new tag]         1.4.1 -> 1.4.1
* [new tag]         2.0.0 -> 2.0.0
* [new tag]         2.1.0 -> 2.1.0
* [new tag]         2.2.0 -> 2.2.0
* [new tag]         2.3.0 -> 2.3.0
* [new tag]         2.4.0 -> 2.4.0
* [new tag]         2.4.1 -> 2.4.1
* [new tag]         2.4.2 -> 2.4.2
* [new tag]         3.0.0 -> 3.0.0
* [new tag]         3.1.0 -> 3.1.0
* [new tag]         3.2.0 -> 3.2.0
* [new tag]         3.3.0 -> 3.3.0

Above all steps will migrate your fedorahosted project git source repository including all remote branches and tagged sources to pagure.

conf.kde.in 2016 Day 2

Second day ( 6th March 2016) started with the Keynote by Timothee Giet on “Krita for everyone”. Timothee talked about Krita features. He showed some of the pictures, demo and video created in Krita. I find it really awesome tool for creating animation. Pradeepto tried to record the video here.


The next talk was by Bhushan Shah on “Mentoring programs with KDE” where Bhushan explained about how he got into KDE contribution and then participated in SoK and how he became mentor for SoK. He also explained students about GSoC program.


The next talk was by Rajdeep Kaur on “GCompris InBuilt Features” who has contributed the classical hangman activity for GCompris. She explained how to contribute activity to GCompris.


The next talk was by Boudhayan Gupta on “Git Under KDE” where he explained about git.kde.org and his devops experience in maintaining kde infrastructure. Then we break for lunch.


The next talk was Sanjiban Bairagya on “Play with Marble” where he showed Marble application and his contribution to it which was implementing interactive tours in Marble in GSoC.

The next talk was by Garvit Khatri on “Introduction about LabPlot” where he talked about his work on integration of cantor (a front-end to powerful mathematics and statistics packages) with LabPlot. This work done was his GSoC project.


The next talk was by Ashish Bansal on “Introduction to KDE Connect” where he talked about KDE Connect and the plugin to find the mobile phone.

Then Rishabh just talked about the incoming search feature in GCompris. Then Siddesh explained about how QML animation are easy to make by showing his work on Gcompris.

Then Pradeepto, someone from organizer team and Professor Ravi sir gave the closing conference speech. Pradeepto talked about some core KDE contributors from India. He told about their contributions and how they grow in their career. Pradeepto then thanked to all the involved people in making this conference successful including college faculty, organizers, volunteers.


We then moved to open space inside college campus and talked with each other. I got a few students with whom I discussed about my Fedora contribution experience. I had a nice talk with Timothee where he shared how he got involved in his Krita work and in general linux and open source world.

We then moved to the guest house for more discussions and had a early dinner with the faculty members including the Director Sir and organizers of the conference as me and Pradeepto was having a flight to catch. We got a conference T-shirt from the college at the time of leaving the college campus.

Bruno also gave some of us GCompris T-shirts and Timothee gave postcard prints of some image created in Krita. I am glad that I met these awesome contributors and got to know about their journey in their projects.

And the most important person for this conference was Sagar Chand Agarwal. Many thanks to him and his team for taking so much effort in making this conference a success. Many thanks to Pradeepto and Bhushan Shah as well who was also core members for organizing this conference.

Photo credit goes to Shivam and Sagar. I picked some of the photos in this post from their conference album.

conf.kde.in 2016 Day 1

The first day (5th March 2016) of the conference started with a inauguration by LNMIIT director sir and other faculty members.


Followed by Pradeepto’s talk on how KDE.in has been formed, how it got progressed over the last 10 years. Yes this was 10th year anniversary of KDE.in conference!! I was glad that I was part of this conference.


Then then next talk was from me on “Packaging your software” where I explained the need of whatever these students are writing the software how it can be helpful to them by packaging it. By packaging their software they can get more users, contributors to their project as it becomes widely available otherwise just writing software with them, no one will know how it can be helpful to others.


Then Varun Joshi talked about how to begin with contributing to KDE project. He explained version control, build system, how to use git commands with KDE sources. We then break for lunch which was also arranged in the guest house for speakers.

After lunch I attended a very nice talk by Bruno Coudoin on “GCompris goes Qt Quick”. Bruno explained about Gcompris software development, what problems he faced with its Gtk port and why need has been developed to port it into Qt. The Gcompris Qt port is a full rewrite in QML with Cmake build system, some parts copied from Gtk port. Sagar showed us Gcompris demo.


Then next talk was on Contributing to Season of KDE by Anu Mittal where she talked about how to do development, documentation and promotion of your project for SoK. Next talk was by Boudhyan who talked about what Spectacle is and how he became maintainer of Spectacle.

Then we had a nice Group photo of all the speakers, organizers, volunteers, attendee.


Next talk was on “Hands on PMC and My SoK Experience” by Aditya Dev Sharma where he explained about Plasma Media Center and his journey for becoming KDE contributor. This was the last talk of first day.

We then took some break and moved to evening workshops. There happened 2 parallel workshops. One on “How to use Git” and another was on “Qt programming”. Both workshop were full of students. Labs were houseful. I participated in Git workshop where we group of few people helped students in learning and executing basic git commands. Students were so excited to learn more about git but college need to close the lab rooms as we approached towards closing time.


All speakers then head to guest house for dinner.

Photo credit goes to Shivam and Sagar. I picked some of the photos in this post from their conference album.

conf.kde.in 2016 Day 0

I attended conf.kde.in 2016 conference which was held in LNMIIT college, Jaipur on 5-6 March. I reached to the conference venue one day before. The arrangements done by college was awesome. They made transport arrangements for speakers from Jaipur airport to the conference venue which was LNMIIT college campus. It was almost 22 kms far from the Jaipur airport. All the speakers were provided accommodation in the college’s guest house. Many of the speakers came one day before and we had a dinner together in college’s guest house. I met many new peoples on that day including college’s conference organizers and volunteers. After dinner we went to roam around the college campus. It was huge college campus.