Kushal Das

FOSS and life. Kushal Das talks here.


Second update from summer training 2017

We are already at the end of the second week of the dgplug summer training 2017. From this week onwards, we’ll have formal sessions only 3 days a week.
Guest lectures will start only from next month.
This post is a quick update about the things we did over the last 2 weeks.

  • Communication guideline review: We use Shakthi Kannan’s communication guideline and mailing list guideline in the training. We still have a few people having trouble with not typing SMS language in the chat or in the mailing list. But, we’re learning fast.
  • Basics of Linux command line tools: We used to have only the old logs and the TLDP bash guides for this. Last year I thought of writing a new book (along the lines of Python for you and me), but did not manage to push myself to do so. This year, I have started working on Linux command line for you and me, though I haven’t yet edited the things I’ve written yet. We are using this book as a starting point for the participants along with the old logs.
  • GNU Typist: We also ask people to practice typing. We suggest using gtypist to learn touch typing. There are a few blog posts from the participants talking about their experience.
  • We had two sessions on Vim. Sayan will take another special session on Vim in the coming days.
  • We talked about blogs, and asked everyone start writing more. Writing is important; be it technical documentation, or an email to a mailing list – it is the way to communicate over the Internet. We suggested Wordpress to the beginners. If you are interested to see what the participants are writing, visit the planet.
  • The Internet’s Own Boy: This week we also asked everyone to watch the story of Aaron Swartz. The summer training is not about just learning a few tools, or learning about projects. It is about people, about freedom. Freedom to do things, freedom to learn. One of our participants, Robin Schubert (who is a physicist from Germany) wrote his thoughts after watching the documentary. I am hoping that more participants will think more about what they saw.
    Following this, we will also have a session about the history of Free Software, and why we do, what we do. The ideology still matters. Without understanding or actually caring about the issues, just writing code will not help us in the future.
  • Next, we actually asked people to submit their RSS feeds so that we can add them to the planet. We also learned Markdown, and people noticed how Aaron was involved in the both.

In the coming days, we will learn about few more tools, and how to use programming to automate things in life. How to contribute patches to the upstream projects and such related things. But, we will also have sessions on software licenses. Anwesha will take the initial session on the same. The guest sessions will also start. If you are interested in teaching or sharing your story with the participants, please drop me a note (either email or twitter).

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.

University Connect at SICSR Pune

Last Thursday, I visited SICSR, Pune campus as part of University Connect program from Red Hat Pune. This was the second event in the University Connect program. Rupali, the backbone of all community events in the local Red Hat office, is also the primary driving force of this program. Priyanka, Varsha, Prathamesh and I reached office early morning and later went to the college in Rupali’s car. Sayak came to the venue directly from his house.

The event started with a brief inauguration ceremony. After that Rupali took the stage and talked about the University Connect program, and how Red Hat Pune is taking part in the local communities. I will let her write a blog post to explain in details :)

Next, I went up to start talking about the journey of Red Hat, various upstream projects we take part in. Discussing the various product lines Red Hat have. We discussed https://pagure.io and how many Indian students are contributing to that project with guidance from Pierre-YvesChibon. Because Python is already a known language among the students, I had many Python projects as examples.

Priyanka took the stage after me; she and Sayak are alumni of SICSR so it was nice for the students to them speaking. She talked about how contributing to Open Source projects can change one’s career. She told stories of her own life, talked about various points which can help a student to make their resume better.

Sayak then took the stage to talk about how to contribute to various open source projects. He talked and showed examples from Mozilla, Fedora, and KDE. He also pointed to the answer Sayan wrote to a Quora question.

At the end of the day, we had around 20 minutes of open QA session.

Mukti 11.2 at NIT Durgapur

We reached Durgapur around 3:30AM on Friday, woke up by 6AM due to the really cold temperature. The inauguration event started few hours late and after that Mether started doing his RPM workshop.

My workshop started after 6:30PM , around 60+ students. Started with basics of python as a language. I did this workshop slowly so that everyone can pick the things we were discussing. 

Next day morning my second session started from 10AM and in the afternoon I had my PyGtk workshop in the lab. After finishing talking for more than 6 hours did the final talk for the night with the first year students. Total time I spoke was more than 7 hours , which is a record for me :)

3rd day again started at 10AM and I was surprised to see more than 30 students in the seminar hall where I was doing the python workshops. We discussed in details various modules in python and also discussed about projects for the students.

Generally I don't get many mails from the students after the workshops or even if they do mail , they don't continue. But here I found  3 students still continuing. I hope at least one of them will be able his/her journey in the path of freedom.  

Photos can be found here. Will update the post with flickr set when I upload there.

UPDATE: flickr set can be found here.

Report from PyCon India 2010

So I am back from PyCon India 2010. I missed last year, so was waiting for this year's event. Met many faces after very long time and to be in a place with so many other python lovers is always a nice experience. The total attendance was around 700 but the venue was too big for that number , so except the lunch time, corridors had lesser number of people discussing. The selection of the talks were also matching the environment as they came from different directions. We saw talks with hardware accessibility to web development to GUI application toolkits, network programming, scientific computing, terminal based works etc. 

