Hello. Hello. Hello. Can you guys hear me? If you can let me know I Am trying to fix this. Oh, you can see my video Can you guys see me you can hear me?  I got everything pulled up Oh, you may not be able to hear me. I had everything pulled up on my screen, but I didn't know you guys could see me All right, I Feel really here's I'm gonna do really quick because I want to see what you guys are seeing Just to make it make sure everything's good before we I start pulling stuff up on my screen and get started I'm gonna pull up What you guys are seeing right now on my phone just so I can make sure that everything looks good and then You know We'll be good to go. I Devon come on man. I hope I hope I wasn't picking my nose on screen man. That's embarrassing All right, I'm just switching really quick Making sure I got everything set up as you can tell this is not my Oh, oh, oh, it's dark in here. See I couldn't even see this Give me a second. I'll be right back. I'll be right back guys. Give me a second. Let's take a look. Let's take a look I'm I'm again. I'm watching myself on my phone. It was dark in here. This thing's got ads Some guys getting some good ad placement right here. Oh Boy, oh there we go All right, we're doing okay. We're doing okay. All right. I'm just gonna get going then I'm gonna put on some music I'm just gonna hang out I mean that's about it That is about it. Let me get back to What I was looking at earlier Do and then we will get going. I appreciate you guys joining me. This is just gonna be Things over here, but I have to look over here. This is just gonna be really relaxing time to hang out Study together. I'm gonna be going through I'm gonna pull up on my screen the IBM this is gonna be the data analyst course and With that I'm gonna be doing the data analysis with Python within the IBM data analyst course that's the one I reviewed on Tuesday and so on Tuesday I reviewed this one and so that's what we're gonna be looking at Yeah, let's um Let's get going Play some Frank Sinatra. I might I might I like Frank Sinatra a lot But I also really like just some beats in the background while I study Yes, I hope you appreciate I might be I'm gonna see You know Coursera asked me to do this and I was like this sounds super cool Let me do this but and then they sent me some example videos And they were all really professional and well done and you guys know me. I'm not super professional I don't do things well done And so I'm doing my best here, but I feel like I'm like not supposed to talk And I'm not sure if I'm If I'm supposed to talk to you guys the whole time Because it's supposed to be like study time and you're not supposed to talk during study time, right? So I don't know I don't know if I'm doing what I'm supposed to be doing but Maybe I'll kind of talk you through or show you guys What I'm working on later But I'm looking forward to going through this data analysis with Python just because I think that's gonna be really interesting I'm gonna be doing a lot of these quizzes because I don't even I I'm gonna do some reading I don't want I obviously can't watch the videos, but I'm gonna be doing some of that But yeah, so I mean we'll see we'll see what I end up doing Let me know if you can hear the music I'm gonna type this in the chat Let's get this going I'm trying to pass some quizzes Really testing my skills here. I really need to do some of this reading Good. Good. Good. Hey, what's going on everybody? What's going on nick? Thanks for joining Keeping a super chill over here Oh my gosh Sarah there we go I'll do a little bit of like personal, I guess Q&A time during this because I don't mind talking about myself I just don't want to ruin everyone's study time But James Folk asked about what made me choose good old Greenville, North Carolina I actually really did choose Greenville Because I used to live in Charlotte and I didn't want to live in Charlotte anymore near my parents And so I decided to I'm far away. I got some good scholarships to lots of good schools, but I Only really applied in North Carolina I was talking to my microphone for a second Um That's what happens when the camera's over here because I'm trying to get the side shot. Um But what made me decide to go there was I was going pre-med And so they had a good pre-med program. So that's why I went there. That's how I ended up in Greenville You've been a Greenville. Uh, it's a unique. It's a unique city. Oh boy That's it. That's a good question though Um percent error just real quick to ask a good kind of Good question. He said are you going over the problem set with us or are we just studying together? um You know I I think this is more just going to be like a chill study time with some music in the background I might answer some questions during it um but nothing too Serious and if you guys can't see me, that's okay.  I'm going to I'm going to be going through the um I'm going to be going through the IBM data analyst professional certificate and I'm doing the python for data analysis Generally need a refresher on this Uh, so this that's why I chose this one. I think uh, it has some really good stuff in it Uh, but this is not importing data sets This is honestly a really we're getting more ads This is honestly a really good one for me to go over Because I I use a limited amount of things like I like data sets That I that I pull in with python normally into like data bricks in azure um, and so To me this is actually um Is actually a good one to look over because I don't do a lot of json xml files I do some flat files, but I do mostly csv files So I'm going to kind of see what they talk about in here and what they go over Because this is genuinely like data acquisition is A good really good one to look at and now um Hey, marcos. He said say hi to me alex. I'm from argentina marco. So what's going on man? Thanks for joining. I appreciate you Zen asked am I going to do a study session every friday probably not But if you guys like this, I might do this more often. Maybe like once a month or something like that. That could be really cool um Well, let's see Yeah, let me um You guys I mean it sounds like you guys wanted to see some of my work. I My tech skills in terms of creating videos It's probably not where other people are at. I'm I'm much I'm very I'm a simple guy. I'm a simple person So I might just like physically show you my screen If that's okay But You know, I I'm going over some pandas reading and some csv files I have quite a bit of experience with this one uh to be fair So, uh, but seeing if I learned anything new because honestly, um, if they're going into like flat files and stuff like that I could really use um I could really use some Information on that little little fresher. Yeah, uh Hey, petra. You asked if I could show you analysis I think I'm gonna I think I'm going to either one Figure out a way on how to do that in a live stream setting or two. I absolutely want to make videos on that so That's definitely gonna be a thing but real quick I'm gonna look work on this for a second and I'll come back to the chat because I want to make sure I want to get I want to look at this to see how they're doing this in here This is like putting me to sleep. Good night. Can I skip some? Can I skip some of this? It's like uh, it's like what I put my kids to bed with Yes, skip this song I I agree with you. I'm not trying to put everyone who's at home studying right now to sleep. That is a that's I should have done that I'll see now this I like This I like Edwin asks what's the vegetable or fruit of the show? You know, it's vegetable for the ata show for this live stream. Maybe I'll pick a fruit um Let me think on that for a second. I will I'll I'll digest that for a second I'll give you something back in just a minute. You know this um This data acquisition this reading in the files um with pandas extremely good stuff to know um and Like I am not I am not, you know, a Coursera fanboy or anything. I really do like Coursera But I got to be honest this the way that they present this is really good. Um, so if you're doing this with me I mean if you open up the that there's skills network labs like when you look when you do like the practice stuff Really cool. How they do this. I don't know how they set this up This looks like the kind of work like I do in my job So it's just asking me to find the name of the columns of the data frame Okay, that's easy enough Just dataframe.columns I'm gonna print that out Easy enough. Yeah, you know, uh Sandip, uh, Sandy probably say that I I will say that I do a lot of I'm on my channel a lot of I feel like a lot of teaching and I'm actually going to be doing A ton more of that soon where I do a lot of more tutorials on python and to have low excel all those things sometimes it's nice to just Sit back and study a little bit. That's nice Uh, yeah, I'll sure I'll share real quick to my screen Or to where I'm at Which is a little In case you guys are Curious as to what I'm looking at and yeah, I will show you my screen just a little bit in like the super old fashion way Where I show you I pick it up and show you my screen um Because I am not technologically advanced enough. All right, let me do this. Let me just I hope this gets you to where I am This is like the course that I'm working on But that's for you who is uh Camrus Camrus That's a cool name That one's for you though That's what I'm doing. So I'm working on importing datasets and let me real quick All right Let me see let me see if I can do this correctly if it looks terrible Let me know. I don't even know if it's going to be framed properly to be honest But I'm just going to hold up my screen kind of show you what I'm looking at And this is the super old fashion way so Uh, you know, forgive me if it's not as good as other people I'm not really known as being better than other people. I just do things differently Um, let me see. Let me pull it to a good spot So it's asking us to add different headers, you know, you're pulling in a csv file You have the headers that are in the csv But when you pull it in you want to give it your own headers happens all the time Um, it's literally let me see if you all can see this it's literally Showing us how to give the new headers and then How to replace your headers with What you want those headers to be Very useful. Um, I preach Over and over and over again on my channel that pandas is amazing I mean you should learn it and so You said can't see it.  I know why it's because I turned on that light over there I All right Let me try again I'm gonna go turn off that light and then I'm gonna show you. Yeah, it's because I turn this light over here If you guys came for a high quality stream Check out somebody else's stream. Check out someone else's stream Oh, what am I showing you? I'm not even showing you the right thing. Here we go. So what I was saying was is Pandas is fantastic If you want to learn how to replace your headers, which is important if you're pulling in a csv file I got to talk to this bring this over if you want to talk to a csv file Or bring in a csv file and you want to replace the headers which happens all the time You know, you get a csv file from a client When you're bringing it in you want to format it the way you want it formatted And set up the way you want it set up so that when you ingest the data into your database Or or whatever you have any type of analysis you're doing with it You want it to to look like and so hopefully you guys can see that this time if you can't I'm wasting a bunch of time but This it's literally just telling us how to replace the headers. So, you know, we're literally we're replacing our Headers and then down here. It's asking the question. Hey, you know, can you Can you do that and now I'm going to save this data set and then read other data formats That's what I really wanted to get to by the way was reading the different types of formats because csv um I got down pretty well.  It's integrated into azure In data bricks and I use that all the time. Let me see if you guys can see it Needed back right to remove auto contrast. Can you share your screen so we can see clearly? I wish I could I'm not that advanced of a streamer. This is not my um This is not my forte streaming I do this because I just want to study with you, but I'm doing a lot of talking I'm gonna go a little bit in just a second. Um I'm Okay, I'm doing a lot of talking. This is supposed to be a study session. So I'm kind of failing because I'm distracting everybody Um, but in let me give you let me do this in at 25 minutes in three minutes I'm gonna stop talking for about 10 or 15 minutes and just study Um, because I don't want to take away from you guys when I'm trying to read the read some of your questions Um The answer to answer your question. No, I don't I'm not good enough to I don't have a high quality enough stream to do that So You know, it is what it is, but I appreciate you coming in. I appreciate you joining me trying to study I'm working on course there. I'd like uh, if some other people join I'm working on the um importing data sets I'm about to read in I I the one that I really want to work on is jason um Jason is a semi structured data set. It is one that I have to get help on often through coworkers and Stack overflow and so I'm hoping that I get a little bit of information on um How to read in jason files those ones always get me just to be completely honest so um, I got two more minutes To answer some questions and I'm going into full study mode for like At least 15 minutes So, let me see. Let me see what we got. Okay Zinn asks, let me ask you a question. Someone who has no clue for data analyst job at data job Speaking hammer out to work. Could you advise with program or course? Or who just to start data? So if you're just starting out with data, um, the one I'm working on is a really good one I put it in the comments. It is um The IBM data analyst professional certificate goes over sequel excel and python um I Think it's a really really good one. Um And that's the one I'm working on right now reading in different files Using python super super important. I use it all the time Let me see Will this be available later on youtube channel? Yeah, it'll be available. I mean I'm not gonna Delete this if uh, people want to watch it again later They can hear me talk more Let me see Where do you get the data anyway data can come from anywhere? um But if you're looking for data sets two places that I personally would really like Is google data sets. So if you type in the google google data sets You will find an abundance of data sets and if you also go to caggle Some really good data sets. Um, if you want raw data Probably google data sets, um, is the best place because in caggle a lot of that data is already Um set up for you. Um, so if you want some raw data, which means it's not It's not cleaned. It's not formatted. It's just how it came from whatever system came from That's what I recommend. All right guys. It is at the 25 minute mark I'm gonna go do a little bit of a study time with just some music in the background um and Yeah, that's it. Um, keep asking questions. Keep commenting. I will go back through and read through some of that stuff in a little bit Uh, but right now I'm gonna go into a little bit of study time. I'm gonna be working on hopefully learning a little bit more about Reading in json files because again, that's something I need to work on. So All right, I'll see you guys in a little bit. I'm gonna turn this up Which one did I miss? Oh week two is really good on the data and analysis of python data formatting data normalization Data wrangling really good one to look at I'm sure you guys have never seen me study. But when I start really studying I get this face on. I don't know if you can see my face right now, but I get like really serious I wonder if that's what I look like right now, but I get this like Stern look on my face people think I'm angry, but I just I get focused So I'm gonna rip that's asking me to replace this. I'm not talking about changing data types and data formats Very good to know How to do This is really good. Let me talk on this for a second. This is called data standardization If you don't know what that means it's standardizing the data. So it's all the same um When you're working with raw data, I think the biggest one of the easiest example I can give you um For data that needs to be standardized is a date format Date formats have so many different variations from Day month year month a year year day month all these types You can do you can use slashes. You can use dashes. You can use Periods to in in between the month day in the year standardizing those Is something where I to be able to use something like regular expression to remove all of the Use all regular expression to remove all the characters that you don't want um And well depending on how it's formatted, but you know if they're all somewhat similarly formatted I'll remove everything and I reformat how I want it to be formatted in cases where They're called different like their year month day day month year I have to section out each of those first Put them in the format that I want them and then I add them back Because you can't If they're all different and you try to take use regular expression take out everything and then put them back in It's going to be a mess and so You know you kind of have to section it off and slowly with each piece Fix it and so you do that because later down the road if you want to do some type of Some type of what's it called? gosh time series You need clean date data and so that's just an example of why Data standardization is super important. I'm how you can do it. This one is talking about standardizing miles per gallon for liters per Kilometers And so they're standardizing that and so really interesting Example on this one. This one's really sad How you guys can get through this one? The song is super sad I'm just going to change it. This one's like depressing and I'll tear that on my stream over here All right, let me check on you guys. Let me check on you. Let's see and come back Can you give us an introduction to azure? I mean, what is it? How does it work? You can code just like we do in jupiter. All I know is that it's cloud-based platform all in one sort of I need to do a video on that Because it's hard to show right here because I don't this is not my work computer I was on my work computer, which I can't show you anyways. I could show you everything in azure but Obviously for legal reasons. I cannot do that, but it's fantastic But yeah, that's just gonna have to be a video. I can't really show you that Pedro asks, do you think a data analyst should get tableau and sales for certifications? It depends on the I think the tableau one is standard You should get the tableau one for sure the sales force one it depends on the kind of market you're in What kind of work you're going for there are some people who build their entire careers on sales force And you know, if that's the way you want to go, that's the way you want to go I think that's kind of a You know, you definitely get into a sales force kind of cycle where you get you become the sales force guy Uh, that's not something I personally want and I've used sales force. That's up to you Uh, do I recommend any books? There's a few looks that I recommend They're in some videos. I don't have them on like on me at the moment But there's one on python and one on sequel that I've read But if you send me an email to alex the analyst 95 at gmail.com I will send, uh, you know, I'll send you the links to those books for you Zen have a great night. Thanks for joining. I appreciate you I'm gonna go back to studying in just a few minutes But I wanted to answer some questions while we're here Villas asked what are we doing watching you study answers? Yes Coursera is hosting this study with me session where I I study you guys study with me. Um, I am not a professional streamer by any means and so you're getting kind of, uh What I would consider a Super low quality chill time to study Uh, and I've been doing too much talking, but I don't mind answering your questions at all Um, if I don't have any credit card, can I still learn on Coursera? I have no idea. You'd have to check that out What music platform are you using? Uh, I am using youtube music What would be the best advice for beginners sequel first Excel Tableau worry about python a little later is my opinion. It's a little bit tougher Um, highly recommend taking lots of courses to learn all the skills. You can start with the free ones I have a whole video on free Videos and courses that you can take That's my biggest advice is start with those skills start with sequel first to learn how to use a database Learn excel for data analysis learn tableau for data visualization Uh, do you recommend any IBM or Microsoft certifications? Um off the top of my head Uh, Microsoft certifications. Yeah, there's a good one. They used to I think they just discontinued these they used to have some good sequel ones and now they have one called the ib or Microsoft data analyst certification Which I do recommend and they have a free learning um A learning path on there and I I've taken all the courses and they are phenomenal. So There you go. There you go. I'm gonna get back to studying a little bit because I'm actually getting to some really good stuff Right now wait, let me pull the right one Right now I'm looking at data normalization And I really like this stuff This is stuff that my team works a lot on at work um, mostly are like database developers data engineer type people um But this is definitely stuff that I We do it work all the time And so I like reading up on it and just looking at kind of going back to the basics to be like, oh, yeah I actually I actually use it all the time that kind of thing. I think it's fun But also because I'm actually I'm like, oh, I forgot about that and then it's reminding me of stuff. So, um Yes, I'm gonna go back to it and Uh, I will catch up on some questions in a little bit, but I want to I want to stay a little bit on this And I really and I really like this song. It's just super relaxing And some matplotlib That was a really good I was going through the week two of data analysis with python going over data wrangling Really good stuff Really good stuff in there I can already tell you that I might take some quizzes see if I can pass some of these quizzes See if I got these right. I don't actually know if this is right Okay, I was the first one I passed For people who are just joining Uh This is really just supposed to be a chill study time If I was a better streamer, I might have shared my screen But I Generally either I don't know how to do it or my computer is not set up for it and I apologize for that um, but I appreciate you joining just to hang out and Study I am currently working on the IBM data analyst professional certificate I'm gonna move this right over here. So I can talk to you guys for a second um, and It's really good. I Was just working on data normalization and python um the Course data analysis with python and that IBM data analyst professional certificate is super good I was just talking about how I was going over the data normalization Um, and and how that process works super good stuff Um, but you know, you guys just go check it out. I did a video on it earlier And that's on tuesday and so that's why I'm walking through it with you guys um Really good stuff. Let me answer some more questions while while i'm here Yeah, you're studying the um IBM so dark brown iris is studying the IBM data science professional certificate That is one that I went through the entire thing. So I also have done that one. Um, this one is somewhat It has some overlapping courses um But a little bit more geared towards data analysis and so which obviously I am a big fan of Um, let me see Melody you're saying stream yard is good for streaming and sharing screen I will need to look into that. Uh, if you wouldn't mind Send me a message on that. I know you know how to get in contact with me I would love to look into knowing how to stream better Just not my thing. Uh, obviously you guys know I make videos I try to make good videos some of them are good, but streaming has never been my forte Is a patchy spark one of the best tools for real-time data analytics. I love a patchy spark. It's super powerful Super strong. Um I think it's not not everyone needs to know it But if you already know sequel excel pythons have low maybe power bi um, you know those core skills really well Spark is a good thing to pick up. Um, and I use it and it's very very Very very good Uh, let me see Yeah, ann Says she's not sure about the peer peer the peer process though Um, you know, if I don't know if you watch my video I sent in some I thought it was funny when I was making it because I was genuinely curious Because when I was doing my data analyst or data science professional certificate certification I did everything really well. So I tried really hard But because I was making that video I wanted to see if People actually reviewed them So I sent in some excel. They were supposed to be like some pivot tables and stuff in there and I sent them in basically blank but I just wrote Checking to make sure that these peer ones at work. Um, I got a terrible grade And so it seems to me like, you know, the peer for for at least for what it's worth Just to make sure you're at least kind of doing what you're supposed to be doing It works. Um, but you're not getting like It's not you're not getting like super graded You know rated very, um Extensively and it's not a bad thing, you know Can I do an end-to-end data analysis project? I 100% will be doing that. That is why I start I'm doing two um Alex the analyst shows per month instead of fours because I want to focus a lot more on doing tutorials Um this an upcoming week. I'm going to have um a sequel tutorial. I'm finishing up my advanced series Um, but yes, I will be doing that I'm going to answer one more question and then I'm going to go back to studying for a bit But cam asks as a healthcare data analyst. What is work like? And analyzing hospital stuff. Also, is it a lot of teamwork? I like working alone. Um, really good questions I'll start at the beginning. Um, yeah, I work in healthcare. I worked from everything from I worked with just about every type of healthcare data you can imagine from claims data to personal data diagnosis is um Or to allergies. I mean you can any any type of data you can imagine Um, I'll give some examples in a second, but any type of data that you can imagine. I think I've worked with Um, let me skip this song That's better um I've kind of worked with and so things like Um, what insurance do they have so provider information? You know that claims information is a really big one super super important. Um, you can have allergy information. You could have um You know relative information contact information addresses phone numbers That's just specific data points, but um, you know, you can Let me think let me think Okay, so let me go a little bit more into specialized stuff. So medication um type of diagnosis and how's that relates to their medication um, you can do oncology data hematology uh type data um, and all of these things have Totally different things within those categories subcategories. Um, Which are very very specialized like oncology is one that I work with a lot um, so like cancer research cancer drugs um Patients who have cancer That's a lot of the data that I'm working with right now for specific people And it's I mean you really got to know the data. Well, that's why I always talk about You know, you really need to know the technical aspect of it Let me turn this down a second You really need to know the technical aspect of it But you also really need to know the domain aspect of it because the domain stuff is really important I couldn't do what I do if I didn't understand how the data works where it's coming from why it's being done Um, and I didn't know all of this when I started you pick it up as you go And so some information on that I'm going to go back um Just studying for a little while and then Um, maybe answer a few more questions and then probably wrap it up for the night But I've enjoyed hanging out with you guys. I really truly have But if you have any more follow-up questions ask them and I will get to them when I can But when I when I I can't right now, but when I get back, I'm gonna study. I'm gonna I want to look at um I want to look at Some of the other weeks in this data analysis With python and see What they look like really quick Real quick a lot of people I would have to This kind of looks like it There's a model development is week four in this in this course A lot of people ask me how like model data that might be a good one to check out. I haven't Looked into it a ton yet because I haven't Looked at that course, but that might be a good one to look at I'm about to bring my cat up here She wants you to check out things out. I'm knocking out these quizzes Just did one on the group buy in python now I told my wife That I would be done by nine And I don't want to be a liar, but I'm gonna go a few minutes over. I hope you all understand Um, let's see I'm bringing this back over to do a little cue in a time with some stuff in the chat And then uh, I'm gonna call it for the night Let's see. We got let's see what we got Let's see. I'm looking at some I'm looking at the chat Oh, so cam and asked a question before and I didn't answer all the parts of it. Um Is it a lot of teamwork because he says he likes working alone cam to answer your question Uh, I I do I work on on a big team and it is a lot of teamwork. I work very closely with um database developers um business analysts data analysts data scientists For I mean just a ton of projects. Um, I mean, it's hard to explain how many projects we have going at one time And so I'm coordinating and working with a lot of different teams on a lot of different stuff So, yeah, it's a lot of teamwork. I I'm sorry, man Um, let's see If you are not a native english speaker and you're watching this, I appreciate you I will try to slow down a little bit for you. Um, I know this is the ending of it. I just saw that so I'm sorry, but Um, I appreciate it Uh, where can I find the music you listen that I'm listening to? This one is a lo-fi hip-hop beats to chill to Um by chilled cow and if you don't know him he he does lots of um, that's his Uh, youtube name is chilled cow. Um, you can check out his stuff. Let's see Play youtube video on your tv. I could uh, but that would take too long to set up I just got this fireplace going in the background for some ambiance Uh Let's see. Let's see. Let's see I am doing Let me see Geoff says I'm doing the ibm sequel introduction as we speak. What do you think of it? I actually looked through it and just about every single thing that I saw was really good. Um, I mean to be honest, I've already taken it, but I was just glancing through it again. Um, everything in there is super relevant What I will say is that I don't think it goes advanced enough Um, you know, but it goes over super great concepts all the if you could learn everything that's in that course You will be set for 95 percent of what you need to do as a data analyst. I I just flat out But if you want to go above and beyond that, um, there are some more advanced concepts that Um, it doesn't cover and so you just kind of have to look into that. Um, and I You know, I you can find it on a lot of different courses or places. Um, but You know, I'm not going to go into everything that you need to learn But I have some videos on Sequel myself that you might want to check out and some of those more advanced things I do go over and I am continuing to go over as we speak Um, aside from numpy matplotlib pandas and seaborne whatever python packages do you recommend learning? um, I always say those exact ones that you just listed as um Like the go to Because those are really standard that a lot of people use And to be honest, there are so many there's Hundreds of other packages. It just depends on what you're going to be using it for Um, and like what kind of data you're working with So it's hard to give any a specific one Those are the ones that I normally give because those are the ones I actually use and that I think are really good um It's pronounced Jeff or Geff. Oh man I'm going to say Jeff English but Yeah, sorry if I mispronounced that Um, I'm trying to keep it super chill over here. I'm just trying to talk on like a chill voice like really calm really relaxed Uh, I don't know if that's working but Jeff cool cool cool um Have I used IBM cognose? Uh, I've used it, but I don't use it If that makes sense um Do you need to know networking stuff for data analysis? No, probably not. I wouldn't worry about that at the moment Um, Aaron says, oh my gosh, I'm late guys What has been said about this course checked out the smu data boot camp but not wanting to shout 13 000 um So I don't want to go on a huge tangent um On boot camps really quick but 13 000 for boot camps pretty expensive in my opinion and the things that you typically learn on boot camps I have a whole video dedicated to things. I don't like about boot camps, but um That's not true. It compares boot camps to Self-learning or getting a degree in boot camps. So all three of those Um, but in that I talk a lot about how I think boot camps you can do almost all that learning on your own through platforms like Coursera Which is what I did um and You know, if I'm I'm guessing that you may know me if you're watching the stream But if you don't, you know, I started out knowing I didn't even know what sequel was Um, you know five years ago But I taught myself through places like Coursera And worked through a lot of the things that we looked at today, which was the IBM data analyst professional certificate These kind of things where you can get all this information in one place work through it yourself um You know, I personally think that 13 000 One I could never have afforded that I was flat broke when I first became a data analyst, but um, you know, if you do I mean, maybe pay for a mentor and then work through this stuff to yourself And pay the mentor like a couple hundred bucks a month to work with you and you'll save yourself a ton of money And you'll probably just get just about if you're really self-motivated.  That's not true My wife is very supportive. She's probably up there like happy. I'm I still got people watching right now um How advanced statistical knowledge needs for data analysis, you know, I I get asked this question a lot about math You know, how much math do I need to know how much statistics? There's There's no set amount I'm just gonna be honest. I don't think it's as Advanced as most people think Most people are thinking like I need really advanced like I needed master's degree in statistics statistics. You don't So don't don't be I wouldn't get too hung up on you to know the statistics As advanced as you may think What do you think about the nano degree on data analysis of eudacity? um I think if you can get it on a huge huge discount under five hundred dollars max It might be worth it Um, but I think it's kind of like, you know How much money did it what is this song? This is sad Give me a second. I'm not I'm gonna get to a not sad song Let's go with this one Um, and so Yeah, I think that I think that it's okay If you can get it for cheap because I know people have gone through and really like the course information And they teach it really well, but it's very expensive. Um, that's just my opinion Um Sam, yeah Hope I pronounced that right very cool name Hey, well completing the IBM data analysts make me job ready as a fresher and how how to look for a job Um, it'll get you there. It'll get you the basics of the core skills You will need to supplement with other things though. Like I highly recommend working on like tab below Really working in some some of the native Platforms like if you're learning sequel learn sequel in my sequel workbench or learn sequel in sequel server management studio Um, learn it in the actual Place where you're going to be using it on a job That's just my Help and how to look for a job. Um, I have a whole video on linkedin. I would look on linkedin That's where I've had a ton of success. Um, and I recommend a lot of people go and I have a whole video on how to It's like the top three tips or something Excuse me. I think that's what's called On how to get a job on like through linkedin. So check that one out Is going Can't ask a really good question. I think it's worth talking about is going for an internship better than an entry level job um Maybe for some people like right out of college Um, but for I would say the vast majority of people if you have a relevant degree Um, and you have some type of portfolio. I would try to go for the entry level job Get paid for the work that you're doing um You know internships are definitely A good option for a lot of people who are right out of school Who need experience who want to get experience under the belt, which is You need to have that. Um, but it isn't for everybody, you know, if you're switching careers at 30 years old You shouldn't be getting an internship. Just my opinion Um I'm going to answer two more questions k a says um, and this is more Personal to the channel. It says will you ever do something else and pivot in a different direction in the future? um career wise And maybe youtube channel wise i'll answer both Um youtube channel wise. I want to do a lot more tutorials for you guys When I was first starting out um I had a really tough time finding all like what do I really need to know to become a data analyst Like what do I need to know when I learned all this useless information on for in python all this useless information Um in in excel and sequel not really tablo tablo was all kind of useful But you know, I learned all this useful useful stuff that I've never ever used And I wish that I had it all in one place where I could learn all the things I would need to learn That's what I'm going to try to do. Um, that's what I promised I'd do a year ago and I've been trying to do that Um, slowly and and I'm even more dedicated to it now And so that's kind of you know for for the channel.  Um You know, we've been talking about Like me and my wife been talking about like our future where we want to be in five years 10 years um, and so, you know I can't share too much, but yeah, of course I have plans. I'm going to change things up data Analyst wise Maybe go into management within the next five years. I really like working with people I like think I'd be a good manager Um, if my manager is watching right now, you're the best manager You are fantastic I hope you get promoted so that I can take your spot That's the that's what I want to happen Because you're a great great boss Um and last question. Let me make sure this is a good one Okay, there's some really good questions in here, but um I'm trying to I'm just making sure and seeing which ones Um And this is the last question because I gotta I gotta go I gotta go soon But this is This is charlie Hey charlie Oh, no, no, no, no, no, don't scratch me. That was dangerous That is charlie. That was the first animal we ever got in this house and now we have three two cats and a dog Max is right over here You guys know max, um, he's awesome. He's laying down right behind me. I'm trying I just want to make sure I get a good question and um, this is an interesting question and one that I think is worth talking about And it's from j brown. He says what do you think are the main things data analysts can do to provide high value to employers? That are not currently paying a higher way for analysts Um, I'm gonna kind of take that in a different direction the initial question And I apologize if this doesn't exactly answer your question And I'm gonna change this song because this song is depressing for the very end of the show or end of the stream That's better Why are some data analysts paid more than others? um, and what can you do to kind of make value for yourself to make more money um The biggest thing that I think that I did Um, and I'm just gonna talk about myself because it's hard to talk on broad strokes on this to in my opinion The biggest the two biggest things I would say is domain knowledge I Focused on healthcare. I don't see myself getting out of healthcare because I just know it really I I feel like I know it pretty well um And so that knowledge makes me valuable if I wanted to apply to another place And I can prove that I know all these things about healthcare. They're going to be like, man We this guy knows this stuff. He's very valuable to us because we don't want to have to train someone on this again Who just knows the the technical side of things? That's why um domain Domain skills knowledge is so important. It saves the company money time training all that stuff Um, and I can hit the around running instead of need to be trained for a month or two on what the data is What the data means how it's collected how it's transformed What what what that means to the hospitals? Why they why the hospitals want the data that way? I go I can go on and on the second thing is is um Focusing in on the technical skills that are relevant to your domain Um, and so for me The one that I honed in on really hard and just became what I would consider very good at friend for a data analyst I like I have people who I work with who are way better at sequel than me But for a data analyst, I think I'm very good at sequel Um, and I that is my bread and butter and I can sell myself on that all day every day And so if they really need someone who's good at that one skill Um, and I have lots of other skills and and I can tell them that but if they are like We really need someone who's good at sequel I am like I I start getting a little bit cocky because I'm like I got this because I'm really good at sequel for a data analyst and I make that caveat because again Um, I work at database developers a lot and they can show me up any day of the week Um, and if any of you guys are watching anyone at work is watching you guys know Like I think I'm pretty decent, right? But you guys are better because you guys do that do that non stop 24 7 uh, so All right, I'm switching up the song number 10 Because I'm closing out. Um, thanks for joining. Um, thank you Coursera for hosting this. Um, I I really Do enjoy and I think the court the IVM data analyst professional certificate, which is kind of what we were looking at today If you didn't see earlier, um That's what we were going over today It is really good. It has a lot of super super great stuff that I was walking through and I was like man You know, I forgot how important this is and it teaches it in a really good way So shout out to Coursera because um, I appreciate you guys hosting this and I appreciate you guys. Um Setting this up And and letting me do this, uh No, this was not the most high end sharing my screen thing you've ever seen Uh, but you know, you guys have seen if you guys have seen my channel you guys know I'm not super technically advanced. I'm I know how to share my screen on a video but not on a stream I'm gonna look into knowing how to do that though I got I got some tips from some people in the in the chat who will maybe maybe help me out But I appreciate you guys. I I really do appreciate you guys coming out. I'm trying to keep I try to keep my voice Super chill super relaxed. Um, just because that's what this is all about just relaxing studying Um becoming better data analysts together That's what this is all about. Um this year. I think I've already had maybe 40 people message me and say they've gotten jobs as data analysts Um, just on through linkedin on youtube through email um, and when people And I I'm not trying to like Talk myself up, but I I when people tell me that my channel has helped them I genuinely am like I get such a sense of pride and it just drives me to keep going Um, and so to everyone out there who's trying to become a data analyst this year You make this year your year study hard putting the effort put in the time learn the skills And you know This year can be as good as you want to make it and I have really high hopes For each and every one of you with that being said. Thank you for studying with me. Thank you for Corsair to hosting this Thanks for youtube for playing, uh the music and the fireplace in the background Um If you have any more questions you can always comment on my videos I answered just about every single one of those you can also email me at alex the analyst 95 at gmail.com Love talking to you guys if I get a ton of emails and I don't reply back for a week. I'm sorry I was just busy. Um, but cool. I I appreciate you guys. I don't even know how to end the stream I have to click this end stream button that just shows you I'm not a streamer I create videos. Um, that's my Maybe I should stay there. You guys let me know Um, but cool. I appreciate you guys all joining me. You guys have a wonderful night. I will see you on tuesday Um, and on tuesday, I think it's going to be a sequel tutorial. So we'll look out for that one Cool. All right I'm clicking this end stream button very soon and then on uh, the stream will be over So thanks for joining me. Goodbye and end


