Last Saturday, on Jan 10, 2015, we had a Fedora 21 release party in Bangalore. It was held in the premises of Red Hat, Bangalore with the help and support of Archit and Humble, who are working at Red Hat, Bangalore.


Registration for the event started from around 9:30 AM and slowly people started dropping in. Over 40 people had turned up for the event. We started the event at around 10:30 AM with Archit giving an introduction about Fedora.

Then, I spoke on Fedora 21 release and it's highlights and Fedora.Next. This was followed by Neependra Khare speaking on Project Atomic and Docker. Then, we celebrated Fedora 21 release by cutting a Fedora 21 cake. Sayan did the honours of cutting the cake.


Following this, Sayan spoke on "How to contribute to Fedora". He explained in details the various teams in Fedora and how one can join one of them. He also mentioned about the awesome Fedora contributors from India and abroad, about their projects and how one can join them. He also touched on the tools needed to communicate with the Fedora communitylike IRC, mailing list, etc. Then there was a break for snacks. This was followed by an introductory session on RPM packaging by Sinny.

Finally, there was the open house, where people asked questions about Fedora and getting involved with Fedora, shared their experiences with Fedora. It was around 1:30 PM when we called it a day and dispersed on our own ways.

We are looking forward to have more Fedora meetups, activity days in Bangalore in the upcoming months, to help us contribute more and more to the Fedora community.


Today, we had a Fedora meetup in Bangalore, at HackerEarth's office. Although, there were only 4 attendees including ourselves: myself, Sayan, Ashwin and Puneet, we made the most out of the meetup. The meetup lasted from morning 11 AM to around 3 PM. Following is a summary of our activities during the meetup:

  • Discussed about the upcoming Fedora 21 release
  • Planning for a release party for Fedora 21 in Bangalore
  • Ashwin shared his knowledge on embedded systems
  • Puneet knows C++, so, we asked Puneet to start working with KDE and Qt
  • A few bugfixes in fedora-infra: pkgdb2 and FMN
  • Planning for a Fedora and open source orientation event in Ashwin's college

It was great to meet with like minded folks interested in technology and Open Source and hack with them. We are looking forward to have similar meetups every month. We envision these Fedora meetups to be a place where people can join and share knowledge, and hack on cool Open Source projects.


try.waartaa.com has been live since January, 2014. We have got quite some signups and some folks actively using Waartaa. Thanks to our code level optimizations, which has led to storage complexity for channel chat logs dependent only number of unique channels being listened to. We're also able to achieve good real time performace in our demo instance with ever growing chat logs. It's time to publish some stats about our demo instance.


  • Application server

    Specs: 2 CPUs, 2 GB RAM (Linode VPS) Usage:

    • CPU: around 5%
    • RAM: between 150 to 200 MB
  • Database(Mongodb) server

    Specs: 8 CPUs, 2 GB RAM (Linode VPS) Usgae:

    • CPU: less than 2%
    • RAM: around 1.2 GB


User signups 100200300400500600Jan'14Feb'14Mar'14Apr'14May'14Jun'14Jul'14Aug'14Sep'14Oct'14User signups277.38461538462207.0658587996348.4102564103194.38145416212189.4358974359173.94546891519130.461538462209.88461538532171.487179487205.30413593356212.512820513196.847866175111253.538461538177.46891464770294.564102564191.9150421548335.58974359199.66662276128376.615384615206.713514226547.38461538462197.55255532115348.4102564103162.67044257133289.435897435999.6007639621249130.461538462128.845363541294171.487179487112.989857745374212.51282051384.8022918862540253.53846153826.3130927292569294.56410256416.0951001054595335.589743596.93414120126603376.6153846154.11538461538276312119325611170482854153332249294374540569595603count/monthcumulative cou…cumulative count Channel chat log stats 1M2M3M4M5M6M7M8M9M10M11M12M13M14M15M16M17MJan'14Feb'14Mar'14Apr'14May'14Jun'14Jul'14Aug'14Sep'14Oct'14Channel chat log stats133.252k7.38461538462209.884615385828.002k48.4102564103201.8432141793.67M89.4358974359168.944363199567.459k130.461538462204.858875632527.31k171.487179487205.3235812341.277M212.512820513196.6433009742.492M253.538461538182.5881469912.932M294.564102564177.486107972.654M335.58974359180.7032703271.415M376.615384615195.054674276266.504k7.38461538462208.3422867871.789M48.4102564103190.7171557768.302M89.4358974359115.3357240145.767M130.461538462144.6821680956.254M171.487179487139.0435109488.281M212.512820513115.5795876811.987M253.53846153872.685636705115.36M294.56410256433.642761670517.736M335.589743596.136250372817.911M376.6153846154.11538461538133.252k828.002k3.67M567.459k527.31k1.277M2.492M2.932M2.654M1.415M266.504k1.789M8.302M5.767M6.254M8.281M11.987M15.36M17.736M17.911Mcount/monthcumulative cou…cumulative count


