Kushal Das

FOSS and life. Kushal Das talks here.

kushal76uaid62oup5774umh654scnu5dwzh4u2534qxhcbi4wbab3ad.onion

FUDCON Pune 2015 CFP is open

FUDCON, the Fedora Users and Developers Conference is going to happen next in Pune, in India, from 26th June to 28th June in the Maharashtra Institute of Technology College of Engineering (MIT COE). The call for proposals (CFP) is already out and 9th March is the last date to submit a talk/workshop. If you are working on any upstream project, you may want to talk about your work to a technical crowd in the conference. If you are a student, and you want to talk about the latest patches you have submitted to the upstream project, this is the right place to do so. May be you never talked in front of a crowd like this before, but you can start doing this by submitting a talk in the FUDCON.

A few tips for your talk/workshop proposal

  • Write about your intended audience, is this something useful for the students? or for the system administrators? Be clear about who are your target audience.
  • Provide a talk outline, provide points about what all you want to speak, it is better that you provide a time estimate in the outline.
  • What will the attendees get out of your talk?
  • Provide links to the projects, source code, blogs, presentation you gave before. These will add more value to the presentation.
  • Submit your proposal early, that way more people from the talk selection committee will be able to go through your talk proposal.
  • Make sure you have a recorded copy of any demo you want to do on stage, because it is generally a bad idea to do a demo during a live talk. Things can go wrong very fast.
  • Write your speaker biography properly. Do not assume that everyone knows you. Give links to the all other talks you gave before, any link to the recorded videos is also very nice thing to have in the biography.
  • Make sure that you write your proposal for the attendees of your talk. They will be the measurement of success for the talk/workshop. (I am not talking about numbers, but the quality of knowledge sharing).
  • Try to avoid giving a generic talk like introduction to Open Source/Linux.
  • In case you are talking about any upstream project, choose a project where you have enough contribution in that project. That way the selection committee will know that you are a good person to give that talk. We know it is very tempting to talk about the latest fancy and shiny project, but please do so only if you are an upstream contributor.
  • Please do not submit talks on your products. This is a community event, not a company meet.
  • Write more in your talk proposal. It is never bad to explain or communicate more in a talk/workshop proposal.

In case you need help with your proposal, you can show it to the other community members before submitting it. You can always find a few of us in #fedora-india IRC channel.

So do not waste time, go ahead and submit a talk or workshop proposal.

My talk in MSF, India

Last week I gave a talk on Free and Open Source Software in the Metal and Steel factory, Indian Ordinance Factories, Ishapore, India. I met Mr. Amartya Talukdar, a well known activist and blogger from Kolkata in the blogger's meet. He currently manages the I.T. team in the above mentioned place and he arranged the talk to spread more awareness about FOSS.

I reached the main gate an hour before the talk. The securities came around to ask me why I was standing there in the road. I was sure this is going to happen again. I went into the factory along with Mr. Talukdar, at least three times the securities stopped me while the guns were ready. They also took my mobile phone, I left my camera back at home for the same reason.

I met the I.T. Department and few developers who work there, before the talk. Around 9:40am we moved to the big conference room for my talk. The talk started with Mr. Talukdar giving a small introduction. I was not sure how many technical people will attend the talk, so it was less technical and more on demo side. The room was almost full within few minutes, and I hope that my introductions to FOSS, Fedora, and Python went well. I was carrying a few Python docs with me and few other Fedora stickers. In the talk I spent most of time demoing various tools which can increase productivity of the management by using the right tools. We saw reStructuredText, rst2pdf and Sphinx for managing documents. We also looked into version control systems and how we can use them. We talked a bit about Owncloud, but without network, I could not demo. I also demoed various small Python scripts I use, to keep my life simple. I learned about various FOSS tools they are already using. They use Linux in the servers, my biggest suggestion was about using Linux in the desktops too. Viruses are always a common problem which can easily be eliminated with Linux on the desktops.

My talk ended around 12pm. After lunch, while walking back to the factory Mr. Talukdar showed me various historical places and items from Dutch and British colony days. Of course there were again the securities while going out and coming in.

We spent next few hours discussing various technology and workflow related queries with the Jt. General Manager Mr. Neeraj Agrawal. It was very nice to see that he is updated with all the latest news and information from the FOSS and technology world. We really need more people like him who are open to new ideas and capable of managing both the worlds. In future we will be doing a few workshops targeting the needs of the developers of the factory.

