So, Paul, when we're building websites and tools, we want things to be fast. We want the page to load quickly. We want the user to have a good experience, to be happy when they use our site. But somewhere along the process when we're building our app, things start to get slower and slower, and I don't really realize it right away, but then all of a sudden I reach this point and I'm like, oh, my app is slow. Yeah. And then, I mean, you're like, you've got two problems. You've got poor performance, and now you've got the challenge of actually having to try and fix it. And like, from measuring correctly to understanding enough about the internals to make, you know, an educated guest to actually try that out and doing something like, it's not easy. Like, it's, this path is hard. Yeah, performance is hard. So, I'm Paul. I'm Sam. We're really into performance, like we're performance geeks, I guess. Geeks. Yeah, geeks. I don't know. Sure, performance nerds, you like that better? OK, anyway. Yeah, we're going to tell you about some tools, techniques, approaches, and workflows on making measurable and effective improvements in performance. There's some fresh tools. Fresh tools. Of course, fresh tools. Fresh tools. All right, cool. Before we get into some of the real world products, I want to kind of step back a little bit. You could think of performance as the art of avoiding work and making sure that any work that you do is as efficient as possible. Those are some sage words, Paul. They are sage words, so nice. Paul Lewis, actually, for this one is real good stuff. It's good. Yeah. So, I want to touch on kind of like the effective workflow for diagnosing and understanding performance. So, it all starts with the user. The user is the most important thing. You've got to consider where are they beginning and what is success to them. That is kind of your bounds for investigation. So, I sort of like put myself in that user head space. Yeah, you could like get like in the head, like right up in the, between the head space. Like his glasses and where his head is. Effectively, you could do that. Yeah, if you want. I'm in the head space. I got it. Great, I appreciate that. After that point, next thing is to measure. Measure with the profiler. Get an understanding of what sort of time we're looking at. This is key. You say that, like measure, but like meters, yards. And milliseconds. Nanoseconds? Sam, I'm doing a slide. After this, you interpret costs. You understand kind of like categorize, characterize the sort of work that is happening. Understand it. After this, identify the bottleneck. Drill into like what is actually happening. You might use specialized tool for this. Drill in and at that point, you can try a fix. You have a hunch, give it a shot. And for me, it's like, I just, I have a hunch. I sort of guess, just change something, refresh, change it again. Yeah, you wouldn't want to like... That's my trying. You wouldn't want to go like directly from measure to like try a fix. You don't want to like skip the rest of that. But yeah, and we always end up and we're like, that looks like it might work and that's fine. But then the key thing here is that you've got to return back to measuring again. You take that exact same thing that we were looking at before. You measure it, you understand what sort of change, what is the delta of the change that we actually made? So, okay, so I found this function that takes 10 milliseconds to run.  Like this is awesome. But then I look at my total time to run and it's two seconds. Yeah, 2000 milliseconds and we made a nine milliseconds, like 2000 milliseconds down to 1,991.  It's something. But... Oh, wait, right, because I'm in that user headspace. Yes. Behind the glasses. I'm like, oh, I can't even notice that. So it doesn't matter. You what? It doesn't matter. Well... I mean, to the user, it doesn't matter. Those nine milliseconds. Absolutely, absolutely. Like, what is going to be most effective for them? All right. So with that out of the way, let's get into some real stuff. And I think we're going to start out with the site Android Auto. Yeah. Website. Cool. All right, let's dive into it. All right. So I was looking at this site the other day on my phone and I loaded it. They were just, like, reloaded the page? Yeah, just Command R. And I saw that when the page loads in, I sort of see the spinner and then this green thing pops up and I see a header. Yeah, if you could, like, describe what is happening right here in kind of poem form for me. The green fields flow in. The spinner...  So, yeah. So we got this, like, situation. We got the top coming in. We got the bottom. We got this thing in the middle. And we're just waiting for the spinner, right? Yeah, and as a user, I'm like, I can't really touch this. I shouldn't touch this because it's spinning. It's loading. I'm just going to wait for it. Sure. OK, so I figured that, OK, there's probably a big image that's downloading and it's just taking a really long time. And so I'm waiting for that, probably. Yeah, yeah, yeah. So let's look at the timeline. OK. So I have this timeline recording that I did when I reloaded the page. And we can scrub over this. And we sort of see that initially we get this header painting in pretty much right away. And then we see our spinner. Actually, Sam, there's like a lot happening here. Yeah. Can you just, like, briefly tell me what all is going on? Sure. So here's, like, our JavaScript that's going on, our main thread activity. Good. Then here's, like, we see our frames per second and the green and then the red is, like, frames that took a while to paint. Like it. OK, but we'll just ignore most of that for now. Sure. So we're just going to go back. The screenshots. Yeah, just this film. Seems good. So here's that green field that you mentioned. Just sort of fade. Yeah, that's right. Poetic. I see why you wanted it. That's nice. Let's see our spinner. And then. Spinner. Then we get our image. OK. And, you know, that's, like. How long were we spinning? Let's see. So we're going to. Like, three seconds. Hold shift. Hold shift. Shift key. Drag. And we get to see how long that took. Yeah, good three. Almost three seconds. Three seconds of spinner. Spinning. This must be loading something big. I imagine, this is my guess, the header image, this shot with the car is, like, two megs or something. Like, I forgot to compress it. Yeah, it's just huge. All right. But, like, OK. So, but I'm not, I don't know that yet. So I want to. Guess. Guess. OK. So what do I do now? Wanted to figure out. What I recommend to you is there is a check box at the top of the screen now? Network. Network. Uh-huh. Good. Promising. Do it, do it. Whoa. All right. OK, so I see I have more in this crazy view. Uh-huh, uh-huh. Let's check this out. So basically here, we have the exact same network waterfall that you might see over in the network panel, but now integrated into this view. So the colors are pretty much images are generally green. Style sheets are purple. Script is yellow. Kind of matching the colors of the rest of the flame chart. But the nice thing here is we can begin to kind of coordinate what is happening on the network side of things and then the actual execution of what's happening on the main thread. OK, so we know that the image loads in around here. So let me find that, let me find that image. Scroll to the bottom. The 1 megabyte image. So you're saying that nothing on the network is happening between here and here? Nothing on the network is happening. We have two seconds of just nothing. Yeah. OK, let's look at the last thing to load. Sure. OK. Last thing? Click that. Yeah, we can bring up the bottom and see kind of a preview. OK, so that's an image. There's that one. There was the other one. Yeah, let's see what this, oh, yeah. Oh, there it is. OK. There we go. All right. There's our image. That's our image. It finished right here. Yeah, but then it didn't actually show up for 1.5 seconds. Hi. OK. Not sure. Yeah, that seems strange. So I guess at this point, we're a bit confused in this situation, right? Yeah, I don't know what's happening. We didn't build this site, unfortunately. And it's not every day that you're profiling in a site that you didn't have a hand in. So we had to do a little bit of digging in order to find what the story is with this image. Yeah, OK. Let's hop to. So let's look at the image. Yeah. OK, so I just hit Command-Shift-C, or you can use this. Yeah. Grab the element. And here's our banner image. Yeah, can you zoom in just a touch? Yeah. All right, check this out. See those data breakpoints? Yeah, I see those. I bet you got some kind of responsive images. Oh, right. Like media query thing. Yeah, yeah. OK. So they don't load the 2 megabyte image on your phone. Right. So they're probably using JavaScript to start that request, which is why it happened a little bit later on the page. They could be using a platform feature for resources. But they use JavaScript. Something, yeah, it's fine. OK. But now we need to understand what the connection is to the loading, the spinner. Yeah, like some JavaScript is doing something, right? Yes. I bet you, your bottom dollar, that if you, one of these classes here, JS header animate image, if I were to look at anything in particular, it would be that. All right, so I see it. I have it. Now what do I do? All right, go up to the, actually, use the new command menu, command shift P. Nice, nice. Hit search, type search. Yeah, yeah, we got a few things in here. So this is just going to search across all kind of the capabilities of the DevTools, just, you know, and keystrokes, and kick that up. It's just going to bring up the search across all files that we have. And, yeah, yeah, search. OK, cool. We have two results. Two results, looks like the page, our document, and one in some JavaScript. So again, let's check out what's going on in this JavaScript. OK, so it looks like the code's minified. Hit the button. Let's pretty print that. There we go. There we go. All right, good. All right, so we got this JS header animate image. Looks like it's signed to this. Yeah. Let's just hunt down kind of what happens here. Pink. OK, so we're in this function load content? Yeah, all right. So to be honest, I'm going to break a little bit here. We have done this before. It's not totally surprised to us. We have investigated this. There's a good amount of code here. And since Sam has understood what it does now, he's now going to explain to you what he has learned. OK, so we look at this. And we see we have a set interval here. So every certain duration, we're going to fire a function. Yep. And then I see this 1E3. 1E3. So I said, Paul, what does this mean? Because I know you've got like a math major or something. Yeah, yeah. It is called exponential notation. OK, and I did not believe him. So I copied that. And let's see. We go into our console here, and we just sort of paste it. Oh, it's 1,000. 1,000. Well, that is a fancy way to write 1,000. 1,000? Yeah. We have a set interval for every 1,000 milliseconds. Yeah, so every 1,000 seconds. What are we doing? And then we're checking to see if this header image has a class of loaded. Every second, we just pull to be like, hey, you loaded? Nope. Hey, you loaded yet? Nope. Hey, you. Yep, OK. Good. So then we're loaded, and then what? OK, then we're using this tween library, which is doing some animation. A little bit of transitioning. Fancy. And I saw we have a delay and this opacity. The delay, 1 millisecond? Yeah, I thought that too. And then I looked at the docs. That's a second. We're polling once a second to see if it's loaded. Yep. Then it's loaded, and then we're like, OK, great. I'm glad that you finished downloading. I'm glad that we have identified that you're loading. Now, before I fade you in, I'm just going to just pause and just hang out for a little bit. Just hang out for a second. For a second. Just chillax, wait, and then we'll fade it in. Yeah. That's fascinating. That is good. My dad once told me, he gave me some good advice for my career. He said, whenever there's problems, issues, a good way to rephrase the situation is instead of using negative words, you can say there's a lot of opportunities. And so I think we could all agree that there are some opportunities in this area where we could try some things. Potentially, we could improve this. Yeah, I think that there's some things. OK, so this accounts for why we have that gap. That big gap, yeah. Like that two-second gap of nothing happening. Yeah, so I think that many of us could identify a better way of handling this, not so bad. Before we move on, we've looked at the load aspect of this page, but I want to touch on a little bit of the interaction stuff. Sure. All right, check this out. I come back to timeline, I clear this up. And I want to look at some of the scrolling performance, the interactions, once I start using the page, right? Yeah, it makes sense. Good. Scroll down to the bottom, yeah, some of this stuff. It doesn't feel so bad like where I am right now. In fact, yeah, OK, yeah. So what I'm going to do is just capture a new recording. I'll just turn that guy off in the sky. There we go, cool. And record. And I'll just scroll, fling it. And I want to sign up for the mailing list, because why not? YOLO. Good? Good reference. All right, check this out. But what we have here, some new stuff. So along the top, right here, if I scroll in, always mouse wheel, mouse wheel is the trick. We have just identified what interactions are actually happening. Yeah, see the words there. Yeah, exactly, yeah, yeah. So yeah, exactly, fling. So scroll, I have my finger down. I'm moving it, fling, I let go. And it's just kind of gliding. Flinging. And we can even go over here. This actually, here is the response. You've heard us, we've talked about rail, measuring response. And so this is actually when I clicked on the sign up link and saw that. So we can open up the main thread again and kind of see this is all the JavaScript that was running. And if I zoom back in, I can open up and see some of the detail on this guy. And so check this out. So this is the actual gestures that the browser is handling kind of under the hood in order to handle this input. So what's that like that red line? Oh, I got it. So the red line. The red line, if we actually bring this up here, says time waiting for main thread. So what happens is basically the browser receives the tap. And then it's like, cool. But I just need a second because I might be busy and I have to have a moment. And then I'm going to totally evaluate this on the main thread and run the event handlers to handle that. So it's kind of like, hey, I just tapped you. But this is crazy. So execute your event handlers on the main thread, maybe? Yeah, I think it's like that, pretty much. We can rename that, right? Yeah, we could just put that whole description right here. Yeah, it makes more sense. Yes, sure. OK, good. So the other nice thing here is to kind of bring it back to what we were looking at before with the network activity, I hit that sign up form. We kind of waited, and then it's like, oh yeah, cool.  If I bring back network, the nice situation is we can also see a little bit of what is happening. So here you can see it on the minimap. You can kind of see the blue bar right here is actually, well, it's kind of the mini view of the network. And we can always open up to see some of the details of all of that. So it's nice to kind of get the interaction between main thread, network activity, and back kind of into a single view. Yeah, that sounds awesome. Seems good. Next one? Yeah, Android.o. All right. All right. This site, you introduced this to me. Tell me about the story of what we're going to look at. Yeah, my friend Tracy sent me a message, and he said, hey, I think my site is kind of slow. And I loaded it on my phone. I was like, yeah, it seems kind of slow. Can you take a look? I said, sure. So let's take a look. Yep, yep, yep. All right, so I have it loaded here. Who's that guy? It's me. Who's that guy in the picture? It's me. That's cool. All right. All right. Normal looking web page, right? Like, I don't know. It's like a bloggy content. A lot of videos, some podcasts, some stuff. Pretty normal. What do you want to look at? Well, let's just reload this page real quick. And I'm going to have the timeline go here. Yep. I just want to show you how it feels. Should we just say command R? Command R. And just capture the page. So it's loading. Cool. Still notice the spinner going? Yeah, it's still there. OK. So what's happening? I think it's finished. And this is, again, this is on my laptop. Yeah. Like with good Wi-Fi. Yeah. So it took a little over 10 seconds to load. 10 seconds, yeah, yeah, about that. For all of the stuff to finish. Yeah. But though if we look at kind of what's happening here, we roll that out. It looks like this image finally came in right around here, like eight and a half, eight seconds. Sure. And then some other stuff. No, but like when I look at this, I see this crazy amount of yellow. And I don't understand what's going on. Yeah, like there's a lot of pastel colors. What is happening? I'm not quite sure. So I'm just like, what? Yeah. Yeah. Actually, the different colors, it's colored by file. So each file gets a different color. Then kind of get a sense like this is this file, this is this file. OK. So there's a lot of files operating a little JavaScript. That's correct. Yeah, yeah, yeah. So I look at this and I say, OK, there's a lot of JavaScript. I can dive in and look at each function, but that would take a while. So I kind of want to group. Yeah, you probably wouldn't want to just start looking at this 20 millisecond slice. So we want to get kind of an aggregate view. If you wanted to kind of see that, try this. Hit the bottom up right down there. OK, yeah. So what we have here is this is basically a summary of all of the costs of that ran on the main thread. And this is across everything. So you might be familiar, say for instance, if we kind of flip this off and go over to no grouping whatsoever. If you use the Profiles panel and done kind of like a typical JavaScript profile, you'll see like the bottom up view and these are the JavaScript functions, et cetera. What we have over here, well, one thing when you do that, at the very top, you always see program and parentheses. And you're like, I don't know what that is, but it seems to be taking a lot of time, right? So that is actually revealed all here. So this tells me that we're executing a lot of JavaScript. Yeah, we're executing JavaScript.  We're doing layout and recalc style and person style sheets, all these things. In addition to just running JavaScript functions, so there's a lot. So yeah, a good amount of work, all sorts of things. So this is a bit higher level than the diving in. A good amount. A good amount. OK, sure. But yeah, you switch that dropdown back to a grouping by domain because in this way, we can kind of just see by file, by domain, where our costs are. Good on a site like this where there's files coming in from different places. So we have this YT, which is YouTube, right? Yep, YT image is YouTube. And then we're spending almost two seconds in Add This code. Yep, yep. And we also got Chrome extensions on here too, which is nice because sometimes you want to actually see how much, like, what affect Chrome extensions that you have installed affect your page. That's a little handy. But yeah, these Add This and YouTube seem like a little higher. I get YouTube because these players, they have to construct each player and OK. But the Add This is weird to me. And I was playing around with the site and I saw that there's a button over here where you can click on the podcast and you get this little Add This widget behind a button. Wait, wait. The Add This cost, it's like two seconds. It's for, like, the share buttons that are kind of behind this click. Yeah, so it's a feature that's behind a click that, you know, primus users won't use. All right, OK. Two seconds. All right, all right, well, that's something. Well, Tracy wanted you to dig into this, so what do we do next? So what if we were to just disable the whole podcast stuff and just see what it feels like? It'd be good to just identify. We want to kind of reduce down and identify our key bottlenecks. And so yeah, it'd be good to take it out of the picture. So if we wanted to do that, what we could do is there's an experimental feature called request blocking where we can just say, like, just block these requests from going out completely. Oh, that sounds perfect. All right. So I'm guessing we'd go to network panel. And then look for pods. OK, so this seems to be the URL for these players. So you can right click and block request domain. And it's just going to kind of, yeah, the browser's going to not be able to issue these requests. So should we reload and capture the new thing? Yeah, let's do that. And I see that number jumped up to 13 here. So it's probably working. Yeah, exactly. Another thing that I will point out on our way over is we're doing this right now on our laptop. And the experience on a phone, like this is a responsive site, like it's the exact same thing that runs on a phone, it'll probably take a little bit longer than this. Like a little bit means a lot of it. Yeah, absolutely. So there's another new experimental feature that we can check out, and it's CPU throttling.  Now we can actually slow down how much time everything from JavaScript to layout takes to evaluate inside the page. So I don't need to plug in my phone to sort of experience what it's like on a phone? It'll slow it down, and that's useful. You should, if you care about performance, still plug in your phone. But this will give you a nice push in the right direction. Yeah, it's cool. All right, so we go back to our bottom up group by domain. Yeah, so we blocked all those requests. And at this, we removed this. We did remove this. I like the joke. I worked on it. It's growing on me. I like that. All right, what are we at as far as time and all this? So we dropped down to seven seconds now. Until main thread is kind of chill. Yeah, until main thread's idle, and I'm going to guess that things were ready before. That's not bad. All right, good. But we're still paying this YouTube cost. Yes, the YouTube cost is a little bit interesting. And I think, how is the embed done here? There's just the iframes. Iframe, iframe, iframe. It's typical iframe embed. Right. Yeah, but putting myself in that user headspace, I was thinking as a user, I typically want to interact with the first video first, and maybe not the last one right when the page loads. So what if we were to throttle the instantiation of these and sort of lazily load them using something like Intersection Observer? Like, when they entered the screen, we could build them and defer the work. I love all of that. You should do that. OK. Turns out I did. All right. Good, good. Very good. So you want to show us? Yeah, I have it running locally with the patch. So you just got this private GitHub, and you just like cloned it, made a patch. Wasn't that big? No, it was really small, actually. I think it's just here. It's just like, I mean, this is a total hack, but we loop over all these videos, and we just build the player objects. Yeah, yeah, yeah. Do a little, you know what you could have done instead of set timeout in 150? Do a little 1.5.e.2, a real class here. That would have been cooler. It's a dimensional notation. That would have been cooler. All right, so that's easy enough. Yeah, let's measure and check it out. Yeah, let's do a little timeline. OK. A little bit, yeah. Yeah, it seems better already. It does seem cutoff. I don't know what's up with that cutoff bit. But like, based on this, it looks like our page, like that one that first frame gets painted in there. Yeah, just like from the top overview, it looks completely different here. OK, and it's sort of hard to keep this in your head to look before and after, so we made some pictures. So before it looked like this, like, we were really doing a lot of work. Yeah. Yeah, a lot of work. A lot of work. Work, work, work, work, work. That's good. Yeah. Doing some, and then afterwards, we dropped it down. And the nice thing here is, so there's the aspect of the fact that there's doing less work, and that's important. But we're also, like, at the same time as evaluating how much work we're doing, we're also looking at kind of how visually available is the page. Right, yeah. And like, a combination of things, right? Because if there's too much work, then as a user, you're not going to be able to scroll, interact with it immediately, because we're busy waiting for the main thread to call me, right? So here we brought it down, and yeah, not bad. We went from nine seconds to that paint when a user could think that they could interact with it. Four seconds. Not bad, not bad. Not bad. Not bad at all. All right, so Sam and I, we like web stuff. We like doing these websites. Like many JavaScript people in the room, we also do a lot of JavaScript work on the server side, node. We've been building some projects recently, and we like to use tools to make sure that the code quality is really good. One of our favorite tools is ESLint. ESLint's good. Make sure the code looks the same everywhere. I love it, because we were fighting about line lengths and quotes. Two spaces, two tabs. Yes, yes. It's nice to put that all to rest. But we run ESLint sometimes, and we run it on our project, which is not like crazy huge. No, it's like a couple hundred files. And it felt like it was not going kind of the speed that we wanted. It was seven seconds, actually. Time did. Yeah. Seven seconds. So we wanted to, like, this happens to us, and because we are kind of performing to geeks, you? Geeks. Yeah. You can't help sometimes. You're like, I was doing something, but I got to go figure out what's up with it before. You were texting me at 1 AM, and you were like, Sam, why is it so slow? I think I think it. Maybe. No, that wasn't it. So what we're going to show you, we're going to try and look at this together. But I do have to put out a little disclaimer. Wait, did they announce this yet? So I need you guys to keep. We're going to show you. If you can keep a secret. We're officially announcing this thing, like, tomorrow. But you get a little bit of sneak preview today, if you're quiet. So we're going to show it? So yeah, yeah. Basically, we wanted to take the developer tools and the profiling experience and these tools that we know from the client side and be able to use them in this back on experience with Node.js. So we're going to go check that out right now. Yeah, that's good. All right, so I have our project here. Yeah, this is ours. And I just want you to experience this lint. Hook it up. You ready? Hook it up. Running, right? Yeah, it's running. Yeah. That's good. That's good. I won this. I won the staring contest right there. You did. That's all I did. I couldn't take it. All right, we're finished. Took a little bit. That's a little bit. Yeah, anyways, yeah, it took some time there. Yeah, so this is let's actually measure it with a profile. Yeah, it was a little bit faster. Let's measure it with a profiler to see what's really going on. All right, so I'm using my Node binary and I'm passing two flags inspect and debug break, which is going to pause us on the first line of the program. And I'm just running our lint. Yep. So, OK, I get a URL here. So I can open that in Chrome. I have it open already. And we'll just reload this page. So we connect to our Node. So what we have here is the Chrome DevTools, modern Chrome DevTools. Inside of Chrome. Inside of Chrome. And we're just talking directly to Node.js. So this is my Node program. Or this is ESLint. Yeah, yeah. Notice, like, Node elements tab, whatever. Like, we don't need that. Yeah, that's pretty cool. We've got a job to do. We've got to figure out what's going on here. Profile this. Let's profile it. OK, so I'm going to go over to the Profiles tab and I'm just going to record this CPU profile. And as soon as I record the CPU profile, as soon as you hit start, yeah. It's going to unbreak point. It's just going to run our program. So let's watch for when our program exits so we can stop our profile. And we'll go ahead. You know that if you can use Command E to start and stop these as well, if you don't want to click. Little pro tip. Done. OK, let's take a look. OK. Ooh, look at that flame chart. That is a great flame chart. All right, some good colors on here. But that's a lot of work again. 12 seconds of work. 12 seconds. Yeah, yeah, wow. OK, so interesting. All right, we want to just characterize the shape of this. At the end over here, we got kind of, I don't know, we got this green kind of world and process text. And we're parsing probably the files. Like we're looking at what's going on in the file. Like we're actually interpreting them and linting. Yeah, like the stuff. OK, so it was in way out. Good. And now I see this other group here, Globsync. Globsync, big group. Globsync. What's Glob? I think it's what gets all the files. It says, give me all the files in the project. Pass them down. Got it. Lint some. Just give me the files. Give me the files. Hook it up. But this is six seconds. There's a lot. What's happening at the bottom of this? Like what is the actual stuff that is taking time? OK, zoom way in. Zoom a bit in. All right, it looks like we're doing like a reader and reader and Golobstar. Let's click in. Just click? Yeah, sure. Yeah? Wait. Seems good. Is this nice? This is the source code. Yeah, yeah, yeah, it's the ESLint source. And we're just going to view it now from the profiles. Yeah. Oh, that's pretty cool. It's nice to have that in Node. Yeah, it's good.  What is this? Yeah, this is brand new. This is line level annotations of all of the performance work.  So we take those numbers and we actually say, hey, I want to know. I want to see what that looks like against my source code. And so like Globsync, right? And I'm just going to click in and see actually what is happening there. But not only per function, but at the line level as well. So we're able to see between functions and lines where I'm spending time on the CPU doing work. So it's kind of like a perf gutter. It's like we put the performance work in the gutter of the editor. It's like a perf gutter. It's like a perf gutter? Perf gutter. Yeah, it's like a perf gutter. Perf gutter. I like that. We can call it that, right? It's a thing. OK, I named it. IO 2016 Perf gutter. We're doing the work here. We're doing the work. Perf gutter. And actually in the other files that we have, the numbers are smaller, right? So all the work is happening in here, like in the kind of globbing we're moving around the file system. Paul Lewis once said, the performance is the art of avoiding work. And I feel like that is some work that we can avoid, right? Do you have any ideas on how we could, you know? Well, let's zoom way out here. And sort of look what's going on. And we see that it all kind of starts in this list files to process function. Stops down into this anonymous function, so let's click in again and see just what's happening. And this is a lot of code. It took me a while to read it. So you made me some artisanal, handcrafted, Paul Irish graphic. What's going on here again with the help of my graphics? Yeah, you're welcome. OK. So this is what's happening in that function block. We call ESLint, which is going to learn our code. It calls glob.sync on our project and gets all 26,000 files of JavaScript, which include node modules and all the vendor stuff. Yeah, third-party stuff. And then it passes each one of those files into this filter, which it reads in our ESLint ignore to know what to not pass on, like node modules. And then at the very end, we get 30 files. It's like, lint these 30 files. Does it, yeah. So that's something. That's cool. That's one way to do it. That's fine. Is there any way to improve it? Well, I was looking at the glob options because doing the filtered ourselves seems like too much work. And glob takes an ignore. Ooh. You can give a black list of what should be ignored to the glob function. Yeah, so it's like, hey, should I even look at the node modules folder? And it just doesn't. It doesn't. Oh. That seems like a good approach. Yeah, it does. So ideally, it might look like this. We call ESLint. It reads in our ESLint ignore, constructs this filter object, it passes that to our glob.sync, and we get 30 files. Yeah. And the nice thing here is that we were looking at all that self-time doing the traversal and stuff. Now it's like, node modules? Nope.  OK. So that seems good. Let's try it out and measure it and see. So I have a branch where I've actually made this patch already. I like it. OK, here we go. So let's rerun our profile and see what kind of impact this had. Run it. So back to that measure step, right? Measure it again. So here we are in the source. Let's start our profile. You know you can hit Command D. OK, we're finished. Wait, wait, wait, what? Yeah, we're done. Wow. OK, cool. Yeah, I still see that green area where it's doing the linting at the end and then that bit before where that bit before it. But there's no blob anymore. I mean, I think it's in here. I think it's there. Oh, there it is. Oh, wait. That's nice. 144 milliseconds now. That's good. And so before we're looking at, well, it's like 11 seconds in total for that run. That's pretty good. All right, cool. So for our project, we'll just hack that thing. Yeah, I can email you the patch. OK, I'll play it. Maybe we should contribute it back to the community. I have to open a pull request. It's the right thing to do. I have to take pictures and attach them and write words and choose at least four emojis. There's some work there. I know we're busy with this, but maybe later, you could do it. OK, I'm just going to say that I started. I started doing it. Oh, good. Like, sooner the better. All right, you want to do it now? Yeah. Do it now? Yeah, I would just do it now. OK, here we go. Oh, all right, rad. All right, so note the unicorn emoji. Always the unicorn emoji. Those are good. Smart stuff. Not bad. So interview, Paul, what did we learn today? Yeah. What did we go over? Good amount. From being able to coordinate between what's happening on the network activity in the main thread, understanding, categorizing the kind of work that's happening, understanding the interactions that the browser is receiving and coordinating that with my work, and then being able to take all that kind of performance stuff and then actually be able to use the same kind of stuff in Node.js. It's pretty awesome. Some good stuff. Some good stuff. So yeah, we're really excited about some of this stuff. Happy for you guys to start using it. Let us know what you think. Some good things. If you have any questions, you can find us on the internet. That works. Yeah, cool. Thank you guys very much. Appreciate it. Thank you.


