Hey everybody, it's DJB, and if you're new here, welcome to my channel. Obviously if you're clicking on this video, you're looking for more airbrushing information. I've been airbrushing since 2017 as a part of the model horse community, and everything I've learned has been trial and error along the way. And in today's video, I'm going to be talking about airbrush compressors. My compressor of five years has recently broken, which means that I was throwing into the choice of picking a new air compressor in not a lot of time. I've come to the conclusion that there's a lot of misinformation out there, and when you Google airbrush compressor, the type of compressor that's going to pop up is your standard hobby compressor. And these are great and they work well, but they're actually not quite powerful enough for what we need. An air compressor is basically a machine that collects air and compresses it to allow you to use certain power tools. If you're getting into the hobby of airbrushing from a hobbyist standpoint, you need something to connect your airbrush to to be able to spray. We generally spray indoors, and whether that be in our garage or in our home, airbrushing is an indoor sport and that means the compressor is also indoors. So that limits us to what we can have and run comfortably in a home, especially if we have other people living in the house or are in a rental situation. So that being said, we are only looking at electric compressors here. So these are compressors that come with a cord that you can plug into your outlet at home. They don't emit any dangerous gases and most of these guys are oil-free and maintenance-free, so they're plug-in and go. There's a couple on the market that require oil that you can get, but these will be the louder, larger compressors and that's not necessary at all. So the ones that say oil-free, those are good for airbrushing. Another thing to take into consideration when searching for the right compressor for you is that any compressor with a tank is going to have an auto-on-off start. So that means the compressor is going to run generate air to fill the tank, and then once the tank is full, it's going to actually shut off. So if you're not actively spraying or using any of the air, it's going to hold the air for you in the tank. And then as soon as that air is replenished enough to the point that the compressor reads, it's going to kick on, compress enough air to refill that tank. So it's just trying to generate enough air to refill the tank. So if at any moment you stop spraying or need to step away, the air compressor is going to stop for you. So definitely look for the words auto-on-off when searching. The only time that doesn't occur is when there is no reservoir tank. So when I started into the journey of everything, I just googled airbrush compressor and bought the first thing that popped up on Amazon. And it was great. It worked for me for five years.  And I blamed that on cleaning. I blamed that on clogs, on my paint, on temperature, on different things. I tried everything to resolve the issues. And ultimately, I believe that the air compressor was the problem with my airbrushing method. If you don't have a good compressor and you don't have consistent quality air, your paint quality is just not going to be there. So it's really actually most important to have a good compressor if you're serious about airbrushing. You can find hobbyist compressors and you can find shop compressors, which are for your auto-home improvement and other garage-based needs. And then your hobbyist is for basically just airbrushing. That's what they're sold for. And so they have different pros and cons to both of them in regards to size, noise, PSI, power consumption, and different things. So there's definitely a happy medium for everyone and what your needs are and what you feel your needs are. Before I get into this too, I just want to state it is recommended based on the Iwata site that you spray at a minimum of 30 PSI. For my needs as a model horse artist, I find a happier medium around 60 PSI. Some of the hobbyist compressors don't quite even go up to 60 PSI. All right, so now let's break down the four different types of compressors that exist on the market. So the first one is a hobbyist compressor. And basically these compressors do not have a reservoir tank, which means that they run 100% of the time.  So if you have to pause or clean your airbrush or change colors, it's going to continue to run. And the problem with that is that that can create a lot of heat within the motor. It can cause condensation and it can cause basically overheating to the point where the motor could seize up. As it's generating air, it's not going to give you consistent air because it's always trying to refill, it's always trying to pump. It's not going to give you that consistency in the output of air or the quality of air. So these are terrible. I don't know why they exist and I would not recommend this at all. I understand being a beginner or a newbie and you're really not sure about airbrushing and if you want to get into it, this may seem like a tempting option for price, size, sound, all the different things. I would not recommend this kind. I would go with option two, which I will get into. From a general standpoint, a hobbyist compressor will run in the price range from $80 to $100. Their engines are not very powerful and will usually be around .2 horsepower. They will have no tank, which means this is purely just the engine of the compressor itself. And the noise level can be anywhere from 47 to 50 decibels with a PSI capacity of 0 to 57. And they weigh about 10 pounds. These compressors can be appealing as well because they'll generally come with their own moisture trap already attached. Some of them even come with an airbrush hose. The 0 to 57 PSI in itself, it's not quite 60. Usually the set rating that they give you on the machine is not quite what the output of the actual machine is, which is unfortunate. This is only going to give you that 30 to 40 PSI range, maybe a max of 50, 55 is probably pushing it. So that's something to take into consideration too, depending on what kind of paint you are planning on pumping through your brush. So now the second type of airbrush compressor is also a hobbyist compressor, but these are ones with the tank. And this is the kind of compressor that I was running myself for the past five years. I've heard that these don't last that long generally. It's kind of a fluke. I'm not sure how it lasted so long. Like I said, I don't think it was running at full capacity for quite some time. And these are a little bit more expensive, but they have a tank.  The price range is $150 to $200. They have the same about 0.2 horsepower engine. The tank size is generally 0.7 gallons, which is not a lot. It's not even quite one. It's like half a gallon. They don't actually last as long as you would think. I found with mine, it would fill up and shut off when I would walk away, but generally when I was spraying, it was running pretty continually. And I think that's where the problem lies, because it's constantly trying to pump air and generate more flows. They are also at the same noise level with about 47 to 50 decibels. The PSI capacity is 0 to 57, and they are around the 10 pound mark as well. Now, the third type of compressor is your standard shop compressor. These guys can be a range of different brands, different sizes, different shapes, colors, and these are your standard garage household air compressor. So you're going to hook up your power tools to this. You're going to inflate your car tire with it. These are compatible with airbrushes, and these are an option for you only if you can route it to a different area of your house. Unfortunately, these are incredibly loud, very, very deafening.   That's these kind of compressors. So in that sense, they're a little bit like overkill in a way. But if you already have one in your garage or you already have one in your basement and you want to hook up your airbrush to test it out or to work with it, you totally can. And these are an option. The good part about these guys is they come in much larger air tank sizes. So some people will even have, you know, the 35 gallon tank. Turn it on, walk out of the room, let it fill up for however long that takes and then shut it off and then airbrush using the reservoir tank. I've also heard of other artists running, you know, their air hose through a wall or stationing the compressor in a closet or somewhere where it's not so loud and noticeable. And I mean, the good part about these guys is that they're not going to be running very often at all. You know, you have a larger tank size. It's not going to need to kick in very much. They definitely aren't for the faint of heart and you need to be ready and prepared for that option. That being said, the price point is really reasonable. They can range anywhere from $100 to $200. So they're not much more than a hobbyist compressor, but you can get a larger capacity. Tank size can be a two gallon, we have six gallon, eight gallon, 20 gallon, 38 gallon, and I haven't seen a 60 gallon. But like I said, that's pretty overkill for what you would need and the price point of a 60 gallon compressor is quite expensive. The engines on these guys are anywhere from 0.8 to 2 horsepower. It kind of fluctuates depending on the model. And the noise level is 80 to 100 decibels, which is loud. And the weight of these guys can be quite heavy as well, anywhere from 30 to 60 pounds. I'm sure the bigger ones are much heavier. That's not super important for airbrushing because you're not generally going to be moving the compressor around. But if you did need like a portability studio or you're taking your airbrush with you because you're a makeup artist, perhaps the hobbyist compressor would be better. Now the fourth option is your magic option. So this is a shop compressor, but a quiet version. In recent years, there has been development on a handful of quiet shop compressors. So these are still suitable for all of the auto needs. Filling car tires, using a nail gun, home renails, all the different things. But they're designed and developed to be at a much quieter level. And these are perfect for airbrushing. I am going to be a little bit biased towards this option just for the professional standpoint of things. These guys are amazing. They are not much louder than the hobbyist ones and they run at the same level of a shop compressor. So you're getting all the jam for half the noise. But unfortunately, double the cost. They run anywhere from the $200 to $300 range and upwards depending on tank size. Horsepower can be anywhere from .5 to 1.5. I believe I've seen one at around 2 as well. And the tank sizes are a little more limited. It's usually 1 gallon to 3 gallon. I have seen an 8 gallon available as well. And the noise level on these guys is 58 to 60 decibels. So the hobbyist compressor was clocking in at 47 to 50. So 58 to 60. It's definitely a little bit louder than the hobbyist one. But it's still manageable. You can still run it in your house. You can still have a conversation. If you're playing music, it's not going to startle you when it kicks on. So this is a great option and an amazing technology. And I'm so thankful that these exist. Personally, I went for that option. I bought a quiet compressor and did a hookup. You're going to need additional supplies. So you're going to need to purchase a separate moisture regulator trap, which you can see mine there. An air hose to connect to the actual machine. And you're going to need all of the adapters to actually connect all of the pieces together. So it's going to be a little bit more expensive on that front and a little more work kind of on the forefront because you need to do your research and figure out what adapter works for your airbrush and what hose you need and all the different things. So understanding that all. So I'm going to make a separate video explaining exactly how to do that and what parts you would need to do that. And any questions or concerns, you can shoot me an email or send me a comment or private message. I'm always happy to help. So thank you so much for watching and happy airbrushing.