Event report Fedora 21 release party Kolkata

On 1st February, we had a Fedora 21 release party in Kolkata. I arranged the meet in my house. It had low attendance, but we had people who are using Fedora as their primary distribution. We also had Subratam Biswas, who is looking forward to contribute to the Fedora security team.

At the beginning we went through the feature changes of Fedora 21, though we spent most of the time talking about two flavors, server and cloud. I had cockpit running in one the box, so we played around a bit with that. After that the discussions went more on the tools and workflows we follow in Fedora project. We looked into the cloud images and containers, and discussed how they can help developers.

Discussions related to the FOSS communities in India went on for a long time. I ordered few pizzas in between. People picked up workstation DVDs, I had the ISO image also handy, we made a few Liveusb sticks during the meeting.

We will be meeting again in the next week, to discuss more on latest developments and to play around with the latest Raspberry Pi 2.

PyCon Development sprints and why should you attend it?

What are development sprints?

At PyCon, after the main conference, the next four days many developers and contributors sit together in different rooms. They work on their projects, they submit patches to other projects. Lots of discussions happen over lunch, or in the corridors.

Demonstration time

How do these sprints start?

The long queue of sprinters

After the last keynote, project owners queue up near the stage and come up one by one to describe their projects and what they will be working on. Attendees then go to different rooms allotted to these projects to start working on them.

Is this something a new developer can join in?

Absolutely. If you come to the tables of any major project, you will find people helping others setup their development environment. Sometimes you will find a table with one or two people on it. If you ask them about their project, they will be really interested to explain the project to you and they will also help you start working on the project. I spend most of the time at the CPython development table, where I've seen people getting patches merged within those four days. Many said that they've never contributed to any upstream project before.

What kind of projects can I expect to see at these sprints?

You will find most of the major projects in these development sprints. If you have not decided any particular project, you can roam around in the different rooms and visit all the tables. You will find different kinds of projects on those tables. Starting from web frameworks, to the latest scientific Python stack or even people writing games with PyGames.

The mailman team

Untitled

But I can do that from my home over IRC, isn't?

Actually no, you cannot. In the development sprints you can meet developers face to face, which is very important in building trust. Before getting commit access to your favorite project, you have to gain trust of your fellow developers from that project. You have to submit quality patches, and face to face meeting adds up to your credits.

Mercurial team

Let me tell you a story from 2014 sprints. At the Cpython development table I was having issues with the Mercurial. As I was telling that to the other core developers at the table, I figured out that there were few people looking at my screen from behind. When I looked back, they told me that they are the authors of Mercurial project and they would love to solve my issue. Within next ten minutes, all of my questions were answered, all issues were solved. This is not possible if you decide to stay at home. Come to the development sprints and experience this yourself.

Untitled

Is this only code, no other fun?

You will find lots of tips and funny stories while writing patches. The kind of stories you cannot hear or read anywhere. When I managed to break CPython builds for the first time, I heard stories from other core developers and we all had a good laugh. We also go out to different food joints in the evening. I personally found Montreal is amazing for food lovers.

Can I attend only first two days of the sprint?

Of course you can. We all have other commitments. You may want to work on your favorite project for the first two days and then go out for other work. With each day, the number of participants will come down, but even on the last day you will find a good number of Pythonistas to hangout with.

This sounds like fun, so how can I add my project to the sprints?

Untitled

Untitled

First create a wiki page with details about the things you want to do in your project during the sprints. This can be writing code, writing documentation or discussing design decisions. After you have a page ready for others to look at, you add that page url to this page. It is always better to have things ready than doing it on the spot. Remember to stay after the keynote on the last day of the main conference, come on the stage and talk about your sprint ideas in front of everyone.

I go to conferences in different countries, but none have such amazing effect like PyCon development sprints. Maybe because it is huge. The number of people attending or the number of projects, both are really high. People are engaging in various technical discussions, some are talking about next conference we all can meet.

So if you are yet to book your hotel and flight details, make sure that you keep room for PyCon development sprints. Your life will be changed.

Few more photos from sprints 2014

More discussion to follow

Untitled

Looking back at my blog posts

Few weeks back I wrote about my writing habit. I decided to look back at the previous years for more numbers on the same. This post is about those numbers. I looked at 2012-2014 as reference time frame.

2012

I was using Wordpress as the blogging engine. Posts were made from a desktop client. I had total twenty four posts and around 4263 total words on them. Total page views 70598.