Hi, my name is Archana Madovan and I translate from Korean into English. In 2022, I participated in the Ulta Emerging Translator Mentorship Program as the mentee for Korean poetry under the guidance of Jack Jung. This program was an incredibly worthwhile experience for me because it offered me a path into a world that felt very distant and unreachable. My academic background is in science and technology and I currently have a day job in the tech industry, so aside from a few workshops and panels I've attended in the past, I'm mostly self-taught as a literary translator. So during the Ulta Mentorship Program, I had four poems and translation published, as well as my first book-length work. One of those publications was a direct result of the valuable feedback I received from my mentor. In November, I also had the opportunity to travel to Tucson to meet my fellow program mentees and the mentors for the first time in person. Being able to connect face-to-face with my fellow translators and future colleagues in this dedicated time and space made me feel a real sense of community that I hadn't felt before. In addition, the opportunity to read my translation to an audience helped me foster an even deeper connection with the poet I'm translating as well as build my own confidence. The poet I'm translating was delighted to be able to watch the recording from her home in Korea and she told me she couldn't wait to hear more of my work. I think that's the first time I started to feel like a real translator. None of this would have been possible for me without the support of Ulta. I hope that you'll consider making a donation to help Ulta raise $15,000 by December 21st so these gatherings can continue in the future. Thanks!