I'm going to explain to you how you can create beautiful designs with a few clicks of a button. I'll give you the introduction of Canva, how you can create a poster or design or video within a few minutes with a click of a button. And that's what makes Canva so useful because you don't really need to learn anything. You don't need to install anything as long as you have an internet connection and you are able to go to a website. That's all you need to do. I'll explain to you the different design elements that are part of Canva, how you can quickly make changes. I'll also touch upon videos in Canva. There will be a Q&A session. So with that, let's get started. Let me switch to my Canva view. All you need to do is know this website canva.com. Create your account. Once you create an account, what exactly can you do in Canva? First of all, as you can see in Canva, you can create all kinds of content by using the templates that are available in Canva. For example, an Instagram post is a square shape. Let's say I want to create an Instagram post. Choose Instagram post. The templates are available for us and it will open a square design. And on the left hand side, you can start scrolling and get design ideas. Let's say you find this. You click on it and you have the beginning of your design. All we now need to do is make some modifications to this design. And within a few minutes, your Instagram post is ready. Let's say you want to have a clearance sale, click on this and you can move it around. Maybe the color is not up to your liking. You want to change it to a different color. Click on this text color and you can change the color to something else. And let's say instead of springtime sale, you want to call it clearance sale. Your first part is already done. This photo, for example, you want to change it to something else. We can change all of these elements. You can click on different elements in the design and change any element that you want. Let me go back by clicking on the home button. For example, I want to have, let's say, an Instagram story. And what's the difference? Usually this Instagram story has some video element, right? So and the shape of it, it should fit on the phone. So it's tall in size. So let me click on the Instagram story and see what can I do with that. So as you can see, the shape is no longer like the Instagram post, which are square. This time the shape is like the size of your phone, the same dimensions. Again, you have the design ideas at the left. You just select it and start playing around with it. Photo, again, you can change the photo using Canva because of this millions of templates that are available. All we need to do is drag and drop. And again, most of them, as you can see, are free. I have loaded a template, which is made up of four pages. You are not restricted to one page. You can have multiple pages. But what if you want to really become a designer? What if you want to really create something from scratch? Now this is the main part of my presentation now. So let me again go back home and start from scratch. We have a square shape, but I will not use the templates which are on the left. I will create things myself. So I have a canvas. Think of it like a painter. What things can we put in Canva on this blank canvas? So first thing is the canvas itself can have a color. I click on this canvas and you can see it has now highlighted to me that I am in the canvas by the blue lines around. And this button which has background color, it appears, I click on it and I can choose any color that I want. There are some default colors on the left hand side, but I am not restricted to that. I have the entire 16 million colors. That's the range or the maximum colors that we can display on a computer device. So I can click on this and I have this what we call the color wheel. I can just scroll through it, choose one of the colors like this, you know, and you can move it around to get that shade. Or I want a blueish shade, move it to the blue section again, move it around. So that's how you choose the color. The next thing is what can we place on the canvas? And on the left hand side, we can see on the canvas, we can place what we call uploads. Uploads are nothing but your personal photos that you have uploaded or your own videos. Next, you can put on the canvas the millions of photos that are already available to you in Canva free. For example, I want to have a photo, let's say of picnic. So it will bring for you the photos. So if I click on it, it will place the photo on the canvas. Now I can start playing around with it. I can drag this blue line and make it big or small. I can just click on the picture and I can move it around and place it wherever I want. We can also place what we call elements. Elements is what makes your design attractive. And so we have lots of elements available for us. So let me first start with shapes because shapes is the one which I like to use a lot. So we have this various shapes and I click on see all. So as you can see, we have a lot of shapes and shapes is the building blocks of creating a good poster. Let me for example, drop the ship. It's a donut kind of shape. And remember the shape doesn't have to be on the canvas. What I can do is I can make it big and only show part of the shape on the canvas. So the part that is outside of the canvas will not be seen. And that allows me to create some interesting design elements. And obviously I want to change the color of it. So I click on it and go up here, which says color and choose any of the colors again. Choose the standard colors or the one of the 16 million colors that you have available for you. Another shape, color. The next important thing of course is the text. So there are different ways we can place text. A simple way is you have these three options called heading, subheading and body. Add a heading. It will bring a line of text for you and you can now change it. You can move it around, increase the size. If you want it on one line, then you can move it horizontally till it becomes like this. If you don't like the font, change the font from here and you have hundreds, maybe thousands of options that you can play around with. The color of the text can also be changed. Canva is very smart because when I place text on a dark background, in this case this is a dark, automatically it made the color of this text white to make it contrast. So you can read it because if the color was dark also, then you will not be able to read properly. Try to have a contrasting color so people can read clearly. You also have this option blocks of text that are already defined as a graphic element. If you want one of this text, what happens is it has predefined multiple text. You just have to change the text. Notice by the way that this text is currently in black. That's because when I placed it, the background was white. Let me remove it and put it again just to show you how smart Canva is. Let me remove all this. Now the background is dark, right? I'll put the same text. I'll click on this and notice it became white because Canva knows that the background was a dark color. So I may better make the text contrasting. But by the way, if once you drop this text and you find that maybe you don't want one of these elements because there are multiple elements here, right? One, two, three, four elements are there. You don't want this. You can remove just that element and keep the rest. So we have seen now we can put your photos, put element, you can put text. Now I will show you the process of uploading your own photos. So let me remove this photo from here. I'll click delete and I want to bring my own photo, a photo which is not in Canva. So as I mentioned to you that you can upload your own photos, but how do you do it? Click on the upload and these are all the photos that I have previously uploaded. But I want to upload a new one. So click this button, upload an image or video and you have options to upload from the computer, from Facebook, from Google Drive. I will use the computer. You will see that it is loading this photo from my computer. So when I clicked on it, it allowed me to go to a particular folder where this photo was stored and this will be available to me anytime I want to use the this photo. It will be in Canva all the time. So I click on it and it will bring the photo for me. Again, resize it. As Dr. Mega said, sometime by mistake I delete the photo and I say, oh, OK, I want to get it back. So here we have an option called undo. All right. So I click on this arrow and it will bring back whatever the last step was, it will bring it. Now, one interesting thing I want to show you for photos, which is available only in the pro version of Canva. It is not available for free. It has something called effects.  I just want this is photo only. I don't want this background, right? So if you have the pro version of Canva, you can click on the effects option and you can use the background remover. It takes a few seconds. And voila, you have a beautiful photo. Magically, Canva has now made without any background. Now, the question you might ask me is, I am using a free version of Canva. What can I do? How can I get something like that? And the way you can do it if you are using the free version is you can go to a website called remove.bg. It's free, but it's one extra step that you have to do. And in this website, you can click upload image and I'll upload the same image just to give you an idea. I selected the same image and you can see it has removed all the background of that image so you can download that image and same steps. Download it on your PC then go to Canva and upload it into Canva and you can start using it. Next part I want to highlight to you and I want to make it into a video. Have some music. So that's the next part. You created something, but now you want to convert it into a movie to make it something which is static, something that's not moving into something that moves is very simple in Canva. First of all, we can animate it. So there is an option called animate. I click on animate and we can do some kind of animation in that poster. So all the objects that I had placed, remember, this is an object. The text is an object. The photo is an object. The star is an object. So there are a couple of objects here. So when I click on animate, so you can choose one of these animations. So this way you have already created an animation, a movie. And how long is this movie? You can see now the moment I did that it says it's five seconds long. If I want it longer, I can increase it. Let's say to 10 seconds. Remember people's attention span is very short. Make a video more than 15 seconds. It really needs to be a real video of content. The second thing I can do to make it more interesting is to add music. And the music option is here on the left hand side. And I click on music and it will give me music. Let me select this music Blizzards. In addition to this, you can also add videos. We have hundreds and thousands of videos also. A lot of them are free. So if you want to have a video and then if I say play. So as you can see by adding these elements of music, video, animation, you're already creating something which is static into something that is moving. You have placed all these elements. And what I want to show you now is editing all these objects that you click on it. On top, certain things change automatically. When I click on the text object, you get more options here. So depending on what object I'm clicking, the top part keeps changing. For every object that you have placed on the canvas, you can change its properties. Let's start by looking at text. I had shown you how to change the size by clicking on this arrow and choosing the size of the font. Also, I had shown you how you can change the font itself from the different fonts that are available for us. But you can do a lot of other things also. First of all, the color, you can change to whichever color you want. When I click on it, I see that the bold is not available to me. The italics is not available to me. And when I see that, what it means is that this font doesn't have those properties. But let me change the font to Montserrat. When I change the font to Montserrat, it has the ability to be bold, italic. So depending on the font, some of this might be available to you. Some of it might not be available to you. Another interesting thing about it is, let's say I am placing this object on top of another object. If I click on the text object, and I have a button here called position. Position allows me to move the object, for example, back. And what has happened is, you can see that the text object has gone behind the other object. Now, let's say I want to bring the other object in front. So I will click on the photo and I'll send the photo back, which means the text object has come in front. The second thing I want to show you is, when you have two objects, you want to group them together. I click on this object, I hold the shift key, and I click the second object. So it has selected both the objects for me. And now when I select more than one object, a new option comes here called group. And if I click on the group button, what it has done is it has combined both these objects together. So if I increase or decrease, it affects both the objects at the same time. Any time you decide, oh, no, no, no, I want them separate, click on it. And it is now showing the option to ungroup. Now they are separate, you can move them independently. The next property that I want to tell you about any element is when you click on it, you can see something called a transparency. So the transparency allows you to change the transparency of the object to make it more or less transparent. And this can be used for some interesting effect. Let me give you an idea. Let's say I have this photo and I have this object. Let's say it's not transparent. It is normal photo. But let's say I have something like this. So this object is in front and the photo is behind. But look what happens when I click on this object and I change its transparency. I'll reduce it. The more you increase the transparency, the more of the object behind is revealed through the transparency. Any object on the canvas can have a different transparency. Canva is now a child's play. Thank you so much for making us learn Canva in such an easy way. And I'm sure people have loved your session and there will be more requests coming in for you, for the more sessions. And so many thank yous are coming on the chat. I request everybody to please put it on the feedback form. We would love to have it collated and send it to you all. Thank you so much. Thank you everybody for joining in.


