Kushal Das

FOSS and life. Kushal Das talks here.

Updates on my Python community work: 16-17

Thank you, everyone, for re-electing me to the Python Software Foundation board 2017. The results of the vote came out on June 12th. This is my third term on the board, 2014, and 2016 were the last two terms. In 2015 I was out as random module decided to choose someone else :)

Things I worked on last year

I was planning to write this in April, but somehow my flow of writing blog posts was broken, and I never managed to do so. But, better late than never

As I had written in wiki page for candidates, one of my major goal last year was about building communities out of USA region. The warm welcome I have received in every upstream online community (and also in physical conferences), we should make sure that others should be able to have the same experience.

As part of this work, I worked on three things:

  • Started PyCon Pune, goal of the conference being upstream first
  • Lead the Python track at FOSSASIA in Singapore
  • Helping in the local PyLadies group (they are in the early stage)

You can read about our experience in PyCon Pune here, I think we were successful in spreading the awareness about the bigger community which stands out there on the Internet throughout the world. All of the speakers pointed out how welcoming the community is, and how Python, the programming language binds us all. Let it be scientific computing or small embedded devices. We also managed to have a proper dev sprint for all the attendees, where people did their first ever upstream contribution.

At FOSSASIA, we had many professionals attending the talks, and the kids were having their own workshops. There were various other Python talks in different tracks as well.

Our local PyLadies Pune group still has many beginner Python programmers than working members. Though we have many working on Python on their job, but never worked with the community before. So, my primary work there was not only about providing technical guidance but also try to make sure that the group itself gets better visibility in the local companies. Anwesha writes about the group in much more details than me, so you should go to her blog to know about the group.

I am also the co-chair of the grants working group. As part of this group, we review the grants proposals PSF receives. As the group members are distributed, generally we manage to get good input about these proposals. The number of grant proposals from every region has increased over the years, and I am sure we will see more events happening in the future.

Along with Lorena Mesa, I also helped as the communication officer for the board. She took charge of the board blog posts, and I was working on the emails. I was finding it difficult to calculate the amounts, so wrote a small Python3 script which helps me to get total numbers for every months’ update. This also reminds me that I managed to attend all the board meetings (they are generally between 9:30 PM to 6:30 AM for me in India) except the last one just a week before PyCon. Even though I was in Portland during that time, I was confused about the actual time of the event, and jet lag did not help either.

I also helped our amazing GSoC org-admin team, Terri is putting countless hours to make sure that the Python community gets a great experience in this program. I am hoping to find good candidates in Outreachy too. Last year, the PSF had funds for the same but did not manage to find a good candidate.

There were other conferences where I participated in different ways. Among them the Science Hack Day India was very special, working with so many kids, learning Python together in the MicroPython environment was a special moment. Watiting for this year’s event eagerly.

I will write about my goals in the 2017-18 term in a future blog post.

dgplug summer training 2017 is on

Yesterday evening we started the 10th edition of dgplug summer training program. We around 70 active participants in the session, there were a few people who informed us beforehand that they will not be available during the first session. We also knew that at the same time we had India-vs-Pakistan cricket match, that means many Indian participants will be missing the day one (though it seems the Indian cricket team tried their level best to make sure that participants stop watching the match :D ).

We started with the usual process, Sayan and /me explained the different rules related to the sessions, and also about IRC. The IRC channel #dgplug is not only a place to discuss technical things, but also to discuss about everyday things between many of the dgplug members. We ask the participants to stay online as long as possible in the initial days and ask as many questions as they want. Asking questions is a very important part of these sessions, as many are scared to do so in public.

We also had our regular members in the channel during the session, and after the session ended, we got into other discussions as usual.

One thing I noticed was the high number of students participating from the Zakir Hussain College Of Engineering, Aligarh Muslim University, Aligarh, India. When I asked how come so many of you are here, they said the credit goes to cran-cg (Chiranjeev Gupta) who motivated the first year students to take part in the session. Thank you cran-cg for not only taking part but also building a local group of Free Software users/developers. We also have Nisha, who is a fresh economics graduate, taking part in this year’s program.

As usual the day one was on Sunday, but from now on all the sessions will be on weekdays only unless it is a special guest session where a weekend is a better for our guest. Our next session is at 13:30PM UTC today, at the #dgplug channel on Freenode server. If you want to help, just be there :)

PyLadies Pune 2017 June meetup

