Open source mentorship programs provide structured learning environments where newcomers can develop technical skills through hands-on contributions to real projects, gaining mentorship from experienced maintainers while building practical expertise in areas like container security, documentation, CI/CD automation, and system-level programming. These programs accelerate career growth by combining guided learning with authentic project experience, enabling mentees to transition from junior developers to active contributors who can make meaningful contributions to open source communities.
LFX Mentorship Showcase: Open Source Projects & Insights
Added:all right welcome everyone we are so excited to have all of our mentees here so you're going to hear a bunch of different presentations on many different topics um of the things that everyone worked on so with that I'm excited to introduce our MC for this who is Greg Crow Hartman um a Linux Colonel maintainer who needs no introduction himself so Greg take it away oh oh sorry hey I'm Greg um shua normally does this um she couldn't make it so I get to do this instead um she runs the mentorship program for the colonel I've done it as well but she's one primarily in charge um thanks for joining us we have a whole bunch of different um interns that have done projects and it stopped uh so let's just start um starting things off is prti um you did from Fontaine LLC you did empowering newcomers take a look all right so let's get started uh the topic of the talk is going to be about empowering newcomers how uh Juniors or the people who are new to the industry can uh leverage these open source mentorship programs to excel in their career and that is what we will mostly talk about I'll share my experience maybe people can have some takeaways of what they can do to improve as an engineer together so yeah let's get started so I'll start with a little introduction of mine my name is pratik Singh uh I'm a full stack software engineer working at Fountain I have been doing it for almost one and a half year now and uh I graduated from my college in August 2024 and for my LFX cohort it was last year in September I graduated and uh yeah it was it was a great experience and that I'll tell you a few things about it so the project I worked for its name is tetragon which is an ebpf based security observability and runtime enfor tool so if you talk about celium altogether celium is like an umbrella uh organization under which there are three major projects celium itself uh then there's Hubble which is an observability Focus tool and then we have tetragon which is observability as well as ear time enforcement and uh the new thing over here is that it's not using ebpf just to observe the system you can also prevent certain things from happening altogether maybe few system calls man messing up your file system so you can prevent that alog together so I'll talk about my issue the issue was uh removing certain celium dependencies from the tetragon project so tetragon depended on uh a few things specifically endpoint resource Uh custom resource which was very heavy for tetragon to work with tetragon did not need all that information but they did not have any other solution for that and it was inhouse for them so they were depending on celium for it so the work was to find the dependencies including celium and other ones and uh find out a solution for it so that maybe we can Implement something in house for tetragon so that it does not put so much load on the API altogether so that was my issue and uh now the goals because when I started I had a few goals to begin with uh the biggest one was to actually understand how the project Works how things are connected how a simple evf program can prevent certain system calls from happening and protect your system so I wanted to Pro I wanted to understand the project alog together how it works that was one of the biggest goals the other thing was since it was the the the issue was quite exploratory in the beginning we did not exactly know what the dependencies are so I had to find those dependencies and uh then I wanted a solution that actually is not flaky it's not half worked I wanted to implement a solution that actually solves that problem so these were three major goals then it was about imp implementing a solution end to end so it's not just me writing code and me writing tests it was integrating the solution in their cicd workflow altogether so that they can also be sure that the work that is happening is actually solving the problem and yeah one of the biggest thing communication uh talking to the team uh tetragon Team uh has some amazing Engineers I got to talk to them because of this uh mentorship program so yeah these these are the major goals now what I learned I have split this section into two parts my technical focus learnings and the other was non-technical ones which I consider as important as the technical ones so let's go through the technical ones one by one the first one was uh understanding kubernetes through a developers perspective so uh when I started uh learning about kubernetes it was very user focused for me I was interacting it I was interacting with it using Cube Cube CDL I was deploying uh stuff on it but it was through this specific issue I got to realize that actually how things are working internally how code for kubernetes itself works so this was A New Perspective for me and uh the other thing was working of the API uh and control plane so as I said I was a full stack I am a full stack engineer and I built servers but it was my first time interacting with kubernetes API altogether uh how it worked internally so that was also a great thing and uh infrastructure automation that was a domain that was that is very interesting to me to this day and uh I wanted to learn more about it and I got to learn about it through this uh mentorship which I did then extending kubernetes through CDs so kubernetes project itself is like very big but I got to learn that it is very extensible as well I can extend it uh working through crds and controllers operators so that was also a major thing to learn it opened a lot of thinking space for me that okay we can do this as well then yeah testing so as I said the issue was to reduce the load on API that tetragon was having through because of celium so I got to load test uh the in-house uh solution we built for tetragon and it really did work well and finally the cicd workflow that I delivered it was integrated into the solution and I got to learn about it as well then the non-technical stuff was about how open source communities work uh how we collaborate how how how do I talk to people over there things like that and then asking the right questions that also matters and uh feedbacks feedback taking feedbacks from your mentors and improving all the way so yeah the biggest uh achievement I had was all the contributions were merged and the issue was closed so I'll just take few seconds to explain the journey I did not know a lot about a lot about the solution altogether but I had this mindset that I don't know much but I can learn quickly and implement the solution so I sent an email to my mentor that I'm not very experienced this is my first time interacting with the project what are the things I can read or learn should I stop one minute yeah one more minute will work okay so yeah so the first email was just asking what actually should I read and luckily he replied and it all started from there I read a few articles I read an entire book for it and I gained experience through it then I write then I wrote a proposal I got the feedback I integrated it into the previous proposal and then the implementation begins because I was selected for it I wrote the crd there was separate PR for everything I wrote the controller tests and then integrated into their cicd workflow so yeah the solution was delivered I will contribute to the project to this day and I'm learning more and more about ebpf every day and just a few takeaways of being a good mentee just be curious ask questions give like take some time to understand things and uh be fully invested like if you want to do it maybe you have to invest more than 5 hours some days but yeah you can do it and uh learn by doing write your Solutions I was writing a controller uh outside of my mentor program allog together just to test a few things so you can do that as well and communication is very important you must talk to your maintainers you must ask for like what are the expectations and if you have some more uh things to implement and you have time talk to your mentors maybe they'll help you out some uh with some more work if you want so yeah these were some takeaways uh the things that I'm going to do next is I'm going to learn about EF more I'm going to explore the infrastructure automation domain more and yeah that's it thank [Applause] you um thank you for um next is asmet yeah from Bor Bor B Bor um speaking about um creating new identities for oras yeah um so hello everyone my name is asmith malan and I'm a product designer by profession currently working at Biers and um this is this was my LFX mentorship project about uh designing and developing a new orus website and giving orus the brand identity that it has today uh so I'll give you a basic overview of what the project is so orus is oci registry storage that provides CLI and uh client libraries to distribute artifacts and it supports various Registries such as GitHub registry AWS uh Azure and Docker um and then so my project was basically uh designing and developing a website for them and also giving them a new brand identity so these were the initial issues that I found uh uh it didn't had any landing page when whenever you visited the website you would just straight up go to the first page of the documentation so from that it really didn't have any um like message of what the project does uh then there were various challenges in uh maintaining version documentation as it was using some old uh python framework for the documentation and there was uh unstructured documentation layout where you would have to uh navigate a lot uh in the website to find a particular documentation and there was no SEO optimization so whenever you would search orus on the internet it would pop up some random website and there was a lack of uh cohesive brand identity so this was my basic uh design process where I talked to my mentors uh created some ideas and then next stage was research where I talked with various project maintainers and uh various people from C of organization on what they expect to see on the website any animations any graphics uh what kind of uh information they would like to present then after that uh I created a few prototypes on figma and then I myself developed it using uh docusource uh and react and yeah it was uh deployed by the end of my uh mentorship program so for research and Analysis I looked into cncf landscape and there were like hundreds of projects and from u i explored projects such as Harbor dragonfly kubernetes and I also initiated uh conversations with the project maintainers and new contributors who were aiming to contribute to the project and what difficulties they were facing while uh doing so so these were the findings like uh many cncf maintainer wants uh their website to be very minimal with just uh right information to show on the page no fancy graphics no fancy animations and then uh the we discussed that the website should show a basic homepage adopter page which would include which projects are using orus and uh What adopters uh that orus is supporting uh blog page to show the all project updates and uh uh there was also a need of architecture or a flow diagram to show on the website uh that would help new users to U gain like better understanding of the project and Community section is always important for open source projects as you gain new contributors from that section so uh I helped in designing and uh implementing that in the new website as well and the target audience for this website is obviously new and experienced contributors so uh these were some early uh black and white prototypes and as you can see it's not that pretty and uh these went through multiple iterations and and after that uh this version was finalized which uh shows what what uh you know companies are contributing to the project how you can get involved with it and a short like YouTube video uh showing uh what orus does so yeah and here are the here are the features that were were enhanced in the new version so there was a dark mode uh version support because uh everyone most of them prefer dark mode then there was organized document since we use docusaurus docusaurus itself has a very detailed uh guide on how you can organize documentation how to version them uh and yeah there was a visual refresh and then we also added search functionality so you can easily search what you want uh using Alia SEO improvements when you now search or this project uh the second or third link would pop up with the uh website and uh there was this new adapter page which uh included what projects are using orus and yeah uh what projects are in using orus and uh how you can adopt uh oras into your organization and there were uh accessibility improvements so uh by accessibility I mean that the information that is present on the website should be accessible to all uh people even with like visual impairments so that was uh taken care of and uh page speed improvements whenever you load the website should like load quickly and of course the community section where you can um engage with our project join the slack Channel and even attend uh orus bi-weekly meetings uh you can read the full case study on this uh QR code uh you can scan and you can like read the entire case study and uh yeah this was my LFX mentorship project thank [Applause] you thank you very much as yeah next up is same laptop yeah okay yeah another or us presentation it's okay just a this okay um hello everyone I'm deesa B I'll be presenting on navigating the oros spere um my project was on this my mentorship was on the same project as Asmat it was on orus um so I had to restructure the technical documentation and work on some new documentation for this project and yes I will be walking you through what all I worked through uh so first and foremost my mentors were Terry how and fil and Zoo both of them helped me a lot throughout the process um especially because I had a huge learning curve I did not know everything so pointing me in the right direction giving me different resources to read um yeah they were really helpful I had done the summer term which was for 12 weeks so the main three objectives that I had was um lowering the barrier for entry for new users um organizing information more clearly and making the documentation more accessible and up toate so what I had noticed for um the orus project was there was a lot of information and a lot of documentation but it was not structured in such a way that if someone is new to the project they would be able to understand where to go and how to navigate through the page so the main goal was to make it uh structure it in such a way that people are able to access the right information at the right place and make it easy for people um Now new users can obviously be um someone who does not know much technically or and they are new to the project or someone who is familiar with the technicalities but uh they're just new to that specific project so what I did was I just listed down the current structure um we focused on using the diet access framework wherever we could and then I proposed a different structure wherein it was a lot easier for people to find the information that they needed so um this was the approach that we used so diet access framework for anyone who does not know we usually have four kinds of guides we have tutorials which are learning based uh how to guides which are more goal oriented uh explanations are majorly for understanding and references are pure information so once we have um all of this in place um my main job was to categorize what information should go in which which category so that it would make everything a lot more structured so this is what I did I proposed a documentation directory structure like it was in the previous slide um a lot of this was research I had to learn a lot I had to implement it um of course before writing any kind of new documentation you need to know your material so um yeah I I learned a lot I read a lot and then once I knew how to implement it I could work on writing documentation that would be easy for people to understand even if they were new to the topic um so these are the things that we worked on uh this is just a list of things that you know we did um but to put it briefly this is a screenshot of how I restructured all of the documentation so we had a quick start guide immediately which was not there previously the installation was I think under uh introduction which was a little hard to find if someone's new to the project um we had how to guides like the diet access framework the orus commands client libraries everything was a little more understandable and easy to um reach uh of course these are all of the PRS that I had uh we also added a glossery at the end um when we were researching on how to do things we also referred to the documentation of Helm which we found extremely helpful so um when we researched a lot of topics and a lot of projects we understood how documentation should be we picked up the things that we really liked about it and that's how we executed it yeah and that's that uh I'm the PESA B I am currently a developer Advocate and uh yeah this was what I worked on at the orus project yeah thank you thank you thank you next up um ask and this is a little different uh about securing your containers or container projects for oh yeah can can I start I'm sorry okay sorry hello everyone uh my name is aart I'll be uh talking about my work as a LFX Mente last year um so mostly um about about the like the title uh you'll get to know uh what I work and how can you implement that in in in in your projects uh so basically it's about uh the oi Hooks and um how can you avoid some security issues in your project so a bit about myself um I'm um a gbat I'm basically open source enus um I'm a senior product engineer at infra Cloud um yeah last year I I was a LFX Mente uh for CU project and um when I was not working I uh do um sketches drawing things like that uh bit about the project that I work on Cube armor so um Cube armor is basically um runtime runtime kubernetes security engine uh it uses evf and um LSM which is uh Linux security modules um to um fortify um the uh the workloads uh based on your um container Cloud containers or on your iOS or um sorry iot or age uh nments um it basically enforces policy Bas controls um for your project um the project work that I have done so basically um the I have worked on uh two issues mainly uh one of them is um basically storing uh Cube armor uh policies in o Registries okay so uh for that part um basically uh if if you so basically if if you have the project uh which is cized and if you want to have some policy or anything related if you want to you have the policies which you want to um um use for your project you can push and pull it from along with your uh project when you push it to the registry so it's like uh we are there is a KUB CLI which uh which I have supported to use the push pull verify uh mechanism to uh to your uh policies and the second uh issue that I've worked on is uh leveraging ocii hooks for um this container events so Cube armor uses um uh basically watch the events um that are happening on container like uh starting container or stop container stop um or delete and um and internally just uses the um the sockets um like um the unique socket like um the docker or um cow or container D so it uses that socket it Mount that socket um in in the in the cube armor environment and um and then it uses to um get the events successfully uh for the container um um life cycle uh but the problem here is like um it's not uh a good practice u in terms of security to mount the um socket um into into the Container so hence uh it was proposed to use oia hooks uh which is a new thing um to not quite new uh to listen to your uh events uh for of your containers and um many times many um policy enforcers they they doesn't allow you to Mount the uh um the sockets um in in the container just uh restrict that thing so which is like basically if you uh if you get if you want to get rid of that um that mechanism and use something different to uh get the events uh that we wanted in Cub armor okay um some of my learnings um yeah as I said like exposing crra sockets was um the security risk um and then um I was quite new to the oi hooks I started um um learning like basically doing different uh research and uh search on o Hooks and how how it helps in mitigating the risk um that I just talked about um and basically we have we want to Leverage The O hops to listen to cont events yeah um bit of my experience um working as a 6 M um so these are uh the mentors that I work um work work with uh Baron anur Raul and anurag they were quite uh helpful uh in terms um of um guiding me in the proper direction um uh we usually have like U weekly mentoring call where we discuss um our progress and um we we um Talk things about how how what are the updates and we also have like um back back and forth conversation about the the work that we are doing um and like um as this is like uh completely new to me um project as well as the um uh the different um tools that I was using so we I had faced multiple challenges and um I always had a discussion with with my mentors um very quickly to get um get through that challenge and uh what is the path um forward so for example um we are doing some research what else we could use um instead of like o hook and there are some other options like P informers or um there is F5 um thing which we we discuss we had an um like different um uh case study that we did and then we come to to the point yeah so about the like uh that's about like the work that I've done uh in terms of like future scope of this project so o o hooks was naturely supported by um cryo and uh container D um at least cryo has a has a very good integration with oi hooks uh but like um it lacks some um support uh supportability in in Docker so that is something um we have to work on um and as as a part of uh projects since uh there are lot many um uh like research that I have to do I wasn't able to complete the whole um um issue or close the issue uh hence we had like uh continuation of the work and where I get a chance to Mentor others to um help them implement the work or the implement the design that I proposed so it it's a very good um um opportunity for me to mentors um others as well um just like how um uh my mentors help me um yeah so bit of uh the difference is like uh I uh wrote a blog post which you can check on a.in and this this is the project uh website Cube armour. um do check it out uh to learn more about uh Cube armor and yeah we are open to contributions um uh feel free to drop by yeah that's uh all from my side thank you thank you um next up is s um a case study about cubes case hi everyone welcome to this my talk today I'll show you how we achieve fully automated uh release and co- revie with ICD at gocap an LFX mhip project during 2023 Springtime first let me give a brief self- introduction and J and I'm currently a doctor researcher at our University in Finland working on machine Learning System and databases and also an aluminous of SEO which is an Erasmus MERS Masters program in security and cloud computing additionally I'm a passionate free software Advocate during my lure time I maintain several open- Source projects and contribute to many others at ccape Community I was once a Mente of the LX LFX membership and also a contributor I refer to myself as Hol m internet if you are interested you can find me on GitHub on the Linkin and on the X now we're going to talk about the second part which is an introduction to the release engineering help with at ccate we integrad the release process into the cicd that ccape uses which is a GitHub action whenever the maintainer decided to push a g version tag to the G Repository the GitHub actions will be triggered and then we can have a new release of ccape the release process at ccape involves building testing and packaging software and components as scoup scape is a goong program with C mining we also want to support cross CL compilation so that we can build for multiple platforms or multiple architectures we also make ccape available for common package managers and enable bumping those in the packaging scripts automatically in this way users can resolve new releases without any manual upgrades my contribution contributions help reduce manual inversion that minimize human error which enables frequent releases as well as faster feedback and time to market now let's discuss the last part of this talk which is to show you how we make CC ccape capable of automatically per pering giab Cod reviews first let's take a look at the workflow for this process when the de developer newly opens or pushes code to a pro request or a repository on GitHub a predefined GitHub actions workflow will be triggered to run the ccape the ccape will run a scan on the code files in search of Mis configurations and generate the report in the static analysis result interchange format the files can be uploaded to GitHub security it's the developer pushed to the main branch directly so that maintainers can be alerted for possible vulnerabilities or if it's a p request the file will be forwarded to the review doc using the converter I help right so that it can be converted into the review dog diagnostic format the REO then is in charge of generating reviews for the kix's suggestions by committing with the new review to support those fixed suggestions I help add the fixed object support for the coup scape generated the report here is a demo showing what it looks like for the automatic GitHub Cod reviews users can apply fixes generated from the ccape directly by clicking clicking the commit suggestion button here that's all about my main contributions of side from this I was also involved in other issues and had a highly productive and fulfilling experience working on the ccape project the mentorship program allow me to make substantial contributions to the ccape project and collaborate effectively with my mentor and the community enhancing my skills and knowledge in the process I'm proud that I can have such kind of and experience thanks again for coming and listening to this talk now I'm researching machine Learning System and databases if are you are also interested in large language models training and influence or vector and graph databas is for retrieval augmented generat generation systems that's connect thank you thank you very much next up Javier uh it's going to talk about hey Colonel stuff all right that's it about the theer stuff isn't okay too we all have our favorites [Music] right so well welcome to this very short story about an adventure through L carel it sounds a bit epic but if you want to compete to against AI to convince new developers to join the lenux canel you have to you have you need some hype right so who am I well regular developer it's not about me this this presentation so the important thing is that I'm a l Cent contributor and I want to convince all people to join the community so let's start this adventure Wow first why would you start this by the way there are many random pictures of myself just if you get bored you can just take a look at the pictures so well there are many reasons to join the lenos scel is a big project it's a there's a passionate Community behind it so there are many reasons but for me the most important is that it's fun because it's The Sweet Spot between the hardware and the software and just that Community is really passionate so you will have fun joining this project what you need to to start the project what you need to pack for this adventure not much just need the code some documentation official documentation there's lots of stuff online and very basic tools a compiler some editor and if you're a beginner maybe some static analysis tools so you don't mess up that much you will mess up anyway but maybe not that much right don't spend too much time like configuring plugins and stuff that you're not going to use so just get the basic stuff you need at the beginning and then you will B the P so there's a there's a Short Cat to learn to learn to learn about the KL which is the the l Cary program from now on lkm so we can save some time so this is a this is a great opportunity to to shorten your learning curve because you will learn from mentors from experienced people and you will get more productive that as than if you learn by yourself here's some some advice if you want to join the program we don't have much time for it so you will you can take a look with when when it gets uploaded so one two 3 next so if you don't if you don't join the the program it doesn't matter most of the developers don't know anything about this program but still you can learn everything online so everything needs online just just needs passion dedication and some goals but it's not as epic as getting out of acas but you get you get the point right so some goals well the the L C is huge don't try to to learn everything about it just focus on some subsystems is dividing different subsystems get some that you like that you find interesting and start reading the documentation fixing simple bus just Lear the workflow and start sending things Upstream so you will learn the basics and then you can start sending maybe more interesting things but the thing is that you start right away sending basic stuff some some ways to to send things Upstream there's there are some tools like cpot this an amazing tool awful logo by the way but you know with this tool you can you can fix buxs that can be even ported to stable Kel so your contributions will will impact many people other options you have programming new devices new drivers new features it's in my opinion more fun we will have more interaction with the community and for example you can have very simple very simple um setup with what syst on chip like a Raspberry Pi some drivers for30 you can become a Linux driver programmer and and learn in the Linux as well so when you start contributing to the kernel you will have many inter with the community you will get feedback you will send new versions and you will learn a lot along the way so yeah you will you will have to care about some things that people care in the colel like don't send SML emails and things like that and in the end eventually your patches will get applied and as simple as that you have become a curent contributor so congratulations this is an very example very simple I didn't know anything about the kernel one and a half years ago and now I have like I don't know couple of couple hundred of patches because if you like it you don't you don't count anymore how many patches you're doing you're just doing because you like it even in your free time because most of them are made as as a Hobbies like 80% of them maybe and well how can you continue this adventure you can bring all the people into the kernel so for example I was I was a commentor at the MP so I was helping other mes like you guys to join the colel but you don't have to do it through the lkm so you can just bring some workmates some friends people you know and well the goal is this adventure never ends so you stay around we want you to stay around to keep on contributing maybe you can make a live out of it you can work for a comp there are many companies at this event looking for Linux carel developers I hope and otherwise you can just do it as a hob as as I do and well either way your adventure will will be unique and here comes the promo mine continues as a hacker bik Packer what does it mean I'll be traveling from Europe to Central Asia so far that's what I what I have planned so far and I want to keep on contributing to the lus kernel and I want to meet all contributors all the people who live more or less in those countries just reach out it will take me a while to get there but if you want to share ideas just reach out and that's it thank you and enjoy the rest of the show thank you very much that was great um next up is aish uh talk about Carell see okay so hey good evening everyone um I am Ashish and today uh I'll be sharing my experience uh in LFX mentorship program under KL and uh how it impacted me and my journey Beyond and further so yeah let's go so this is me uh I'm currently an undergraduate at uh Indian insute technology I Road key I'm developer at sslbs it's just a it's just a club of people who uh make open source projects um I have been an LFX Mente in the year 23 um I just recently read Google Ser of code these are some of my interest I really like Cloud Technologies devops I also do backend developments in go C++ JavaScript uh with the language preference in order and uh with my mathematics background I really enjoy zero knowledge proofs and as such so yeah uh let's get into it so C so let me tell you a bit about Cal philosophy what does it what is exactly caval so the problem that Cal is fixing is basically to give you smaller tools to solve problems which can later compose to solve a bigger problem so this is what uh uh it means to have a Unix philosophy of building things so that's why Carl has these seven set of tools which are C and controllers so you can basically like uh use them independently and then you can combine them in a workflow to solve a bigger problem so there are very less leaky abstractions coming to the tool which I used it was image package it basically packages distributes and uh relocates your coetus configuration so you if you want to distribute a package so and image yaml files everything so you use this image package tool you bundle up bundle it up into a neat artifact and then you ship it out uh this is you can include it in your workflow anyone can use it or you can use use it with a car tools as well as you can see in the uh in the image below so uh what was exactly my issue which I tackled here so this is one of the features of image package what it does is basically you are copying from one repo to another repo but uh the but the use case is that while copying it will also copy all the dependency dependencies of the images which this image depends on so this way you will have everything which you need in one repository so this is kind of very helpful in an air gaed environment so uh the issue which I solved was we wanted to uh create something like uh creating an oci tar from the uh final repo so initially it was suggested that we could take the final repository and simply create an oci artifact uh from tools such as Crane and as such uh but I tackled it in some another another way so this is how crane pulls your oci image so if there is an oci image you simply pull it out and the scen is a very popular tool if people don't know maintained by Google you can use it for image manipulations and as such so uh it will pull your images such as this but it does not support multiple recursive image pulling as such so this uh here is my first learning first three learnings first don't underestimate yourself my initial project was just to uh pull the image from the final repository but after looking at the W over workflow I suggested and we all discussed that it is rather uh extremely important for us to include it in the image package workflow as such so now you can actually use from the first repo which I showed you in the previous slide with the original image and you can directly create an oci tar with a recursive images as well and don't underestimate sorry don't overestimate yourself this is important because even though I have a uh idea and plan in view I do not have the expertise uh of what to do right now so it is very very very important for me to communicate with the mentors and that's what I did I had an idea I communicated with them and talked to them is it even possible should I do what should I approach and we figured out a plan and we did and the next learning which I had was be self-reliant mentors are human beings as well so you need to first of all learn what to learn how to learn get a road map and then see through it your main focus should be learning things and not just completing a prod project as such so yeah this is what we did we defined a scope we made a road map we made weekly goals separated things on priority basis and stuff like that um last learning don't be afraid to redo things uh it's a bit embarrassing but I rewrote my code once and I threw it all into a dumb because it wasn't working the way I expected it to be but this is something which I learned and this is a lesson which I'll focus in all of my life that you need to chase of perfection if it works correctly then only you need to ship it so these are some technical learnings do include I learned Building images from scratch again uh I had a problem uh but I understood that I need to Deep dive into it so I totally went into the process of how images are built building one from scratch and difference between oci images artifacts and the importance of oci compliant ecosystem how some registry does not support and the feud between different companies which I will not name but okay then writing C in go build kit internals which is a very popular tool uh Docker uses it behind the scenes and yeah so the journey Beyond since the talk of my topic is the journey Beyond how LFX mentorship held me after the LFX mentorship so I went into the depths of what I was already learning uh such as image building then I leveraged what I learned uh which was image building and I worked on some startups then I went on to read build gate internals their dogs and my Google summer of code project was also in metagal which was basically to use build kit and image optimizations and as such and I started building personal projects I started learning a lot and I started finding like-minded people I joined cncf communities in my areas I I was a founding member in devop scho Le in my college and I we are building Katana at SGS Labs it is just a club but it's a first office kind attack and defense CTF platform Inus so these are the stuff which everything started and the route is LFX mentorship I would not be here if I I did not do that and that is what I wanted to um encapsulate through my presentation that just one thing one road map and if you do it correctly and you learn and the learnings are in the step wise so you can achieve a lot and like so yeah that's it uh what next so yeah I'll I'm happy to meet two like-minded people I'm also going to Deep dive into Docker and image building optimizations as such and completing open source projects I'm also looking for challenging opportunities to work on so if you have any please contact me um this is my GitHub you can find the slides and this is my LinkedIn I go by the name aspect everywhere on the internet you'll easily find me so yeah uh i' like to thank my mentors and Linux foundation and cncf thank you thank you uh it's great next up is uh PR no okay talking about um zo and transformations for so hello hi everyone so let me start I'm priyan mea uh currently an upcoming software engineer at Flipkart and I have been a project maintainer at op foundation and in my final year of college so yeah so little bit about myself yeah from the very start of my college I have been experimenting and trying out different things and like love to play with things and see how they work out uh initially I tried to learn things through courses and all taking tutorials but I saw like that never worked out for me so this is how I started my journey I started contributing to Opia Foundation my first ever organization and with within 3 months I was so good in things that after within a duration of 5 months I became that the project maintainer itself so I guess I believe ke uh contributing to open source programs is really really a great thing and you get to learn and by doing you get to learn everything by doing by experimenting so coming to the thing as we all are really short of time today so this was the project that I did diving into Zoe App Store and how OSS transformed me I would really say that open source software has a very big role in whatever how the career played out for me it h me in so many things so to start it out uh like I assume you guys are all like me who never knew what Zoe and open Mainframe is I'm assuming that so these are the Mainframe systems that you see very classical old modern modern I won't say very classical big metal machines that are used to process a lots of data okay they are used to process lots of transactions ATM transactions and data processing they are used so the thing the problem they have is they are running the legacy zos on them and you have to uh use terminals to actually interact with those isn't that very boring like today we all are using so many UI guis that we actually won't be able to use a terminal so that's why Zoe is this this is what Zoe did it provided Ed a complete interface to Mainframe zos Zoe provided a complete interface okay so just a question you might all be wondering yeah uh we have our individual computers we have our gaming machine I have a gaming laptop and why why in the world today do we need a main frame this was my exact question to my mentor like why do we need a Mainframe when we have so good machine why is it still needed so to quickly sum it up this is uh like the first you saw that is the Mainframe the sports car is actually a gaming laptop and this is pickup van is a normal uh what do you say a personal computer the difference being a Mainframe can actually uh transform or like uh uh like process a lot of data at a single point of time it can carry that megabytes terabytes of data and process it it can it has so many cores running in parallel with one another but on the other hand our gaming laptops and individual PC they are served to serve a single customer my gaming laptop will only serve me it can't serve millions of transaction at a time that is not possible for it same with the uh user laptop so I guess you guys understood why we still need a uh main frame we have so many transaction ATM transactions and everywhere data going from here to there a to B B to C so we definitely need still need a Mainframe and we don't want to change the existing existing Z there because it is Legacy system and it has been tried and tested so whatever we built we built a Unix level over it okay so just a quick demo uh what we did I don't have a very uh clear video with me currently I tried to find it out so this is The Zo uh zo actually Zoe which is communicating with the Mainframe so what we did okay the thing is Zoe is more like a Windows for Mainframe windows for Mainframe it is an operating system for Mainframe so what I did there are lot of application that you can install on Z lot of but there was no such direct way how will you install it you have to write multiple big commands so what my mentorship project was all about it was making this app store here in this app store there all the applications plugins are listed the developer just has to click install and the following plugin will be installed on the main frame the traditional big machine that we all discussed about so it will automatically get installed now okay that's cool yeah it will get installed but a high level design you might be asking what's the magic running behind this so to sum that up let's see the thing is this is the high Lev design I will try my best to keep it as simple as possible so the first you guys can see the virtual desktop The Zo desktop this is all the front end side of the thing whenever a user clicks on install up update or search what happens I we have a zss server zss server Zoe system server so what it does it calls a data service okay so data service is what data service is a way this is a Unix part and this is a zus part Unix and zus data service is what communicates in between it communicates between the zss and the mainframe system so I wrote that data service and that needed to be return in metal see so what was done we have these command you can see zwe commands run to install so whenever a particular call was made let's say install zwe install application name was run on the zus and the system was actually installed on the zos so to actually brief it up users calls on the front end side uh it triggers the zss server we call the data service data service on the mainframe system runs these commands in the terminal and finally you get your plug-in installed I guess you guys got a pretty basic idea uh what it was and the how the whole high level design was all about okay so learnings to be very true I believe we all love live in a world full of abstraction I myself have before this used python node for servers and all and I would say that is world full of abstractions you have so many things out there which is already done you just have to run start server and everything is already there you have a HTTP server you have a Json parser you have a rest API framework but when it came to C I got to know even to read a Json file you have to somehow pass that and c and that is the mammoth of the task that was the hardest for me and it almost made me it almost uh break me down to understand that c so it was one of the biggest challenge during my mentorship uh period but it took me around 1 to 1.5 months half the period of my mentorship but when I got to understand how everything was done coming from a abstracted world of python so then things made sense and I was actually able to write my own HTTP server Library which is used in gz and the world of abstraction and coming to see taught me a lot of things trust me it taught me so many things from the bottom from the scratch level so definitely C is a thumbs up everyone if they get some experience they should code in C I would say after that you got to learn so many things so my feature has been not in my mentorship but after this one it got completely merged and is live currently and I'm really happy for that so yeah and a big thanks to my mentor Lenny he has been like quite very helpful during this whole period of my mentorship like he was there and he like he used to provide me Source codes like these are the codes you can understand because when I searched the whole YouTube for C there was nothing there was no tutorial explaining you how to write code and see how to make a server there was no documentation to write anything in metal C so Lenny used to provide me some Source codes key this was how it has been done till now and this is how you can do so his guidance has been invaluable I would say the best Mentor I could have got so big thanks to him and I won't bore you guys so that's all from my side these are the handles prian 61 everywhere it is so thank you everyone thank you uh more Mainframe stuff Prince yeah that [Applause] okay uh hello everyone it's been honor to be here my name is Prince and I am here to share my journey with the project named software Discovery tool that I got privileged to work during last summer 2023 so let me give you a brief about what is software Discovery tool this tool make it easier for users to find specific Linux packages or other packages that are compatible with IBM's Mainframe s390x architecture I had the opportunity to contribute to the back end as well as the user interface which was a fantastic experience and here's a glimpse of how software Discovery tool looks like so like there are several checkboxes which you can select for different distributions and you can type in the packages name for exact or like uh partial M matches along with many other features so core contributions that were made it by me like was the MySQL backend implementations so like we shifted from no SQL to mySQL as the performance was like uh it was getting slow day by day and this has made significantly improve proov the CPU usage as well as the data integrity and the second was UI improvements and there are several functional fixes that were made by me so here are some of the functional fixes that I did so like the Fedora files like I found out that the Fedora data files are saved under the wrong version name due to a simple python for Loop error so like uh the Fedora 38 files were saved as Fedora 37 files and the data for Fedora 37 was saved under Fedora 36 so it was a basic python error but all the files for Fedora are like uh they were Incorrect and due to which the users were getting wrong packages and although the fix was pretty easy like we just have to remove that minus one and all the files were fixed so like it was a basic error and another ER that I fixed was this one uh where the open S packages are empty so like all of the data files of open S were empty so what I found out the link that we were using to scrape data was broken so what we did uh with my help of my M we found a new link for the open S but uh we were still stuck uh why because like we were facing problem for splitting the package name with their version so my mentor connected me with Christian board who is a person working full-time at Opus so like he helped us with the splitting part and we fixed all the data files for that also and uh yeah so like uh this IBM validated software uh there was some pre-work done by my previous Mentor AR Pratap and like I did some after work uh like creating script for developing particular data Jon files and there were entries like as you can see in the picture uh having n description and version so they weren't any use so like we removed all those entries and updated all the data files without like with all those invalid entries and the major work that has been done was the shifting from nosql to mySQL as the all the data files are pretty like same like we have the description name package name and their versions so it made sense to shift from nosql to mySQL as they offer like faster quering so like what we did and the nosql was the the CPU usage for nosql was pretty high as you can see in the upper picture it was like going up to 99.7% after switching it to my SQL the performance like uh the CPU usage was around 50% so yeah we like improved a lot over here and like upcoming work what would be like we'll be doing in the next mentorship so like there's a major UI overhaul that we are like working right now so like we are shifting from angular to react as angular as react offers like it is scalable it has so like it offers like great like for updating and real time updates are like really fast over there and we are also working on automating thinking between code and data repositories actually we have two different repositories like the main repository and the data repository so like uh they are like at my time they weren't sinking so like uh we have this issue it is still there this mentorship so like they are working on that like uh so the both are the repositories and they track each other and so like we have also a concern for separating out the back end and the front end as like we are uh changing the front end from angular to react so they are pretty interconnected so yeah we are working on that and special thanks to my mentors Elizabeth and Ash Pratap they were always there and I have learned a lot from them and it was great working and so yeah I am I'm still learning and still raising issues over there so yeah so I'm still contributing to the team and uh like I'm helping the new mentors and the mentees so uh to get the same learning curve that I go through and here are the important links you can find uh the website on sd.
openen Mainframe project.org and here are the gab links for the main repository and the data repository and here is the blog link for like that I have wrote down in the previous mentorship and thank you you can find me on LinkedIn princing thank you [Applause] thank you Prince thank you um next up is Andrew all right uh Colonel bug fixing all right yeah hello everyone uh my name is Andrew and uh I participated in the Linux kinal P fixing in 2023 so uh I already had some experience prior to this mentorship uh I trade different architectures and subsystems Al also I used Linux security modules infrastructure moreover I had some trival patches uh accepted into the mainline kernel so uh let me tell you more about the mentorship uh in a nutshell there are five steps uh you should do find some uh bu on this colar dashboard that you like the most reproduce and research what is wrong and why uh fix it uh find when it was uh introduced and which committed fixes describe everything and send to the maintainers and repeat looks quite easy but actually it is not you can fail rate on step three uh for example you can make a wrong fix let's say you have a null pointed reference and uh uh you you can just insert a check for null pointer right but uh it is a trival fix but it's not a proper fix right uh because you should dive uh deeper and check uh why the code was not expect in the null pointers there or there uh why uh the pointer became a n pointer at all and and so on so forth so it may be quite uh difficult sometimes and surprisingly the fixed step is uh is not long comparing to the previous steps uh actually when you know what you're doing and how you should fix it anyway uh let's move to my original goals um to the mentorship I did not want to uh make a trival fixes like a check pack P check patch warnings or uh documentation changes and so on I wanted to make at least five patches uh which fix something more important and uh I um also wanted decided to deal only with uh reproducible bux that is not mandatory actually because but it's just uh simpler to prove that your fix is actually uh doing something and fix something right uh there is no 100 % guarantee of course because you can stop reproducing to reproduce something but the fix will be completely wrong okay uh I also wanted to try some new tools and uh probably subsystems uh and of course collaborate and have fun so my results are presented on the slide uh with the links uh I have five minor Buck fixes during the mentorship and a bunch of closed C color issues so um I used some new tools uh cisar F trace and Trace indd uh different kernel address memory sanitizers uh and uh also some uh cross tool chains for debugging um that year we also had the hackaton uh bu fixing hackaton and uh so I collaborated with yogish and Manas we formed uh a team called buckbuster and we tried to do a teamwork on the Kel bu fixing actually Kel bu fixing is not about much teamwork but uh uh actually one of my patches is a result of this collaboration so it was it was uh quite productive I would say so my mentors in 2023 were Shai and Ian uh Shah was helping all the menes during our weekly calls uh ion helped her with that and also was the one who suggested the hakone initiative uh there was also a Secret Mentor Greg who is also here uh Greg was answering all our emails and watching us to uh not produce something strange in the mailing lists but also well actually it happens sometimes yeah so I want to thank everyone involved and uh this was an interest really interesting experience and uh thanks to the link foundation for the opportunity to talk on the open open source Summit this year I think that's it and uh thanks everyone this singles thank you Andrew I didn't know I as a mentor um next up is Roshan from talking about the console to vs code that is the connectors yeah uh hi everyone uh uh my name is rashan and I'm currently working at math works as a software engineer uh my interest in Works revolves around distribut systems backend systems a lot of build systems and developer tooling and this project is uh part of one of the developer tooling or develop productivity side and yeah so that's me uh by the way yeah doing my my first andem sky dive in Miami uh this year only yeah a quick overview about the project uh yeah so this project uh is about move to cube which falls under Conway organization so uh this is basically a tool which help you rep platform your source code or any project into uh kubernetes platform and the main goal of the project was to build a vs code plug-in for it and yeah so uh this was my first time working with uh editor V code uh built a lot of CLI tools a lot of inter active tools but not particularly with vs code or any kind of editor so one of the goal was to work learn about the internals and yeah the second goal was to build and publish my first vs code extension uh this was my first time I built a vs code extension and we also shipped it and this project and all all of this I found while exploring the CNC ecosystem so yeah uh so let's start with understanding uh part part of the vs Cod intern internals so uh if you uh basically break it down there are four key Parts one is a extension host process this is a little different towards your main vs code process so such that your extensions run under this process and even if your extension crash crashes your main vs code is not affected by it uh then you have LSPs I hope anyone working with editors or NE or anyone they already aware about LSPs your go to definition jump to definition everything is there uh the workbench API this is something provided by the vs code which uh gives you access to its so file system so Windows the UI access uh if you're building something on the UI side like web view everything is given access by the workbench API and then you have your extension manifest uh all this is all the package.json file which you'll find in any JS or TS project typically but uh this is where you define how your extension is going to ship how your commands are going to look like or how is basically your uh inter information and everything so these are the four key Parts about uh VSCO internals for our project we weren't concerned about the LSP but the the other three were very crucial uh let's dive into the code parts of the uh extension so uh on your right hand side you have the extension.
TS which is basically your entry point to an any extension so as I mentioned about the extension host process so this is where it starts so when you start so every time you trigger an extension it starts with an activate function this is where this is the entry point and after that you just start writing your extension so you can can have any kind of functions or any kind of commands defined here and similarly you can have a deactivate uh function in your extension and then uh this is the register command this is where you start registering your command so uh any kind of action or any kind of event you want to happen in a uh extension so you have to register that and on the right hand side uh sorry on your left hand side uh is where you define your manifest uh you have all your metadata like your which vs code engine you're working on your project uh information any kind of all the commands what you going to use so this is where it resides and a bit about uh error handling and API integration how you're going to do that in vs code extensions so uh one of the key thing is uh your extension is running in a background so you might want to implement a very robust ER handling strategies uh because and for that uh I have a sample code uh on the side I'll just show you a bit about it first of all there's this nice uh API that you get window. show error message you have uh everything falls under this window name space this is where you get access to your uh editor's UI and if you ever face an error in extension you will see something right popping on your right right hand side bottom if you have used vs code that is triggered by this API so everything if an operation failed and you want to let the user know uh this is the one you should use then yeah this is one of the main apis which is used to execute commands and then you have your file systems uh the file systems in vs code is a bit different uh uh it's typical similar to node file systems but yeah it has it own access uh the way it allows you access uh and then you have your asynchronous programming here you can Implement your acing a and any kind of acing programming so particularly for your long running operations so not all extension need to do a very quick operation so the samp sample goe on your right side is a for an action which is very long running so how are you going to handle that so you can have something like a cancellation token s this is nothing but a signal if you have using some other kind of languages uh it's it's a way you signal a process is ended or is cancelled and then on a async you just track on this a trigger you can just do a cancellation oh this has been triggered and you're cancelling or triggering a cancellation for your process uh all of that was about the uh backend part and the way you ship and then then now let's come into how you're going to handle the UI in vscode extension so you get two types of way you can uh take care of the UI uh one is basically having a typical uh browser like UI uh vs Cod provides you web view uh you can bring in any kind of framework you use for example react SW anything you can bring into it since it's basically an electron so you can just run websites inside it and the other one is the vs code uh UI provided if you see any kind of status anything all of that is from the vs Cod side everyone has its own uh like pros and cons so they so you if you use the UI framework you have higher development complexities that means it's difficult for a single developer to manage and for using context menu or something it's very simple uh interative to the users I think most of the extensions uh you name it mostly uses this uh this is an extension action which we built as you can see this is the context menu on the side this is the information it shows as soon as it action is triggered this Trier creates a termal process on the background which processes a lot of stuff so now as you can see it gives you output where it generated so all of that is done in one flow so yeah the that one is the option selector and you can also provide I'll just an minute uh the tool which we used is uh so it can help you generate kubernetes artifacts or hel charts and all so these are the sample use cases uh feel free to visit this site uh to get how to install the tool and uh I have written a quick tutorial on how to use the extension along with a code sample uh yeah the experience was great uh uh I had two mentors harrish har Krish and Ashok mainly worked with har Krishna uh uh the deliverability we built and shipped the vs extension uh within the project domain oops and typo it's Error flows and update mechanisms were done properly and this was also pres presented in uh IBM research on a larger audience where we showcase the demo and yeah few of the aspirations I'm uh expl my works and interest are in distrib systems systems so I'm going to keep working on them and do some independent research work I work as a backend engineer primarily and I'm more into scaling and optimizing Network side and yeah working I'm I've been contributing to open source since 2021 I've been Google sum of code uh fellow and all so yeah all of this and yeah I like Adventure Sport that's all feel free to connect to me on any of the uh socials uh you can scan the QR if you want to uh get the information uh that's all uh I'll and thank you very much thank you all right next up is Yash talking about Prometheus [Music] hi everyone I'm yesh uh I'm currently working as an SD intern at celf and I worked as an LFX Mente in the summer of 23 where I contributed to cubes scape I was Ted for building a Prometheus exporter which is also the title of my talk building a Prometheus exporter from scratch so a quick overview of my project uh Cub scape in their latest release decided to store the config scans and vulnerability scans in the cluster rather than getting it from the platform and the project I was tasked to work on the Prometheus exporter was supposed to scrape metrics from those Cs and visualize using and and to visualize them using raana now the tools I work with for this project was first one was obviously Cube scape it is a open source cubet is security compliance tool built by armor Prometheus which we need for the exporter to send metrics to and grafana for obviously visualizing those metrics now what are Prometheus exporters uh those they they are agents which which scrape data from various sources and present them in a manner Prometheus can understand now the question comes why do we need exporters in the first place so there's not a lot that can be achieved with a simple monitoring stack when your workloads are quite complex and that's where exporters comes into play they help you scrape metrics from various data sources in your systems that a normal monitor St would not be able to do and that's why they are highly customizable and you can tailor them as per your needs now how to actually build one now I'll show you the architecture which I had for my project now as you can see we have the vulnerability scan CID here which is being monitored by the Prometheus exporter and the this exporter exposes these metrics over a HTTP server which is being periodically pulled by Prometheus and is later being visualized to a grafana dashboard now let's dive to the code part now as you can see as you can see this is how we Define the metrics Define and reg to the metrics here you can see that I have several metrics in place like cluster vulnerability high low and medium now these are just for example and uh if you focus on the new gauge part it means that now let me show you the next slide uh so there are four types of Prometheus metrics counter gauge histogram and summary counter as the counter is used when the metrix monotonically increases and it never decrease and and gauge we have for use cases where the metrics fluctuate which was my use case and histogram and summary is for much complex use cases so I use the gauge metric type as the the vulnerabilities will fluctuate over time and then I registered the metrics using the most register method now for this you can use either there are several libraries you can use like the promuto prom sttp library and then we have the metrix processing method in place for me it was grabbing the the data from the kubernetes crds now Cub scape had introduced their storage client so I was supposed to grab the data using a cluster config which was provided by the storage client and use them to fetch data from crds and expose them over an HTTP server now when it comes to the exporting part for Prometheus to find out that there's an endo from where it has to Bull metrix from you can create a new job and set a port for it to look on to and the result would be something like this where you can finally have a Graff on a dashboard where the metrics are being exported and thank you thank you and I think we have one last one heresh um two wasm all right on the server side what wasm on the server [Music] yeah so yeah hello everyone I am rishikes ra uh freshly graduated engineer uh engineer from India and I'm pretty inspired to meet fellow programmers here and excited to talk about my project fast and portable media processing functions using server side wasum so I've contributed to the wassom edge runtime uh which is part of the wasam organization uh uh managed by the cncf foundation wased wased is a web assembly runtime providing sandbox functionalities uh the goal was of the project was to integrate FFM plug-in into wasam to have near native performance to process media applications the reason for me to uh select this project was to understand web assembly what is web assembly is it web is it assembly uh I wanted to know what problems it solves and how is it going to fit into the technology space also uh FFM API if for a beginner is pretty daunting to get started with uh I had to understand what are frames packets codex everything was new to me and I took that as a challenge to learn it also uh during my college days I have never written any production ready code I've made like small projects here and there but uh nothing was used like basically by other users except me uh finally the Linux Foundation provides mentees an opportunity to present at conferences and I wanted to leverage that to build personal brand and meet a lot of people so to understand what our project does uh we have to understand the previous approach which uh people have taken so for a uh for a rush user application if they want to integrate FFM peg into the web assembly space they use a third party FFM Peg library and then uh using that Library they compile their application into the web assembly format after they compile that uh into the web assembly file uh we use web uh assembly run times to execute those wasm files uh this is a pretty good approach but not an optimized one the reasons being build time to compile the entire F uh ffmpeg Library into wasum uh into a wasum format is not very efficient we have seen build times taking around 10 to 15 minutes uh just to you know test what code you have written apart from that uh the wasm Ed runtime doesn't support multi- threading like not only wasam Ed the many wasum run times don't support multi threading functionalities which uh you know ffmpeg normally uses internally memory management is one more big issue we have seen uh so the run run times generally work on linear fixed memory so it gets pretty uh difficult to manage such uh memory uh management internally and leads to a lot of fragmentation finally Hardware acceleration is one more big uh problems we have uh seen within the wased runtime uh we don't have support for AVX Advanced Vector extensions uh which you know FFM uses under the hood so to solve this issue we have built a wasm FFM Library along with a an FFM plug-in into the wasm runtime so what does this do what does it mean for the user application so users can now uh add the wasm FFM plugin into their uh library and then uh if they if they want to process any kind of media they send that to their library and the library forwards all of that data to the FFM plug-in the FFM plugin securely uh invokes the FFM C API which is present on the operating system okay once uh all the computation is done the ffmpeg software Returns the data back to the plug-in and users get to have near native application uh performance a super quick demo as we have very little time so I'll show you we have so this is a video application which is 2 seconds long and it it runs at 60 FPS okay so if you want uh we have re uh created this I've created a demo code where we can look at video information oh okay let me expand this so here you can see all uh the video it contains it's uh uh 120 frames it contains 120 frames it's a 2 second all of this code written in Rust uh compiled using uh compil to wasum and uh taking advantage of the ffmc software present on the host operating system also we can look at uh all the frames we can dump all of the frames present in the video so if I uh run this code oh okay here there's a typo should be dump frames so now now I compil this code into wasum format and we can look at this code using the tree command so now we have this wassom file which can be sent onto any any uh you know uh computer and using was we can run and execute the FFM Peg software so if I look at this I try to look at all the frames present in the video it's executing and yeah I get this I did it in the frames folder so if I go and reveal it in the finder yeah I can see all of the 120 frames present in the video so there a one of it all of these videos uh images together combined to form the video I'll link I'll share the link of this project you can try there are many more examples here in the example folder finally I'd like to thank uh the community which has helped me support me throughout the journey I'd also thank wasam for be uh you know shaping me as a programmer and uh to change my perspectives on shared learning in the community uh it was been an exciting journey and I'm excited for the future as well thank you hi everyone my name is Abdul sum and today I will be sharing my experience and journey as a lenux foundation ment l last year who so who is Abdul Sam I'm a final year undergrad student and currently working as an AI engineer uh at a at modity AI last year I got the opportunity to work with Linux Foundation specifically on open Mainframe project name Zoe python SDK so what is Zoe and Zoe python SDK so Zoe is an open- Source framework that allow the zos developer to interact with main frames and Zoe python SDK is a software development kit that allows us python developer like us to interact with the main frames and Zoe applications so my role as a Linux Foundation Mente was to enhance the Zoe python SDK for upcoming version to release so I work on the critical uh enhancement and team configuration part through this mentorship I gained the expertise in Python and rest apis apart from this I also work with the security protocols to make sure that the data is consistent throughout the platform and in all the way possible and keep it secure and safe apart from these technical expertise I also got the opportunity to work in open source collaboration collaborate environment something which I love a lot about open source is that anyone at any stage of their career can contribute to any repository and get a chance to become one of a contributor of that repository doesn't matter how big that reposit is this this is something which I love about open source and Linux Foundation mentor ship speaking about the mentorship experience I wanted to thank my mentors timoy and Fernando first of all for providing me this opportunity to work with them secondly uh for guiding me throughout the mnship so we used to have our weekly meetings together where they guided us and help us to refine our code which a lot which helped me actually a lot in refining the code and make it more efficient and and make development more faster as someone who's been contributing to open source Community for the past three years collaborating with Linux foundation and now presenting my work with them is something I always dream of uh though I couldn't make to The Summit in person because of the Visa issues but I still wanted to thank the L foundation for providing me this opportunity and I aspire to become a top voice in open source and hopefully I research scientist in a Ai and a computational neuroscience field that's all for my side thank you thank you and thank you to all the interns big round of applause to all them that was a lot of work you guys did and that's it there's the tux crawl tux tux tux track tonight and I think a half hour and um see you there and have a good conference thank you very much
Up Next

VS Code Efficiency: Snippets, Regex, and Extensions
@mibusocom
2.4K views•2022-09-19

IFS Therapy Demonstration: Complete Session with Unburdening
@IFSCA
95.9K views•2021-01-13

FastAPI vs Flask vs Django: Choosing the Right Python Web Framework
@TechWithTim
302.5K views•2024-05-26

Game of Thrones Opening Credits: A Cinematic Analysis
@gameofthrones
46.3M views•2011-04-18
Related Study Plans & Knowledge Roadmaps
Structured learning paths in General & Interdisciplinary Studies



![Git & GitHub Crash Course for Beginners [2026]](https://i.ytimg.com/vi_webp/mAFoROnOfHs/maxresdefault.webp)








