It's fascinating to just watch what an airline is capable of doing here, and we think of ourselves much more than just an airline. We think of ourselves as a consumer brand, but you do that by listening to customers, by paying attention to trends, and to knowing the types of things that are going on here and that are really early indicators of what the future is going to be about. Well, no one person is an airline. No one aspect of air travel is the totality of the experience. And when you really think about the difference between what you experience at an airport versus what you have on board a plane, or even digitally with the app or in our loyalty program with the SkyMiles program, all of those things are deep and rich and complex issues unto themselves, as is, by the way, maintenance of an aircraft before you ever get on it and the things like that. So I think this is a major enterprise. We carry 200 million people a year. And for that reason, with the complexity of what we deal with to ensure safety and operational reliability, let alone warm, friendly, gracious service, it's a major undertaking. And the more the merrier, I think, when you have people who bring new ideas to the table and new innovation to help us better serve customers, we're all about it. Personalized signage is coming to an airport very soon, near you, thanks to the wonder of parallel reality. Now, you've heard of virtual reality, augmented reality, but what exactly is parallel reality? So parallel reality is a new display technology where many people looking at the same display at the same time can each see different things. They don't need to wear special glasses or look through smartphone camera lenses. They just look at the displays with their naked eyes, except each person looking at the same display can see different things. This brand new capability of parallel reality that really opens up the experience design space for public venues. It's literally the physical demonstration of hyper local, right?  But that's not different than really the interaction we're able to have with a customer in the mobile app or a host of the other things that we're showcasing here, because the reality is if a customer sees value in that digital interaction, they're willing to engage more deeply.  And so I think what we're seeing is customer willingness to not only opt in for deeper levels of engagement and communication from us, but they see the evidence that when they do, we genuinely listen with an intent to do something about it.  It's truly interesting to hear what people are willing to share with us, and the level of depth and engagement when they know that what we're going to do with it is try to make their experience better.