See, we are looking at movement these days. Let us take a moment and backtrack and contextualize what we are looking at. We are looking at abstract principles of language. We are looking at the principles that became foundation for this theoretical framework which is known as principles and parameters. And it goes without saying the moment we start talking about principles and parameters and abstract roles and underlying patterns, stuff like them are a part of I language automatically. So let us keep these terms in mind as a fresh reminder that we are looking at I language, we are looking at deep structure, we are looking at abstract principles, we are looking at how these principles operate in human mind. We are also trying to look at possibly these are the principles which operate when we are learning language. When we say we are acquiring language, these are the underlying principles which get triggered with the help of natural input from immediate environment. So these are the broader things that we need to keep in mind while looking at principles of the kinds that we are looking at. Now coming back to the idea of movement. What is it that we are looking at in the idea of movement? There are two parts of that. First how do we believe that even for the matter of abstract representation, even at the level of underlying representation, how do we believe that we are compelled to look at what we can call displacement, what we can call movement. We have seen some examples of that. How is it that we must believe and believe probably is not the right word. We must see the reasons behind movement. And then once the reasons are apparent, we have seen some examples of them, am I right? So when we see such examples, we are looking at evidence and motivations together. We have already looked at one particular kind of evidence which is WH movement. Now we are going to look at one more evidence of that type which comes from a particular structure in natural language called passivization. And this becomes an example of NP movement. Now keep in mind that WH movement is also an example of NP movement. What WH words eventually question in a question sentence in language like English is a noun phrase. So when we are moving the WH phrase to the specifier position of a CP in a way that is also an example of NP movement. But with the help of passivization, we are going to see some examples of actual NP movement that is movement of an element not in the form of WH questions. Movement of an NP directly from one position to the other position. That is what we will look at. And again, before we say or while we are saying a particular noun phrase moves from one position to the other position, there must be a compelling reason for that. So we are going to look at both of them together. So before that, let us look at this question of passivization or passives. Have you heard this word before passives? Everybody must have heard. Can someone give me an example of a passive sentence or for that matter both. Anytime we talk about passives, what comes to our mind is active, does it? So can you give an example of both an active sentence and a passive sentence? He drove the car, let us say Hari Prasad drove the car is an example of an active sentence. Hold on, before you give the example of a passive sentence, what makes it active and why do we call it active in the sense that, understand the question fully. What is the meaning of the word active in this sentence or in which sense do we understand the term active? The subject is doing the action. Hold on. Go ahead. Then it is passive active, if the subject is not doing the action then it is passive. Absolutely correct. You understand this thing? An example of the passive sentence will be? Hari Prasad. By him, by Hari Prasad. Understand this? Very nice example, very precise example. Hari Prasad drove the car. Bring in your mind the questions that we discussed when we were talking about thematic relations. Remember thematic relations? While discussing thematic relations, we talked about agents and patient and theme. That we discussed before talking about cases, though there is no one-to-one relationship between thematic relations and cases. Still they are, let us not get there, let us not mix them together. What we said about thematic relations was it does not seem to be completely syntactic phenomena which is to say it brings in certain semantic notions in it. That is, a syntactic phenomena is the subject and object. Therefore, we call them syntactic relations. In a sentence, Hari Prasad drove the car. The noun phrase Hari Prasad and the noun phrase car, the car. One is the subject and the other is the object. The noun phrase that is the subject is the subject of the sentence and the car is the object which is the object of the verb. We have seen these things in great details, completely inside out with the help of x bar representation, phrase structure, nature of verbs, all kinds of things where we can clearly see what we mean by subject of the sentence and object of the verb. Then that kind of a description, subject of a sentence and object of the verb becomes part of grammatical relations, a description of grammatical relations. Whereas, when we say agent, it has very little to do with grammaticality. The whole notion of agency is a semantic notion. In this sentence, the subject appears to be the agent of the verb is a semantic notion. Nonetheless, it is an important aspect for dealing with such kind of phenomena. Get the point. So I am trying to now bring in or I am trying to put what I termed as semantic phenomena slowly into semantic, syntactic realm, how it makes a difference in syntax, then. So in that kind of a sentence, the subject appears to be the agent in the sentence that is agent of the verb, the action that is represented by verb gets carried out by the agent and that is another relationship between the subject and the verb. You just saw that the passive sentence does not give such type of a phenomena. What happens in a passive sentence? The example that Hari Prasad gave you, what happens in a passive sentence? If you just look at two examples, Hari Prasad drove the car. The car was driven by Hari Prasad. Let us not look at the verb right now. First, just look at the question of agent. What is happening with the agent in the passive sentence? I think you should be able to see that. I have a different sentence here. You may not like these sentences, but these are the factual details. So I thought I will not have to write these sentences. I had written it differently, but then last night I had to change them. Now what is happening to agent? Let us talk about passives. What is happening to agent? Let us not talk about subject and object. We will mix them. We come to that, but let us talk about agent. In the active sentence, we just finished talking about that. The subject appears to be the agent of the action carried out in the sentence. In the passive sentence and through this discussion, we are also trying to establish connection between the two sentences, what we say active and passive. At one level, one can always argue that probably there is no relationship between the two sentences. They are two independent sentences. Remember the object of a study for syntactic purposes is a sentence. Sentence is a minimal unit of the study of syntax. So we can say look, these are different sentences. Let us treat them differently. That is also an argument which I am not bringing in right now. Right now what I am trying to do is I am trying to, with this discussion, I am also trying to establish a connection between the two sentences that active and passive sentences are related. So with that, when we established agent and verb, agent of the action and then the passive sentence, immediately when you look at the passive sentence, my question is what happens to that agent? Do you see that agent in the passive sentence? Do you see that agent in the passive sentence? Number one, the answer is yes. The second question is, do you see the same agent in the same place? No. So look at the logical development of this argument. And this is where the answer lies and this is where we are going to build on. The point is, the whole idea of a passive sentence is to remove agent. That is, let me bring in one more point as a small detour. You know, we have had a lot of discussions about subject. We started our discussions and we talked wherever necessary about the subject in terms of its function and its definitions and understanding the whole notion of subject as a whole. And we have looked at it from various perspectives. We have looked at it from the perspective of agreement, that is, agreement between the subject noun phrase and the predicate, subject and verb. We looked at the subject, the representation of subject in X bar theory. Then we looked at subjects do not necessarily have to be a noun phrase. It could be any big chunk or anything. We have looked at all kinds of things about the subject. We are going to add one more thing to subject, which is the one of the function of the subject and the reason why it becomes the specifier position is because anything that you put in the subject position automatically becomes the focus position. The focus position, what do we mean by focus position? It immediately attracts your attention. That is, when I was discussing the motivation for movement, I know I am digressing little bit I am coming back to this in a moment, but it is important to relate these things. When we were discussing the motivation for movement, there was a question and I was trying to argue that probably the subject originates in the lexical layer in the specifier position of the VP and then it moves again back to the specifier position of either IP or the agreement phrase. Remember this argument? There was a question which was a question before this argument, if a lexical item that is a word is not supposed to be in the functional domain, then why does it begin there? Remember, why does it begin there? And then we gave this argument that probably it does not begin there, it originates somewhere else and then it goes back there. Before people gave this argument, the logic was this, it originates in the functional domain outside the predicate and lexical layer because it becomes a focus position. Before sometimes subjects are called focus entities, alright? So bringing back to passives, one of the notions of passive before it got analyzed under the notions of principles and parameters, one of the treatment of passive was to say we remove focus in the passive. Take any example and any time you find people not talking about people trying to remove focus from the agent, they use the passive sentence, okay? Pay attention to people when we are, when we are, when we, when people use such things in a, in a, in day to day language, okay? Things like, yeah look at this, thief was caught, okay? We do not want to say by whom. People, it is, it is said, who says is the idea that has to be removed. When someone says it is said, the idea is we do not want to claim who said, okay? The whole purpose of a passive sentence is to remove agent. That was one of the description, early description given to passive sentence, which is still remains an important aspect of a passive sentence that the whole idea of agent is out. There is no agent in the passive sentence or if at all you, you can raise the question what happens to agent then? Nothing happens to agent, look at that, look at the example that you have. Nothing happens to agent, what happens actually to agent is it becomes an adjunct. It becomes a pee-pee, an adjunct. You can retain that if you are generous, you can drop it. It does not matter to the grammaticality of a sentence. I know I am spending little bit time here but this is an important aspect. Remember the significance of a subject in a sentence? Remember the significance of a subject in a sentence? It is such a significant element in a sentence that no language of the world allows a sentence without a subject. It is that kind of a robust principle that we cannot have a sentence without a subject. Such an element, such a significant element becomes an adjunct and in a passive sentence whether that adjunct is present in the sentence or not does not make any difference to the grammaticality of a passive sentence. We cannot say the sentence, police caught the thief without the noun phrase police. Can we say that sentence? Can we say active sentence without the subject? We cannot. Can we say the sentence that Hari Prasad gave you, Hari Prasad drove the car. Can we say drove the car, the sentence is not good but in a passive sentence that same important subject agent is out. That is the function of a passive sentence. Now, let us move ahead and see how this kind of notion is accommodated and explained under theoretical framework of principles and parameters. These sentences are clear, we understand. For that we need to look at passive morphology, now we focus on verb. What happens to the verb, wait a minute, before that we talked about agent and subject, we did not talk about the object. What happens is, if you talk to people in general, one of the very generic description that people give you is object becomes the subject and subject becomes the object. We need a caution here, we need a caution that subject does not become an object. Can you see here, can you see that in the sentence? What we mean by subject is agent, it becomes completely insignificant thing. It is not an object because we understand the technical distinction between object and an agent. So, if at all anything happens to that agent, it becomes an adjunct and unnecessary thing. So, let us correct that part. Now, subject becomes object, I am sorry, object becomes subject. What do we see here? In the active sentence, the verb is beat, it is a transitive verb. It has an object which is Indian. In a sentence like yours, the verb is drive, it is a transitive subject. The object of the transitive sentence is the car, get it, get this thing? Now, in the third sentence, catch is a transitive verb. The object of catch is the thief, the NP and that becomes, that comes in the subject position. This is what people say, people mean when they say object becomes the subject. If we take that statement for its truth value, can you now on the basis of whatever you know about the structure of language and the theoretical apparatus underlying it, do you see the danger of this kind of a statement? Object becomes the subject. There is no situation in a sentence where an object can possibly become a subject. Understand my point, that in a sentence, if you have a noun phrase which is an object and then we say it becomes the subject. Basically, we are saying something like, I mean, I do not mean to give you a ridiculous example, but it becomes something like from tomorrow or all of a sudden somebody walks with, how do humans walk with legs? We are saying in the evening, we walk with our feet. I am sorry, we walk with our head, is that possible? It is something like that. If the object becomes the subject, then what happens to the object position? What happened to everything that we have been giving so much significance to? We said we have a transitive verb, transitive verbs must have an object. What happened to those things and how come such a thing is allowed to become the subject? See the point. So, the objects are part of the verb and how would a transitive verb leave the object? An object is an important part for the grammaticality of the sentence, particularly when we are talking about a transitive verb. While talking about the verb, let me talk about one more thing here and then I go to passive verbs. A language like English, take a note of this thing. We would not have enough time to have a discussion on this thing. A language like English does not allow passivization of intransitive verbs. If you have an intransitive verb in English, then you do not have a passive. Can you give me an example of an intransitive verb? Give me a sentence. She ran. What will be the passive of that? Any idea? Such a simple thing.  You already know that again, bringing in the idea of the knowledge of language. I mean every day you can take 10 examples of knowledge of language and reinforce your understanding of the concept that we discussed in the beginning. I said something as an statement. English does not allow passivization of intransitive verbs. You understand this sentence very well now because in this sentence, we have discussed everything now, the term passivization, the transitive verb and everything else. We know what transitive verbs mean, which means no objects. So, the sentence is very clear to you now. But the whole idea is not something new that I am telling you. You already knew that he ran cannot be made a passive. Ran by him, can we, can we run some, we cannot say. I was sleeping last night when you called. Can I make a passive of this sentence? I was going home at 5 pm. Can we make a passive of this sentence? No. So, two points. One information, the other the reinforcement of knowledge of language, you knew this because you have never made a passive of an intransitive verb. So, get the point. However, it is a parametric thing in the sense that other languages allow passivization of intransitive verbs. In English, it is not allowed. When I say other languages, our languages allow passivization of intransitive verbs. And this is where I said we probably may not have enough time to discuss all or at least some examples from our languages. It is not that I do not want to give you an example of that. To understand that example from our languages, we will need to understand passive morphology in our languages. So, I leave that question for you. I cannot even ask that question in the final exam without discussing the passive morphology of our languages. But I leave that question for you to think about. And if you have a question related to that, you can always ask me that question tomorrow or later or anytime. I will be more than happy to discuss that. But let me first discuss what I am planned to discuss with you. So, look at the passive verb now. What is happening in the passive sentence? It is not that only agent or subject is something is happening to agent and subject. It is not just that object is in a different position now. So, what we can say about object, we are not saying object becomes the subject. We can only say objects are in a different position now. They still may be the or may not be the object, but they are in a different position. So, look at the passive verb. What happens to English passive verb is this. See, when we talk about past tense, we have just discussed that last week. In a verb like bought, what do we have? We have buy and past tense. What do we have in a verb like when we say, when we have a sentence like India were beaten. What do we have here? You may have in the traditional grammar terms, you may have been told that there are three forms of the verb. And what are those forms? Anybody knows that those forms? Okay, first of all, do people know that there are three forms of the verb? Have you heard this term there are three forms of the verb? Some of you have heard. Do you remember what those three forms are? Give it a try. Simple continuous parts. Now you know that you need to use these terms carefully. So, simple, we can take it as simple. For example, we have a, if we want to, let us take eat. We can say this is simple form. Then we have a form called ate. And then we have the form of eaten. Just for discussing this one. So, we can say this is simple. Some people say this is present. This one, so there is nothing continuous about it as you can see. And I do not mean to get stuck with that. So, this is past. So, some people say this is present because this is past. Some people say this is simple and then this is past. What about this? Past participle. I mean, I do not see anything past here. But let me not get into that. The point is this is participle and I do not get into the term participle. If I ask you the meaning of this word participle. It is an English word. You have been told. You remember also so nicely. So, you see the example. You remember one word without its meaning. Look at the passive verb. All the passive verbs work this way. So, we cannot say things something like India beaten. We cannot say something like that. We have to say something like this. Which is the form of the in appropriate with appropriate tense and with appropriate agreement. So, this is past and what is the agreement that you see? That is singular or plural? Plural. Do you know why we have a plural agreement here? I think that should be pretty simple for you to understand. Why do we say India were beaten? Absolutely correct. With this, we mean a plural entity that is the whole bunch. So, plural past. So, the point is this is B. You add anything to this. So, this is a verb form B. You add present to this. It becomes something like is then you keep adding agreement. If you add present and plural, then it becomes or if you add present and singular, this becomes. Is if you add past and singular, it becomes watch. So, we know these things. So, this is the verb B. Now, and again, it is important to mention, but won't have time to get into the details of it. How this verb B acquires different forms like is, are, am, was, were? It is a development of English language from its ancient time to the modern time. There is a whole route to trace how this happened. But since we are not discussing the development of English, historical development of English language, let us just leave it there. So, it is verb B with its appropriate tense and agreement. And then we have participle. Then we have participle. This is how we get a passive sentence in passive verb in English. We never use simple form or past form here. In any kind of passive, we never use this. Let me, let me delete this thing now, just so that we have clarity. So, this is our, this is our past, this is why we call it, we can say either passive verbs, passive verb form or passive morphology on the verb. The sentence that Hari Prasad gave you, the car was, what was the passive Hari Prasad? The car was driven by Hari Prasad. So, the important thing, car was driven, India were beaten, thieves were caught. People, people are bought during elections. Right, any, now see both things here, first passive morphology, you never see a different kind of verb form coming here and see the function of that. Anybody can say this sentence to blame someone, but they do not want to say who they want to blame. This is why we use passive form. I want to make a point, but I do not want to blame you or I do not want to take a responsibility that I am blaming you, right? That is the function of the passive. So, let us separate the two things. I have already mentioned the function of passive, I am talking about the form of the passive. So, this is the verb. This is how the verb works. So, now I have shown you the complete transformation from active to passive. Agent does not remain agent, verb does not remain, verb becomes something else, which is not exactly as India, Sri Lanka beat India. So, the verb is no more beat, right? And the object is no more there. So, even though there is a semantic relationship between active and passive sentences syntactically at the level of form, the whole passive sentence is a completely different one. Do you see my point? The whole passive sentence is a completely different one. And the feature of that different sentence is or the following. Look at that. The features of a passive sentence or of a passive verb is completely different. The feature is, one of the features is this kind of a verb that is participle verb, cannot have a noun phrase which can have a thematic role. Understand my point? It cannot allow a noun phrase which can have a thematic role. That is, a noun phrase which had a thematic role of agent will not be allowed in this with this verb. Therefore, the subject which was agent is out. Please pay attention to this thing. I am talking about the form of the sentence now. The participle verb in English will not allow a noun phrase which has a thematic role. It can allow a noun phrase which does not have a thematic role or which basically that position, the beginning position does not remain theta sensitive. Any NP that comes in a subject position of an active verb probably gets an agent theta role. When we say John runs, is the John agent? It is an agent. So, most of the time the subject NP depending upon the nature of the verb becomes the agent. The participle form of the verb does not like NPs with theta roles particularly with agent. One more thing, we have in two minutes we will stop with one more thing. This verb verb eaten, this verb does not have the capacity to assign accusative case. Remember, the sentence in active was India beat Sri Lanka beat India. Hari Prasad drives the car, the subject NP, the object NP. Agent theme and the object of the verb gets case, accusative case structurally and therefore the sentence is fine. The active sentence, the passive sentence does not allow, rather the one of the features of the passive verb is such that the verb is still transitive, but the verb does not have the capacity to assign accusative case to it. See the problem with the passive verb. The passive verb does not allow a subject which has a theta role. It cannot have an object because it has an object, but it cannot assign a passive. It cannot assign accusative case. Understand the problem? The problem is it does not have a subject, it does not have an object and this is coming out of the features of the passive verb and I am trying to show you that passive verb does not remain beat. Passive verb is verb eaten. See the problem, see the complexity. So, the point is the spec of IP in the look at the active sentence, the specifier position of the IP which was Sri Lanka does not remain an agent therefore it can be dropped from this, either it can be dropped from the sentence or can be retained in the sentence as an agent. Because this verb, participle verb, passive verb will not have, will not allow an NP with an agent here, agent theta role, out. Remember I am not, I am trying to show you the contradiction, but I am not trying to say that an active sentence will not have a subject. That is not what we are saying. Here is the contradiction now. An active, a passive verb will not allow an NP with a theta role. A passive verb will not allow an NP with a theta role, but it must have the subject. The other principle of the language says you cannot have a sentence without a subject. See the problem, do you see the contradiction and the problems coming out of this contradiction? It says I have an NP, but I will not allow you because you have a theta role with you, out. But the requirement is you must have an NP there. Now look at the, look at the object. The verb is transitive, it must have an object but it cannot remain there because the verb does not have the capacity to assign accusative case. See this thing? This problem contradiction becomes the motivating factor for the object NP to physically dislocate itself to the subject position. This becomes the motivation. See there is another problem which is called case filter. I have discussed that with you. It means very, it is very simple. Any NP which does not have a case is not allowed in a sentence. The verb is transitive. It has an object, but this verb cannot assign accusative case. Therefore, this NP India cannot remain here in this position. If we leave this here, the sentence is now good. Do we have a sentence verb beaten India by Sri Lanka? Can we say something like this? No, because of two reasons. We cannot say verb beaten India by Sri Lanka because it needs a sentence, subject and this NP remains with no case. Therefore, the solution is this physically dislocates to the initial position where it fulfills the subject position. This is what people mean when they say object becomes subject. So, it fulfills the subject position. Now, it is not violating the theta roll thing. This verb does not like something. This verb does not allow anything theta here. This already has a theta roll. So, that problem is out. It gets no new theta roll here. So, this is allowed there and then it becomes the subject. What we mean by that is it receives nominative case through the infill, through the head i. It receives the nominative case. Therefore, it is called object becomes the subject and then this NP is allowed under case filter that now it is no more without case. There is a head to assign case to it. Therefore, the sentence becomes India verb beaten by Sri Lanka. I need to stop here. I want you to reflect on this problem. We continue with the NP movement and one more example of this type of NP movement tomorrow.