Last weekend we had the PyLadies Pune June meet up. The day started with Shilpee Chamoli taking a data science 101 with Python. As few people were having trouble in installing Jupyter and the other dependencies, I suggested to use Azure notebooks, and a few of us did that. This was the first time I was attending a pandas workshop, even though I packaged it a few years back for Fedora. The simple problem related to Titanic data was fun to work on.

Next, Anwesha shared her experience in PyCon US, and she & Sayan also played the videos they recorded during PyCon. It was a surprise to all of the attendees. In the videos, we had messages from Lynn Root, Ewa Jodlowska, Carol Willing, and Jackie Kazil to the PyLadies Pune group members. Looking at the people’s faces, I think that was a really good idea from Anwesha.

After lunch, we started discussing project ideas. Sayan, Praveen Kumar, Chandankumar and me were helping the groups about the ideas. I will be mentoring a group of students for their final year project, which is about a command line bookmarking application, with future features like a corresponding web-frontend etc. Right now, they are busy with the most difficult part of the project, choosing a name for the project :)

Emails: my kryptonite

My first experience of Internet was in 1999, I also made my first ever email account on the same day. A lot of things have changed from then. I don’t have to pay Rs.120 per hour (which was way more than my monthly allowance at that time) anymore to access the Internet, or no long queue of waiting to get access to a computer in the Internet center. As a note, my village did not have an Internet center at that time, I had to visit the nearest town Durgapur to have access to the Internet.


Around 2005, I created my Gmail ID, kushaldas AT Gmail. I was happy to have one single final email ID, which I can keep using forever. And, it was like that for many years, till the time I suddenly figured out that I am getting way too many emails from different lists. I was not being able to follow all the emails anymore, even though I made many filters to move the emails to different labels (I thought they are normal folders, but it seems they are not in the case of Gmail). Deleting emails also became a troublesome work.

Suddenly, emails became one of my weakness. I was not being able to reply on time to everything, I was not being able to find the mails which I wanted. I started loosing emails. There are too many emails in my Gmail INBOX, sometimes the Google web interface happily crashed while I tried to delete a lot of emails together.


Meanwhile a few years back I moved to mutt as my primary email client. Things were better for the first few months, at least mutt was very fast to open my big INBOX than the other clients. Btw, the emails are all locally cached using the mbsync tool (part of isync package). But, then I discovered the problem of deleting the emails from the mutt interface for Gmail. The standard delete option just untags the mail, but it stays back in the All Mails folder. My Gmail storage space slowly started filling up.

I later figured out that I move my emails to the trash for a proper delete. But, that was taking more time. And, after filling up the free 15GB, I had to start paying to Google to have more space.

mail AT kushaldas.in

Around a year back, I created this email ID. This is maintained by Kolab, and they are simply awesome. A pure FOSS solution provided by folks who really value the freedom. The IMAP also works following the standard IMAP interface, no fancy things non-standard features like Gmail. I am using imapfilter tool to have more control over the mail filters. mutt is still the mail client for this account too. As I moved most of the work to this account, I still did not delete emails on time.

Clean up process

This week, during my regular 1x1 with my manager Paul Frields, he showed me some details about how he manages his Gmail account. I never knew so much about the search/filter system. I am yet to try out all the options he showed. But, yesterday, I once again tried to clean up.

First, I deleted all the different mailing list folders in my personal ID, just going to the folder, and then pressing D~A was enough to mark all the emails in that folder for deletion. After that, I had to go through the whole INBOX, and delete all the random emails, I kept selecting by pressing Ctrl+d, and in every few minutes pressed $ to clean up. Later, when I ran the mbsync tool, it synced and cleaned up space as I hoped for.

Now, for Gmail, I deleted emails using the web interface for the random mailing lists, and later when I tried to clean the trash, the web frontend was not that happy and crashed a few times. I was deleting emails in 66K, 20K, and 12K batches.

But, even after deleting more than 100K emails, I can find there are still around 236K emails in my main INBOX, and out of those around 30K are unread. I am going to take a lot more time to select them carefully, and then delete them. If you have any tips to mark emails to delete from the archive during this process, please let me know. That will help me a lot :)

Replying to emails

For the last few months, I am trying to reply to the emails as soon as I am reading them. Whenever I used to think that I will wait for some free time, and then write a response after thinking, I never sent out a reply to those emails :(. At least by replying then and there, things are better for me. I am replying to the emails on time and not loosing emails.