 Thank you Good morning Wow, thank you. Thank you so much. I am super super excited to be here When I looked at the lineup of what's happening over the next couple of days You know all the speakers all the cool stuff that's happening I was absolutely gobsmacked as we say where I'm from, okay So I think we're gonna have an incredibly exciting three days and before I start Would you mind joining me and just giving the organizers just a huge hand for putting all of this together? Absolutely amazing, and I can't wait to get started That being said I'm absolutely terrified I was standing in front of you now one because of all the speakers and all the people who are experts in their fields out there But also because I'm actually going to tell a pretty personal story About how I get involved and actually published my first open-source project when I joined Google so for many of you guys you're experts in the open-source world and What I'm thinking of doing today is actually sharing my personal story of how in the second week of my job at Google My boss asked me to publish open-source code for the first time in a language I'd never used using a service that I've never heard of before So I'm a little bit terrified What I do hope though is For those of you who have been thinking about you know contributing to open-source getting involved Maybe you know sharing my story will help you as well if you were scared as I was You know making all the mistakes and so forth to just do it Try it out, and I also want to give a few learnings that I found out as I went through my journey Okay, and in passing if I can share a little bit of detail about you know Some of the cool stuff that's happening on the open-source front in Google then I will have accomplished it We're also running a little bit late So I'm gonna try to make my talk a lot shorter so that we get to coffee break on time You do not need to take photos of any of my slides. I'll give you a github link at the end where all the links and everything are Okay, so just take photo of that Okay applause. Wow. Okay. Is that to get off stage or is that? not to take photos and Yeah, so let's let's get started So I'll talk about three things. First of all, I'll share just very quickly a few of the projects That is related to Google Cloud now These are not owned by Google Cloud and these are my personal picks. Okay, but Google Cloud where I work We do have managed services in this so they're kind of related, but they're not owned by Google Cloud necessarily, okay? The second is how do you contribute? How do you actually get involved and contribute to some of these projects? And I'll share a few of the learnings that I had in terms of you know code review Reading the guidelines, but actually most important of all has nothing to do with technology it's about my thoughts on how people feel about open-source and Hopefully by me being up here opening my heart and sharing my fears When I got involved and all the things I was terrified of Maybe it'll hopefully it'll make even one of you, you know more confident to just try it out And that's actually the most important thing in my talk. Just how can we actually help each other share stuff? So with that ado, I thought I'd share a little bit about how I think about Google. I've only been in Google for about two years I'm not an expert in all of these things But in my discovery, I found that as Google got started they created a lot of really impressive Fantastic, you know world-leading technologies to solve problems that they had at huge scale and you see some of them here, right? For example internally in Google We run everything on containers and we have container management systems called Borg etc We've contributed to a lot of container technology But what tended to happen a lot from what I can see is we published, you know leading kind of research Papers and I had the privilege of meeting Doug Cutting when he was here in Singapore last time I don't know if he's in stage, but he also talked about how you know when he created Hadoop He took inspiration from you know the MapReduce paper and so forth So a lot of papers, you know were published and the open source community you know leaders and great people took some of those ideas and incorporated them into you know extremely popular and fantastic open source projects but there's been another development as well and That is that in addition to publishing research papers Google is now also open sourcing and actually giving away a lot of this to other organizations a lot of the new products So I'll talk about a few of them today the first one is around containers and distributed systems and In the interest of time, I'll go very very quickly I'll have links to all of this in the end So don't worry if you don't catch everything But in terms of containers Google has been working on containers for a long time for internal use So if I you know internally want to deploy workloads inside of Google it gets deployed on containers okay, and As part of that Google also contributed a lot of stuff So if you look into the Linux kernel, I know there's a few Linux kernel contributors in here in 2006 You know, you'll see some contributions to C groups for example to the Linux kernel. Okay now Based on a lot of experience About running Borg and running containers at scale inside of Google, you know Google also initiated a project around Kubernetes to take a lot of the good practices of Borg but also add lots of other stuff that maybe wasn't so good and created Kubernetes and You may all know about Kubernetes, but the cloud native computing foundation, you know Organizes that right now. I believe Red Hat and Google are the two biggest, you know corporate contributors But as I travel around Asia Pacific and Japan, I meet companies from all over the Asia Pacific Rim and from all kinds of industries that are either contributing or using Kubernetes okay, and Kubernetes is obviously a project that if you are, you know, very confident and you know your stuff in Distributed systems and you like go because it's written in go Of course, you can contribute to the core project of Kubernetes My personal opinion is if you're like me who's not an expert and super deep, you know Contributed to the core code base may be a little bit hard to get into okay, but definitely go for it if you can But there's a lot of these auxiliary projects that kind of grew up around these mega projects And the one I want to highlight is the Kubernetes dashboard So that's like a user interface to Kubernetes and it's a smaller community fewer developers But most importantly My good friend Ian who's out of Japan. He's actually offered if anyone's interested to personally mentor you and get you on board into this project So if you're interested just see me in the pavilion afterwards So there are many of these kind of small projects Small in a relative sense. I'll come back to that The second area and the theme of this conference as well is around machine learning and what I'm really passionate about and We're talking about Tom Mitchell's 1997 book. I call it the blue book on machine learning It's it's it's one of my favorites I can't say I understand everything in it but one of the things that really excites me about machine learning is you know how accessible it is to everybody and somebody has already mentioned tensorflow today and Tenserflow obviously is incredibly popular. I think on GitHub, you know, it's it's the most popular kind of machine learning Environment but actually around tensorflow as well. There are a lot of auxiliary products that you can contribute to I should probably say you know tensorflow is great because you can run it on all kinds of platforms It runs on the cloud. It runs, you know on premises, etc But what I want to skip to is actually actually this Anybody know what this is It's not a trick question Yeah, it's a picture of me, right? Why am I putting a picture of myself up here actually last week? I don't know if anyone was at the tech tech women tech makers event last week Anybody? Ah, yeah one one person So we did a tensorflow workshop for the women tech makers last weekend And one of the projects that we used was to blend so using machine learning models to blend the style of A painting or an image with the content of another image. Okay, so if you think of this picture of me Okay, as The content I can then blend it with famous painters to get results like this Okay so In machine learning it doesn't all have to be super serious It can be a lot of fun as well and there's links to this project that you could play out And you could even mix different styles from different painters on your own pictures loads and loads of fun Data analytics So in data analytics, you know big data is another very very hot hot topic Inside Google Google, you know spent a lot of time developing mapper dues as we talked about but in recent years, it's actually they've been developing a lot of other internal products and Part of what happened with those internal products was an externalization Into what we call Apache beam. So it's an Apache project And we have a managed service on cloud called, you know data flow where you can run it But Apache beam is a unified programming model where you can do real-time streaming and batch processing You know with the same code base in addition to being unified you can also, you know You basically create pipelines data pipelines, but you don't have to run it on a data flow runner You can run it on a spark runner for example for batch processing or you can run it on a flink runner for you know Real-time and streaming processing so you can kind of pick and choose and in addition to contributing to Apache beam You can also pick some of these sub projects if you're particularly interested for example in spark and Speaking of spark we also have in cloud We have a product called data proc which is a managed service for running Hadoop and spark workloads Okay, so what you can do is you can get involved in this project and Create a lot of you know, you can contribute to the core But also what I find quite interesting is this project data initialization actions Because you don't even have to submit code. You can just submit configuration file initiation access initialization actions That's really tough to say That actually allows you to install third-party tools on your data proc cluster for example And it's just config files. So you don't have to be a coding expert if that's not your gig Finally, I know this is a lot of stuff and the links are at the end A lot of these projects, you know may require a little bit of core knowledge and some time to investigate But there is a lot of client software connectors And other pieces that you can contribute to and the main landing page is this one here on Google Cloud platform And I counted yesterday. There were 483 different github repos here alone Okay, and this you know includes connectors to different, you know data analytics tools It includes clients and that's not even including Projects where you can implement Google Cloud support or help implement Google Cloud support for third-party services Configuration management tools and so forth. Okay, so I guess my message to you is maybe you didn't know much about Google Cloud before Okay, or that you could get involved in projects, but literally in that ecosystem There's a lot of projects that you can get in involved in depending on your interests. So Now I've talked a lot about Kind of some of the stuff you can get involved in In terms of my personal story When I started in Google, I was asked to implement something in R I've never done R before and I was going to publish a predictive analytics Solution using BigQuery, which is a data warehousing tool and are So I started implementing this stuff and learned a lot along the way about how to get stuff published inside Google It's not as easy as you might think sometimes But I published it after a lot of sleepless nights and weekends working on it But then I was actually presenting that solution In Taipei in a workshop. So we were working through the examples in GitHub and people were implementing, you know, this R Logistic regression as it as it was And I always considered myself, you know, the outsider I considered myself the person who'd kind of faked it I cheated, you know, I kind of got this published but I kind of didn't know exactly what I was doing and kind of making it up as I went along and I always thought, you know, the people who are leading these open-source projects and so forth They're like demigods who, you know, everything know everything about everything. Okay So I delivered this workshop in Taipei and I went back to my hotel in the evening and then something happened and What happened went something like this. I Don't know if you know this Knock knock who's there? Thank you Poor request So one of the geniuses in my workshop had realized I'd made a mistake and he raised a pull request and I was like, oh dear. What do I do now? and what I realized is overnight or during that That little time I'd gone from kind of the outsider and the contributor to now being a leader For this little very insignificant GitHub repo So now, you know, how I got back to that individual was very very important What if that individual was just as scared as I was pushing that, you know, pushing that origin master time the first time What if that person had to really really really dig deep to get the courage to raise this pull request? So what should I do? How should I treat it best? Okay, and We'll get back to that in just a moment So the first thing that I started doing was to do a code review because all of you do code reviews for sure, right? Now what I would say is a lot of times if you get involved with very mature projects and Inside Google for example, the culture inside Google is very very code review heavy There's a lot of code review and people get very very detailed in the code review I got permission from my friend tepe sun in Japan He was doing a contribution to a big table client and he spent a few months going through code review, you know into excruciating detail Okay, and if you're like me if you already feel like you're not the best in Java or whatever programming language you had You know those things can be really really scary somebody really smart who knows everything about the repo Saying oh, you may want to think about changing that and changing that and changing that okay, but Don't look at it as something to be feared Look at it as a learning opportunity And if you're the leader who's doing the code review as in this case, you know Just be nice be considerate be patient and I'll give a couple of other tips as well that I learned along the way The other thing is actually out of fancy animation here. Let me try that again. Does that work? Yes, perfect Also, if you're wondering about what kind of style because in in project is often good to have similar styles right across different developers You may not know this I had no idea we had so many style guides. I'm a bit of an emacs guy So Lisp, you know is nice, but you can find these style guides and If you want to you know use those style guides for your project a very very detailed and they allow You know a very consistent interface when you're developing code my personal preference And I'm not I'm probably the worst developer in Google and probably the worst in this room as well But I always try very hard to write for readability So make it easily readable if you're sharing with others not do too many clever things Just make it simple and and readable and a couple of other tips So that I picked up as I learned, you know start small pick something You know that's on the maybe on the fringes or Something that can be done in a short period of time that doesn't require a lot of skill Some of these code bases are very very big do some homework So most of these projects have contribution guidelines that you should go and read Okay, make sure you've read everything about contributing, you know Do they prefer you emailing them directly? Do you do they prefer you opening a bug and going through a formal process? Just do some homework before you you start contributing Whatever you do, I wouldn't recommend, you know Spending months creating the next great version of the software send a pull request and then you know be disappointed If it doesn't work out and finally and this is super important and actually my team does a lot of this Code is not everything. In fact, it's often a very small part of the overall projects So there's everything from documentation creating tutorials and examples arts graphics Translations, I mean I work across Asia Pacific just translating things and often is translating from Japanese Because when I search for very specific technical terms I normally end up with a Japanese blog who solved exactly that thing So I can see all the commands in English and everything else is just your bridge to me So translation is another, you know, super important contribution if you're a leader and Maybe you don't consider yourself a leader yet, but just like me, you know You don't have to be you know a demigod to be a leader You can be a small leader for a very small part if you are a leader Just realize the potential impact you have on the people who want to work with you on the project Just realize that you don't have to show off how clever you are or anything like that Just consider you can have an outsized impact on the people Many of you will be busy and it's okay to be busy. What I try to do is I send an email back I say listen, I'm really really busy It's probably gonna take me a few weeks maybe to get back to you but at least they hear something back and they don't have to wait for it and and beyond 10 drugs and it is possible I think to be honest and Kind even in a code review So just try to be nice and kind to each other is my feeling Kubernetes project has a great community expectation Guidelines document that I think is is a great example of of how to engage each other and If you are interested, this is my tiny bit of claim to fame, you know, it's not exactly a top-ranking project I think I have 70 stars or something, but hey if RMB queries your thing, you know Have a look at that stuff And a couple of appeals. So first of all, this is our stand outside So if you want to visit the Google stand come and talk to me or any of my colleagues I think we have some coffee coming up and chat to me and my colleagues about anything you want and This is the promised link So I'll stop there for a little while whilst you can take a photo of it My name is really really hard, but if you're a local My surname is roti Okay, so roti like roti Prata, roti Chennai, you know all of that and I take a lot of fast food orders. My email is roti at Google.com So if you feel hungry not roti Prata. Google, you know, just roti at Google.com feel free to email me If I'm super busy, I'll probably email you back saying hey It may take me a few days to get back to you. Okay, but do reach out if any of this was of interest I'll be around hanging out outside as well. And most of all have just an amazing amazing experience for the next three days It's gonna be fantastic. Thank you so much Thank you very much I've been roti