Agricultural workers are exposed to various hazards due to their occupation, such as pesticides and other chemicals, as well as physical injuries caused by accidents. In the U.S., most studies have focused on the harmful effects of these exposures, but there is a need for a more comprehensive approach to agricultural health, given that the majority of studies originate from the U.S. This article was authored by Lysic Paola Molina Guzman and Leonardo Alberto Rios Osorio.


Hello and welcome to the session. Let us discuss the following question. It's says in figure XP and XQ are two tangents to a circle with center O from point X outside the circle ARB is a tangent to the circle at R Right through that XA plus AR is equal to XB plus BR. So let's now move on to the solution Let's first write what is given to us We are given that XP XQ and ARB are the three tangents to the circle and let's now write what we have to prove You have to prove that XA plus AR is equal to XB plus BR So let's now start the proof Now BR is equal to BQ Similarly AR is equal to AP This is because tangents drawn from an external point equal So BR is the tangent drawn from B Similarly BQ is the tangent drawn from B So BR is equal to BQ and similarly AP is equal to AR Now similarly XP is equal to XQ again by the same reason So we have XB can be written as XA plus AP and XQ can be written as XB plus BQ now Let's name this as one and this is two Now AP is equal to AR So we have XA plus AR is equal to XB Plus BQ BQ is same as BR just from One and two so we have proved that XA plus AR is equal to XB Plus BR So this completes the question and the session. Bye for now. Take care. Have a good day