To the world card number 18 gang We got the Vatican We got the Vatican connection coming in Pope who is this Pope? This isn't Pope John Paul is it? Who is this? DC lip the 16 The Pope's bankers the Pope's bankers were into the Vatican. Oh my god No surprise this stream has been cut off yet. I had no idea this thing was this intense. Oh my god. Thank you. Thank you Thank you eclipse comics. Thank you comic book. Oh, thank you real store war stories number two for hooking us up hooking us up And we're doing this the day before we do a politics live stream at 8 p.m. And we do a conspiracy live stream on Tuesday at 8 p.m For those of you that are gonna be watching this video or watching this video after This live stream you missed the politics dream. You missed Conspiracy stream, but we'll be doing more of these and you want to for these live streams I got to do this gang this thing's so sweet. You want to join our twitch channel twitch.tv chicholive To get a feel for this time as they're happening as they're happening Okay Let's check this out Card number 18 scandal in the Vatican and there are many in the early 1970s the Banco and broke she know of Milan, Italy was organized by Robert Calvi and Michael Cendona Loyal members of propaganda do propaganda do P2 an Italian or Italo Argentine Neofascist Masonic Lodge Whose membership also included some of the most important political military and business leaders in the post-war Italy and Argentina Cendona was linked to both the CIA and Italian mafia So in addition to P2 funds the bank also handled heroin profits deposited by Sicilian mobsters CIA money for Italian anti-communist and P2 sponsored Causes and political campaigns and most dramatically Vatican Bank funds later used by Calvi to purchase a series of Panamanian Shell companies, which are laundered cocaine dollars to finance P2 paramilitary dirty war activities in South America my god The Vatican money was transferred to Calvi by the head of the Vatican Bank Chicago born Paul Mar Sincos a bishop known as the Pope's banker While the Vatican later denied knowledge of this involvement Michelle Cendona Flatly stated that Mark Sincas had been kept informed by Calvi all along and Vatican had been happy to embark on P2 new crew P2's new crusade Calvi himself said nothing as Allured to it in Godfather 3 Robert Calvi's body was found hanging from from Black Friars Bridge in London in June 1982 Mark Marcek cut cuss was in Indicted for his part in the bank scandal But charges were dropped when Italian authorities found an impossible to extradite him from the Vatican in 1990 to former CIA contacts Contacts stated that the CIA had paid P2 leader Lysio Gilles mastermind of the 1980 Bologna trained bombing to Foment terrorist activities in Italy Gilly attended Ronald Reagan's first inauguration ball Wow Wow the Pope's banker game the Pope's banker That's the dude right there Connected up with the Vatican who wants to know what's in the dungeons below Vatican City Who wants to know what books they got there? Wow? Wow Wow