It was great that our proposal to speak on Waartaa at Flock, 2014 was accepted. So, I, along with Sayan went to Prague, Czech Republic last week to attend Flock. Flock was a 4 day event packed with loads of talks and workshops. It was like living in a dream at Flock. I was able to meet so many great people from the Fedora and Open Source community.


Day 1


The day started with an opening note from Matthew Miller, the Fedora Project Leader followed by a keynote by Gijs Hillenius on "Free and Open Source Software in Europe: Policies and implementations". Gijs, an IT journalist, threw light on the state of adoption of Open Source Software by the European Union, it's success so far, things that did not work out and how politics is playing a crucial role in the process. Then I attended the talk on "Better presentation of fonts in Fedora" by Praveen Satpute. In the talk, Praveen expressed his concerns on the lack of good tools to manage fonts and that YUM is not sufficient for it. He laid emphasis on building a better infrastructure for managing fonts. This will help to grow community around fonts and better quality fonts in Fedora.


After this, I attended the talk on "Where's Wayland?" by Matthias Clasen. Although, I could not make much out of the technical tits and bits of Wayland, yet I got some insight into how Wayland plans to replace X11 and improve application security in Gnome. After lunch, Hans de Geode spoke on "Wayland Input Status". Here, I came to know about the complexities involved in handling events from input devices: mouse, touchpad, etc. and how they are evolving the input system for the upcoming Wayland integration. This was followed by a talk on "Predictive Input Methods" by Anish and Mike.

Then, there was our (me and Sayan) talk on "Open communication and collaboration tool for humans" where we spoke on the status quo in the field of communication and collaboration tools and the lack of competent tools for the same in the Open Source ecosystem. Then we showcased how we are trying to build a competent Open Source tool for communication and collaboration, i.e., Waartaa, it's current feature and it's roadmap.
After our talk, I went to attend the talk on Mailman 3's Hyperkitty by Aurelien Bompard, followed by the talk on "Fedora Badges and Badge Design" by Marie and Chris.

The day ended with a party at "The Pub".


Day 2

The second day started with Pierre-Yves Chibon( AKA pingou) and Stanislav Ochotnicky speaking on the Fedora review server and how package review can happen without any bugzilla interaction. This tool will speed up the process of package review by eliminating time consuming to and fro communication between the package maintainer and the reviewer. The tool will also include integration with existing Fedora infra tools: FAS, koji, copr, etc. This was followed by an awesome talk on Ansible and it's usage in Fedora Infra by Aditya Patawari.


This was followed by the keynote on Novenna, the open laptop project, by Sean Cross. Sean spoke on how they built a laptop from scratch, how did the project start, the architecture of the laptop and their roadmap.

The rest of day, I was busy hacking on Waartaa and speaking people about it. Then, I attended the talk on "Rise of the Fedora Desktop: Gaming". I recollected the days I spent tweaking Wine to run various Windows applications and games on my Fedora box. I shared my good and bad experiences with gaming on Linux with Gergely afte the talk.

The second day ended with an awesome boat party on the river Vltava.


Day 3 & 4

Well, I spent most of the last 2 days of Flock hacking on Waartaa. In between, I also attended quite a few talks and workshops. I started Day 3 by going to the talk on "Gnome: a content application update" by Debarshi Ray, a Gnome contributor and also one of my mentors in the world of Open Source. Then there was the joint session on Fedora Next, where Matthew introduced the respective project heads for different Fedora Next verticals. Each project head spoke about what is coming up for this release, roadmap for future and where they need helping hands.


Then there was a group photo session before lunch. As always, it was Jared Smith who was taking the photographs, standing on the edge of a window a couple of floors above ;)


After lunch, I went to listen to Richard Hughes speaking on building the Gnome App installer from scratch. Following this, I attended the workshop on Fedmsg by our dear and awesome threebean. threebean started with showcasing the basic API of fedmsg and finally went forward to implement a CLI based app which will tweet when one votes for a package on Fedora tagger.


Following this I hanged around with Sarup and Marie, who were working on designing a logo for Waartaa. Thanks a lot, folks :), now we have a logo for Waartaa.


I started Day 4 by attending the talk on "Secure programming practices" by huzaifas. Then I went to listen to Langdon White speak on "Fedora for developers". Then I went to listen to Justin Forbes speak on how to write kernel tests for Fedora. Post lunch, I resumed hacking again on Waartaa. I also went to the Gnome newcomers workshop. I tried to add GIMPNet IRC server in try.waartaa.com. However, it didn't work out as GIMPNet IRC server doesn't seem to support SSL, whereas Waartaa in production enforces SSL connection to IRC servers to ensure secure data transmission. I reported this issue to Marina.