2013

I moved into Nikola as my blogging engine. Moving to static was a major decision, but it went well. Wrote twenty three posts with 9523 words in them. Total page views 380011.

2014

I stayed with static posts, but started writing ink the Markdown format. Writing was even simpler than restructured text formats. I also started using Shonku, a static blogging tool written in golang. I. Wrote twenty nine posts with 8499 words. Total page views 756604.

I can see more people or bots are reading my blog posts. Not much improvement in writing quality or in numbers of posts, though I am trying to keep the posts in even simpler English.

I am writing regularly every night. Whatever is in my mind, I am writing them down. I will not publish them, but at least feeling good with regular writing.

On contribution

Contribution, a word a I first heard in 2004. I was a student back then. I first contribution was to the KDE l10n project with help from Ankur Bangla project. More than anything else it was fun. All the people I first met were already doing many things, they used to do more work than talking, they still do a lot more work than many people I know.

The last 10 years

Over the last 10 years the scenario of FOSS movement in India has changed. Contributors used to be the rock stars. The people just starting always wanted to become contributors. But a new word has taken the place, evangelist. Now everyone wants to become an evangelist. Most of the students I meet during conferences come to me and introduce themselves as evangelists of either Open Source or some other FOSS project, they do only talking and all of them want to change the world. But sadly, none of them seem to want to contribute back.

How to contribute?

I can understand, contributing is difficult in many cases. One needs some amount of preparation and some commitment to contribute to any project. That takes time, cannot be done overnight.

To begin with, you have to spend more time in reading than anything else. Read more documentation, read more source code, read more meeting minutes of the project you want to contribute in. Remember one thing, one always reads more source code than writing. But if you are just starting, you can spend more time in writing code too.

Try to get involved in the discussions of the project. Join the IRC channel, stay there. In the beginning you may not understand all the conversations in the channel, but keep a note of the things people are discussing. You can read about them later, use a tiny and shiny site called google.com :)

I know new students have a tendency of trying to solve non-programming bugs. But as most of you are in Engineering background, you should focus in programming more than anything else.

At home, try to find the things you do in computer in steps and repeatedly/regularly. Try to write small programs which can do those tasks for you. One of my first proper project was a small GUI application using which I used to upload photos to flickr.com, via emails.

When working on some other big project, try to solve easy bugs at first. These days all projects somehow mark easy bugs in their bug tracker. In case you can not find one, ask in the IRC channel for help. Remember that IRC is asynchronous, you may not get the answer right away. If someone is helping you, you may want to ask their timezone.

I am not saying doing work in other parts of the project is less meaningful. I personally want you to write more code than anything else. That way we will get more developers from India.

What about translation and documentation?

If you look at the people who contribute with translations or documentation, you will find few common things. Like they all love their language, they love writing. As I said before even my first contributions were translations. But neither me or any anyone else that time used to do this for some goodies or ticket to any conference. We love our mother tongue and we love to use the computer in our language, period. If you are doing translations, then do it for the love of the language and fun. Please do not do this for some stickers or release parties.

What about becoming an evangelist?

Before you start calling yourself an evangelist, you should learn about that project. You will have to spend a lot of time to learn about the technology behind, you will have to learn why some decisions were taken. The evangelist is a person who cares and believes in the project and most importantly, knows the project intimately. [S]he knows the developers behind the project, constantly talk, blog and spread the news about the project. If you look at the established evangelists, you will find mostly veterans who spent a lot of time contributing to the project first. It is not about the age of the person, but more about the time [s]he spent in the project. Btw, if you want to call yourself a developer evangelist, first become a developer of that project. That means some real code, not some examples.

Writing blog posts

I always wanted to write more, but I did not. Last year I spent some time thinking why I don't. One of the major reason used to be formatting but that issue was solved with my markdown based posts. Markdown is much easier and I can concentrate on the content rather than formatting. But I am still not writing enough.

I generally use vim to write my blog posts in a terminal but I do press Alt+Tab many times to move to the other windows (mostly browser) to read other random things. For me it is much easier to concentrate while writing code but not that easy to do while writing a blog post. That is why it generally takes a lot more time to write a blog post. While discussing this with my friend over phone a simple term came up self discipline or the lack of it in my case. As I wrote before, I can do this well for programming or reading but not that good when writing things on a computer.