In today's world, whether you are aware of it or not, but APIs are everywhere. They control how we get information from social media sites, how we navigate our GPS and how we book tickets online. There are many applications and projects that use a REST API due to its scalability, portability and many more features. So with this in mind, we at Bitescout introduce pdf.co RESTful Web API. In this video, we will understand pdf.co Web API in brief. So pdf.co Web API is the API with a rich set of tools for document manipulation, data extraction, data conversion, etc. You can also split and merge PDF documents using this API. Some of the major features which pdf.co web API includes are it has built-in AI powered OCR. It means it can extract text not only from scan images, but it can intelligently extract text from unstructured documents and images using AI and machine learning. And you can generate barcodes or reading barcodes and QR codes from a variety of file formats such as PNG, JPEG, TIFF or PDF using this API. pdf.co Web API can automatically decode all popular barcodes such as EAN, code 39, code 129, UPC and many more others. With pdf.co web API, you can intelligently extract data from PDF or TOCX file or ITF file or XLS file with preserved formatting. With pdf.co web API, you can extract structured data from tables or from form fields. This API automatically detects the table structure and smartly extracts the data from it. With pdf.co web API, you can convert your PDF file to text or CSV or XLS or JSON and so on. And you can also do the reverse like you can convert your document or image file to PDF or HTML to PDF file or JPEG to PDF file etc. pdf.co web API also includes document parser feature which provides template-based data extraction where you can design a template and then use that template for accurate data extraction from documents. We will study about this document parser template editor tool later on in this course. pdf.co web API also providing the on-premise version and customization of the API. It means you can install pdf.co API on your own in-house server and use it with your local files without internet connection. Now as a customer, first question pops up in your mind is why should I choose pdf.co web API? Well, first and most important is security. This API runs on the secure Amazon AWS infrastructures. All the data transfers are encrypted by SSL or TLS encryption. Second, this API providing an asynchronous mode option. It means now you can process large files with hundreds of pages in the background. And most important is we are providing free technical or say developer support at any time. pdf.co web API providing a read set of documentation. We are providing a thousands of pre-made source code samples for easy implementation in your own favorite programming language. So in this GitHub site, you can find a read sample source code in your favorite programming languages for pdf.co web API like this. It includes the number of functions and options. Let me open this API. So as you can see here that you can find the number of samples in your favorite programming languages like C sharp, JavaScript, PHP, Python. It includes the number of functions and options you should do calling the API to implement features such as PDF to CSV PDF to Excel or say PDF to text in this case. All right, now let's see the API documentation. By clicking on this, you will be redirected to the API documentation. So over here we are providing a documentation for each API endpoints in detail where you can find the resource description source code sample link and you can anytime contact our dedicated support team for any issues through the mentioned link or email ID. And then you can see the endpoints and methods upon clicking on this link, you will be redirected to the detail section. As we saw in the previous video that how PDF multi-tool can read the data from the scan images and generate the text file. Well, you can achieve the same functionality using PDF.co web API also. So let me find the endpoint for that method. Now let me click on this link. Now let's get an overview of the PDF to text API in this documentation. This is the endpoint or say URL, which we required it to use in our application. And then this is a different different parameters which you need to pass when you invoke that API. So let's say this async parameter is the optional parameter. Say if you have a large file and you want to process asynchronously, then you need to pass a value true in this parameter. So once you set it true, then you will get one job ID as output. And then you can check the status of the processing file by using this URL. And this one is the optional parameter. So if you want your output file as encrypted, then pass value as true in this parameter. And this is the required parameter. Here you need to specify the URL of the source PDF file from which you want to extract text. And then you need to specify the name of the output file. And then say if your PDF file is password protected, then you need to specify a password in this password parameter. And then this are the optional parameter. Say if you want to extract specific page or specific page range, then you need to pass the parameter in this format. And if you pass nothing in this parameter, then API will read the all pages of the specified PDF file. Now when you invoke this API, then you will get this type of output in JSON format. And in this URL, you will get your converted text file. So if you copy this URL and run it in your browser, then you can see your PDF content in this converted text file. Okay, just like any other API here, you also need to set the API key in request header. All right. So now you have a better understanding of this API. The easiest way to get started using the PDF.co API is to use postman request collection. Postman is a free to download tool for making HTTP request. I have already installed postman on my machine. Now you can download this API request collection from this link. So let me click on this link. Here you can see the request collection in JSON. So let's save it in my local drive to importing it in postman. Now let us open postman. All right. Now to import our request collection, click on this import button. Then over here, locate your local drive path where you save your JSON file and select this JSON file and click on open button. Well, you can also import this JSON file by directly from this link. But you need to paste that URL over here and click on continue button. And it will import it in your postman like this. Now let us find our API URL, which will convert PDF document into text. And here we go. Let me click on this link. Now let's go to the body part. Now let's go through the input parameter once again. This is the URL of the PDF file, which we want to convert into text file. Now let me open this PDF file in the browser. Okay, so this is the PDF file, which we want to convert into text file. And here I need to specify my output file name. And in the password parameter, if your PDF is password protected, then you need to specify the password over here. And same way you can specify the page number or page range in this parameter. In our case, let's pass it as blank. And in the header part, you need to set your registered API key over here. I have already set my API key. Now let us invoke this API by click on this send button. And here we have our API response. So as you can see here that this is our converted file name and our converted text file is resided in this URL. So let me copy this URL to see our converted text file. And here we have our PDF data in text format in this text file. So this is how you can test different different PDF.co API as per your requirement. Here in the request collection, you can see the different different use cases of PDF.co API. All right, now let's move to the next part.