It was a wonderful experience to attend Flock. Meeting so many fellow open source contributors, upstreams helped to strengthen my will of fire to contribute more to the Open Source ecosystem. There are a few projects I badly want to contribute to: Gnome, fedmsg, Mailman3, progit. But, I am currently too overloaded with the tasks in Waartaa. I guess that's part and parcel of driving your own project. I made quite some enhancements in Waartaa during the conference. The important ones among them would be implementing route based navigation in the chat interface, on demand loading of data, and bidirectional pagination of chat logs (on going). This will help decreasing load time for waartaa, decreasing client side memory usage and will provide a better mobile experience. I spoke with Fedora infra team on various scale issues we are currently facing with Waartaa and discussed on how to overcome them. I also received a couple of feature requests for Waartaa. With support and feedback from the community, I will keep making Waartaa better and better.

Flock 2014 Youtube channel: https://www.youtube.com/channel/UCQIXiF6fxPCtHw_XwHFq6nA


What is Waartaa?

Waartaa or wārtā is a word in Hindi: वार्ता, which means to communicate. And that's what waartaa is for. Waartaa is a web based IRC client as a service and it facilitates centralized logging, idling functionality, unique identification across multiple clients and a rich UI for awesome user experience. Waartaa is open sourced under MIT License. The source is at https://github.com/waartaa/waartaa/ .You can download, fork, customize and setup Waartaa as a service anywhere, be it a single user laptop/desktop, server for your self and your friends.



There are an arsenal of IRC clients and tools, so why another one?

Waartaa is not just a random fun project, although it has been fun and full of adventures to work on it. Below are a few reasons why I started to work on Waartaa:

  • GUI IRC clients work only for single machines. It's a pain to sync logs across multiple devices across multiple IRC clients.
  • Local IRC clients do not let you idle when you are not online. It's not possible for everyone to get a server to setup ZNC or similar idling server.
  • Most desktop IRC clients do not have that WOW! look and feel.
  • Lack of identity when logged in from multiple devices simultaneously.
  • Local network configuration (proxy, firewall) and quality (speed, timeout) often becomes a hindrance to good IRC experience.

Waartaa solves the above issues as follows:

  • Running IRC client as a service on better infrastructure ensures that you are always connected to IRC and capturing IRC logs.
  • Waartaa serves as a central place to store your chat logs.
  • No matter what device you login from to Waartaa, YOU are always YOU in the IRC and not some YOU_, YOU__, etc.
  • Waartaa is built on top of web technologies. So, it works flawlessly and uniformly across multiple platforms and looks equally awesome in all the them. This adds up to a superior user experience.


Beautiful and useful chat interface


Easy to join server/channel


Stylish menus




Under the hood

  1. Meteor JS http://www.meteor.com/
  2. MongoDB
  3. Forked node-irc https://github.com/waartaa/node-irc
  4. And a host of meteorite apps from https://atmosphere.meteor.com/

How can I contribute?



I have been contributing to Mozilla for some time now and so, I got the opportunity to attend Mozilla Summit 2013 at Santa Clara. Contributors from all around the globe turned up to attend the Summit which was going in parallel in 3 places: Santa Clara, Brussels and Toronto.

Finally, I met Mathjazz at the Summit. We had been working for a long time on Pontoon and were communicating over the internet. Not only did I meet Mathjazz, but his Mozilla team from Slovenia. We had some discussions on Pontoon and it's roadmap. I attended the i18n and l10n discussions led by Axel from Mozilla and got more insight into the process. I had some discussion with Axel on plans to integrate l20n with Django and Python in general. It did not seem that straight forward. Axel asked me to get in touch with @jezdez on this.

I also met the Erik Rose, the creator of nose, dxr and many other awesome tools. I had contributed to Erik's nose-progressive in the past. It was an honour to have a conversation with him.

3 days passed like anything. There were loads of awesome talks and discussions and group activity. I was involved in brainstorming on what Mozilla could do in the Cloud space along with Sayan, erickt and others. It was great to meet fellow Mozillians from around the globe. I enjoyed the chats I had here and there with fellow Mozillians during the conference.
As for me, I had been mostly busy hacking on Waartaa during the conference. Well, Waartaa is "A web IRC client written in Meteor JS. It is aimed towards being an intuitive, collaborative IRC client across multiple devices of the user along with centralized logging". Have a sneak peek into it.
I tried to speak with as many people as I could about my project and I was looking for potential contributors. I also pitched about Waartaa on stage, but it did not go well. The open session on waartaa was worse. It was just me and 14 empty chairs. It felt terrible, but I kept hacking on it all by myself. I believe in the idea and that's what that keeps me driving. Fortunately, I met Marienz from Freenode and shared with him my work and idea on Waartaa. I expressed my concern with the privacy of user data when using and the trust factor. He gave me some useful pointers towards SASL, IRC extensions, etc. that'd help me to find a solution for the issues we discussed.
It was great to be part of Mozilla Summit. Events like this get you charged up to start contributing to Open Source in full throttle. After coming back from the event, I started contributing to Firefox's devtools. Till date, 3 of my patches have been merged to Firefox's codebase. It feels great. Also, I made substantial progress on Waartaa. Sayan started contributing to Waartaa. I hope to get an initial release very soon.

