 Hello. Can you hear me? People in the back? No. Yes. No. Nothing. I cannot hear you. So, good morning and welcome everyone to Picon. Before I start anything, I want to know a little bit more about you. Like, who all are here for the first time in Picon? Can you please raise the hand? Wow. That's like really amazing. Thank you for coming down. So, before anything else, I want to introduce myself. So, I am one of you. I'm just another participant part of the community. And it's not only me. All the other speakers who will be here for today and tomorrow, all of them are just like you. Everyone of us started at zero at some time and everyone became part of this community. So, it's really great that you people are here today and I hope you enjoy this workshops and talks here right now, today and tomorrow. And by next year, we will become part of the community fully, be active volunteer and become an organizer for this conference. Because I think we will need a lot more help in the coming years. And little bit more things about myself that I'm a C Python code developer. I'm also a director at Python Software Foundation. I don't know how many of you have actually heard about PSF, the Python Software Foundation. Anyone? Okay, still a good number of hands. And we are actually going to have a PSF members meeting at 4 p.m. today at 3 p.m. So, if you are already a PSF member, you want to come down there to learn a lot more new things. Or if you want to become a member and learn what all you can do for the Python as a community, you should come down and just have a chat. It's at the open spaces, 4 p.m. 3, 4 p.m. And I will also contribute to a project called Fedora Project, which is the Linux distribution as a brand number center. So there I go to different colleges, conferences and talk about the project and things you can do and become a contributor and a husband. Important part. So, actually before going more into my talk, I want to say these things that my talk is very much personal. So, this is not a technical talk. Throughout this talk, I'm going to talk about different projects, different people whom I met throughout my journey till now. And it's not something which already ended or I reached a plus. It's still going on and it will go along throughout my life. So, I will just say some stories with you. I'll share moments, projects, good back, both sides. So, please bear with me all those stories and I'd like to take questions in between also. There will be a QSS at the end, but if you have any questions, you want to interrupt me and ask the question, feel free to. But longer questions, I'd love to have them at the very end. So, one word upstream. Again, I want to know how many of you actually understand what upstream is. So, throughout my talk, I'm going to use this word a lot of times. So, I want to say a little bit for it. So, when we say upstream in a free software or open source world for some programs or one particular program, we mean the project where the people, project is not only the software. It's the people and everyone together who develops that particular program. That's the upstream. And when we say contribution to the upstream, that means when you are sending your changes or you are improving that upstream somehow. And these words came up from whatever, the rivers. So, downstreams always get the improvement, the good things which happens in the upstream, correct? And after it goes back, the downstream will also go back. So, all ideas are coming from there. So, where I started? So, in the slide, it's written 2004, but I want to go back a little bit more. I'm coming from a very small village in West Bengal named Ukra. And I studied up to class 12 in Bengali medium there. And during 2001, I gave my joint entrance exam and came into an engineering college. And I used to stay in a college called, I call it Durgapur. I never studied there, but I was there because of my exam. And I was staying in a relative's room. And I saw, I used to see computers there first and properly. I never had my own computer. And one day I saw, during my exam that particular day, I saw 12 people grabbed up into a very small room looking like this into the computer screen. So, I thought that's something strange. Like they're not playing a movie, I can understand. And everyone is watching, something is going on. So, I asked the guy, like, hey, by the way, can you tell me what's going on? He said, don't make any noise. I said, why? He said, you know, we are installing something called Linux. And if the mouse works now, it will work. If the mouse does not work, it will never work again. So, please stop. So, that was my introduction to Linux. Oh, wow, that means it's something which none of us know. Only one person knows in the whole crowd. He is doing it. And the rest of the people is like, oh, something is going on. So, that's something I want to learn when I have my computer. I never had my computer. So, I joined my college, it's a private engineering college, Dr. Visir Engineering College in Dehwapu. And I got my first computer. I installed Linux. I knew how to click random places. No clue more than that. And just learning few commands from the thing. So, that's around 2004 in Dehwapu. Things started changing from being. I got access to internet. We never had internet connection in our college. Actually, we had a 56 KVPS connection for all 900 students. So, but 2004 I actually managed to get my own connection and the same kind of using some reliance connection. And I got access to internet and I can search or write emails easily. So, things started there and I came to know about these things or these places or group of people called Linux is a group. While searching about them, I then found a term I like. In the Linux is a group. So, you know, there are many people who are from the other Linux is a group, correct? I like Bombay, I like Calcutta, I like Delhi. I like Chennai. Very much active. So, I found, oh, there is something in Calcutta also. And I found out about them more in couple of magazines. I saw their names there. Then in that moment I actually tried to make contact. So, I contacted this person here who is here. I saw his name and one article from him in one magazine and I wrote an email to him saying, I want to do this work but I have no clue, can you please help? And for a surprise he actually replied to my email and not only replied, later on I received a CD with a Linux distribution inside which works and it's completely Bengali. I had no clue that I can use my computer in my mother tongue before that and that's like, oh wow, it's a complete whole new world for me. A live CD, that is also new for me. I never saw a live CD before. I never saw my computer working with my mother tongue and then he said a word which was again new word to me. You should contribute and the word upstream also. So, those are the new points which I learned first time, then and then and I started my Linux of peace of the contribution as a translator. So, I hope you can understand or guess what a translator does, correct? What they do? Anyone? Loud? They translate? Correct. We have so many languages, 23 Indian languages. So, most of those languages, you can actually use your computer in your mother tongue whichever language it is, right now I hope, in a Linux. It's because there are people who are actually contributing and translating those English terms into something which you can understand in a proper world. So, I started my life as a peace of the contributor, as a translator and I was really, really happy to see my name in a website that is the KDE in the community and their site also my name. I am like, oh, why? I am famous. That is first time I can see my name somewhere in internet and it's like, that's mind blowing, that's fun. There's more than enough I can ever ask for, that was my first reaction and it was not that difficult. So, from there, with the love, I decided that we should do something similar in Dhruvapur. So, I started a group called DGPLUG, that's our website. You can check it later on, dgplug.org and in 2004 we started things. So, it's Dhruvapur Linux user group, that's why DGPLUG and our motto which I started with, learn yourself and teach others because we never have any people in the local community who can teach others. I can tell you very frankly that I was the Linux expert in my college because of two things. Number one, I knew how to mount my Windows partition. It was really, really difficult. I mean, you don't know how difficult it was to mount command, correct? And somehow, while talking with Ayala Kolkata, I found out there is one thing called RPN and there is this file XMMS-Lp3 which if you install, you can play your songs on your Linux computer which is again another bit magic, no one ever knew about these things. So, those two commands actually and because I had a copy of XMMS-Lp3, I was the Linux expert and I was the king in a local area. Everyone is coming, oh, I need help. What, new machine installed Linux. I want to play my songs. So, that's where Digitality.org started and our idea was that we will try to learn ourselves. Like the first thing that we did was you learn these few commands, I will learn these commands and then every week we'll meet in one place in the college or wherever and we'll share our knowledge. Like, you know, we can do this thing with this command or you can click here, something magical will happen. So, just to give you an idea how that thing used to go on. So, obviously with Linux, we used to install everything, correct? How many students are here, by the way? Okay, little bit number. So, it's for you. So, when I installed Linux, we used to install everything and I used to get this cute designer, QT, what do you call? This cute designer. So, I knew that it looked like something like DV because that's what I knew that time. So, I can open a dialog or I can add buttons and everything and then for double click on anything, it used to open up a C++ editor. I'm like, what's going on? Why C++? I have no clue. I never knew that I can search and read about it. I can learn from it. But that's how everything started. Then things changed for me, my personal life. I finished up my college, good days are over and I have to work. Got a job here in Bangalore. DSL drives software limited. It was the back end of drives bank. Also, if you're wondering. So, I came to Bangalore and somehow I saw an announcement that there is an event going to happen for dropping. That one conference actually changed my life in many different ways. I don't know how many of you actually came to false-rotting before. Many of those conferences happened here in this particular venue. This is the same venue where we had a lot of times the same conference. I met suddenly all the people. So, I talked about Sankarsan, correct? But I never met him until end of 2006. That's also after false-rotting. I talked with many other I like Kolkata members whom I met first time like Indanil Dasgupta here during false-rotting. I met all the other big rocksters from Linux world here in false-rotting. I never knew about them. I never knew what they are talking about. There are lots of talks and I never understood what they are talking. But it's nice, I will smile if they ask anything. That worked for me. But in that conference, I suddenly started getting a little bit of courage to go and talk with people, to introduce myself. You know, I'm from here, I'm trying to do these things. Obviously, I was writing code, but not enough. So, this thing happened there. I heard about a language called programming language called Python before. But I never had enough clue about it. But there is something called Python BOF. And from a person such as Sinkam. So, in that BOF, they actually showed us how the language, what kind of language it is, how it works and the things. So, giving a demo, you know, you can write code for your series 60 Nokia phones. Well, remember those series 60 phones. At least few old guys in now, guys and girls. So, those series 60 phones you can program using Python. I was too much excited. I really don't want to write C++. I knew I have to write C++. That's what my idea was. But I can learn Python. So, I had a chat after that BOF was done. Like, you know, I really want to write code for my phone. It will be lovely to do so. And can I use Python? And he's like, yeah, officially go back home. Do it for phone. But I actually had a Symbian Nokia 7710 phone, which was series 90. And unfortunately, Python never works for series 90. I mailed to Nokia and they replied me back after six months. The developer said, sorry, it took six months for the mail to reach to me. But the person who was in charge and said, we are really sorry that Python will not work for your phone. But I somehow hooked into that language. I was learning. I was doing small, small code. The examples, you know, hello world kind of. And learning about modules, how things actually work out. Oh, wow. So, during that time, I wrote my first actual real and useful code. And that's some magic with the lights anyway. So for my job, I was in the R&D department of my company. And we had to help each and other teams who ever need whatever kind of technical help. So one day, actually, my manager came to me and he gave me a zip file, which is basically a pile library and a pile command to pass something like form 10K, which is some form us. It's about your, I think, earnings and you have to declare it to the government. So, and that's fun. And they said, like, we want to add some features to that program and we want some different output. So I opened, I knew about Perl. I never saw a code before. I opened it. Some Indian language for me. Yeah, still an Indian language for a lot of people. So I opened that and I'm like, okay, I have no clue what this is about. So I should find out someone in the company. I started asking around who can help me out. So they said, there is a pile team downstairs. I was in the second floor, go to the first floor to the team. They will help you out. So I went to the team. I give them the code. I explained them what I want. Then they said, okay, you know, we do not have time. Come back next week. We'll figure it out. Everything will explain to you. I wear this. I came back next week. You know, still we do not have time. Please come back next week. I did that for three weeks. And then someone actually told me the truth that sorry, we can't understand what this code is doing. I'm like, okay, that's not a challenge because my deadline is approaching and I have to do something. It is basically passing one file and format and generating the output in a different file if you are trying to understand what it was. And I told my manager, like, you know, I'm learning this new language called Python. And maybe I think I can use this language to do this much easier way. So the total code was around 100 lines. It worked perfectly. And I was so happy that something I actually wrote is useful. And that is my first actual code, useful code in Python. The same thing I did with another project. If anyone of you know about the library management project called OHA, which is the one of the top most free software project in that area. So I wrote some code again to do those, again, five format changes from some property format to COHA so that they can import the data. That was my first code, useful. Then during that time, another change came in my life. I honestly knew before that that writing code, that's what matters. I never used to read code that much. Again, this tip again came from Sankarsen that time that I should try to read more and more source code. And the example he gave me was Anaconda. Who knows what is Anaconda here? It's the installer which we use to install the Red Hat Linux operating system. Correct? Right now the real, the Enterprise Linux, the Fedora, CentOS, all of them the installer. It's written in Python. So I remember I opened up the code and on the main file and the top somewhere it has written. This is really bad example to learn Python. The code was useful. I was totally clueless. Like what is going on? Why someone is asking me to read this code? I can't understand anything there. And then suddenly, I mean, more people came and they told me the same thing. Read more source code. Read more source code. I'm like, okay, maybe if someone is telling me the same thing, there must be some reason. Let me just start reading it. Slowly with time I started understanding the features of the language by reading it. I slowly started understanding why I can, how I can do better than what I was doing it. So this is very important to remember. Try to remember that read more source code than you write. If you remember last year, Jay says something similar in this line. Correct? That writing code is a liability. Whoever was there last year for the keynote about writing code. So, but as a student, if you are a student, you are learning the language. You should try to write more code also. Because that's the time where you are learning. Correct? One more person. Shamund Das Gupta. In my mind, he is the best programmer from India. That's what I think. I don't know how many of you actually heard about him, but he is from Kailata. Right now he's doing his PhD in media labs in MIT. He is one of the core developers for the Scratch project. So he was one of the family developers for the Angkor Bangla group, where I started learning the oil contribution free software upstream work. So Angkor Bangla, I actually missed that point. Angkor Bangla group is the group which does for the Bengali language. We have two groups, Angkor Bangla Bangladesh, BD and IN for the Indian Bengali language. So he was part of that group who actually developed that first Linux, Angkor Bangla Linux. And he is a very close friend. And he was there at that time in Kailata. So I always used to think that I'll go to his house and learn a lot from him. I used to stay in Bangla, take a flight to Kailata. I'm going back to my village. So I'll stay that night in his house. I learn a lot. 10 p.m. I'm really pumped up. Like, hey, I'm going to sit beside you and I'll see what you are doing. Nothing else. I'll just sit beside you and watch. Five minutes. I'm like, okay, I have to stay awake now. 10 minutes, 15 minutes. I'm sleeping there on his desk. So it happened not once, not twice. Many times that I went to his house but slept all across the whole night. That I am here but I couldn't learn anything from him. But somehow he starts his ideas actually came to me and I understood why he was doing all those work. The one of the biggest things I learned from him that anything is possible even if you are staying at your house. He was the first person who showed me this thing. He was in his house and developing all the into the core things which I knew at that moment. He later on, during that time, he moved into another project called OLTC. He was a developer. Again, OLTC is one laptop per child. I'll come about it in few minutes and say a few more stories there. And I was doing this thing continuously from 2005 to 2000. This is, I'm talking about 2007 when I started writing a little bit more Python code. I was kind of happy. And another project which I did around this time was about photography. I love photography. I love taking photos. And I landed on a website called Flickr where I can upload photographs. And I think the highest photographs you can upload was 20 MB. That was the fee limit. That's what I remember. But you know, Young isn't Daniel, correct? Yes? So one of the employees who actually worked with that team closely, he told me, by the way, Kushal, if you want to upload more photos, there is a way. You can email those photos to your email ID in the Flickr. And that will take you more than 20 MB photographs in a day. And that's like, wow, amazing. But then I have to manually keep adding each picture in one email and sending it. So I wrote my first, a little bigger application called KPhoto by Mail. It was for KDE, so KPhoto by Email. That was the topic. So it's just a simple GUI. Select a few photographs. It will show you a preview and click using S&T. We need to start sending the emails. So that's my, you can say that was another big project in my life. Because there are a few people who actually used it. The picture is not that visible. But this time I met another person whom you saw a few minutes back on stage, Anand Pillai, someone who can look up to. He started this group here in Bangalore called Bang Purpose. Bangalore Python uses GUI. Where I came and suddenly saw there are so many people who are like-minded who love this language, who wants to talk about many new things what is going on in this language. So that was something new for me. Like, I never knew people with languages had this kind of GUI. I only knew about LUGS before. And like, okay, these are really nice people. And he taught many things there. I mean, I read his source code, the project he was working on, so that I can learn from him. At the same time, do you mind to go to the next slide? I met a retired lawyer. He was a far better programmer than most of us here right now standing. He was more enthusiastic about the work and he was a true hearted person. Whatever he believed, he just went for it. Online he used to unblock when you meet him in person. Some of you actually can guess his name. Law 1, Kenneth Gonzalez, correct? Yes. So he was a close friend. He was someone from whom I can learn and see. Like, I can still say even today, I go to so many colleges, meet so many students. But at this age, he's not from computer science, correct? He's a lawyer. But he was more enthusiastic about writing program and having fun than most of the students I meet today. So that thing is important in life, having fun. Please do not forget that part while you are working on things. Do not miss him. Then there's no person. I'm not sure if Jaycee is here till now. Not here yet. So I hope people from Bangalore actually can recognize this name. Actually people only from India. Jaycee Kiran, correct? He is again a friend, a mentor. My manager also, one of my job. So I tried learning a lot from him at the same way. So I have to share one particular story between all those stories. One of my office work was actually we were doing a replacement for a Windows login screen. Windows, that's correct. The Windows was running on an Enix VM. The login screen will authenticate using finger prints, which will go to that Enix VM into an SMTP service and authenticate through the SMTP service, the fingerprint. The services were really using Python. It's kind of complicated, I know. And stupid. It sounds stupid, but it worked very well. It's around 2007, the story. So I was writing, I mean I was quite confident I can write good Python code. Oh, I know this module, I know this module. It works. I know there is a module, I can write the, what do you call it, the authenticated or the service. So I wrote, I spent two days, I wrote code with work, I tested everything possible. Tested means I just ran it and it works. That was my testing. So I came down, I'm like, oh, and he was sitting inside the room and like was discussing something. And Python, he was my colleague at that time. And I just wrote this code to him. Yes, this is what I wrote. He looked at it. He's like, oh, you're so nice. But you know what? You should sit beside me. He asked me to sit beside him. While sitting there for the next two hours, he actually started writing the code from the scratch. And it's like a drawing, I mean it's like a painting. It's a different thing completely for me. And you know some people actually writing code in front of me, the pair programming thing before. He wrote test cases, he wrote the documentation, how the things is working and everything. I was like, yes, that's strange. The same code but it looks so beautiful for me. So that is one of the incidents. But at the same time, because our team, we were doing only Python code. I should say only, yeah. So there's a lot of things to learn from him. And how many of you have heard about the Hasgeek JS company? Correct. There should be a pretty good number. And I actually told him that I'm going to talk about this point that in general in life, when we were kids, we always wanted to become good cricketers. Correct. In India, people who like cricket, anyone? Like, we all wanted to become Alder Sachin, Dhradira Ganguly, no one else in general. If you're a movie star, we want to follow like Amta Bachchan, Sarukh Khan, Salman Khan, become that successful. That's someone like that. And I know that many people, many students in Bangalore, they all want to become like JS. They want to be successful in the same way. They want to be known. But for mostly what they miss is another small word called hard word. If you see all those people who are successful in life, up anyone, any of the others, people who are doing great, ask them that it actually took time. It's actually a lot of hard work. I think you know such a story. Correct. How hardworking he was and he is still now. It same goes with programming. Things will not come to you in one day, one month, one year. You have to keep doing it. So there are books, correct, long programming in 24 hours. You can go and search about, I forgot the exact title. It's about how to become a better programmer in 10 years. Search about it, read about it. It takes time. Ask anyone. You can explain it better than me in this way. So that's my example. But it takes time to become, to reach certain level. That is the thing I want to say. And if you want to, if you think that you can just act cool, behave cool around proper hipster. Well, this particular clue that I'm talking about only the subsequent projects and a cool guy. That might work some places, but when you come and talk to the other people who are good at that thing, it will not work. Not everyone will work. The only way you can become better at anything, even in line, in court, the Indian politicians, many cases, I mean, they want to work hard, correct? So whatever you do, if you want to go on the top, you have to work really, really hard for it. Everyone works hard. Sight-lining things from Bangalore. These are things that are happening in Bangalore. Can we reduce these lights, please, on the stage? So, I don't know how much you can see in that image. So this kind of project we picked up in Dugapur. It's called Bijira Project. So Bijira is actually a school. It's a remote village within Dugapur, the town, where the students, they never had proper clothes to wear when going to the school, not proper textbooks and anything. But with help from West Bengal University of Technology, the V.C. Professor Ashtak Thakur and from Ayurvedic, like that, in the name of that group, and Digipoli's volunteers like Shomakanti Chakraborty. What we managed were five computers, a dump terminal and one server desktop, and installed a complete Bangalore schedule up there. And the students were mostly learning by themselves. And it was not about teaching computer. It was using computer to teach the normal study things. They were learning about geography. They were learning about history, Bangalore literature. There are many texts that Project Gutenberg for other English literature. This is another image. And the best part about this project, there are no teachers. They were learning everything of their own. And it was following the same motto which we had and we still had, that, learn yourself to each other. Bangalore, shekho bung shekhao. Nijhe shekho? Logo shekhao, that way. So that was kind of different. It's not about programming. It's not about doing things, but it was giving back to the community, getting more people into the community. And in 2007, I was introduced to another project, OpenPCD. It's the first open hardware for RFID, 13.56 megahertz. It has an open hardware, open software project. So the project is obviously, you can do many things in this using C. There is a C library, LibRFID, to work on it. So I decided that I don't want to write C, so I'll write the Python bindings. So I figured out that somebody told me that you can write, you know, in Python also. Like you have to just write some wrapper, some binding, and like, okay, these are strange words, but I'll search about it in Google.com. So I did that. I started doing about it. I wrote the first versions, and then I went to actually a conference in Berlin, Linakstad. And I was working in the, I gave a talk about this, and I was showing my code and demo everything. The code I was working. But the primary developer for this, Milash Maria, he came and he told me, like, you know what? We need to install this also. So you have to write a make-file. How many of you actually know about make-file? Oh, wow. I also thought that I knew make-file. I had that glory, correct? I know everything. Young kid thinking that everything is easy and useful. So one night, like, my friend used to work on the 16 to 20 hours a day. So around, in the evening, I started writing the make-file. Not compelling, okay, what is the next library I can add into this? iPhone L, keep adding the libraries. Till it works. It worked at 6 a.m. I'm so happy. I know, working make-file, it just works. Perfect. I mean, his wife was also, I worked with me. She was a hacker who made the hardware design, actually. So she was looking at my progress, and she's like, oh, official, congratulations. It worked. I'm like, now he has to wake up, and I'm going to show you this. My laptop. Hey, Milash, this is working. He looked at that code, the make-file, looked at me, smiled, and the reaction was, even a pusher, even my grandmom can write better make-file than you. Go down from the window. And if you're wondering, that was sweet floor. So I made a decision for myself that I'm going to come back to India and learn about this. It's okay. It's perfectly okay. I understood. They also explained that it's okay that I do not understand what make-file is or how these things work. But it's my duty in one way to actually learn about it in future so that next time when I come to a project where I have to use the same technology or the make-file auto-tools, whichever way you want to call it, I can use it, actually. So I learned, and in many other projects, I used auto-tools. I used the same technology, and it works now. And I know how to copy-paste. I mean, I still can't write from scratch. I know how to copy-paste it well. Then something we started, it's called DGPLEG Summer Training. That's also a pretty unique thing. It's an online summer training free for everyone who has a Linux computer and internet to join. It runs for three months during summer. And we teach starting from communication, editors, and then how to use Python to solve your daily problems. We do not teach Python as a programming language only, but we try to teach them how to use this language and solve the problems you have. I'm not going to explain the kind of problems students generally get into, scary things, but most of them actually manage problems using Python. Funny ways. I'd love to talk about those stories outside in the hall when no one is recording. And at the same time, I also worked into a project called Live USB Creator. As I am saying, all these things are actually my stopping stones. I am learning a little bit more through in-bike journey. I am learning a little bit more. So Live USB Creator is an application for Windows. It has, I think, announced in Indian daytime early morning from a guy called Luke Macen from Fedora Project that he can install Live CD into a USB. Nice thing, but it has a command line. So I knew PyQt that time, the Python version, or the Python bindings for Qt. So I thought I would try to write a UI, very simple UI. Work, work, work. By around 4 p.m., I actually, Indian time, I sent in the code. You know, I did this. Have a look. So after a few days, he actually blocked about it, that he was working on a PyGTK version of the tool. And he's got my code from, he never knew me that well, but suddenly one guy sending him code which just works. And he liked my code and the PyQt better. And that whole thing from that time became, like that was his first and only, I think, PyQt code, it still works. It works on Windows, Linux, Mac, everywhere. And I worked on that logo also. That is also a contribution. It's always not about programming. I cannot draw a straight line well, but somehow managed with the tools to make this one. So that's, that's a, that was a point when I learned, okay, like I can talk directly to these people. They are not evidence. They will not beat me up. If I send them wrong code. Before OpenPCD, and then that was a big help. And again, I am very much excited because all those project pages, they have my name now. And I, it still excites me even today. I'll see, oh, my name is somewhere. It's nice to have it. Then I changed my job. I joined this company, Red Hat. It was a huge thing in my life. It was kind of dream. Not to become part of the company, but more about the people, the culture. I was in the Pune office. So I had their many upstream contributors. I was lucky again to have Sankarsan first time officially in my career. He was my manager. I had people like Rahul Sundaram, Ramakrishna Reddy, where many of you already know about him. Aman Alam, who are upstream developers in many projects. So whenever we used to meet for a cup of coffee or talking, making joke about random things, but somehow technology used to come into those talks. So those things affected me a lot to learn to, every day I can hear new, new technical words, which I have no clue. And lights are doing mini magics. See. And I also moved into old PC. That's the laptop I was talking about. One laptop per child. Simon was working on it and he asked me to work for its audio-video application. It's called jukebox. I worked on it. It was then available to everyone who has an old PC. And suddenly in few days I learned that writing code for 10 people is very easy. Writing code for 50,000 kids is insane. And those kids, not only they use the application in a way which I never thought they will use, breaking all use cases. They also came to know how to use IRC and talk to the guy who actually wrote it. Now I can keep seeing these random people next coming up on the channel and has sewer for the old PC and asking me, you know how I want to do this? How to do this? This video is not working. It is scary and it is fun. It is a lot of fun. And the biggest thing I learned was be patient with people and use that sort of everything. If they say that your code is okay, you are okay. You don't have to hear about it from anyone else in that way. And from 2006 I was using Fedora all across. That's my operating system. I am running it right now in my laptop. But I was becoming more involved into the project. So I worked with the Fedora infrastructure team. So there are people like Toshio, Pingu, Neerik. These are the nicknames. I got the names. So one of the major things which I learned while working on infrastructure is that everything new and shiny may not be that great for you. So there are many web weapons here. Many people who write web code, please raise the hand if you can see. Okay, still a lot. And as a student, you are always attracted to the new signing module. Somebody wrote this. I have to use it right now. We also wrote that feeling. It works many times. But as a part of the Fedora infrastructure or something, I have to remember that if I use a new Python module, I will be packaging it. That's my pin. I have to go through the pain of package review. That means somebody will go through each thing I did and make sure this is perfect for the operating system to use. And then I have to support it into the April that enterprise repository for next five to six years. So that's something which taught me to stay within the standard library, Python standard library as much as possible. I don't want to reinvent the wheel, but I'll try to prefer use minimum things. Everything signing and new is not great all the time. And you must work in an enterprise company. Any enterprise company in India will learn a lot about it. Arbosco and C++ applications are still working and working great. So during that time, I also tried my first upstream project. I wanted to work on PyPy. You heard about PyPy? It's a Python compiler written in Python. So I thought I'll compile it. I had a laptop, powerful one, 4GB RAM. So not possible. I tried, failed, failed, failed, went to HasPyPy on IRC. They told me, you know, it's not going to be that easy for you to compile it there. But why don't you try with something else like C Python? I'm like, what is C Python? Oh, no, that's the language you use Python, the interpreter. Okay, I can start looking into that. That's how I came into C Python, the programming, the language upstream thing. And my first patch was actually going through the Fedora package. So you all know the help command. In the interpreter, help, opening, closing, parenthesis. And then you can type modules to see all the modules. But in Fedora, we always used to see that modules come and used to crash. The whole Python interpreter used to go out. Never knew why. Then I started looking into the code. But I find there are many modules or libraries in that way who had a sys.exit0 inside that code. That means if you actually try to use it in the wrong way, it will just terminate the whole process. So I tried to write some patch and some stuff for few of those, like not the sys.exit0. We actually fixed it in the upstream. Like we have been created as one of that, which did that our own project. But we fixed it. And that's why I figured out, okay, people can actually accept my patches. Then one more person. Sidha's political. How many of you have heard about Lib C? Lib C. What is it? The C programming library, correct? The actual C, what do we say? Sometimes in student as a student, C software. The programming language. So G-Lib C is the upstream, the C implementation. So he's an Indian who lives in India and he's an upstream Lib C developer. That means all of you almost, all of you are actually using his code right now. If you go to the Lib C devil and see how many people are committing code, there are actually around five people who are doing the upstream devil. Regularly committing code, only five in the whole world. He's one of them. He's my friend. Someone who keeps pushing me so that I keep doing more work for the C Python, the language itself. It's like we shall stop all the nonsense you are doing, random code I write for myself, and try to work upstream, contribution. Make sure that you do more contribution in the upstream directly. It's okay. Easy. It's not that difficult. So keep pushing me. Even he works for the lab. And lucky for me that we used to interact a lot in that way. Then this fancy name. Now you all know about it, correct? I come to India. The first year I actually missed it because it was during Durgapudha times. But from then, every year, I come here. I meet so many other people who are doing great stuff. They are the speakers. They are talking about things. Even the students who came and asked me questions, which I have no clue. So I have to go back and read about it. This conference is something, it's very personal again. It's all the people, all the friends here. Everyone is a friend. If I don't know you, I can meet you. I mean, I will meet you this time. Maybe next year when we meet, we will be already a friend by using technology internet. Maybe I'll not talk to you on the internet. Maybe I will meet you again next year. But we all are friends. Remember this that this conference is run by volunteers. So if you see something is problematic, if you see something is wrong. So please come and tell anyone and try to help. So to fix that thing, we all can improve ourselves when we try to help each other. Nick Corlan, again coach, C-partner and developer. Who did the final push to me that you have to work more and make sure your patches goes in. And Michael is here. Right now he is going to do the keynote next day. But he also helped. He also helped me a lot in the upstream and my patches started going inside the code and I got the reviewer commit access and become a C-partner code developer. So it never happened in one day, but there are many people who keep pushing me for this and so that I'm doing over with. I'm actually showing a picture for the development screens. So development screens are something where people sit together, meet and keep talking about or doing work, not only keep talking, actually doing work on different projects. So this is an example about C-partner development. Actually, part-time development spring during Python in US. So the guy in left, he was in our trouble and he was having a problem with material, HG command. And we never know how to fix it. So we are just saying, I don't know how to material. Anyone knows material that well. And suddenly I saw a bunch of people standing behind us like this. Oh, what's the problem by the way? We may want to help you. I'm like, okay, who all are you? So he was helping. He's the guy who wrote material. And that team knows like the whole material development team. So they are apparently working just in the next table and they have the world. So all across the whole development, these are development screens. Whenever we say anything to material, they all are up and coming. Oh, you need any help? So that's the best thing about development screens in any community, not only Python, you do for any other community. You will see the abstinence just beside you. The way you can get help from them, it's not possible anywhere else. I think I'm going over time, but if you can excuse me for a few minutes. So for anything on the abstinence, what is the most important factor? It's a single word, simple word. Can anyone guess what's the word? Fun. Huh? Fun. Fun is also very important. Abstinence people, we do it not only for our job or work because we have fun. We love it. But also, trust. It's all about trust. The community actually trusts each other very much. That's when they decide to give you commit access. That's where you become a part of the organization. You part of that whole community. Say for this, the organizing committee of Python India. It's about the trust and the trust will only come when you keep doing these things. And for students, again, I'm targeting this thing particularly for you. Please try to remember that the journey is important, not the end station, the end points. And it will never end. It will be on throughout your life, not as a programmer, maybe, but as a different thing. You'll have to learn many things, correct? You'll have a family. You will have your own kids. You'll have to keep learning new things. So that's all about the journey. So I had a nice line about yesterday from Norfolk where it's about like people, most of the times what they do is that they underestimate the long-term goals and they overestimate the short-term goals. In the next seven days, I'll learn these things. I'll solve all these problems. But I cannot do this in even the next one year. Sorry, that's just too much. I can't do this. That's not the point. You should try to learn new things. You should try to do more stuff. And you'll figure out slowly and eventually that you can achieve much more than what you see now. I saw it in my life. All the last few jobs I'm working on or worked before all came through my upstream contribution, through those people. I have friends in different companies. It's the same people here. They all will be your friends. You can get a job also if you want a job. But you have to keep working. You have to keep doing new stuff. So please keep doing those things. That's like, I should say that's the last line for me in one way. And I want to have a little bit of question and answer session. If you have any questions, I think there are mics. Five minutes if I can get. Just five minutes, not more than that. I thought I would have some more questions. If you have any kind of questions, please feel free to. Any questions, anyone? No questions? So generally, when we go to colleges, what I say or we say, if there is no question, that means only two things. Number one, you understood everything. Not possible. No one understood anything. Always possible. So I'm going to be thinking that way now. So if no questions, I can just get down. Okay, there's one hand. Someone understood something. I'm happy. So you were talking about code sprints. Are there, do you know of any code sprints that happen in India? There are different communities who does those things. I mean, it's not happening directly even in Python, but there are open spaces. Every year, I know there are friends and there are people who are working on those option projects. We actually sit there with our laptop and show the students or anyone who wants to know about those projects. And like, these are the bugs you can solve. And then there are other projects like KD community and like many other communities which do separate particular code sprints. So those things happen in India. You don't have to go out for it. And many code sprints you can actually attend over internet. So you can do that. We'll have a list of, like for Python, we'll have a list of bugs which we can solve. We will try to help you over internet. Any more questions? I think you are using the upstream worlds quite frequently. And we are, I think a lot of them are in the initial stages of Python learning. They know different modules. They know importing the libraries. So could you suggest us what are the code? I think you are referring during the talk that you refer different codes, the source codes. So could you just refer some of them so that we can refer them and... Okay. So if you want to read, the question is about, please, can I quote some code or some source code which you can read and learn about? Correct? Yeah. The first thing I want to suggest is a nice language called Python. Go to Standard Library. It's in your computer. Go to the Standard Library lead directory. There you'll find most of the Python modules. It's written in Python. And trust me, they have enough code comments and documentation inside. Block streams. Some of the Python... Okay. But still, you can understand those code. It's not rocket science. So feel free to read. Start from there. There are a couple of blog posts and things. I actually lose to one point. I want to say about that part. See, I was talking about the journey thing. Correct? And I want to give one example. There are many GSOCs in India. Correct? GSOC students. The current students. Couple of them. Correct? What happens in India is that people do the GSOC and they just vanish from the project. But you are supposed to... Through GSOC, you are supposed to become part of the community. There is a girl among us here today, Charu. She is from... Correct? So she started contributing before GSOC into Fedora project. She is here. We can talk with her afterwards. She contributed during GSOC as a GSOC student. And she is still now the contributor. She is becoming an upstream contributor. So if you want to learn more from someone who is already a student, you can come and talk with her. She is a direct example here who is actually doing contribution. So please continue doing contribution. And if you have any questions, feel free to ask any one of us during these two to two days. We will have to help you out and later on also our emails and stuff. And this is my Twitter handle. So Kushan Das. Not that difficult. Hopefully you will be able to remember. So if you have any questions or any good or bad things, for instance, please feel free to do it over Twitter. Not in real life. And then thank you. Thank you Kushan for those words. I would request everyone to please