So, welcome to this talk, which is about a facility which entered into the kernel last year in 5.19. It's called URING command. While the title also says that it's about revamping IOCTL, but it's a bit more generic than that. If you are looking for building a new user interface for whatever reason, perhaps this is something that you might want to consider. I'm Kanchan and Anu is the co-speaker, but unfortunately he could not make it. So yes, let's start with maybe roughly dividing the user and kernel communication into two categories. The first one is what we do with well-defined system calls and that's what I label as structured communication and whatever else that does not fit into those well-defined system calls that goes into the bucket of unstructured communication. And we have that because building syscall usually requires creating generic abstractions. So you may be writing some kernel component which could be a driver or could be a file system or could be some other kernel component. And at times you might want to communicate with the user space application. And if what you are doing is well-known or has been done before, you can use system call and things are okay. But then if you are doing bit specialized operation, you may find it bit hard to make it generic. And that's why it becomes bit hard to create new syscalls. iOctel could be, it has been used as one of a way to basically represent the communication which is otherwise hard to be shaped as a generic API. People like it for some reason and people dislike it for other reasons too, but maybe that's not what we are going to talk about today. If you look at the communication, this is at the kernel level, you start with encoding your interface into a command. You define a opcode for that, which is just a number. And your kernel component is supposed to implement something called unlocked iOctel callback. You could see it in the right hand side.  And as far as application is concerned, application can use this particular opcode and it can supply that using this iOctel, which is a system call over here. Once this is done, once the whole execution is over, your results are also available. Generally, this is seen as a blocking operation, synchronous operation. Now, if you look at how widely it is used at this point of time, so if you try to search for this keyword unlocked iOctel, you would see that there are around 303 providers at this moment. And that includes all kind of drivers, file systems, and stuff. But of course, these are only the number of providers, right? In terms of number of iOctels, if you want to count that, that's roughly at this point 6384. So it seems that while we have system calls, but there has always been to communicate in a way that wasn't imagined before. And if that's true, and if that remains true down the line too, you may feel the need to think of maybe using iOctel. But then if you do that, you cannot expect efficiency. And that's because it's semantic-wise, it has always been seen as a blocking call. And one more thing which happens is that while you do this, you end up doing copy from user and copy to user. And yes, so these two things are exactly the kind of thing that iOctel loves to get rid of. So now before we go about what is the alternative of it in iOctel, let's see some fundamentals of it. So iOctel, if you look at this particular figure over here, the left-hand side, you see a figure here, iOctel is operating at the boundary of user and kernel space. So similar to VFS you can think of, it's providing the scalable asynchronous infrastructure at that boundary, works for storage, works for network iO2. And communication backbone here is that you go about creating kernel, creates ring buffers which are shared with the user space application. And that's how you do the communication. And efficiency is the core part of the thing. So yes, it goes at length as far as reducing the number of syscalls are concerned and those copies are concerned. Few syscalls, iU ring setup, iU ring enter, iU ring register, but there are so many knobs that you might want to know. And if you look at the communication protocol, so you start, I mean applications start by setting up a ring. When it sets up a ring, you basically get something called submission queue, a ring buffer, and you also get something called completion queue. And within this ring, now you would want to submit your command.  It could be read, it could be write, it could be anything else for that matter. And you can repeat this whole process. You can pick one more SQE. And if you are doing it, what you are doing is that you're trying to batch. And then at some point you want to, you want to tell to the colonel that I have, I have prepared these many commands or one command. And once when you do that, you're going to be calling something called iU ring submit. So that, that basically corresponds to step number three. If you look at, look at the code here. And, and then yes, you have submitted. Now at this point of time colonel will do, you know, iU ring will do his job. It's going to be calling whoever is implementing the read, write or that particular specific operation. And as an application, you don't care about it. At some point when you care about it, I mean, you would want to look at the completion. So you would say that now I want to look at the completion. So you will fetch a SQE from the ring. So the step number four, while it looks like serial, it doesn't have to be serial, you choose when you want to do it. And when you get a CQE, you hear what, what we have done here is that we are waiting for a completion. And the moment we, we get a CQE, we look at the result and then we come to know what happened to it. So here, CQE result is telling whether the read got failed or passed. And once that is done, you need to do something called iU ring CQE scene. By this, what you are telling is that I'm done with this particular CQE. I no longer need it. So this is, this is the existing communication protocol. And this is, this is, you can think that this is generate. This is for any iU ring operation. By the way, if you, if you develop question at this moment, I'm happy to take those. So continuing the basics here. So let's, let's, let's, let's talk about what are, what could be two ways to turn a synchronous operation into a synchronous operation. And I have labeled them as first one as pseudo async. Another one is true async.   And actually from some meter point of view, this is how it is. And the advantage of this scheme is that most of the operations can be turned async, like any, any of the existing syscall which is sink, this can be turned async. But the, the problem here is that this thing is not going to scale.   And it's just about shifting the responsibility. When we, when we are talking about true async. So this is about not using any worker or thread. This is actually about decoupling the submission from completion. So in this case, we have to submit in a way that the submitted does not have to wait. This is fast scalable, but yes, this requires a bit more work.  The answer is both. So the first one is, is not the default mode. I mean, I even tries to do the true async first. And if it, if that doesn't work in some situation, it can fall back to pseudo async and for known blocking operation, like things like imagine if you are, if you're doing fsync, or if you're doing MKDR, if that's what you want to turn async. Yes. So if, if this is a known blocking operation, so right from the beginning is going to be using a worker thread to execute that operation. Now this is existing part. Now, you know, when we are talking about a sink, I tell, we can choose one of this model. And if you go with the pseudo async, yes, it would be a bit easy, but then those problems would be there. So at this point, the attempt is to aim for efficiency and pick the true async model. And that's what urine command tries to do. So this is also known as urine pass through. So this is a generic facility to attach any urine capability to any underlying command. So any urine capability is important. It's not while I'm talking a lot about asynchronous thing, but this is not the only capability that our urine has. There are other capabilities. I listed some of those submission batching, submission offload, completion pooling, registered file, registered buffer. So all that is really possible. And it's about attaching all those to any command. Now command providers, of course, it remains the same. We saw so many providers of Ioptel.  So it, whatever that the command provider is, it needs to collaborate with the eye urine to implement non-blocking submission and the completion. If you look at the user interface, so you have to start, you have to use a new opcode called eye urine OP urine command that's going to go into SQE. This is, this is just like the way you use eye urine OP read or write. This is the new thing that we have to use. Um, the interesting piece here is that the command that, that you, that you need to supply, you don't really have to allocate it externally. You can get it from this SQE itself. So if you are using regular SQE, you will get 16 bytes of space. This is a free space that you can use. You can think that you don't really have to do a malloc and you are having a memory. If you are using, if you want more than that, you say that I want big SQE and then you will get 80 bytes of space. Big SQE is one more facility, a facility that got, got added along with this. So, so both, uh, both got developed together. And, uh, yes.  Uh, this is similar to eye octal that way. Uh, so your application will, will, will supply the provider specific opcode into, into the command OP and that is all. And as far as result is concerned, so yes, as you saw in the example, normally result arrives into CQE and, um, and that's, that's the case now also, but then you saw that in the CQE, we had, um, we had the space for one result. There are cases when, um, when colonel want to inform or tell more than one result. And if that's the case, you want to say that I want big CQE and that also got, uh, added the whole infrastructure got added along with this.  And this is helping with zero copy submission. If you are doing it, you don't really have to do copy to user. The big CQE is, uh, is, um, you can, you can ask for it by setting up the ring with eye urine set up CQE 32. And this is, this helps for zero copy company completion. If you look at the right hand side picture, I think that's what we talked about here. This is a, this is a kind of a loose mapping. So if we translate the eye octal into this scheme, uh, the FD goes into SQE, uh, the, the SQE is represented in the green color. The opcode will be eye urine, OP urine command, the provider, uh, specific opcode, which is OPX for eye octal, that goes into command op and actual command that goes into, into SQE, as you can see over here. And if you want, uh, more space, you will ask for big, big SQE. And I think the right hand side is about SQE and the, the first result goes, goes into regular SQE. And if you want more, you can ask for big SQE.  So this is the second part of it. Uh, this is how this, this is relevant if you are, if you are a kernel space provider and you need to communicate to eye urine to implement, uh, your operation this way. So the command provider, uh, is expected to implement, uh, a new callback called urine command. So, uh, you can see in the struct file operation where we had unlocked eye octal, now we have something called urine command. And, uh, eye urine, of course, eye urine would be the first one to, you know, when we are talking about submission, eye urine would be the first one to, to receive the SQE. So what eye urine does is that it prepares, uh, something called struct eye urine command. That's a, that's an internal structure that it prepares out of SQE. And this structure is used for all the communication between, uh, eye urine and the, the, the kernel provider. And if you look at this particular flow chart over here, so eye urine invoked the provider using the urine command callback. Now your provider will, will do his job, uh, it will, uh, it will try to submit the command or do whatever it does. And once the submission is done, it will say that I'm done by, by returning this particular code called EOCBQ'd. And that's, that's all about submission.  So you will, you need to inform it to eye urine by, by calling this API called eye urine command done. And here, again, you are using eye urine command, uh, and two results you are able to return. So this is, uh, this is the, the, the simplified communication model. Sometime you would want that, uh, if you are a provider and if you want your completion need to be, need to happen in, in a task context. So there is another API called eye urine command compete in the task. Uh, and you can use it. You can provide a callback function and that particular callback function is, is guaranteed to be invoked in the task context. So this may be useful at times. So now let's look at who, who, who are the people who are using it in the kernel at this point of time. So, uh, as I said, it, uh, this was, uh, this was added in the kernel last year and, uh, NVMe driver was, was, uh, it was developed. I mean, it was changed, I would say extended to use, uh, the urine command, um, along with the whole interface. So, uh, NVMe driver already had, uh, I octal based pass through operation. Um, so you could see, uh, I have shown in the right hand side, NVMe NS care f ops. And if you look at dot unlocked, I octal, so this is how, uh, the pass through operation used to, uh, used to happen. Uh, here you see that now it has, uh, urine command callback too. So this is, this is the NVMe, uh, urine command pass through. What this enables is that any NVMe command, which may be beyond read and write, uh, can be used efficiently. And particularly in NVMe, if you, if you guys know, uh, you know that NVMe is, is, is, um, there are newer ways to interact with the store is, uh, so, so this problem of, uh, coining new system call is, is, is there. It's, it's very much present over there.  Uh, this, uh, was also developed last year. It used urine command from the ground up. If you look at the right hand side picture here, you do not see any unlocked I octal here. It never used, uh, my octal, all the communication it did, uh, with the, uh, with the urine command. Um, and at this point of time, uh, fuse is looking at using this. And in the networking side, sockets are looking at using this so that there, there, there are discussions happening and we might see something down the line. Now, here is a quick example, uh, of, uh, turning this is my enemy. Me. So on the left hand side, you see a quick example of I octal pass through. Uh, we open the enemy. Me device handle. And then we call I octal. And here we use, um, octal code called enemy me out. I was 64 command. And that's it. I mean, simple, right? With the urine pass through yes, code is a bit, bit, uh, bit, bit more. Again, you open the FD, uh, you set up a ring. This time you ask for big SQE and big CQE by specifying these flex. Then you get, you get a SQE. I think important point is, is, is that within the SQE, I think I wrote a comment over here that you extract the command from the SQE, right? You don't really have to allocate it. And this command is, is this command, uh, for enemy me pass through, it requires 80, 70, 72 bytes of space. And, and yeah, it's, uh, uh, it's, it can be, it can be, you know, uh, in this case, it's like freely available. You prepare it, you submit it. And once you receive the completion after doing our urine weight CQE, you can, you can examine both the results. So enemy me really required, um, big SQE and big CQE in order to do it efficiently. Now, as I said that, uh, there are other capabilities in the urine, which, which, uh, which, which are available to the other operations. So, uh, urine command, uh, can, can, uh, is also able to leverage that. So once his facility is, it's called fixed buffer in our urine. So, um, this particular facility is about reducing the pariah cost of mapping the buffers and unmapping those. So, um, there is something called our urine register buffers. If you look at the right-hand side, so you can register, uh, your buffers a friend. If you have got N buffers to do the IO, you can register them a friend. And if you do that, um, during the IO, you can actually use those buffers. You can specify the index, uh, for any of those buffers. And, uh, the result would be that you will be having a slightly better, uh, or a lot better, depending on, you know, how your workload is, uh, efficiency and the reduced CPU. And this is available for regular read and write operations. For urine command, also this is edit. And the interface is, the first part remains the same. Application is going to register the buffers in the same way. That part does not change. Uh, the part that is new is that in the SQE, urine command flag, you can specify something called our urine urine command fixed. If you do that, uh, you will start using this particular capability. Uh, and then you specify the buffer using the buffer index, some number and, and that's all. And as far as your provider is concerned, your provider can, uh, can use this particular pre-map buffer by, by calling this particular new API called IUINN command import in fixed. So this is about, this is a kernel space API. At this point is named this, but you know that it can be changed on the line. If you want to, um, look at the examples. Uh, I added a FIO, uh, use a space example. And for the kernel space, the send me, me, uh, example here. Other capability is IOPOL. So IOPOL is about, um, not waiting for completion, but polling for completion. I mean, if you're, if your operations are, uh, are going to be completed very fast, probably you wouldn't really want to wait for it. Uh, you may get a bit, bit, bit better efficiency by, by polling, uh, for it. You decide not to basically sleep and, and, uh, undergo the contextages and all. So this is, uh, this is, is, is, is anywhere available with, um, with the, you know, regular operations, read and write, but for URINN command, also this is, this is available now. Application only needs to set up IUINN, set up IOPOL, and that's all. This is what application anyway used to do. As far as kernel is concerned, if you are writing a provider of it, uh, submission is same, no change for the completion. Yes, you may have to implement a new callback called URINN command IOPOL. And again, examples are available over here. Now this is an example of, of, uh, uh, efficiency. So what I have shown over here is that, um, that, uh, for NVME. Um, so NVME pass through, as I said, that it has been turned into URINN command base pass through and how it performed after that, this is, this is trying to, uh, show those numbers. But this, we are not really comparing with IOPOL. In case of IOPOL, we know that it does not really scale. Uh, so as I said, this is not the best example. But, uh, here, this shows, uh, the IUINN based pass through is slightly better, uh, than IUINN base block IO or direct IO. So, uh, we are comparing with, with, with a, with a, uh, most difficult competitor here, uh, not, not with the sync pass through. So what you see over here is that it's maybe the last one. If, uh, if you look at the last graph, uh, this shows that the peak performance is 11% better. Uh, these words, I mean, if you say base, by base means this is like, this is the, the performance without having any knobs. Um, base plus FB is the base plus fixed buffer. Fixed buffer capability is, is like hiking the, uh, the speed of both the, uh, both these things. Uh, and base plus pole is IO pole that I talked about. Uh, again, the IOPS are improving with that. And the last one is, is like combining all the knobs and see what's the peak performance. Uh, eventually it gives 5 million IOPS and that's the device limit in this particular case. This device is capable of giving 5, 5 million IOPS, uh, for 512 by random read operation. And, um, and that's, that's possible, uh, at this point. If you look at the upstream status, uh, I unit command initial support was added in 5.19 last year. And along with that, and we have a unit pass through as a user as a collaborator was, was developed. Big SQL and big SQL facility was also added at that point of time. The second user, which is UBLK that, that, uh, that got added in 6.0 and the efficiency knobs I talked about, uh, I only mentioned two, but some more are there. Uh, I think I only mentioned those which require, uh, bit of a space change. So, uh, those were added in 6.1. And, uh, and I think we talked about there are other users which are, which are being developed. So, so that's all, uh, that's all I have. Uh, happy to take if you have any questions. Uh, uh, actually, I'm quite new to IEU ring, but I want, uh, my impression is that so it's IEU ring in overall, in a general sense, is trying to execute system course actually, uh, without, I mean, without the overhead of this course and using ring buffer. So, you request in ring buffer and corner somewhat excuse the object in some issues and complex. And so, uh, I wonder, uh, not every system score can be uh, converted to, uh, IEU ring, IEU ring. So, what kind of system course are, uh, replaceable by IEU ring? So, at this point, there, there are, there are many operations which, which IEU ring supports. And I think the number is only growing. Uh, it's just that, uh, some operations, uh, may be more efficient because they have been implemented using true async manner. While some operation may not be that efficient, uh, because they, they just, you know, they are, they are hard to be converted into like in a true async model. Uh, so yes, you have, you have good number of them. And if you have something new or something that, that does not really fit into existing system call, this is, this is the way I talked about. Uh, this, this is something that, that may be useful to, to build. So either you can think of, you know, changing your existing system call, uh, into async using, you know, using the regular model or you can think of using this, uh, and, and see what may fit. So I saw the, the traditional, like the auto model, it's always synchronous, right? But now I owe you ring is asynchronous. So let's say some subsistence, they adopted out your ring and make the alkytos working with, uh, make the alkytos working with our urine. But then the user, when they switch to used out urine, then they're basically switching from a synchronous model to an asynchronous model. So the application the layer that calls into that would have to adapt. Is that, is that right? Yes. I think if I got your question, right? Yes. I think if you are looking at our urine, you are, you are looking at moving from, from synchronous model to a synchronous model, right? It's just that we didn't really have, you know, in, in case of our urine, uh, we didn't really have, uh, uh, you know, any, anything that was, that was mapping to iOctel.  But now, if you cared about efficiency and, um, so you can think of using this. I think, no, this is what I'm trying to say. Otherwise, yeah, overall, I think if I got your question, right? This is just about, yeah, moving from synchronous model to asynchronous model.  But you have to do a more, like, higher level refactoring on the application. Are you talking about, are you talking about the, uh, the first method, which I talked about here, using a worker thread to turn your sync operation into a sync? Um, can you say that again, please? So, I think what you said was, was about, um, so one of the easy way to convert a synchronous operation into a sync is, is just use a worker thread. You can do it as an application or someone, someone in the kernel can do it for you. It can create an internal kernel thread and it can turn your operation into, sync into a sync. You can do that. But that, that's, that's, that has scalability problems. You can have, uh, you know, uh, finite amount of threads, right? All right. Just to maybe answer the other part of what I thought your question was, if you use, IOU ring in essentially synchronous way, like you were saying, of Q and operation and wait for it, then yeah, you will get essentially synchronous behavior because you've written a synchronous program still. Um, I mean, you have to write applications in a different way to use IOU ring. Um, I mean, you'd mentioned switching I octals over to IOU ring. Of course, nothing in kernel will switch like that in a way that would break user space, because that would not be allowed into the kernel. Um, you could add something to it. I would also take issue with the idea that I that I octal is inherently synchronous because there are an awful lot of asynchronous octal calls. Yeah. In the kernel. I agree. It doesn't have to be that way. Yes. And I think sometime it is seen as a hack, but yes, at one point, that's how things were. Yeah. I think now this is more clear that if you are using Uring command, the intents that the whole intention is very clear that uh, we really want to do, uh, you know, a sync model. I think you're right. I think it's a SE operation I think that's how it is that the I tell is being used in a way that and that it is trying to do a syncopation. Yeah. Yeah. If you look at some like the video for Linux interface, right? That's all asynchronous and it's all done with the octal. I saw the the I already in the face to the user. Um, so you will have, uh, a week. I don't remember the function call. Basically, you will wait for the data when it's available and that will be blocked. Right.  Um, and then eventually you have to wait uh, for the notification from Colonel that's you. I have new, I have data for you. Right. Let me see. Okay. Go to the API. Yeah. The maybe step number four. It's number four. Yeah. So, uh, what about if at my application needs multiple uh, rings? Um, and then um, in this model, I have to figure out which which queue which rain I should wait first. Is there anything like a pool? We so if one ring is ready, so, so you're in this case, you only you only have one ring and and generally you are not, uh, you're not bothered about. I think what you if I got your question, right? Yeah. So, um, your point was that that uh, you have to call our using wait, CQE at some point of time. What about if I need and you rinse and if you do not really want sorry. If I, uh, um, I know this is the interface is for one ring. I'm thinking like in the current like pool uh, system call, you can wait for a multiple. Um, uh, at these, right? So, I'm thinking about in some scenario, maybe I, my application, I need to communicate with Colonel through multiple rinse. So, in that case, how should I do the waiting? So, if you are having is different ring, you will be using, um, you will be using are you in wait, CQE and you will specify that particular ring as a input to it.  But, but, but, but it's like this. I suppose that, uh, in this particular example, yes, this is seen like, you know, sequential step, but, but you can actually do, you can do multiple submissions. And what I have not shown here is something called user data operation in SQE.  So, when you do, are you in wait, CQE? This means that you are okay to wait. If you don't want to wait, are you in provides API, which, which basically, uh, allows you to just kind of, you know, poke or just have a, have a, have a look at it, whether any CQE is available. If any CQE is available, uh, you will get it without having any weight.  And if you, uh, uh, if, if the CQE is not available, you will, um, you will anyway get the control back. So the weight problem is sorted over there. But at some point of time, yes, you would want to know, uh, whether you got the completion for whatever you submitted or not, right? Otherwise, there was no need to submit, right? And, and now, if you look at the CQE, you would, or you would want to look at the user data of CQE, to know what was, uh, what was the corresponding submission. And you map that and you know that, okay, now I receive the completion of this particular, I know this particular IO. Now this particular thing is, is, is, uh, you know, you can apply it on single ring or multiple ring that, that, that is, that I think does not matter much. So does that answer your question? Oh, I think maybe part of, perhaps the part that's being missed here is that having multiple rings would be a rare, you wouldn't normally do that, because you can communicate with multiple devices, multiple file descriptors to a single ring. So you can submit a whole lot of operations to many files or many devices, all in the same ring. Right, they'll go in, they'll come back in a different order. You have to keep track of them and that's what the user data that he was mentioning is for, so you can keep them straight. But it would be kind of strange to use a second ring. There's not really a reason to do that. You don't need to. Right. I think that same thing can be seen in the code as well. If you look at SQE FD, so you are populating only one SQE in the whole ring. You can get one more SQE. You can give a different FD into it. So this is how multiple devices can be or multiple files can be operated with the same SQ. I mean, same ring.  In the face here. We started with setting up the ring. Right. That's the first thing we did. And after that, we picked one SQE and we decided to prepare it. And when we prepared it, we specify one FD. You can get one more SQE. You can give a different FD into it. I think that's what was explained. Right. I mean, just know. That's SQE. Sure. Definitely. Yeah. I mean, this is an example meant to show the usage of this one specific device. Right. It's not meant to be a general usage example for IOU ring. There are there are more complete examples and documentation out there. If you look for it. Indeed. Yeah. So do you expect that Ioctal interface will be deprecated at some point in time and we will completely switch to your ring? No. I I I I I I I do not know that it just that I I feel that yeah, if if you if you need to develop I Ioctal and if you also care about efficiency, maybe this is something that you might want to look at. I mean, yeah. So like it's safe to add new Ioctals to new drivers, for example, in the kernel instead of using your ring in some single cases. But thank you. Anybody else? So I think so then thanks for thanks for attending and listening. And if you have questions down the line, feel free. Once you look at the examples or whatever. So thank you. So it's more like for Ioctal ring in general. So I was wondering now that we so you have a ring and then you have the user space and kernel sharing the same memory. Is there any security risk or maybe there's already some ways? I don't know about. So what if somebody the user supplied a payload and put it in there into the shared memory and then the kernel starts to pick it up and working on that. And then the user can basically change that payload at the same time. Would that happen? So as far as kernel code is concerned, so all the code is reviewed and all the codes like you can't have a random thing.  Well, all these providers who are looking at SQEs, you know, this is this is I mean, all this need to be reviewed, right? People are reviewing it. That's why they know that's how that's how things have been added. So so I mean, it's not the case that that kernel is going to pick something which is which is, you know, which is which is going to bring it down. Yeah. Yeah. I mean, I mean, what he's saying is absolutely true, but it's really just like any other system called interface, right? When you always have to pay attention to what user space is passing to you. And the kernel will always copy the entire SQE out of the ring, at least and then operate on it so that it's out of. Yeah, exactly. The SQE will be copied, but that's 64 bytes. That's I mean, if you're doing an IO operation, that depends entirely on how that IO operation is implemented, but it may or may not be copied. You know, if you're doing Buffered IO, it's going to be copied into the page cache or something like that. But but the command will be the command will be copied out if it is implemented properly. I can just quickly add that for you block. There is a separate shared memory for a kernel and user space that's used for the IO so that only the descriptors go into the ring and then separate shared memory for the IO buffers. Yeah, yes. Yes, if the if user space is changing the memory while kernel is operating on it or you block is operating on it, that's not good. So don't do that. Yes. But I mean, it's IO data. You're not going to have any control pending on what's in the data. You're just going to move it somewhere else. Yeah, leave it alone until IO completes. It's the same if you're like writing stuff like to a file and if you change the buffer that you're writing to the file from another thread at the same time, it's a bad idea.