A very good evening aspirants, welcome to Hindi newspaper analysis brought to you by Shankar AAS Academy for the date 1st of February 2023. And displayed here are the list of articles that we are going to discuss today. See as we all know, yesterday economic survey for the year 2022-2023 was released and a lot of articles today will be based on the economic survey only. Now without any delay, let's get into the article's discussion. Today let us start our discussion with this friend page news article. The news article contains some of the key points mentioned in the economic survey 2022-23. It also includes some of the snippets taken from the Chief Economic Adviser's speech yesterday. So in this discussion, we'll try to see the important points given in this news article. Firstly, the economic survey of India says that Indian economy's growth rate is going to be at 6.5% for the fiscal year 2023-2024. And it has said that the growth for the current fiscal year that is the 2022-23, it is at the 7%. And the Chief Economic Adviser of India yesterday in his speech cited that the economic recovery in India has finally concluded. This he said after seeing the economic growth given in the economic survey of India. He is of opinion that India from now on need not worry about the recovery and push forward to attain an increased rate of growth. This is because India has already attained the recovery. Now look at this graph here. The graph shows the real growth percentage of India. As I said already, after a slump created by the COVID in the growth percentage in the year 2020, India was able to maintain a growth percentage of over 5 in the years 2021 and 2022. So this is the dip rate because of the COVID. And after that, more or less India has maintained the growth rate of 5. Now moving on to the next graph. This gives information about the inflation rate in India from January 2021 to December 2022. And from this graph, we can see that there is a huge inflationary trend in India for most part of the years in 2021 and 2022. See both the consumer price index and the wholesale price index has remained high during this period. But as you can see, both of them started to spiral downwards towards the end of the last year. See the survey says that it expects the inflation to remain under the upper threshold for the year 2023. Here note that the upper limit of CPI is 6 percentage and monetary policy committee of RBI through which monetary policy tries to keep down the inflation in our country below this particular level that is below 6 percentage. Now what do you think was the average inflation rate of last year? See the average inflation recorded in India for the year 2022 is 6.8 percentage. From this what we can say, the inflation rate is 0.8 percentage higher than the upper limit. But there is a silver lining here because the survey said that this 6.8 percentage is not high enough to deter the private consumption which means that even though price of some goods were slightly higher, people in India did not stop their consumption. Since the consumption in India never weakened, there was an inducement to the private companies to invest further into the economy and this only has ultimately resulted in a good growth percentage for Indian economy. See till now we have seen about the growth rate of Indian economy and also about the inflationary trend in India for the past few years. Now let's move on to see about the current account deficit of India. See lately India has been experiencing a slowdown in the exports. At the same time there has been an increase in imports of goods into India and because of the combined effect of these two, India is running a current account deficit. See when imports is more than exports, then current account deficit will happen. If you want to know more about current account deficit, you can watch our 19th of January 2023 Hindu News Analysis. Now coming back, see running a current account deficit is not good for an economy. India has a high current account deficit because of its huge value of import of crude oil and according to the economic survey, if India can maintain its current account deficit within a range of 3% of its GDP, then it will be in a good position. See one of the major drawback of having a high current account deficit is depreciation of rupee. It means the value of rupee will keep on decreasing. So India needs to make sure that exports from the country are increasing to maintain a manageable level of current account deficit. And this is all about the information about current account deficit given in the economic survey. Now further, the survey stresses the need for increasing the spending on infrastructure. Here note that increasing infrastructure has huge multiplayer effects on the economy. Other than this, fiscal consolidation and encouraging women employment are the areas in which the government of India has to stress upon according to the economic survey. Here the term fiscal consolidation refers to a policy action which results in the reduction of fiscal deficit of the government. Now that's all for this discussion. In this discussion, we saw some facts given in the economic survey that is given in the article. We saw about growth rate, we saw about the inflationary trend, we saw about current account deficit and finally we ended our discussion by seeing the steps to be taken by the government of India. Now with these points in mind, let us move on to the next article discussion. Now look at this article here. It says that as per the economic survey, startups are being envisioned as the spine of new India. This is because startups have encouraged youth to become job creators rather than the job seekers. As per the survey, India has emerged as one of the most vibrant destinations for the startup ecosystems. See the country now has more than 84,000 recognized startups and this is the crux of the news article given here. See what we saw just now is the information given in the economic survey but in this discussion we will see about the basics. We will see what is the definition for startups in India. See there are certain conditions to be filled to be considered as startups in India. The first condition is that the entity should be incorporated as a private limited company or it should be registered as a partnership firm or a limited liability partnership in India. Secondly, it should not have completed 10 years from the date of registration and the third condition is that the turnover of the entity should not exceed 100 crore rupees for any of the financial years since registration and the fourth condition is that entity should be working towards innovation, development or improvement of products or processes or services or the entity should be a scalable business model with the high potential of employment generation or wealth creation and the final condition is that the entity should not be formed by splitting up or by reconstructing an existing business and if the entity comes under any of these conditions then it is considered as a startup in India. See if an entity fits under this criteria they can register themselves as startup under the startup India scheme. Under the scheme eligible companies can get recognized as startups by the DPIIT. Here DPIIT is the department for promotion of industry and internal trade. See if the entities are recognized by DPIIT as startups then they can avail some benefits and what are all the benefits that can be availed by the entities which are recognized as startups by DPIIT some of the benefits include relaxed norms tax benefits that is tax exemption easier compliance access to funding like the mudra scheme IPR tracking and easy exit. Now that's all regarding this article. In this article we saw about the information given about the startups in the economic survey and after that we saw definition of startups in India and finally we ended our discussion by seeing some of the benefits that can be availed by startups which are recognized as startups by DPIIT. Now with these points in mind let us move on to the next article discussion. Now look at this editorial article it talks about the economic survey that was released yesterday. The author of the article criticized the document saying that it looks like a report caught on the government's performance and he also says that some parts of the survey looks like BJP election manifesto. Now you may wonder then how should a survey be you'll get the answer for it during the course of the discussion but before that kindly go through the syllabus that I have highlighted here for your reference. Now we'll start from the basics what is an economic survey see the economic survey is a detailed report on the state of national economy in a particular financial year that is coming to a close. See now we are in February which means we just have one month before the end of the financial year 2022 to 2023 and the next financial year begins on April 1st 2023 and since this financial year is going to end we have to know how the economy has performed in the last year before we prepare ourselves for the next financial year. Now why is this document so significant see the economic survey gives a detailed account of the inflation rate the trends and key segments such as industry infrastructure agriculture foreign exchange reserves and so on and it also mentions the possible economic challenges that India might face in future and suggests measures to overcome them so it basically acts as a platform for suggestions and ideas for the upcoming economic policies and discussions and this is one another reason why the author is so enraged see he feels that the document is a dry compilation of data to substantiate the government's economic performance he says that economic surveys in the past had put out various ideas like for example the idea of universal basic income put forward by the 2016-17 economic survey see many ideas and suggestions were not well researched policy ideas but at least they triggered a debate and forced the policy influences to think about these issues but according to the author the economic survey of 2022 to 2023 did not provoke any such discussion see here I'll get you through some highlights of the survey before seeing the critical view of the author see the economic survey says that India's GDP growth is expected to remain robust in financial year 2023 at 7 percentage and it also says that India would remind us the fastest growing major economy and the GDP forecast for financial year 2023 to 24 will be in the range of 6 to 6.8 percentage the survey projects a baseline GDP growth of 11 percentage in the nominal terms and according to the survey credit growth to the MSME sector has been high over 30.5 percentage on average in the previous year and the survey rises a caution about the depreciating rupee and also the survey talks about the current account deficit and it said that current account deficit may continue to widen because the commodity prices remain high around the world and according to the survey the electronics exports have risen nearly three fold and the government's finances have shown a good performance in this financial year and then the survey says that there has been enhanced lending by the financial institutions due to their clean balance sheets brought by the efforts of the government and further the economic survey highlights that credit disbursed by non-banking financial companies have been on the rise now talking about the social sector the survey says that the sector has witnessed significant increase in the government spending and then the survey talks about the recovery of the labour markets which suffered highly due to the pandemic and further the economic survey says that the year 2022 saw improvement in the gross enrollment ratios in schools and improvement in gender parity and then the private investment in agriculture has risen to 9.3% in 2021 and another major highlight is that the service sector is expected to grow at 9.1% in fiscal year 2023 as per the survey see these are some of the highlights of the economic survey 2022 to 2023 see these points they may seem a little overloading it contains only of data right but these data only gives you a picture of how the Indian economy has performed in the last fiscal year and this is also one another concern of the author because the author says that economic survey just contains only data of the government's performance and it does not contain any ideas or suggestions for the future year see I have given here the important points in the economic survey you also go and read the economic survey and take note of the other points that I have missed here now with this note we'll try to understand why the author of this article sharply criticizes the survey like I said already firstly he says that the economic survey has only data points and these points seek to portray a good image of the government's economic management and it blames the previous regime for all of its ill measures and then he says that the survey has projected both the GST and the corporate tax cuts of the 2019 as a great move see GST and corporate tax cut means reduction in the amount paid as taxes okay see according to the author this is a misguided information see although GST regime has improved the tax buoyancy there are some disadvantages associated with it but instead of discussing the disadvantages associated with it the survey has projected that both GST tax and corporate tax cuts of 2019 as great moves and this is the second criticism of the author and thirdly he says that an analytical discussion on the employment intensity of contemporary economic growth models and ideas to boost the job creation is missing in the survey so according to the author contemporary economic growth models and ideas to boost the job creation is not given in the survey and finally the manufacturing gross value ordered grew only at four percentage even before pandemic hit and here the economic survey blames it on corporate indigestion from too much debt accumulated during the previous regime and these are all some of the criticisms of the author regarding the survey however the author also says that survey had some new and interesting data regarding housing market digital infrastructure etc and putting out such large amounts of economic data in the public domain is itself is a good effort to be appreciated and while concluding the author says that economic survey is the only medium in the country for a rigorous thoughtful discussion of new economic ideas therefore he's saying that it should be a doctoral thesis on the economic roadmap to trigger discussion in the public sphere so what is the author doing here he's not blaming the economic survey he's just saying that what are all should be there in the survey so that Indian economic can benefit from it so that's all for this article in this discussion we saw about what is economic survey its significance and we saw some of the key highlights of the economic survey 2022 to 2023 and after that we saw some of the criticisms of the author regarding economic survey and finally we ended our discussion by seeing the author's idea of how the economic survey should be now with these points in mind let us move on to the next article discussion now look at this article here it talks about the growth potential of electronic vehicle industry in India according to the economic survey it is estimated that India will be producing at least 1 crore units of electric vehicles before the year 2030 and subsequently this particular industry will also be generating 5 crore new jobs here note that government of India has previously enhanced the budgetary allocation under the faster adoption and manufacturing of EVs scheme and this is only famously known as a fame see this has been done to aid the growth of electric vehicles industry in India as you all know there is a huge uproar among the world countries opposing the usage of fossil energy based vehicles and this opposition is due to the global warming potential so to move away from this fossil energy based mode of transport to clean based mode of transport production of electric vehicles becomes important and this is why there is a huge demand for electronic vehicles around the globe and considering this situation only Indian government has increased the budgetary support towards this particular industry that is the electric vehicle industry see the economic survey which was released yesterday says that the budgetary sum was raised to 10,000 crore under phase 2 of fame from only 895 crore in phase 1 see as I already said the budgetary sum has been raised significantly from phase 1 to phase 2 considering the situation in the global market we saw why adoption of electric vehicles is important right because use of fossil energy based vehicles they are harming the environment and they are contributing to the global warming and considering this only India has increased the budgetary support see the increase in allocation is very huge nearly 11 times the money allocated to the EV industry in India has been increased in the second phase of the fame scheme and this is all about this small article given here see this article is very important because it has information about the electric vehicle industry that is given in the economic survey take note of it and use this point in your mains answer wherever it is relevant okay in this discussion we saw about electric vehicle industry in India the information given in economic survey we saw why adoption of electric vehicle is significant and what is the budgetary support of India towards the fame scheme that is the faster adoption and manufacturing of electric vehicles now with these points in mind let us move on to the next article discussion now look at this editorial article here it talks about solar energy India is currently very enthusiastic about the climate change agenda and is fully embracing solar energy now such a change is timely but unrealistic see most of the time we see editorials which suggest fast adaptation to solar power but differently this article talks about why India should not give up on large hydropower and coal projects see I have taken this article today for our discussion because while writing an answer you should know all perspectives right you cannot just support solar energy and write your points what if the question is asked like critically analyze so at that time you have to write both advantages and disadvantages right so in this discussion we will see what the author has given regarding large hydropower projects and coal projects and the adaptation to solar power but before that the syllabus relevant to the article is highlighted here please go through it now let's start with what are all the applications of solar energy see solar power or solar energy is the energy from sun see solar energy converts heat energy from the sun into thermal energy or electrical energy see the heat to electricity conversion is done using photovoltaic cells remember solar energy is the most readily available and free source of energy and it is one of the cleanest and most abundant renewable energy sources available so to sum it up solar energy is a free energy which is renewable reliable and it reduces the utility cost now moving on solar energy can be classified into two categories and these categories are based upon the mode of conversion and type of energy it is converted into see the types passive solar energy and active solar energy belong to the mode of conversion and they can be converted into solar thermal energy and photovoltaic solar power and concentrating solar power see here passive solar energy refers to trapping the sun's energy without using mechanical devices you're just trapping the sun's energy and converting the heat into thermal power and the active solar energy uses mechanical devices to collect store and distribute energy now look at this image here it'll help you understand what is passive solar system and what is active solar system now coming to the next category solar thermal energy see it means the energy that is obtained by converting solar energy into heat and the photovoltaic solar power it is the energy obtained by converting solar energy into electricity on the other hand concentrating solar power is a type of thermal energy used to generate solar power electricity and these are all the different types of solar energy see despite all such advantages the author of this editorial tells that the solar energy is not the best option for India and there is a prevailing misconception that the cost of power generated through solar energy is coming down and it is close to the cost utilized by coal see here there are two flaws the first flaw is the place where both are compared see solar power and coal electricity they are incorrectly compared at the load center rather than at the pit head where the costs are half as high here load center is used in the residential and light commercial applications to distribute electricity supplied by the utility company throughout the home to feed all the branch circuits so this is where load center is in the residential and light commercial applications and the pit head is the entrance to coal mine we all know that moving electricity through high voltage wires is cheaper than moving coal right so comparing the solar power and coal electricity at the point of distribution will show false figures and it gives us an illusion that the power cost of both the solar power and the coal electricity are equal so the author of the editorial is saying that if we are going to compare solar power and coal electricity we should not do it at the point of distribution rather he is suggesting that we should do it at the point of entrance this means that we should weigh in factors like how coal is harvested and converted to electricity how solar energy is harvested the equipments used for it the cost of harvesting and how it is converted to electricity and this is the first flaw secondly the author is saying that we should compare like with like have you heard about people using apples and oranges see this phrase is used when some people compare two entirely different things and this is what author is also saying here he is saying that like things should be compared with other like things see solar electricity is intermittent and coal electricity is continuous so how can we compare these two and while calculating the cost we have to add the cost of storage by battery but it is left out which also shows that the cost of solar power is almost near to the cost of coal generated electricity we all know battery is used in the case of solar electricity right like I already said coal electricity is continuous it can be generated all the time but solar electricity is not like that it can be generated only when sun is available so the author is saying that we cannot compare these two itself in the first place so the author is saying that solar energy is made financially viable to misguide people and it is done by omitting the cost of storage batteries and inhibiting the sector with great proportion of government subsidies and concession and in some cases the government has forced the solar energy adoption on the industry and discounts through state policy but in reality the program is making slow progress so these are all some of the points mentioned in the article by the author and so far we have seen about the reasons for the misconception about the solar energy now we shall see why we should not give up on the large hydropower and coal projects see India and China appear to be in competition with one another for the production of more renewable energy and this competition is encouraged by the west as well and most importantly we have huge potential to produce more renewable energy in hydropower which is both least expensive and most carbon efficient for example US have used 90 percentage of its hydropotential that is Europe have used 98 percentage of its hydropotentials but India it has only utilized about 15 percentage of its hydropotential so utilization of these hydropower appears to be a measure of civilizational evolution and development see in the case of China it also supports renewable energy but it has not given up on the coal and hydropower I'll give you an example the largest hydroelectric project in the world is the three gorgeous project in China's Yangtze river so to conclude we should support large hydropower projects in India why we should do this because it has huge potential to produce renewable energy and it is least expensive and most carbon efficient now that's all for this discussion in this discussion we saw about solar energy its application its different categories and we saw why solar energy is not the best option for India we saw the two flaws in comparing solar power with the cold electricity and finally we ended our discussion by seeing why India should not give up on hydropower projects now with these points in mind let us move on to the next article discussion now look at these two articles the first article the industry study recovery chapter in the economic survey has a small part dedicated to the shipbuilding industry and this article is explained in that context now look at this news article it reiterates the points related to education from the chapter social infrastructure and employment big tent now we'll understand what these articles say about shipbuilding industry and education sector and some important points in the economic survey firstly we'll see about the shipbuilding industry see the shipbuilding industry is a strategically important industry due to its role in energy security national defense and the development of heavy engineering industry and the shipbuilding industry also has the potential to strengthen the mission of Atma Nirbar Bharath and because of these significances as per the economic survey it is imperative to invest in the shipbuilding industry here marginal consumption to GDP ratio is important i'll tell you what it is as of now we'll take a number as an assumption for this ratio okay we are going to take 0.45 as the marginal consumption to GDP ratio for the shipbuilding sector see this value is nothing but the change in the consumption with respect to change in GDP so this ratio indicates how consumption is changed with respect to change in GDP okay now with this figure we can calculate the investment multiplier which is equal to 1 divided by 1 minus 0.45 that is 1 minus marginal consumption to GDP ratio see this investment multiplier gives the value of 1.82 so what is the significance of this investment multiplier i'll tell you with an example see if we are going to invest an amount of 1.5 lakh crore in the naval shipbuilding project then we can get an amount of 1.5 lakh crore into 1.82 is equal to 2.73 lakh crore in the shipbuilding sector see how the investment is multiplied right we are investing 1.5 lakh crore and after the investment multiplier effect it has given 2.73 lakh crore in the shipbuilding sector and this is due to this multiplier effect so again quoting this marginal consumption to GDP ratio the economic survey is saying that it is imperative to invest in the shipbuilding sector see many actions have been taken in this regard the survey says that indigenization initiatives implemented by the indian navy have resulted in a significant infusion of economic activity and this economic activity is triggered by creating employment opportunities for micro medium and small enterprises and other industries because if we are going to indigenize our products then obviously we are creating employment opportunities right for instance the recently commissioned aircraft carrier ins vikrant engaged approximately 500 ms me's 12,000 employees from ancillary industries and 2,000 shipyard employees see how indigenization initiatives linking many sectors like ms me's and other ancillary industries and how they are creating employment right and besides benefiting the ancillary industries and creating massive employment opportunities the indigenous shipbuilding industry can also reduce the freight bills and foreign exchange reserve out go see if we are building our ships here itself then we will use products from the domestic manufacturers right and this will obviously reduce the import bill which in turn will reduce the spending of the foreign exchange reserves what will happen if the import bill is less it will reduce the current account deficit so due to all of these reasons strong forward and backward linkages of the shipbuilding sector play an important part in the creation of self-reliant india and this is about the first article now we'll see what the second article says see the budgetary allocation for education has dropped over the past seven years it has dropped from 10.4 percentage to 9.5 percentage as per the economic survey and the other important information about the education sector given in the economic survey is about the school dropout rates in the year 2019-20 the total dropout rate in primary school was 1.5 percentage which fell to 0.8 percentage in 2020 to 2021 but it rose back again to 1.5 percentage in 2021 to 2022 then in the upper primary classes the dropout rate fell from 2.6 percentage in 2019 to 2020 to 2.3 percentage the following year but it rose to 3 percentage in 2021 to 2022 and as far as higher education is concerned the number of medical colleges in the country increased from 387 in 2014 to 648 in the year 2022 and the number of MBS seats have increased from 51,348 to 96,077 and according to the survey the number of Indian institutes of technology rose from 16 to 23 between the years 2014 and 2022 overall in 2014 there were 723 universities in the country and the number has now increased to 1113 and the next part is about the total enrollment see as per the survey the total enrollment in higher education has increased to nearly 4.1 crore in financial year 2022-2021 so since 2014-15 there has been an increase of around 21 percentage in enrollment but the sad part here is that the share of education reduced from 42.8 percentage to 35.5 percentage between the fiscal years 2015-16 and 2022-23 and this is according to the budgetary documents see the reduction in the education sector is a result of higher spending on health and other measures due to covid-19 pandemic and this is the reason cited by the survey for the reduction of budgetary allocation to education now that's all for these two articles here in this article we saw about the shipbuilding industry its significance and the marginal consumption to GDP ratio and how it is utilized for increasing investment in the shipbuilding sector and after that we moved on to see about the actions taken by the government in this regard and finally we ended our discussion by seeing some of the education related information given in the economic survey now with these points in mind let us move on to the next article discussion now look at this article here this is about the pharma industry in India see the pharma industry or pharma sector is very important for any country particularly its importance is felt by all countries in the world during the pandemic here in this discussion we are also going to concentrate on information about pharma sector of India that is given in the economic survey see in the economic survey 2022-23 it is said that India's domestic pharmaceutical market was estimated at 41 billion dollars in the year 2021 but now it is likely to touch 130 billion dollars by the year 2030 and this information is only given in the title of the article see as per the survey India's pharmaceutical industry was ranked the third worldwide and it is in the terms of production of pharma products by volume and India's pharmaceutical industry was ranked 14th by value see in terms of production by volume it was ranked third and in the terms of value it was ranked 14th see Indian pharmaceutical industry was the largest provider of generic medicines globally it has a 20 percentage share in the global supply by volume and apart from this Indian pharma industry is regarded as a vaccine maker with a market share of 60 percentage globally see we made Covaxin, ZycovD and many more see we did not just make it we also supplied it to other countries which were in need of vaccine during the pandemic see these are all the informations about the pharma sector of India in the economic survey 2022-23 apart from this the survey has also given information about the growth in the industry see as per the survey the pharma exports made a healthy growth of 24 percentage in the financial year 2021 and this growth is attributed to the COVID-19 induced demand for critical drugs and other supplies and the exports are made to around 150 countries based on the demand and as per the survey the exports remained robust in 2022 also despite the global trade disruptions and a drop in demand for the COVID related treatments see the survey cites for this growth one is the investor friendly policies and a positive outlook for the pharma industry in India and due to this foreign direct investment in the pharma sector crossed the 20 billion dollar mark by September 2022 and the second reason is that government had taken several steps to improve the infrastructural facilities for the pharma sector some of them include scheme for strengthening of pharmaceuticals industry SPI protection linked incentive scheme for pharmaceuticals etc now that's all for this article discussion in this discussion we saw about the significance of the pharmaceutical industry and we saw some of the information given in the economic survey 2022-2023 about the India's domestic pharmaceutical market and after that we saw about the growth in the pharma industry and finally we ended our discussion by seeing the reasons for the growth in the pharma industry now with these points in mind let us move on to the next article discussion now look at this article here what is the title of this article see out of pocket health spending is nothing but the money spent by the individuals or the households in the hospitals that is at the time of receiving health care imagine that someone is having fever then what they will do they'll go to the hospital and cancel the doctor right and at that time they will pay the doctor fee and the money for the medicines no and this is only the out of pocket health spending this expenditure is incurred by the individuals or the households right and they are taking it out of their pocket and giving it to the doctors or the hospital facility and according to the survey this out of pocket expenditure is still high despite the contribution of the government see generally out of pocket health expense increases in two cases one is when services are not provided free of cost through a government health facility then the out of pocket health spending will increase and the second case is that when an individual is not covered under any public or private insurance or any social protection scheme then the out of pocket health spending will increase and these are the two cases where out of pocket health spending will increase but look at this graph no this graph shows the government health expenditure and the out of pocket expenditure as a share of total health expenditure now if you can see this graph you can easily understand that the government's contribution in the health sector has significantly increased from 2013-14 in the fiscal year 2018-19 and all the gap has reduced significantly right see for the year 2018-19 India's total health expenditure was estimated at 5,96,440 crores and moreover the government is providing the largest cashless health insurance scheme can you guess what it is yes but despite all these measures the out of pocket health spending is still high see as you can see the government health expenditure for the year 2018-19 is 40.6 percentage of the total expenditure while the out of pocket expenditure remained higher at 48.2 percentage so what is the reason for this see the Aishman Bharath Jan Aurogey Yojana targeted approximately 50 crore beneficiaries but as per the survey only 21.9 crore beneficiaries have been verified including three crore beneficiaries verified using state IT systems see this is less than 50 percentage of the targeted 50 crore beneficiaries under the scheme right and this is the main reason so what should be done here the health insurance scheme of the government should be promoted well and it should be taken to the nook and corner of the country secondly the reason for the higher out of pocket expenditure is reduced budgetary allocation see it has been recommended several times that the government's health expenditure should be raised from the existing 1.2 percentage to 2.5 percentage of the GDP by the year 2025 so this increased budgetary allocation should be ensured now that's all for this article in this article we saw about what is out of pocket spending and what are all the reasons for the higher out of pocket health expense we saw the government's contribution and we saw the government's cashless health insurance scheme and finally we ended our discussion by seeing what should be done to reduce the out of pocket health expenditure now with these points in mind let us move on to the next article discussion now let us take this article for our discussion see yesterday the Metra's High Court ruled that the Kula certificates issued by private bodies are invalid in law so if a Muslim woman need a Kula certificate then she has to approach only the family courts and not any self-declared private bodies such as Shariat council here Kula means divers and the Shariat council are nothing but a private body which consists of a few members of the Jammat see this is the crux of the news article given here here we are not going to see about the issue or the certificate or about the council but in this discussion we are going to see a few facts about the family courts see family courts are specialized courts that were established under the Family Courts Act 1984 see this was enacted with the view to promote consolation and secure speedy settlement of disputes relating to marriage and family affairs and for the related matters see the primary goal of the family courts is to preserve the welfare of the family by using a multi-disciplinary strategy to resolve family issues within the framework of the law secondly it was also established to remove family and marital disputes from the overburdened and traditional courts of law and place them in a simple court where a lay person could understand the procedure so basically the two pillars upon which the entire structure of family courts is built are counselling and consolation now talking about the appointment of judges to the family courts see the state government may with the concurrence of the high court appoint one or more persons to be the judge or judges of a family court now remember these courts work in a pattern where on one hand individuals legal rights are protected and on the other hand they serve as a guide helper and counsellor to help families deal with the problems and restore family harmony so basically these courts perform two roles one is protection of the legal rights of the individuals and the other one is providing counselling to the families to deal with problems and restoring harmony see sometimes all these cannot be done by family courts alone right in some scenarios they need the help of other institutions or other experts and that is exactly why the state government can provide the family court institutions or organizations engaged in social welfare persons professionally engaged in promoting the welfare of the family persons working in the field of social welfare and any other person whose association with the family court would enable the family court to exercise its function or jurisdiction more effectively in accordance with the act so the state government may provide these institutions or these people to help the family court now finally before concluding this discussion let us see some of the unique features of the family court firstly family courts are free to evolve their own rules of procedure that is it can override the rules of procedure contemplated under the code of civil procedure see this is because they are built upon the principles of counselling and conciliation sometimes the terms of conciliation cannot be brought under the existing legal law right and that is exactly why they are free to evolve their own rules of procedure secondly the cases are kept away from the formal legal system this is because the experience of a formal legal system can be very traumatic experience for the families and it may lead to personal and financial losses which will have a devastating effect on human relations see whenever a matter is resolved by an agreement between the two parties then it will reduce the chances of any further conflict right and that is exactly why family courts give more emphasis on settling the disputes by mediation and conciliation and the third important feature is their method of working see the actual proceedings before the family court are first referred to conciliation and only when the conciliation proceedings fail to resolve the issue successfully the matter will be taken up for trial by the court here the conciliators or professionals who are appointed by the court and without the express permission of the court a party is not entitled to be represented by a lawyer as well and this is the third unique feature and finally once a final order is passed the agreed party has an option of filing an appeal before the high court and these are all some of the features of the family court now with this we have also come to the end of this particular article discussion in this discussion we saw about the establishment of family courts its objectives and after that we saw about the appointment of judges we saw about the working of family court and finally we ended our discussion by seeing some of the unique features of family court now with these points in mind let us move on to the next part of the discussion that is the practice prelims question discussion see today we have three prelims questions I will solve two of them and one of them is a quiz question for you now let us take this first question consider the following statements statement one the total number of universities in the country has remained the same in the last 10 years see from our discussion we know that statement one is incorrect we saw that in 2014 there were 723 universities but now the number has increased to 1113 statement two India has achieved the milestone of six percentage of GDP spending on education last year see this statement is also incorrect in 2021 to 22 the budgetary allocation for education spending by the union government and the states combined was far less at 3.1 percentage of the country's GDP and this large gap between the six percent target and the actual status of investment has remained for many decades now so no India has not achieved the milestone of six percentage of GDP spending on education so the correct answer to this question is option D neither one nor two now moving on to the second question consider the following statements with reference to family courts statement one the setting up of family courts and their functioning comes under the purview of state governments in consultation with their respective high courts see this statement is correct the setting up of family courts and their functioning comes under the jurisdiction of state government and they consult with their respective high court for this matter statement two these courts are governed under the state legislation see this statement is incorrect family courts act 1984 was enacted by center and it only governs the family courts recently Lok Sabha has passed the family courts amendment bill 2022 to establish family courts in Himachal Pradesh and in Nagaland so these courts are governed under the central legislation now moving on to the final question see aspirants this is only the quiz question for you read the question carefully think about it for a minute and post your answer in the comment section see aspirants I have given here the mains practice questions so if you are interested write it and post your answer in the comment section and if you have any queries related to the articles that we discussed today post that also in the comment section and with this we have come to the end if you find the video useful like share and comment and do subscribe to Shankar IA's Academy's YouTube channel for further updates thank you