Just to get ourselves going, one, two, three, four, five, go and put light blues on please. You need one ball per group to start with. Ready, just get your ball on the move, just get a feel for the area. Get your legs going. Good. Any exercise you like when you're out of possession please. Forward, sideways, backwards. Anything you feel you need to stretch. Any area. It's your time. We're going to focus on the key factors, if you like, involved in the first part of possession, which will be the player's movements. Just using the whole area, being aware of where the space is and how they're going to use that space. How their movement and the timing of their movement is important and when and how they're going to use their body to receive the ball and play off their first touch. Okay, just hold the balls. The most important thing to focus on here to start with is an awareness of what? Who's around you? Who's around you at the space, alright? Am I in space? Have I presented at the right time into the right area? So those are your focuses. There you go. So it's a real simple drill. It's unopposed. They're just going to go out there and get a feeling of how they're going to use the space available to them tonight. Can we now focus on trying to receive the ball, going with the roll of it, going away from it? So again, you're drifting between people and going with the roll of the ball. Make sense? Rather than standing still or going even on between people. Yes, Ad. And coming straight down the line of the ball. Get yourself between someone and go, yes. So you're actually breaking lines, presenting yourself in space through people. There you go. With the roll of the ball. Good. With the roll before he passes it. Good, Gateway. Good, Lou. Good, Greener. Well done, Stocky. Okay, hold the balls. So I'm about to receive it. I'm aware of what's around me. What becomes important now? I've had a look. Now it's my first touch. So your focus with your first touch now is, it doesn't matter which one you choose. Your first touch takes you towards an outside marker. If I decide that that's the best one there to go to, yes, Lou. So I'm going with the roll of it, boom. My first touch takes me out towards this marker.  Where you go? Everybody go get some fluid on please. Possession is the key to everything. Because without it we can't score. And with it we can and they can't.