What I am planning (with a great hope) is to move out of X for writing the blog posts. I will have only one terminal and nothing else at that time. This is still an idea and I have to do that for some time before judging if it is a good idea or not. May be it will work, may be it will not.

Right now I am writing this post in Evernote in my super old iPad. Applications in any such device is nice in that way, by default you can run only one app at one time. This will help you to concentrate in an easier way. Of course there are apps like ia writer which focuses on distraction free writing (or sublime text in distraction free mode in desktop), one can try those too. I am yet to spend enough time in writing to come to a conclusion.

I would prefer to use my mechanical keyboards any given day. May be that is why I am superbly excited about the Hemingwrite device. Less than 36 hours and it exceeded the kickstarter goal. I can see why so many people are so excited about this device. Though I have to wait till next September to get one.

Please share your ideas on the same in the comments. I really want to know how people managed to solved this issue.

Fedora Workshop in Bethune College

Two weeks back I did an one day workshop in Bethune college, Kolkata. Had around 20 students as participants. The goal of this work was to introduce Fedora as an alternative OS for the students.

The students were from the following departments.

  • Humanities (English)
  • Bengali
  • Mathematics
  • Biology

So you can easily understand that these are not our topical engineering college students. They use computers to do some particular tasks other than programming. We also made a list of those tasks (major ones)

  • Reading: web pages and PDFs
  • Writing: reports, books
  • Presentations

At the starting of the workshop, we just looked into a Gnome3 desktop and students kept clicking randomly to explore the system. We saw Firefox as the default browser, which most of them were already knew. Evince as PDF reader, and then just went through LibreOffice suite for documents and standard presentations. We also learned "How to learn touch typing" using gtypist package. The classroom was full with excitement, everyone was trying to type better than their friends.

Next we learned the basics of reStructuredText, and how to create presentations from them using rst2s5. The studentsliked this part of the workshop as everyone were doing things in their laptop and the results were visible within a second. Instant feedback is important to keep the new people going and when the feedback is coming from the computer they simply liked it. I already told them the biggest problem for most people is typing mistake(s). It was again proved to be right during this workshop :)

After the lunch we resumed with sphinx. Using sphinx-quickstart we started a new project, and started writing our first book/report. The PDF output using pdflatex command showed them how easy it is to create a professional looking document at home without any paid software. I also demoed vim as editor. We then moved into l10n and everyone logged into their system using bn_IN as the system language. The students were quick to find few translation issues in couple of the major applications. I will write about them in a different post. We ended the workshop while chatting about different aspects of FOSS and how they all can contribute to make their own life better. I will be going back to Bethune again to help them with installation and any other issues.

Setting up the laptops were the easier part of this workshop, which generally takes a lot more time. We took few seconds for each computer. How? Liveusb images. Using livecd-creator I created an image which had all the required packages for our workshop. So we never had to configure anything, things just worked out of the box, no missing packages.

I will be doing similar kind of workshops in few of the other biggest colleges in Kolkata, where the students will be from different streams than engineering. I also thank Assistant Professor Shuchismita Mitra for arranging this workshop.

Fedora Cloud SIG update from 2014/11/19

Last week roshi mailed the new release criteria to the test list. Not much reply in that thread. He will bring this point again to the QA meeting on next Monday (2014-11-24). We also need more hands for testing the images. If you want to help please ping us in the #fedora-cloud channel on freenode.

Today is the Project Atomic testday. You can find more details about it here.

jzb will publish the magazine story on Fedora Cloud. It is ready and will be pushed very soon.

During the openfloor, dustymabe informed that he will be going to the Digital Ocean office and get some more information on how easily we can have released Fedora Cloud images there.

I have updated my worknotes so that anyone can run my small test suite. You will find more details in this link.

I will be working as FESCO liaison from the Fedora Cloud SIG, my first duty is to update the Governance page with the current team members.

On a side note, the third meeting of the CentOS Cloud SIG will happen at around 3pm today, meet us at #centos-devel. The log from the last meeting is already available.

My worknotes related to Fedora Cloud

I am keeping all my worknotes in a git repo and the same is getting rendered in readthedocs. I will try to explain the processes and tools involved in the Fedora Cloud SIG. The notes started with imagefactory project as we use the same to build the cloud base images in koji.

I am also having a faq section where I am putting up all the random questions coming in my mind.

If you have any questions related to the notes, feel free to ask me on IRC or you can create an issue in github, as usual patches are most welcome :D