Well, it's been quite some time since I last blogged. There have been a lot of things happening at my end and amidst this I totally dropped the ball on updating my posts. As it is said, it's better late than never. Let me summarize what happened over the past couple of months.

Good bye Transifex, hello Goibibo

I quit #Transifex last January (2013) and joined #Goibibo. Goibibo is one of the products of Ibibo Web Pvt. Ltd., an e-commerce giant in India. No doubt Goibibo is doing an awesome job in the market, one of the main reasons for me joining Goibibo was that it is a #Python shop and #Django is what that drives it. Needless to mention that we Python lovers always favour Python and love to stick to it :D. So far, it's been an #awesome #roller-coaster ride at Goibibo, especially, in terms of the scaling it handles. Things are totally different when your product serves so many users and especially when you are dealing with monetary transactions. The things I learned at #Transifex helped me to push some best practices like TDD, coding standards (Flake8), etc. in Goibibo's work culture. I also replaced #gitweb + #reviewboard with #Gitlab as our VCS. Gitlab has helped a lot to streamline the process of pushing code. People now work on #branches for each feature/fix. The #branch gets tested by #QC and the #developers first. If everything is OK, the branch gets merged to master and pushed for a release. Currently, I am planning to implement #DXR codesearch and #IRC for communication.

Python Month 2013

This year, a new initiative was taken by Pycon India group. It was to conduct Python workshops all across India to spread Python awareness in the month of August 2013. I and Sayan have been regularly attending pre Pycon meetups (mostly in Goibibo's office) and decided to volunteer for the same. I and Sayan conducted two workshops on basic Python: one at BNMIT and the other at Reva Engineering College in Bangalore. We met a lot of inquisitive youngsters in our workshops. We did our best to motivate them and contribute to Open Source.

Pycon India 2013

This year's Pycon was super awesome for many reasons. We had a large gathering of #dgplug folks for the first time in any conference. We had loads of discussions, brainstorming on project ideas and some hacking. I conducted a workshop on "Test your code" on the first day of Pycon. I got the chance to meet the Kenneth Reitz, the creator of request. I was greatly inspired by the keynote speech by Kiran. Among other talks, I also found Anisha's talk on Functional testing with Python quite interesting. This year, Goibibo sponsored Python and we had a Goibibo stall at the venue. We had quite a lot of activities going on at our stall. It was great fun. I spent most of the time during the conference hacking on waartaa. I got some tips from Kaustav Das Modak on optimizing mongodb for waartaa. Most of the days ended with a #dgplug team dinner. The following day after Pycon, I, Sayan, Kushal and Kenneth went for a trip to Mysore. It was great fun.

Well, that'll be all for now. It's getting an overkill for a single post ;)


Finally, I have created my first portfolio cum blog website at www.rtnpro.com. I used Nikola for this.

The theme for the website uses the theme of Twitter bootstrap as it's base. A cool thing about my home page is that the projects section is dynamically generated using MyGithubProjects to show the projects that I work on in Github: projects those I own and upstream projects I contribute to. So, I need not maintain the list of projects any more for my portfolio ;)

It took me some time to integrate MyGithubProjects as task in Nikola to generate the home page from a custom template. Also, playing with styling for the page was fun. After putting all this time and effort, it seems pretty good enough to satiate me.

You can find the code for my website here.


Lately, I found out that Django's TransactionTestCase leaves test data in database after the test case is executed. It's not until the next execution of _pre_setup method of a TransactionTestCase instance that the database is flushed. This is troublesome when tests are run with Django Nose's test runner with REUSE_DB =1.

An easy fix to this is to customize the TransactionTestCase so that it deletes the test data on exit. I wrote a simple wrapper around Django's TransactionTestCase and extend it to write other transaction test cases.

from django.test import TransactionTestCase
from django.db import connections, DEFAULT_DB_ALIAS

def flushdb(cls):
    if getattr(cls, 'multi_db', False):
        databases = connections
        databases = [DEFAULT_DB_ALIAS]
    for db in databases:
        management.call_command('flush', verbosity=0,
        interactive=False, database=db)

class BaseTransactionTestCase(TransactionTestCase):
    def tearDownClass(cls):


My proposed talk titled Develop for an international audience got selected for Pycon India, 2012. It's time to start working on the slides. I am thinking to use rst to write my slides. Also, I have booked by flight tickets for Pycon :)

Thanks everyone who voted for my talk.