Yes, and as things stand, Denmark would go through to heat number 22, which would be the deciding heat. Denmark could well finish third here now, and that will mean that they will go straight through to the final race to decide who joins the top two. Good clash this between Russia and Germany. Germany have been at the right. I was expecting them to qualify, but not at the top two. They have written beautifully together. It seems they've done the business. Smolenskiy's off the inside. Gutsch on two, Hookerbeck on three. And it is Hookerbeck. Oh no, he's missed the start. Gutsch has made a good one. Now here comes the Gutscher around the outside of Smolenskiy. Inside Hookerbeck, down the back straight. The wheel to wheel as things stand.  Running out of room. The man in red is Kai Hookerbeck. And Saifuken off his throne. This would be a 4-2 to the Russians 24 points tonight. Germany would finish on 21. And it would be Team Russia winning. Race off one. And the Monster Energy FAM Speedway of Nations. Saifuken off coming on from the third place. Russia really beginning to show their class here. Saifuken off with Emilsson. Saifuken off, brilliant move from here to get the better of Gutsch. Up the inside. This could be second to five ones for the Russian team. And really showing their class late on in the night. Part of the Gutsch has been outstanding. Saifuken off to Britain, brilliantly. They need to get to the second place. 25 to Russia. 25 points to Russia. 20 to Germany as Hookerbeck goes down late on. It's okay, it's okay. Valenskiy in third place. Great stuff from Russia. They clinch it in fine style. Two, five ones to complete the night for them. They're through comfortably in the end. And a lot of people thanks to them to go all the way in Blockslam over two days at the end of next week. Russia looking good. Germany through as well. Great work from both those two teams.


What's going on everyone Sam here with late in sports cards We've been one box of 2022 top Star Wars the Mandalorian Chrome best car edition hobby for Jeremy s. It's a good luck here Jeremy Very nice product. We're looking for sketches out of here. We're looking for low numbered stuff I mean some victim made out like a bandit out of this stuff This is where he pulled like four one-on-one boxes or whatever it was three boxes is unreal Thanks for the follow there Jedi Jedi. I know perfect time for you to come in here Jedi All right Good luck There's no more one-on-ones left fight to the finish on the refractor Mandalorian and Grogu's new journey is Meeting with Gorker ish Mandalorian arm armored and ready That's gonna be beta trawler not numbered Ryan Watson as beta trawler on your autograph nice one there congrats on that Jeremy On the refractor autumn and an unexperienced an unexperienced rescue refractor is fate of the Mandalorian base That's gonna be IG 11's rescue Mandalorian collectible card and Mandalorian Foundling Mandalorian bold move armored and ready clink Cries or crease Morbids we've got an orange coming up Sean. Let's go. We got an orange of pure firepower That's actually a really cool-looking card nine of 25 on the pure firepower It's kind of like a color match with the orange lame in there, too It's a little bit of a reach but still really an awesome car man The oranges and top scrumps pop pop like no other and in search of the darksaber Refractor is crushing the Hunters Mandalorian armored and ready and base if Cargas gift or an collectible and Ahsoka's ultimatum Refractor tension at the Tuscan camp collectible card and the escape that's gonna be the Mandalorian's secret passenger with grogu cool one there Jedi Ashoka Tano got the fight is on refractor best car steel On the refractor and walking up to the beast walk waking up the beast waking up the beast that is return to Navarro Mandalorian Boba Fett lives on the collectible and base may feel surprised visitor Bill Burr Trials in the force on the refractor collectible card and Gideon's prize force into Mos Eisley Bo Katan revealed Force is strong with this little one and the Jedi revealed We've got super bike pursuit. It's always a fun scene and the Empire Strikes Back bouncy base so cool Lego Star Wars. I was like my favorite level. We have a green coming up here That's gonna be refractor one last assault. We've got green on one of the collectibles That is 25 out of 50. I see number five nice one there Grats on that nice one there Jeremy We've got a base that'll do it for your break there Jeremy. Thanks again for jumping in man We'll get these cars right out to appreciate it, buddy


Hello, have you ever wanted to work with a British National Corpus? Well, if you or your institution have access to this gigantic corpus of present-day English, this is what to do. The simplest way to start working with a British National Corpus is to go to its homepage. Here, you can register for an account, you can make changes to an existing account, you can reset your password or you can simply log in to the British National Corpus. Let's assume you have no BNC account yet. If so, click on register for an account and then type in your personal data, define your username and password and then click on register which confirms your registration. A short time later you will receive a confirmation mail with a link that you have to click in order to verify your registration. If the link doesn't work, you can also enter the verification code manually. Well, and now you can use the British National Corpus. Just go to the BNC website. Then type in your username and your password and you're there. Now you can use all options of the British National Corpus. For example, you can look up context where the string British National Corpus is contained. Admittedly, this is not a very thrilling result. So what you can really do with the British National Corpus will be explained in additional videos with specific research questions.