Hello, everyone. I am Terry Piggott. I am delighted to be giving the keynote at this year's conference. As you can see from the slide, I am a professor at Georgia State University in Atlanta, Georgia, and I have a joint appointment in the School of Public Health and the College of Education and Human Development. And the title of my talk today is Synthesizing Communities, Improving Evidence Synthesis through Collaboration. And what I want to do today and our short time we have available is to talk a little bit about my career, my 30 plus years in evidence synthesis and meta-analysis. I'm going to share with you a few of the key learnings that I've had in my work, particularly my work through collaborating with others who are also working on evidence synthesis. So let's start at the beginning. I first got into evidence synthesis when I became a graduate student at the University of Chicago. This is a picture of one of the buildings, IV covered buildings of the University of Chicago, where I was getting a degree, my PhD in a program called measurement evaluation and statistical analysis. And when I first got to the University of Chicago, I was of course assigned an advisor. And that advisor was some guy named Larry Hedges. Those of you who, those of you might know who Larry Hedges is, those of you who don't. If you do any work in evidence synthesis and use standardized, the standardized mean difference as an effect size, there is an effect size called Hedges G. That's Larry Hedges. Hedges G is a small sample correction for a standardized main difference. Okay, great. The first thing I did when I arrived at the University of Chicago was help Larry, and his advisor Ingram Olkin, edit and do all the examples for this book called statistical methods for meta analysis, which was published in 1985. So, I was there, I guess, at the be at the beginning at the, at least at the first book, the first book that I know of published about meta analysis. From there, I had a my first publication was on was a systematic review or meta analysis in that case on group based mastery learning programs and education. I was working with a researcher called named Thomas Husky, who did a lot of work on professional development of teachers and schools. And so this first article 1988 as you can see here uses meta analysis to look at 46 studies on group based mastery learning. As you can see, if you might be wondering why the screenshot of this paper looks so weird. It's because this was again, pre PDF. So this is a scanned version of my paper that is, is how you can access it to this day. At any rate, I'm since 1988 I've been involved with a number of organizations devoted to evidence synthesis. Most notably the Campbell collaboration. I've been involved since the beginning of 2000, the 2000s probably since about 2005. If you don't know the Campbell collaboration, it is an international, an interdisciplinary organization devoted to the conduct and the use of systematic reviews in a wide range of social science areas such as education, criminal justice, international development, social welfare and other related areas. I've also been involved and you can see the little bit of the logo there with the Cochran collaboration through my work in the Campbell collaboration. I've gone to and interacted with many researchers in Cochran and participated in meetings at the Campbell collaboration and joint meetings between Campbell and Cochran. I'm also a member of the Society for Research synthesis methods, again, an international and interdisciplinary society for people who are interested in new methods and developing methods for evidence synthesis and meta analysis. And I currently serve as the co editor in chief of the journal research synthesis methods. All that to say that one of the themes that threads through all of my work has been collaborations has been working with others who are doing this, who are trying to improve evidence synthesis as a whole. And when I think about my own role in in this work in this effort to improve the way we synthesize evidence in a variety of fields. I think about myself as an in between as being in between sort of the translator of new methods from my more statistical colleagues to the practice of evidence synthesis. And in my work with others who are trying to apply these methods at the at first, as you can see the beginning of my career was sort of as a translator of Larry Hedges work, applying it as soon as I learned how to do it. In teaching and in my own research. I have come to understand the, the critical importance of collaboration for moving this field forward. And so let me share some of those key key things that I've learned in my work in meta analysis and in evidence synthesis. I found that I must interact with colleagues outside of my discipline who are using and applying systematic review and evidence synthesis techniques to their context. Now I'm not saying that this has been an easy task throughout my career. I often interact, and I often interact with other researchers who are using evidence synthesis who are developing new methods for meta analysis or systematic review. And we find that we're using different terms for the same issue. And then sometimes we find out that really we are talking about different issues. What I have come to learn is that many of the challenges that we face in applying evidence synthesis to ecology to environmental issues to education to health. Many of the challenges are similar. And so that many of us are working on similar solutions to actually the same problem. So let me give you some examples. For example, solutions to organize, streamline, increase the accuracy of screening. Those, those solutions have been mostly developed in health, and many have been developed here at this conference. But social scientists have gone ahead and adapted those solutions. So we haven't had to create our own solutions. We've been able to borrow across. I'm not sure and I, I, I see a lot of times in my teaching of systematic review and evidence synthesis methods in my own discipline that many of my colleagues are not familiar with the solutions that have been developed and tested among people outside of the social sciences. And so it's so important that we understand, you know, the solutions, you know, that are being developed for similar problems across our different disciplines. And a second example I have is one of a paper that of some work that I've done. I distinctly remember many, many, I shouldn't say well, probably many years ago, sitting in a room with my colleague Jeff Valentine, listening to some Cochran colleagues talk about this challenge that they face, called outcome reporting bias. And we were listening to a paper I think actually about this. And we were listening to researchers talk about this exact paper I have listed here outcome reporting bias and industry sponsored trials of gabapentin. We were listening to them talk about how they compared the number of outcomes that were measured and in primary studies on at gabapentin and they measure and they compared those, those outcomes that were registered in a protocol to the outcomes that were actually reported in a published study. And I leave it to you to find out what they to read this paper and find out what they found. But let's suffice to say that there were a lot of outcomes missing in the published papers that were allegedly gathered in the protocols. And as we Jeff and I were sitting at this meeting listening to a problem that was not in our own area, we began to think well, I wonder if this occurs in education. And I wonder how we can study an issue like that, given that we are in a context that doesn't have a strong history of publishing protocols. And at any rate that that listening sitting in a room, listening to how people are addressing challenges that they face in their in their own context, led us to some really interesting and fruitful research about our context in So a second. A second thing I have learned through my work in evidence synthesis is how important it is to work on a team that is doing evidence synthesis. And evidence synthesis as I think everyone who's listening to this talk knows is a team sport. No single researcher could ever possibly have all the expertise needed to complete a complex synthesis on their own. And working as in a team as the methodologist as the person who's supposed to to do the meta analysis part has highlighted any number of challenges that need to be addressed. I think in improving evidence synthesis. So a couple of examples from some recent work of mine. I recently completed two different systematic reviews with two different teams. The first team with my colleague Julia Latel. A particular systematic review is published in the Campbell collaboration, and it's looking at the effectiveness of a strategy called multi systemic therapy for youth aged 10 to 17. And finally, I was working with an early career researcher Priscilla Lou who's at Southern Methodist University. I'm looking at estimating the correlation between big five personality domains and alcohol use. And as I was trying to. And in both of these cases. We were trying to apply the most recent the most up to date models for meta analysis. Those would be models that reflect the complex structure of effect size data that we have multiple effect sizes nested within studies. We were trying to apply multi level models that took into account taken to account the dependent effect sizes that exist. And in both of these contexts what we've run the problem we ran into was that there was one huge trial. We included in each of these systematic reviews, a trial that sort of dwarfed all the other primary studies we had. And so a question a lingering question that came from both of these systematic reviews was asking about the appropriate meta analysis. When we have this kind of complex data structure. So if you think about multi level models, if you have one huge cluster and then a bunch of small clusters, what is the appropriate model. That's led to led me to be thinking about, you know, what are the conditions under which these models operate. Well, what are the optimal conditions for these models. This also led to another collaboration between my early career faculty member, Michael, family, and my colleague, James Pustiesky, and thinking in very sort of, and in thinking about sort of where what are the conditions under which the power of these models is optimal. So going back to the systematic review on alcohol and big five personality domains, you know lingering question there and one that I think many of us who do systematic review in the social sciences at least I'm struggle with is how to appropriately assess the quality of observational studies. We know very well, what are the issues that that can bias our conclusions for studies that use experimental methods or quasi experimental methods. It's much harder for me to provide advice to people who are doing systematic reviews looking at correlations, you know that include really observational studies. So these are just two examples of the questions that have arisen for me as I've been working in these in these larger teams who are doing systematic reviews, and how important that interaction has been for me to think about new ways of solving common challenges. Finally, I think I've come to over the course of my career come to to be, or at least aspire to be an open science practitioner and to support open science practices in my in the projects that I work on, and in my own work. I don't think I can emphasize enough that as I've been looking through my career on one key revolutionary idea has been that we have now have solutions for meta analysis in our that are openly and freely available. Back in the day when I started in 1983, not only did we not have PDFs, we also didn't have solutions that could be easily implemented in software. If someone created a new systematic review model or new method to do for meta analysis, we'd have to wait until someone could implement that in a way that could be applied. And if we are open source in our, we can immediately implement new methods, and, and even in more importantly those new methods can build on things that we've already that we already have available to us, like programs like metaphor, where now people can build off of what Wolfgang has so generously given to us to use. The same issue with open protocols and evidence synthesis materials having having those materials available things like coding forms data analysis scripts. We've always had them, or at least partly we've had the protocols and coding forms and so forth available in Campbell, but also moving toward having open data and open data analysis scripts. It's going to also is has also been revolutionary and important for the field, because now we have these resources that are not just about accountability for our own work, but their resources for others to use to improve their practice. And I'm for me to find code to do the thing that I'm not quite sure I understand yet. So my challenge to you as I finish up my talk here is to tell you that is to ask you to please attend a session outside of your discipline. Think about how that work from someone outside your discipline could relate to the challenges you face and evidence synthesis and how those interdisciplinary collaborations can help us move the field a little bit forward and how we can find ways to improve the way we synthesize evidence and the tools we have to help others to do that. Collaborations have been key in my work. They have inspired me inspired as I've shown you in many different projects and and also have been fun and continue to make me think about all the different ways that we can improve what we do. So in that light, I just wanted to thank a couple of collaborators of my own new and old or older. There's a picture of my current collaborators, they work on my team at Georgia State on the left is Jay Morris on the right come all middle Brooke. Then the picture on the left are my always collaborators, I might have to say, I'm Josh planning on the left, Beth tipped in in the middle, and on the very far right, Ryan Williams. To all those I haven't mentioned. Hopefully you know how enriching our collaborations have been and how much they have helped me to think through my own practice and helping to push the field forward. So thank you for listening. You can contact me at tpigot at gsu.edu and my Twitter is at Terry Piggott. Have a wonderful conference.