Day 1 started a bit late, David Goodger gave the keynote, it was fun. Next talk I liked was from Dhananjay Nene on "Functional Programming with Python", he managed to show many things within the short time. 

I stood in the queue for lunch as soon as possible, it was late, too much crowd at the same time, but the taste of the food was delicious.  During and after the lunch I was discussing with Jace about Wing IDE, I had a thought of buying that previously also but the price is high for me. Wait, not anymore, they gave a 90% discount for the PyCon India :) Started using it right away with vi mode and it works like a charm.

After lunch, thought of going in Mahendra M's Twisted programming talk, but the room was full, no place for standing also. So hoped over to the auditorium for Vijay Kumar B.'s Device Interfacing with Python and ZIO , it was one of the best talk I ever attended.

Met DP and Jacob after long time :) 

This was first time my laptop's X crashed while trying to use the projector, so after few tries I started my talk with the black terminal on the big screen :) newt widgets looked great on that screen though :)

Day 2: I came a bit late as I had to meet few seniors from my college in the city (event was in a far corner of the city), I spent the day mostly in the corridors talking with people. I met so many Pune based python lovers there :) Strangely enough few speakers were absconding from the talks, so the organizers had to innovate to fill in.  

At the very end we had first AGM of Indian Python Software Society, too much fun in that :p. I applied for membership, I still need two votes. I also resumed my work on "Python for you and me" 2nd edition. You can also read ml-IN or zh-CN translation of the book.

Any python lover from the country should attend this event, next year it will be in Chennai. Photos will come later this week.

More on thumbnailing and optimization

Following my last post, spent most of the of the time on different imaging libraries to find a faster way of doing thumbnails and optimization.

I tested the following libraries to create image thumbnails, GdkPixbuf, imlib2, ImageMagic, epeg. Pixbuf gives somewhat nice timings , imlib2 is fast but was leaking too much memory. ImageMagic seems to the slowest among them. Last try was with epeg which can only handle jpegs and it came out as the fastest. So wrote a C function and using it from inside vala code using extern.

Next target was to find better way to get thumbnails from RAW images, tried libopenraw and LibRaw for that. But with help from yorba developers found the way to do it using gexiv2 only.

In between tried few tools for profiling the application, sayamindu told me about sysprof which seems to be the easiest for my purpose. Using it I found gexiv2_metadata_open_path is taking around 67% of time, inside it Exiv2::TiffImage:readMetaData is taking 51% of time.

Now coming to the point of speed , 1st run is on 1GB of RAW files

real	0m2.946s
user	0m2.542s
sys	0m0.116s

2nd run is on same 36GB of images , among them around half is RAW.

real	4m0.807s
user	0m54.283s
sys	1m24.789s

Now this is fast in my textbook :D I should not forget to tell about the great help I got from #vala and Adrien Bustany in the whole work.

How to use lekhonee-gnome for multiple blogs with the same wordpress account ?

I was looking into this feature request yesterday, good news is lekhonee-gnome already supports this. Lets say your wordpress username is foobar.

So, in the accounts in Preferences window you add the first account with your username and password and Wordpress as service. 

Then add another account with same username and password but service as other and type the full url of your 2nd blog following /xmlrpc.php (example: http://secondblog.wordpress.org/xmlrpc.php). 

Now you can access both the blogs from lekhonee-gnome


So this weekend we had FAD Pune 2010. Being organizer the main issue was to get inside the office before everyone else :)

Among the things done:
  • Packaged accessx ( with help from Sayamindu to patch it for Fedora)
  • Updated code in Pony so that it works with new flickrapi API (committed but not pushed yet)
  • Now we have cover images in Pathagar , the digital library system.
  • Helped people with packaging
Yesterday in the last hours almost everyone were busy with packaging and helping each other. Had fun with all other contributors for 2 days, now getting back to the normal routine. Photos will come up later this week. I also recorded Sayamindu's talk on OLPC as a downstream of Fedora project, you can view it here (111MB).


I Know What You Are Going To Do This Summer 2010

Hi all,

We are happy to announce "I Know What You Are Going To Do This Summer
2010",[1] a free (as in freedom), online (IRC-based) [2] training
sessions for wannabes to Free/Libre/Open Source Software at #dgplug on
irc.freenode. net [3].

If you are a mentor, or trainer, or prospective enthusiast who would
like to participate in this years' sessions please go through last
years' IRC logs:

We will have a review or Q&A session on last years' sessions before we
proceed into new topics, this year.

The session timings are mostly varying, usually after 1900 IST every day.

To participate you need a good internet connection and any latest
linux installed (Fedora 12/13 preferably ). Anyone can participate.

If you are interested in participating, please confirm your
participation by sending an off-list mail to me (kushaldas AT gmail DOT com).

URL: http://dgplug.org/intro/
Planet: http://planet.dgplug.org/
Wiki: http://wiki.dgplug.org/
Mailing list group (for queries, discussions) :

[1] http://wiki.dgplug.org/index.php/SummerTraining10
[2] http://en.wikipedia.org/wiki/Internet_Relay_Chat
[3] http://fedoraproject.org/wiki/Communicate/IRCHowTo