called from REST to GraphQL. So my goal here is not to say, oh, REST is not good. Use GraphQL. It's going to be more of an exploration of how we currently fetch data for apps right now, and how GraphQL can help, and what it does differently. So a bit about me. I'm a wizard working at, wait, what was the word? Software wizard or something. I don't remember. But I'm that at Shopify. We, as my friend Simon said yesterday, he was also from Shopify, we basically make commerce easier for our merchants and help them sell things. Microservices, unrelated slide. I just wanted to have that word there. So I want to start with a simple UI component, and we'll walk through how could we get data to populate that component. So let's take, for example, this is a shopping cart in the GitHub shop. So it's pretty simple, but we still need a lot of data to render all of this. So what kind of data exactly do we need? So we have a cart, probably, cart resource, with probably a total, and it has products. We have the products themselves, which probably have a title, description, price, a bunch of other things. And maybe also product image that's going to contain the URL of the image, any metadata we need. So using reusable endpoints or something like REST, the concept of REST, we have resources, and if you're truly REST, you'll have hyperlinks to other resources. And yeah, basically, you have state, and you can move to other states through links. So how it ends up happening often is we're going to get the cart. The cart resource is going to return us a bunch of hrefs or IDs, but mostly like hrefs towards the products. We're going to fetch those. And the products resources might have links towards their product images. And we're going to fetch those, too. So I mean, that works. We have the data we need. But a lot of users today are on mobile phones, on 3G networks, even worse sometimes, and that's seven round trips. Of course, I'm sure no one here actually does that right in the front end. Nobody does seven round trips. So that's way too many round trips, right? We need something to reduce that amount, especially on mobile and slow networks. So maybe from there, you're going to get, oh, I can use a query param on my cart, and I can expand my association. So please include products in my first request. So that works. But at the same time, you still risk over fetching, because maybe you only needed the price or name of that product, but now you're stuck with the whole resource. So maybe you'll do something even more clever, like a field query param, where you say exactly what you need. But that's still that's only one level deep, right? If you have nested associations, it gets like even like, you kind of have to reinvent the wheel every time. I've seen like X path being used.  Everybody tries to do their own thing. So that's one thing. Another solution you might be tempted to use is custom endpoints. So I want data from my cart, but I only want round trip, and I want exactly what I want, nothing more, nothing less. So it's pretty easy, right? I have an endpoint, cart with all the stuff I need. We're done. It's perfect. But that might start with this, but then maybe you're going to have another page in your app, which also a cart but has slightly different needs. Maybe more products, maybe less products, maybe different images. So maybe you'll have a cart version, too, with all the things. Perfect. Maybe you'll have cart with products and images, and maybe you'll have a query param to say how many images you want. Maybe you'll have cart with products and images with price and taxes. Maybe you'll have cart with product with images with prices and taxes, but no description. And that gets like pretty ugly, right? Of course, we don't go that far, but you get the point. So it's kind of annoying. What can we do to have exactly what we want, but still have a solution that scales well and doesn't make the client too coupled with the server endpoints, right? So when a client updates a view, creates a new view, or maybe we have a new product view for another product, or the model of the product changes, every time we've got to update our endpoints in that case, or create new endpoints, and that's kind of annoying. So GraphQL is here to help us. What is GraphQL? Actually, let's start with what GraphQL is not. GraphQL is not a database. It's not some special kind of graph database. It's not a library. You can't just install GraphQL with instant results. It's not language-specific, right? It's not a Ruby thing. It's not a JavaScript thing. What it is is a query language that allows you to fetch deeply-nested associations and select exactly what you want, plus a spec for servers to execute these queries. So it's just a spec, right? So you'll see implementations in Ruby. You'll see implementations on a JavaScript server, really any language. So this is a really simple GraphQL query.  So what I have here are brackets, selection sets. Basically, tell GraphQL what I want to select on that object, and I have fields inside these brackets, inside these selection sets. So when I send that query to a GraphQL server, what happens? Well, it's like any other language. It's lexed, it's parsed, it's validated, it's executed, and we get a nice response. And the response format is pretty interesting because it follows the exact pattern that you request, right? It's just JSON with the same shape as your request. That's pretty cool. So name was obviously a field on My Shop, but what the hell is My Shop, right? Where does it come from? Is it like some GraphQL magic? I don't know. So it turns out GraphQL models your data as a graph, right? But it still needs entry points to that graph, right? You can't just enter from anywhere in your data. So GraphQL has this concept of query route where you define entry points. Where can I start my query from? So we had My Shop before, but I might do another entry point with shop that takes an ID. It might return the same result, but there are different entry points. This one is like more programmatic way of doing it. My Shop maybe just returned the shop you're logged in or something. So let's take a more complex example this time. So we have new things right here. We don't only fetch the name of the shop. We can fetch complex objects, associations on that shop. So I have the location, which I only want the city address, and a list of products. And I want the name and price of each of those. And there's order by argument, which is a need on. So as you could have guessed, the response is the query with values. So all that's possible because at the core of GraphQL is a really powerful type system. At every level of a GraphQL query, there's a type attached to it. And that type exposes all that object feels, basically. It exposes all the possibilities. So for example, let's take the same query. My Shop here, as we talked about earlier, is on a query root, right? So we have a type query root. And it tells me, oh, I can query My Shop or a shop by ID. And both of those return a shop type. So on the shop type, we're querying name, location, and products. Am I allowed to do that? You can look at a type of shop and see that it exposes the name, location, and products. Name is a simple what we will call a scalar type. So it just returns a string. While location and products are more complex type object types. If we continue here, city and address are selected from an address. And it exposes those fields. Same with products. We have types for everything, right? So that's really cool. It actually shows you, like, you can't query. So it's not a one-to-one mapping with your database graph field, right? It's just like a layer. And you expose only the fields you want to expose. And with the type system, it doesn't let you do otherwise. And you know which types you're expecting. So fragments. Sometimes we want to decompose things. So right now we only have one big query. And you can imagine, for more complex UIs, it gets even bigger. Sometimes it makes a little more sense to decompose those into smaller queries. And GraphQL makes that possible. So let's take a look at the same query again. In, like, we talk a lot about React this year. Just anything like component-based UIs. So if we take a look at, let's say this was my product component in red, it basically only needs what products have, right? An ID, a name, and a price. So what we can do is extract this from the original query and create a new fragment with it. So all we need is name it. So I'm naming my fragment product fields. And say on which type this fragment applies. That lets us do something really interesting by using fragments inside your main query. And that's really cool. Because if you have, let's say, a main root component and children, you can decompose that query into each of the children. And at runtime, when you actually need the data, every children passes its fragment to the parent query. We can send that in one query. When we get it back, we can give it back to children. So this is my favorite part of all GraphQL. It's its ability to introspect itself. And what I mean by that is that every GraphQL server has a special schema field at the query root. And using that, you can actually expose all of objects and fields in a GraphQL server. And this allows us to create really nice tools. For example, auto documentation, right? We can ask for a server, what are your fields and objects? And these fields and objects usually have names and descriptions. Plus, every field they can let you use. So you have free documentation. Code generation, you can imagine if you have some front end code, you might even be able to guess what query they need and generate it because you know what's possible and not. Static validation. You don't even need to let a query go to the server and then get rejected because you know beforehand if that query is valid or not. So IDEs can validate your queries. And they can auto-complete your queries because they know everything about the schema. So with this, we can build awesome tools like GraphQL. GraphQL is kind of a schema explorer for GraphQL. So you can try anything you want really quickly on a server. And on the right, you see there's documentation. You can explore every type and try really any query. And when I saw that for the first time, it's really when I realized this is really cool. So resolving fields. So far, we've talked about fields, object types, but we have actually no idea what happens on a server. You don't just pass in a schema and a query and you get magic data, right? So if we take, for example, the product type, this is an example of how you define it in Ruby. So it's an object type. We give it a name and a description. And we can define fields on it. So fields are really just simple functions in the end. They expose something called resolve. And in resolve, you do whatever you want. So in this case, for a name, the resolve function takes three arguments. The first argument, object, is the parent object. In this case, it'd be a product object, arguments, and a query context that's global to the query. So here, to get the name of a product, it's simply object.name, because it's a product. But like I said, it's not a one-to-one mapping to the database. We can do anything we want. For price, we might add a bunch of stuff and return it. So and with all this, all your fields have their resolve function. So when you have a query, the server is going to turn it into an AST. Walk that AST and call the resolve functions and build the response. And queries can be pretty large, right? So we have to post. And we'll see how it can be a little annoying later. We've only seen reader only, but we can write to. In GraphQL, they're called mutations. And they look pretty much exactly like a normal field. The only difference is that they're only on the root. We have a query root and a mutation root. So they're not nested. They're top-level actions, and they have side effects. But we can still select the return a type, and we can still select what we want from the response. So drawbacks, because it's not like a silver bullet, right? It has to have some disadvantages. So if you implement a GraphQL server naively, you're going to run into a lot of n plus 1 queries. And what I mean by that, I'll show you in this example. So we have a field products, and that's on a shop type. And it returns all the products on a shop. We also have a field image. That one, imagine it's on the product type. And it's simply product.image.  So I selected all products, and all of a sudden, images are all loaded individually. And normally, you'll be like, oh, that's easy. Just preload them, or make sure you do where in these IDs. So in GraphQL, it's a bit hard, right? Because resolve functions are all ran in different contexts, and they can even be ran concurrently. So how can you get all images at one time? And for that, a solution is a lot of batching and a lot of caching. And I'm just going to talk about how we do batching and how, actually, most people using GraphQL do batching is by using something like loaders. And loaders, what they do, basically, is instead of immediately returning the product image, for example, we're going to say, loader, I want that image, but don't fetch it just yet. I'm just going to give you the ID. When all the other products in the array have given you your IDs, fetch all of them and return the one I want. So we're batching all these IDs and saying to loader, I only want that one, but I fetch all of them at the same time. So that solves it pretty well. Another issue we run into is HTTP caching. Because we post, and because our queries are not idempotent anymore, we can't really use that, right? We have to find another way. And that solution often is a client-side cache. And this is the part that takes the most time and is the most difficult part to get with GraphQL. But it turns out it works really well, and it allows you to do really cool stuff after. So what we build for GraphQL usually is a normalized cache.  Imagine I query all products with their price, and I query one product, ID1, with its price. If I stored it in their original shape, the product with ID1 in the first query and this product with ID1 would be in separate places, right? Because one is nested on their products, and the other one would be nested into a serialized product ID1 key maybe. So if I fetch this first, and another view fetches the product with the second query, we're going to get two results possibly. One's going to be outdated, and one's going to be right. So the way client caches work is we normalize that data, right? So in products, let's say that's my first query, instead of having the image inside, we're actually just going to give it an ID or use its existing ID and place it in another key. So now both queries can fetch that product, that image. So Relay and Apollo are both examples of client-side caches, and they're really great. Since we have all the data on the client, we can now do really cool stuff, right? I have everything I have presently in my cache, and I'm sending a query. I can do clever stuff like seeing the query I'm sending right now. Do I have some data that I don't need in cache already? And we can actually diff the AST from the GraphQL query and what we have in the cache, and only send what we really need, right? So it helps minimize queries even more. Security. So if you read about GraphQL on Hacker News or forums in general, there's always a question, like, oh, you're letting users query your database, like it's the most awful thing ever. But by now, you probably understand that, like I said earlier, it's basically just a layer, right? And we define our schema ourselves. We never expose something we don't want to expose. But there's still stuff that evil people could do, right? Since it can be deeply nested, people can create, like, malicious queries and have, like, I don't know, like a million level of death because it can be circular, right? So there's different techniques to defend that, right? We can use simple timeouts. After one second, if my query hasn't resolved, just throw it in the garbage. We can limit query depth. So I can say nothing in my data is going to be deeper than, like, 10 levels. So if somebody tries to query, if I'm executing a GraphQL query and I'm, like, level 100, it doesn't make any sense, right? So we set, like, a max query depth of, like, 10. We can also use query complexity. So since I'm defining a schema, I can define this field costs 20. And this field is more expensive for me to fetch, so it costs 100. And then we can define a max complexity that somebody can query. That's pretty cool. Future. So, yeah, all of what I've talked about until now is in the spec, and I'm using it right now. But there's also some really cool stuff coming up. One example is subscriptions.  So you can imagine this could be implemented with, like, WebSockets or service-advanced, but GraphQL doesn't force you to use any technology. So you could implement, if you implement a spec, you can use whatever you want. Def queries are something that are really awesome, too. And the principle is, basically, when I'm rendering some UI, what I want is showing something to the user as fast as possible, right? I want them to, like, feel like it's really fast. So what if, when I query, I could ask the server, send me name and description as soon as you can? If loading the products takes more time, just defer it to later. And we can actually do that with a, that's called a directive with the ad sign here. And it's telling GraphQL, just split up the query, send me the first part that I really need, and send me the other part later. So, yeah, that's, that was GraphQL. So what I really like about GraphQL, and obviously REST is still, its simplicity is just so awesome, right? So GraphQL might not meet the needs of everyone if you have, like, a really simple app. If you have a lot of caching and you don't want to use, like, a complex client app, REST might still be the perfect choice, right? But if you have, like, complex UIs, like, we usually have these days, it's much more complex than before, right? Like, before it was a static page and it's basically just what I have in database, I just show it. Right now, we have, like, much more complex and much more nested objects. GraphQL is great. So GraphQL exposes all the possibilities that a server can do, and then clients just choose what they want, right? It makes it really simple. If you have an Android app, if you have a web app, if you have other servers, they can all talk to GraphQL in the same way, and you don't need special endpoints. Thank you. If HTTP2 becomes mainstream, does GraphQL still have an edge in terms of reducing latency or mitigating roundtrips? Very good question. I think it does. Maybe less... Maybe roundtrips are going to matter a little less, but still being able to select the data you need and reduces your payload and all that query depth I talk about and having really intelligent client caches are what really makes it shine, I think. Okay, how do you prevent the client from making complex queries that would take forever to run? Is that possible? Yes, it is possible, and yeah, I talked about it, right? So basically, you can limit by having a timeout that's the simplest way, and I think that's what Facebook uses if I'm not wrong. It's so basically, after one second, like I said, you just drop the query if it's taking too long, a query depth and query complexity giving us core to each field. Does Shopify actually use GraphQL and how hard was it to implement over your data? So we started playing with it. I don't think I can say if we're using it for sure, but we're definitely played with it. We have some open source repos, GraphQL Batch, which the loaders I was talking about. That's some people at Shopify build that and it's really cool. Wow, you have like so many questions they keep going. All right, when the product is updated in the database, should we reset the cache or is there something in GraphQL doing that thing automatically? Right, so caching is, cache expiration with GraphQL is still not set and it's for me, it was kind of the hardest thing. So on the web, right, we can always trust that maybe someone's gonna refresh eventually, but if you have a cache on like a server because GraphQL could run on your server, how do you expire it, right? So I've played with TTLs, TTLs are like, they're really the only way I've seen like work well to like expire in time, but it's hard, it's a hard problem. How does GraphQL compare to Falkor? So the Falkor and GraphQL, they are similar. They basically solve the same problem. GraphQL has its own special query language. And the main thing is Falkor doesn't have that type system that GraphQL has and I think that's the edge I like more about GraphQL, it's really forced, like the strong typing, but Falkor is awesome too. I can keep them coming, so just tell me when you want me to stop. Sure. How do you keep the reference to the deferred part of the query? To the? The third part of the query. Oh, so when we split them? Yeah, yeah. You don't really need to keep reference. So you split it and you, so you can ID it first or you can just split it and when you receive an answer, any answer, you just put it in your cache. So cache is always like the single source of truth, so you don't need to know, like, oh, I split it so when I get it back, I'm gonna put it here.  And I'll ask you one more. Does GraphQL have a hard dependency on a particular type of backend database? No, that's the really cool thing. So remember I said, like, resolve in fields are just like functions?  Like, one field might get the product from memcache, another field from Redis, another field might do a call on REST API, another field might be from MySQL. So you really can do anything and it's a great way to, like, interface if you have, let's say, like, a GraphQL and behind that you have, like, even REST APIs or other GraphQL APIs. Any backend does it really. All right, thank you so much. Thank you.


Hey everyone, I'm Amy Ola. I have the pleasure of working with my fine colleagues and my contributions to the team are working on web design and development So without further ado, as Mariam said, I'm gonna walk us through the website Give me one second She'd be able to see my screen Yeah, so just gonna take us through the site. Yeah, so SG today is Persistent to be the global hub for real-time SCG data and as my colleagues have walked us through how we're doing that as a combination of you know being a Platform that hosts Data sets across global providers offering Showing us how to use those those data sets in the form of story maps With resources to learn how to do that yourself as well as other Education resources are about the SCG general as well as yes, specifically Yeah, so I'm gonna cover each of those in a second, but just going to walk through our homepage here First thing you can see here is that see two different ways to navigate to datasets we've organized them by the familiar SDG cards you can see here And for each of them you can see how many datasets we've been able to Mass in such a very short period of time and then below here you are able to see some of the data sets that we've actually featured Here on the front page. I will take a step into that in a second lasting here on the front page that's your features are My school today site that The mic did a great job of walking us through and we'll get to that in a second But one of the ticketed look at the data hub So we've had quite a few data sets on this site and we've got a number of different tools here for Navigating towards to get to the right data set for source search. So for example We were able to just type in a search and get a list of results that match that query Then you know any keyword here what will work It's pretty pretty solid Next up here again, you can see this the same grid the SDG SD cards grid I'll come back to that in a second, but below here as a nail a little bit to you in her We do feature, you know, the datasets that are relevant to current events Those are had chosen by by by the team to To cover what we did this what we see as the datasets that are most relevant to current events going on our most real-time datasets those generally around like daily updates And then recently out of datasets, which also includes mapping schools the mapping school locations project, which I'll come back to Going to any of these Click on any of these SDG cards here We actually take you to the SDG page where you can see a brief overview of what that SDG is And you can get access to official SDG data UN data here you can see a list of the datasets that we have for each of these to put for this particular SDG And then you can also see more information here related to like, you know story maps like learning how to map specifically for that this this SDG as well as again those official the official datasets for that SDG Going back to the data hub You can't just go scroll down here and click on any one of these And then be able to and in the view that that the datasets dataset page This is actually one of the datasets that another showed us earlier But in addition to being able to see this this dashboard here We're also able to learn about that that particular data set including who that who the data provider was and then a Metadata to get more granular information about those you know the criteria that and I mentioned earlier But like how we know what's unique about this data set? How was it produced? and Methodology credits so on and so forth and then also we were able to get the underlying data as well as the RJS layers here By clicking on these These links Yeah, so this is what this is a you know the the meat of the working with as it relates to the data hub It's that's all these data sets Some of them are We've got a good amount of dashboards here for these datasets some of them are actually just just maps But they're all like very very helpful and we're very very much thankful for the To our data providers for for a lot for working with us to present those here. I want to move on to storytelling Right here. Let me take a step back to To the data hub so do you say this these as now mentioned We're working with the different providers across world to to get to aggregate all these data sets And so up here on the top right of the page out to us actually put that open submit Submit your data. There's a form here that you're able to fill out basic information about the data set the SDG that and all the rest of the criteria that they've never listed out earlier and what you're doing here is actually just sending us some information about the data set and that starts a conversation with us to see how we can go about Working with you to you to to process and then to curate that data set to bring it into the site So please please feel free to you to to click on that and So start working with us Moving on to story telling that a bunch of resources here Around like on the existing Story maps that that leverage some of the data sets that we have on the site on this site as well as other story other data sets All built on like to us And then this into that we also have like resources at the bottom here that allow us to Teach you how to actually make your own story maps. These are really really helpful for being able to take these data sets that can be quite you know data data intensive or like your information dense Take these take these data sets not to build a narrative around them. So as an example of one of those Just click on one of these here. These are really really great at communicating the context around these data sets And not just you know, just showing you the broad data So it takes you time to go through there's a ton of them We've got a bunch of different collections here for each of the SDGs You can see the count here for each of these for each of the SDGs have how many How many story maps we have for each of them? So just click into one of them here and you can see we've got a good handful of Story maps for SDG 5 Moving on to Education We've got got down to the work with some great organizations to both develop curriculum for Learning about the SDGs and GIS as well as like working with organizations like the eco ambassadors program That is engaging youth in GIS and digital storytelling And it is to that you can also navigate Navigate to the ArcAs learn lessons for each of the SDGs I've got a ton of resources into those to learn about to learn about both the ND and the SDGs and GIS More specifically and also we got some helpful links here below Wrapping up here. Let's show you if you want to learn more about the about SDGs today And the motivations behind this you say please feel free to check out the about page I think we'll get a great job of summarizing the purpose the motivations behind Behind SDGs the opportunity that we see So please give a chance to you know, check out our freaking ask questions if you're having those and our data evaluation method I know it's going on the page. You can see our awesome Rockstar team here There's a four of us featured here, but there are there have been other people on the team that Have come in now and so we're very grateful to both them as well as our team of the senior advisors including Gordon, so yeah, that's the That is the Website, please take some time to look through it. If you this was very much a team effort Different people pulling in Resources and and and the feedback and there's so many different iterations that it got through So if you see anything that you'd love to to improve on the site, please feel free to reach out and give us that feedback to wrap up went to you also Again hit on the hit the nail on the head like we would love to collaborate with you So feel free to you to reach out to us. Please hit that hit that link at the top of the page to submit your own data Um And also, uh, we can also work with us to publish your GIS story maps, uh, with SDG today Um, and we also invite you to connect with us across the web Um, obviously on our website, but also across social media on twitter and on linkedin Um, and feel free to send us an email as well. So thank you so much for your time. I'm going to pass it back to mary