So, this is a overview session as well as clarification session. What I would like to hear from you is about the lab yesterday. Is there something you would like to convey in terms of the exercise or because as I said it is difficult, people have come from different backgrounds, some no TCP dump up front, don't know at all the way the lab is designed, whatever it is. So, if there is some feedback which you can convey so that again I always emphasize feedback is very important because whatever feedback you provide I can refine the lab such that later when the main workshop is going to be organized it is easier for them to get on with the lab. So, it should be with that in mind if there is something I know that maybe I felt at the end that I should have provided an overview of each lab which I will do now on but any feedback. Again, it is like the typical classroom of 250 people, 10 percent are highly motivated, maximum 70 percent they were like just trying to do something and so experiment number 1, 2, 3 maximum of us could attempt but 4th very few attempt actually and we couldn't get the time to attempt 4th one that is what is my observation is. Okay, so as I said I mean when I designed it itself I had put it slightly like someone who knows it can definitely finish it before time, someone who is starting to learn stuff maybe it is on the bit on the higher side in fact this exercise is lesser than what I normally give as part of but that is because lot of our students are familiar with lot of the systems like Linux, similar scripting they have already have done some experience with TCP dump wire shock so for them it is easier that said yes it is when you are catering you always tend to add extra so that whoever has the time will do the extra whoever is some learning has to happen that is the final goal. In terms of the difficulty level did people find it very difficult or it is all right? There is a window operating system in our university so there was no unix or linux practice in our university so that is why there was a problem like you have given commands in unix and linux so I was not familiar with that so again the students or participants which are coming so they will also face problem because they wish or they would want that so there should be some windows implementation of this command or practice on the networking because window is more popular and the thing which they handle in their colleges more so some networking assignments or networking lab assignment on windows should be there. Okay so in that context let me ask you a question how many of you are have people I know majority of you are windows user the sigwin people use on windows extensively like you yourself sigwin you know the installation of sigwin and stuff you have done it before no okay so the well anyway I mean if linux system I thought the installation is kind of straightforward and it comes with it in windows installation of many of this like NS2 and all you I wouldn't say it is difficult but it is a little bit more involved than linux installation I thought it will make your life easy in installing the packages on linux rather than on windows but that said let me look into see if see even in windows when you are using NS2 the terminal that you open will be again a linux kind of a terminal it will be a sigwin terminal where again you have to use the cd whatever so you read because the tools are like that you cannot get away with not having because these are developed from academia they have come and linux is open source so they tend to custom fit most of them for that but that's a point is well taken let me look into it to see if something can be done on the window system as well yes questions are very good and it's a very good for to give in the puzzle for the mind and but one thing that I think it should be in Bodhi tree there must be a link for submission the assignment and there must be some grading scheme before open the solution to other it may be open in next day or further but if it has been evaluated then it can be a better approach I agree totally let me make a few other points in that context so this lab exercise we had two versions there was one version which you have not seen the original version was a very spoon feeding which I call is a spoon feeding kind of an exercise where you tell open the terminal type cd you run this command open by shark go through the trays click on the first packet look at this field what does it do or some such kind of a very spoon feeding type of version of the lab one is also there but then I felt so when you have a spoon feeding thing it makes life very easy definitely you just have to follow the instructions do it and do what I have seen with my own students like who I've done this lab is they do it they finish much faster and then later we have what is it called an evaluation of the lab where we test what is it that they understood as part of the lab and many of them just don't seem to understand why did they do the lab in the first place I mean what is the goal of the lab what is the objective of the lab then we scratched all this spoon feeding type of lab exercises and went on into this mode where you ask the students themselves to design the experiment that is when they appreciate what is it that they have done they tend to appreciate oh I because this was the goal I designed the experiment and that is what I am actually expected to watch so some of these labs have been designed with that goal in mind but when it comes to designing lab experiments on your own time is a premium in other words if you especially for someone who doesn't who don't have any background and ask them to start designing an experiment the same lab if I had given you let's say seven hours or six hours I'm sure you'll do an outstanding job of completing the assignment and so on but again everything is packed so if I give three hours maybe things are not as confusing and whatever but I mean there is a deliberation if you do it you will feel happy but maybe you know you may not learn much if I do it in this lab give a goal and ask you to do it then it'll be a challenging thing you may not finish the assignment on time but then you are learning something the point I wish to emphasize here is whatever happens this is not the ending point it's your learning has not stopped once the clock hit five the idea is you understood what the goal of the experiment is you know know what the method is redo I mean take additional time try to finish the portion relook at the assignment and go through it once more understand it well and then when you're introducing it because there is a timing constraint at this workshop for example when you're redoing it in your own college with your own students just give one I mean this had four questions or three questions just give one question in a lab let them take how much of a time they want finish it then next day you give another question whatever it takes for them to do it so that was the goal in mind when this assignment was given but that said I do understand that I mean it takes time it's not a straightforward thing because we are constrained in time I'm trying to push things that's one of the reasons I just want you to understand that's the thought process that went behind I'm Manmohan Sharma from FET Modi Institute of Technology actually a few of the software is not in store like why why shark because it is giving some error apart from that a few of the commands also we are running first time like tcp dump so we do not have any idea about what we need to analyze out of this one how we need to analyze so that is the problem we are facing at sure so that is the point noted so I will what I will do is this lab on I'm going to spend a little bit time like maybe 15 minutes explaining some of the stuff just to get you started that I will do henceforth any other thank you for you know extending this help because yesterday we are totally blank and because we don't we're not exposed to much to the Linux environment so that is what my request is that before going to the lab if you have an overview of the tools that are we're going to use for the lab and the you know the bit stuffing all all those commands or kind of headers so you know we can do it better and we can understand the concept more better that is what my request is sure yeah so anyway since you have already had the experience I'll just provide you an overview but going forward with the main workshop I will address as to how to tackle it to your remote center what you're doing maybe you will have to provide an overview session maybe I'll prepare the slides for the overview session and pass it to you and maybe you can make their lives easier okay so what we are going to do is so today's lab is a continuation of demultiplexing and we will also look into ARP so these are the two things that we are going to look at so before I get into the details let me also tell which I'm sure you have figured out by now but let me emphasize the way many of these lab exercises are to be done is you have to collect a trace in order to collect a trace one of the first things you should do is run TCP dump now TCP dump is a very sophisticated tracing tool if you just run TCP dump it collects all the packets that it sees that the host receives most of them are broadcast that it is receiving so it collects a variety I mean if you you'll see this screen scrolling very fast so a huge number of packets that you are collecting naturally there are too many packets it's not easy to evaluate you want to focus on packets of interest so for this TCP dump provides this very nice filters so you saw some of the filters like host source and destination port you can specify the type of packet whatever it is so you have to put a filter now if I want to give away what the filter is you don't really understand the appreciate the role of TCP dump but you're free to google around search for google for what filter to use whatever it is I'm saying you should put in some effort to figure out what the filter is so the typical way is open a terminal then you do TCP dump with some filters what filter to use will vary from experiment to experiment you have to figure out what these filters are so this is happening in a terminal then in another terminal you do some activity so this activity is again a function of the experiment for example in the previous lab wget was an activity that you got because using wget you are trying to download a html page from the particular server and you want to capture what are the packets exchanged as part of this wget ssh is another activity you may want to open multiple ssh connections so in today's lab when you are doing demultiplexing one of the problems you will see is you will try to open two ssh connections between the same source and the same destination and kind of figure out how does the source and the destination distinguish between these two ssh sessions so that is the problem statement and you have to design an experiment for that so for us there's a tcp dump and then activity will involve you opening the ssh dump ssh sessions and once you are done with this activity you terminate your tcp dump and then you use wire shark by the way when you do this tcp dump you have to save it in some the trace file in a into a file typically minus w is the option you use so wire shark you open the file and now once you open it you can go through what are the sequence of packets and again as I said your filters are very important here because you want to focus on the packets of interest you don't want to look at other packets so this is the typical setup for many of these experiments that you are going to see okay demultiplexing the first portion as I said is ssh I think given your practice in the previous lab this should not create any problems there are another next so there are overall three exercises first one is this ssh placed demultiplexing and there are two exercises on ARP people know what ARP does right I don't have to explain it but let me just make one liner so ARP is a protocol that is used to obtain the MAC address corresponding to a given IP address so if I if I for example want to find out I want to send a packet to a specific destination before I send the packet I have to send it out on the link layer I need to specify what the destination MAC addresses for which I need to find out what the MAC address corresponding to that specific IP addresses now whenever you send a packet so this exercise again there are two exercises within this as I said the first exercise is a combination of how forwarding works in conjunction with ARP so what happens here is there is the concept of hosts within the same subnet hosts in different subnets and non-existent hosts in other words these hosts are not up it's not a valid IP address okay so these are the three things that are there now hosts within a same subnet means hosts that are in the same lab they share the same subnet mask so if you look at I mean the subnet is 10.105.star.star this is the same across nsl osl nsl nx they're all part of the same subnet okay so these are all the hosts that are within the same subnet now when you're sending a packet to a host within the same subnet the MAC address will correspond to what the destination directly because it's within the same subnet but on the other hand if you're sending a packet to a host that is outside the subnet the MAC address will correspond to what the router right so this is what something you should see in practice so when you do this experiment within the same subnet you will see that the destination IP MAC combination will be the same as that of your destination whereas in the other case the destination IP will correspond to something that is outside your subnet whereas the MAC address will correspond to your next top router so this is an activity that you're going to do and when you try to ping an non-existent host what happens so again I will not reveal the surprise so you figure it out yourself so what does ARP do so here is a I so I'm telling ARP find out the MAC address corresponding to this IP address but that IP address machine is not up now what does ARP do then so that is also something you're going to figure out okay so that I will leave the other thing which we are also going to focus the third exercise is this gratuitous ARP I mentioned this again in the videos briefly so let me tell at a high level what a gratuitous ARP is so sometimes for certain functionality like for example detecting duplicate IP addresses or what for network functionality you tend to generate a gratuitous ARP gratuitous ARP is an ARP which you are generating by yourself to inform others what the what your IP versus MAC pairing is in other words no one asked for it but you are just telling them that this is my IP address this is my MAC address okay it has certain functionality you look up at the slides I don't want to go into the details so what we are going to use is we will use a tool called ARPing this is the tool that we are going to use to generate a gratuitous ARP so you should definitely look at the man pages but just to make things convenient for you I have given how to use this particular command ARPing how to this ARPing can be used to generate an ARP request as well as an ARP reply I mean by which I mean the packet that you are going to send is an ARP packet in one it's the same information it is carrying which is this is my IP address this is my MAC address but you can send it in the form of an ARP request packet or in the form of an ARP reply packet so based on this people are going to make note of the particular information so what you are going to see here is this ARP request ARP replies how do they differ and how does this gratuitous ARP work so that is what this is going to test a point again I want to mention here is I did mention something about ARP spoofing so what often this gratuitous ARP does is it is used in the context of ARP spoofing in other words what people do is I'm an attacker so what I will do is and let's say there is a victim so the victims IP address what I will announce when I do gratuitous ARP is I will announce victims IP address and give my own attackers MAC and saying I am the MAC corresponding to the victims IP address so that all packets for the victim will then come to me so this is ARP spoofing which is done based on gratuitous ARP you are not going to do spoofing in fact this ARPing command will not permit you to it's a user level thing you cannot set someone's IP address to your MAC and do it there are all this ARPing does is you can generate gracious ARP for your own IP address you cannot generate one for someone else with your MAC so as part of this exercise you are going to generate a gracious ARP for your own IP address with your own MAC okay though you can potentially do it but that's a hack we are not covering that here so this is more or less what today's lab is about hopefully this will get you started and you can evaluate what is happening through the traces any questions on this madam you told that when these two hosts are within the same subnet then when you get the MAC address of the next hop you will get the MAC address of the destination but even when these two hosts are in the same subnet the packets must be going via switch so the next hop address should be the MAC address of switch switches are transparent switches it doesn't have a MAC address they may have a MAC address for what is it called configuration of the switch so switches are transparent in that what they do is they get the packet and they have a routing thing and they're just going to send it out on that interface so more or less it goes to the if it's a broadcast packet it'll reach everyone otherwise it'll go through the you're not targeting switches transparent in that you're not targeting the packet to the switch for any evaluation it'll just look at the packets and kind of forward it in whatever that is what that is why they're called transparent switches because you're not focused you're not directing it to them but switches do have a MAC address that is more for the switches will have a MAC address as well as an IP address that is more for you to if a network management for you to log into the switch set its parameters so on so forth where the destination is specifically the switch but if you're sending a packet switches are transparent they are not going to do anything to your packet they'll just follow I want to ask that how to configure that proxy ERP in in case we don't have a direct communication with the destination we can't ask what is the MAC address so means by textbook we just tell the students that we can configure a proxy ERP but exactly where it has been configured is it configured in gateway or outer or in any server so conceptually any machine which is part of the same subnet you can configure it as a proxy AR what it is basically doing is it is acting on behalf of some other machine where it says you I mean if some for example host A wants to find out what the IP address MAC address of host C is but host C is not within the particular subnet now what you do is host B you delegate it saying that when someone asks for whatever host C you pass on your MAC address so that you get the packets corresponding to host C to B then B's responsibility is to pass it to the other any I mean you can configure it on your actual host itself so is it like a configuring an access control list in one system or all the other systems access control no this is there is a setup for it I mean I have not done proxy ARP setup myself but there are certain commands you have to so a regular desktop can also be converted such that you can convert it into it need not be I mean anything it like most routers also provide that functionality most switches also provide that functionality even a desktop provides that functionality and so there are set of commands which you used to use to convert it what is the exact command sequence I don't know but just Google it you will so is it through hyper terminal we do the configuration oh it's it's just like for example BRCTL is a bridge command just like that there will be a command to do this also but as I said I don't I mean it's a in Linux and I don't know in Windows in Linux there'll be a bunch of commands you have to execute to convert the thing so it's just a bunch of commands there is nothing else more sophisticated what is the set of commands I don't know of thank you yesterday while doing the last question fourth question the SSH we are trying to analyze the packet in the wireshark so initially like we got the ARP request packet but we are waiting for the ARP response packet initially we thought maybe the number of packets that we had actually dump was very less 40 packets then I tried to see the castable in the local machine and the castable is maintaining the MAC address already of the next machine that I'm doing SSH so maybe I thought that is why I'm not getting the response so I again clearly castable again I rerun for a quite a few minutes still it's interesting I don't know it should not be a anomaly of such such form but I had seen that the ARP request packet I get but the ARP response packet still I do not get who is generating this ARP request initially I started a phrase connection with my another machine so I can see the ARP request being pushed into the next machine the broadcast yes I can see that problem like we had been we had observed for we had run the practical many times thinking maybe something is wrong but till the end we end up getting the connection but we don't find the ARP response packet request packet we can see the details ARP request packet we could not end up finding the ARP response packet but it's probably there already as part of the ARP cache no that is what we had seen it is already maintained in the cache we deleted the cache we verified you are using your own laptop to do something no no we had seen in the services file we so we clearly cast we see we had observed it castable initially it maintained the MAC address we verified cross counter checking so whatever it is the specific thing unless I see what is happening I mean there's not something where you tell and I mean I have to sit with you need to show definitely because it's just surprising that ARP request packet I could get actually but without getting seeing the response packet we could establish a connection it should not happen that way sure you show me in the lab and I'll have a look but that said all kind of weird things have start to happen in the lab that's the regular norm like we you expect you expect something but something else happens it could be due to misconfiguration it could be too many other reasons one has to kind of figure out what what it is what is the difference between destination host unreachable and request timeout two types of error occur when we try to ping some host so I saw that two types of error occurs destination host unreachable and request timeout okay so destination so again depends upon here to keep talking about it appearing on the terminal right the timeout is something which may be being printed locally it waited for the response to come within this time it timed out it did not get so it's a software mechanism where like you put like printf with some time exceeded print that the timeout has happened so that is the printout mechanism but why did a timeout happen the reason for that is that the destination host is unreachable so that the fact that you determine destination host unreachable is could be that there was some intermediate router who send an ICMP message that said that ICMP code type is that and thereby you're using it to specify it means destination host unreachable message generated by ICMP packet interfacing of that router that this network is not available yes this host is not it yeah it's not necessary that all routers will generate it in case the router does not generate it also if you are not getting a response you will conclude that the destination host is unreachable it's a it's a coding artifact I mean depends on how you coded it and suppose that if we don't have any router we are having one local area connection and if you are pinging some host within the network and suppose that this ipad this is not available on that particular switch then the error will generate that request timeout only yes there is no any kind of error destination host unreachable that is because as I said it's probably derived from the ICMP someone has given an ICMP error message that specified that the destination host is unreachable typically routers do that thank you ma'am one question from my side is that whenever we used to type a ping command at the end of the reply a field shows a TTL a TTL usually show 128 127 even 126 also 64 also 32 also so you make me correct if I my answer is right that is the field which shows the number of the hopes covered is that right no TTL field is saying what is the lifetime of this particular packet in other words if any router were to receive this packet and the time to live field has expired it can drop the package now the TTL even though it says time to live with basically a hop count what let's view it as a hop counter if I set my TTL to be 64 all it is telling is this packet can hop 64 hops after that its lifetime has expired you drop it that is what TTL means so TTL whatever value when you set TTL in your packet to be 64 you're say telling to the internet that let my packet hop for 64 after that you drop it because it's past the expire ma'am sometimes it shows 128 sometime it shows 127 yeah it is that kind of variation so see many of these things TTL fields are set by different I mean in ping implementation I mean depends upon is it the same ping implementation that is showing a TTL field of different values which I seriously doubt but from one to the other like one ping may generate TTL of x but if you're using something else trace root or whatever you will have some other TTL whatever I'm saying it's whoever is coding whatever is the default value they have set that is what will be in the TTL so if you as a coder you set one value I as a coder set as another value with three things will be different there is no standard TTL that people have to employ people are free to put whatever TTL they want typically it will be in excess of 64 in a local area network having the start topology with unmanageable switch if a sender is sending masses to the some destination whether it will employ the broadcasting or the unicasting well it depends upon what the switch has within its table switching table if it is a unmanageable switch of any configuration or any organization no it depends on that is what disease are called learnings bridges for a reason they are learning switches so if it is a hub which is not a switch it will just broadcast okay but if it is a switch switches learn so most switches of any company whatever it is the functionality of the switches that they have to learn so what they do is whenever they receive packets they make note of this packet has come with the source MAC address it has come on this interface thereby that source will be on that interface means it will be unicasting only today times I would call it forwarding it came on one link if it knows that the other end point is in this direction it will only forward on that interface and not on others so this is the learning capability of switches we have covered it in as part of the video so these are called learning bridges learning switches but if it doesn't know it's doesn't have it then it will broadcast so it it's a behavior depending on whether or not it has because whatever switches we are using today in today time in our colleges to make a local area network yeah I want to know just point that point of view yeah so it can be broadcast or unicast as you put it based on whether or not it learned about that entry or not learning is a function of who is sending traffic so it's not like an automated learning only if that other guy sends the traffic it can learn if it learned it'll send it in a more efficient fashion so if it learning that it will not broadcast yeah if it learned it won't broadcast thank you my question is regarding the switching only so we say the switch create the table right switching table so they create the table only when a request is sent any traffic passes through it passes through it so why don't we use the graduate gratuitous mode you do whenever the when the node us nodes are connected they should propagate their mac address and the table that is the purpose of one of the purposes of gratchez gratchez art so when you are booted up right you send one gratchez art so that the switch will know that you are on that particular interface so that it makes efficient switching so that's one of the purposes of gratchez so gratuitous app is working on the switch no host is sending a host once it boots up is sending a gratchez art telling everyone see this is my ip address this is my mac address now this packet because it's coming for the first time will probably get flooded across all the switches but as each of the switches that is there interconnected will note that this mac address is in this direction and they'll make an entry of it in the in the learning table so next time some packet comes for it it knows in which interface it should send rather than flood again okay yeah so that's one of the purposes of gratchez the ip duplicate ip detection also is one of the other purposes so it's a there are many purposes of gratchez arts one more question regarding the tcp dump yesterday we work with the command tcp dump then we took up the traces then we imported that thing into the wire shark so don't wire shark has a utility where we can capture the live traffic yes it does so you can do that also but again this is a personal preference you are comfortable with it so what i like about tcp dump is the command line use of filters in wire shark it's it's not like you run the trace and the filtering maybe as a someone who is very familiar with wire shark and use whatever filters i find their filters a little bit tedious to configure so tcp dump what i like about it is just a command line thing you specify all the filters you dump it into a file but i like the gi aspect of wire shark where you can pop up you can examine everything tcp dump also you can you don't need wire shark to evaluate you can read the trace file on using tcp dump itself but it's not a user friendly reading of the thing so i guess a high level point is you can do whatever you're doing with tcp dump alone you can do whatever you're doing with wire shark alone the reason i use a combination is i like tcp dump's filter features to quickly wire shark also provides filters i'm not denying that it's just convenient for me to type in at a command line whatever filters i want capture the trace and then use the gi capability of wire shark to evaluate it's a personal preference which many people like who work in networks have this preference i thought it's there's a reason for why many people like it so i imposed it on you also but you are free to do whatever whatever works for you we heard of something called layer three switches called mpls switches is it these switches operate on multi-frequency bands for every flow that goes through the switch you're talking about mpls layer three switches right layer three switches layer three switches are kind of like either routers or some of this mpls we call mpls multi-protocol level switching concept is it these switches user different frequency bands for every flow that goes through the switch different frequency processing and different frequency bands means signals goes through in different frequency bands by frequency band you're talking about the link layer the physical switch inside the switch i'm talking about for example port a on the one side coming what do you mean by frequency at a switch i did not understand this is another multiple signals we can send two data flows at the same time parallely for example collision to avoid collision for example in case of a local data network in a segment okay if you're a bridge transfers in a packet in a frame and no other packets can be transferred i think some of the things you're talking about is about the switching again i i don't have much experience with them but there are this cut through switches and combining with optical something where what they do is whatever comes you kind of switch it at the optical links have this very huge bandwidth the spectrum kind of a thing so when you cut you kind of cut it and send it on the so the switching so basically you're avoid so all this is so router typically in the internet is like where you have to evaluate the header whatever and you are always trying to increase or decrease the processing delay at a router so some of the switch architectures are designed especially in conjunction with the optical fiber to avoid some of these things so that you do kind of when you get a thing this is that switching that is being done where you switch from this to the outgoing outgoing link is defined by a frequency band so whatever comes you that has to go on that frequency band so you do that conversion and push it forward so that is dependent on the switch architecture yes there are switches like that okay so lab i think i mean i'm happy to take more questions you have with respect to the lab


You too team keep it clean. What's going on? It's engraving here with another video and in this video We got another episode of NFL questions from subscribers and this question comes from my guy Harry a pelt We're longtime supporters the channel appreciate you mr. Harry but his question Hypothetical question one that will never truly know the answer to But his question was what would the Ravens record be? If the team had zero injuries this year and that's something that the school especially Ravens fans We will always wonder about really every single year because we always have plenty of injuries and plenty of significant injuries too But every team does so something that we all got to go through just as football fans as NFL teams it just it has to happen. What's up doctor doc? How you feeling about that that Eli benching man for your Giants I'm pretty sure you were heated about it too, but anyway, um So before we get into this question, let me introduce myself me I'm being graven vids and this is my YouTube channel engraving vids and I'm a Ravens fan And I love playing Madden too. I got a matter of video coming out later on today Yes, he disrespect. I felt the same way, but um Even though I'm a Ravens fan on this YouTube channel. We talk Ravens. We talk Giants Like we're just talking about the doctor. We just talk football period So if you're a Ravens fan, you can subscribe if you just a football fan period you can subscribe because it's channels for everybody so You can also follow on Instagram Twitter and snapchat all three are engraving vids I'm now again this question from Harry. He said what would the Ravens record be had they not had Had they had zero injuries and how would that roster be looking right now, too? How would the roster be looking? Well, honestly for their record? If they didn't have any injuries, well first, let me let me do the roster part first Because if they wouldn't have any injuries the roster would look a lot different Offensive liner would be a lot better. You would have a marshal yonder. You would have Ronnie Stanley every game you would have At center probably still Ryan Jensen because he's in he's been pretty good at center You would have Sierra Guza at right guard the big boy and the right tackle. You still have Austin house so just with the We would have Alex Lewis We would probably have Marsha on that right guard and Alex Lewis at left guard center stays the same and left half And right tackle still stay the same. So our offensive line would be significantly upgraded Upgraded they will be significantly upgraded So that right there would be big But besides that like we talked about in the last video to von young would be there So we still have Jimmy Smith brain and cost to von young in a slot Marlin Humphrey drafted ready to come in and start and he he has proven that he is definitely a quality player Maurice Kennedy he might still be there. Maybe maybe What's his name? There is web coming back Tony Jeff Anthony Lupin Eric Weddle all the secondary pretty much say the same They just have the addition of to von young Why receiver Will still be Jerry Macklin Mike Wallace Michelle Perryman But then you could possibly based on how the preseason was going you possibly have a Tim White up in there, too You possibly have a Tim White up in there and I think Michael Campanero he probably stuck around to and maybe Chris Moore Maybe but That's a big maybe I think now he probably would have stuck around because they would they said even I think they said in preseason That he was gonna be the fourth number four wide receiver. So he probably sticks around Running back we still have Kenneth Dixon. So if you know what I don't think we would have Alex Collins I Don't think we would have Alex Collins because had everybody stayed healthy.  What was the guy who used to play for the Bears? I Forgot I forgot I forgot it wasn't Jeremy Langford. Was that they running back now? Whatever that old Bears running back was that the Ravens have brought up that they signed and I was hyped about I'm like Oh man, we got a quality. We got a starting guy I got I used to start for the Bears at running back and used to kill it But injuries slowed him down injuries hurt his career or it was like but okay appreciated. So Had not had not if we didn't have the injury to Danny Woodhead and um and Kenneth Dixon then there would be no length There would be no length for them There would be no Alice Collins and Alice Collins they signed they signed both of them to the practice squad Then they brought up Jeremy Langford, then they I guess they didn't like what they saw from Jeremy Langford So they sent them back they sent them packing they cut them and they brought up Alice Collins And I'm like who is this guy? But had we not had the injuries then there would be no Alice Collins. So who knows how the running game would be Kenneth Dixon will still have been suspended for six games for game for the PDs last year and two games for the Substance abuse this year. So he would still been suspended six games Which is just a shame Um But we would have had him would have had tears with and still Buck Allen and Danny Woodhead So that would have been tricky out of those four guys who makes it I think Woodhead would have definitely made it and Tennis tears. I mean Kenneth Dixon. I think he would have been on there I think I think maybe in that point. I think maybe Buck Allen might have been an odd man out I think at that point. He might have been an odd man out But obviously it's worked out for Buck Allen. He's played well for us. What's up JB? He's played very well for us And of course, of course, Alex Collins. He's been pretty good, too So that's running back off we talked about running back offensive line of course quarterback It would have been the same scenario Joe Flacco Ryan mallet of a flacker with that would have never had his back injury Um Offensive line we went over that tight ends tight ends been Watson's I mean all the same tight ends there and all of you No, he didn't get hurt. He got suspended. I mean crocky Gilmore crocky. I forget about you more sometimes So I tight ends I think would have been been Watson crocky Gilmore and Nick Boyle And I think they would have kept max Williams, too But they would have they would have had to not dress one tight in the game So that would have been a good problem to have So there would be no been smile So that would be that Defense linebacker Albert McClellan special teams got he would have been on a roster Peanut I think peanut will still be starting next to CJ movies. I think that would stay the same But your album album will be there Brandon Williams wouldn't have missed any games Who else do we lose? Oh Oh Brent Urban he would have still been there, too Brent Urban when he was solid he had a really good preseason didn't do too much in the regular season for when he did play But he was solid guy Who else who else who else Think that's it Yeah, I think that's it. I think we covered everybody That was the main guy was thinking about when I asked the question who owes actually or oh man forgot about exactly or completely forgot about Zachary or well, I Think Ravens would have still had him because they would still had his rights had he not been hurt Last year whenever they found it. So they would still had his rights. So he would have been Playing towards getting his second deal. I wore his first real contract in the NFL So he would have been paid This offseason I believe because they would have been a restricted free agent this this season the next season Would have been paid. So yeah, Zachary or so. Yeah, thank you for bringing him up That is something to think about But I mean peanut has been great, too peanut has been a guy that's been around the ball a lot, too Turnover machine forces a lot of turnovers is the reason for a lot of turnovers hard hitter great tackler Playmaker that we need Playmaker that we need Even though you got an ugly jersey number number 48. He looks like he could be a long snapper with that jersey number, but He's a nice player So that and that's that's why I had to answer that question that part of the question first about the roster because it kind of leads into This the first your first question was what would the rate Ravens record be? I honestly don't think it would be much different Maybe maybe I guess it is much different because it was two more games We're having one two more games that are lost and would be a big difference Because I think if we would have I think we would made it may have won two more games As opposed to losing So I think we could be eight and three instead of six and five Because I would say definitely the the Bears game And reason I said and it could really be any games Besides the Steelers one, but I will say the reason I'll say the Bears game Because the offensive line would have been blocking better in order for those running backs to do more in order for Flackler to do a little bit more too. So it would have gave our offense Freshman, but anyway, um, it would have gave it would have gave our offense I think more of opportunity to really establish that run really try to get control of That game because it obviously got out of hand even though the special teams and the defense won that game for I mean not one that game but kept them in the game And then of course the the play at the end of the game where they passed it against with Darius Webb They pass it against the Darius Webb and for that that's have the game when the field go Oh, yeah, tell you that you that your mom can't get mad at that. Look, you can't you can't keep him in You got to get him out, but um, I Say we wouldn't want to get one or two more games, but make maybe maybe not Definitely one more game for sure, but I don't think that the record would have been that much of a different Would have been that much different only because the offense is still so bad There would be no real different receivers We've still had the same offensive coordinator same quarterback with the same decision-making skills Same quarterback with the same field vision And we just we don't have that playmaker, I mean Terrence West I mean, he he wasn't really doing anything this season Kena Dixon will never know But and Danny Woodhead Cat great hands great hands Catches the ball very nicely But running the ball He's alright at I mean he I feel like for Danny Woodhead to break free He's got to have the perfect blocking. He's got to have perfect blocking If he doesn't have perfect blocking then he ain't gonna break He's not a big back. He doesn't break tackles He's the kind of guy you want to get the ball in their hands with open space See Alice Collins, he can make something happen both in open space and through the trenches Danny Woodhead is not He's not that guy like Danny Woodhead for his catching running His blocking has it's got to be perfect. It's got to be perfect Alice Collins He'll make some people miss. He'll break some tackles or whatever, but Danny Woodhead is not that guy. So, yeah, I think the record like I say one of two games One of two more wins than we do now, but I think it would have still been the same thing Defense carry in the season Defense carry in the season. That's it. I think it would have been the exact same thing So anyway, real good question Harry appreciate it. This was I like this question. This was a good one So again, thank you for being a part of NFL questions from subscribers And y'all already know what to do if you want to be a part of it hit me up on Instagram snapchat Instagram snapchat or Twitter all three engraving vids. I appreciate y'all watching. Thank you


Welcome back. Nice to see that you haven't been scared off. That must mean that you want to know how to create projects and save scenes in Maya as that's what we're going to be doing in this step. First thing we need to do is think about what projects are in Maya. Maya doesn't save everything in just one file. It saves them into a directory, into a folder. And within that folder, it has some subfolders where we should save different elements of a 3D project such as the geometry, the textures, things like that. First thing we'll do is go into the file and project window. This is where we create new projects. So click on that and it opens up this. So by default, if you try and click and type in here, that won't work because you need to click on new first to tell Maya that you want a new project. So I'm going to call it source servers desk. And I'm choosing to save mine onto the desktop. But by default, it will probably offer you in your documents folder in Maya. There's a projects folder there. You can choose to use the default if you want. I'm just putting mine on the desktop so it's easier for me to get to. But if you do want to change location, just click on this folder. Choose wherever you want. Next, you'll see that you've got lots of names of different things here. This is what the folder is going to be called. You can, if you want to, change the names of these. And maybe that suits some workflows, but I've never found a reason to change any of those. So I won't be doing that. All I want to do is click on accept. And that then should have created our project. So now let's just minimize Maya and have a look. So you can see it created me a new folder and it's put it where I told it to. And then we'll open that up and you can see that within that folder is created all of these sub folders. So we've got the scenes folder, which will save the Maya scene file. We've also got source images, which is where the textures that we're going to use need to go. There's an images folder, which is when we start rendering. And that's where it puts the rendered images. And we've also got an auto save folder there, which is where the auto saved files when we set it up in the first step, that's where they're going to end up. So as long as you can see all those folders, you did it right. Well done. Give yourself a pat on the back. We can close that and now Mosey over back into Maya. And then while we're here, and while we're covering this sort of thing, we'll just cover creating a new scene and then saving it. So to create a new scene, it's nice and easy file new scene. You can also press control and then it'll ask you if you want to save. I haven't made any changes to this, so I don't need to save it. So now I've got my new scene. It's currently called Untitled. I don't want it to be called that. So I'm going to go to file, save scene as. And you'll see that by default it's in that Sorcerer's Desk project in the scenes folder. And now I need to give it a name. So I'm going to call it Sorcerer's Desk. That seems like a pretty good name. And then I'll just choose save as. And that's it. The scene has been saved. We're now ready to move on. The reason that we saved this, even before we've done any work on it, is because now auto save will kick in. Until you save a scene for the first time, auto save can't do anything. But now that we've saved it, every change that we make will be saved every 10 minutes in line with what we set up. So we are now ready to start making some stuff in the next step. So we're going to create our first 3D shape in Maya, which is going to be a flaw. So I'll see you in the next step for all that excitement. Game Dev Academy is graciously supported by these absolute legends. If you'd like to offer your support, then check out our Patreon page using the link in the description below.


Well, that's tragic. Good thing I took all the footage off of this already. Hey, good morning. Welcome to Vlogmas number seven. It's Tuesday morning. I just got the last vlog. Well, I'm in the process actually of uploading the last vlog. I just need to finish filling out the description, but I thought I'd pull out the camera because it's just one of those days so far and I really hope this doesn't continue all day and that it's just this morning. I'm gonna go to the gym in a little while and I'm hoping that that will kind of help me release because I just woke up really, really irritable this morning. And as someone who, I have mesophonia, which is like an intense sensitivity to sounds to the point where it makes me, like it creates a physical response where like my blood pressure rises and I get really angry and it's an uncontrollable thing. If you have it, you totally understand. If you don't, I probably sound crazy. My senses in general are like very sensitive and some days it doesn't really affect me that much. I don't really think that much of it, but then there's some days like today where it's like debilitating. And like that probably sounds so dramatic, but oh my God, even like the sound of my bracelets right now, every time I move my arm, it like makes me cringe.  It's like that, but like times 1000. Oh my God, so annoying.  He's all good now. He went to go lay down, but he was just out here like pacing around as I'm trying to work on the computer and like the sounds of him just like walking around. Then he was eating his food and I was like, oh my God. And what he loves to do too is he will go over to look outside, but then this thing, the blinds, oh my God.  This is, I probably sound so insane. Anyway, that's how my morning's going. I'm gonna put on some like meditative sounds or something. Usually that will help me. Just wanted to share that cause I don't think I've really shared it before. Maybe I've mentioned it a little bit here and there, but yeah, that's one of my quirks. Anyway, I'll check in with you a little bit later and let you know like what's going on for the rest of the day. It's a little while later. I did not end up going to the gym because I ended up passing out on the couch but I'm feeling a lot better. So I think that's what it was, but I made myself a little bit of espresso. I had decaf this morning and now I'm feeling like I could use some caffeine since I need to leave the house and I just like I need a little extra help. So yeah, I am getting ready. Just gonna do a little bit of my usual like light makeup because I am going to the salon. I'm doing my friend Haley's hair. We've been doing this like deep wine red color on her, but she's been kind of contemplating recently going back to just like a really dark like my hair color. So I don't know if she decided what she wants to do. So we're either gonna be refreshing the dark red or she's gonna go dark like me and then cleaning up her haircut. But before I do that, I have another client coming back in who I did this girl's hair on Saturday.  She wanted more roots. She wanted more depth, more dimension. So that way it would blend more and grow out nicer, be more low maintenance. She didn't wanna have like that harsh obvious line when highlights grow out. So I did a lot of blending, a lot of low lighting and when she left, she was really happy with it. I got tons of pictures and videos of it. I thought it looked great. She was happy, but one thing that I always do, especially if it's a newer client or if I'm doing something different, if we're changing up their look, doing something that we don't normally do, I always remind them at the end, even if they say that they're happy with it in the chair, I always let them know, hey, if when you go home, you just feel like something's kind of bothering you and there's anything that you wanna tweak or just anything that you have any questions or concerns about, don't ever hesitate to reach out to me and let me know. Like I want you to love your hair no matter what. So keep me in the loop because I've experienced this growing up long before I ever went to cosmetology school where I would go get a service down at a salon and either I wouldn't like it, but I would be too shy to speak up and say anything in the moment or I would think it looked okay in the salon because a lot of hairstylists will kind of do that thing where they just immediately throw a bunch of curls in your hair and then they don't really show it to you up close and the mirror is kind of far away and the lighting in the salon is like not necessarily the same as the lighting you have at home and so you're like, oh, I think I like it, okay, thanks, you leave and then after you go home and you're like messing with it, styling it yourself, looking at it in different lighting then you realize, oh, wait, this isn't really what I wanted or I see a spot that could be blended a little bit better or something, but if your hairstylist isn't making you feel comfortable to speak up and come to them, you might be afraid to say something and I don't ever want a client of mine to feel that way. I try to not take things personally ever and I totally understand that it can be hard sometimes to not take certain things personally because as hairstylists, we're working with our hands, we are essentially creating art and we're trying our best.  So then to hear that someone's not happy with something, especially after I just spent a lot of time on it, it can be a bummer, but I try to not take it personally because it's like, yeah, that's my work, but it's their hair and they need to love it and there's a lot of room for error, whether it's miscommunication during the consultation or maybe everything was super clear and you were totally on the same page and you totally nailed to the inspiration picture but they didn't realize what that hair would look like on their head and maybe now it's just not what they were expecting or I don't know, I mean, there's a million different reasons why something could go wrong and a client would end up wanting a redo and it's not always necessarily because you did something wrong as the hairstylist. I feel like client customer service and communication has been like my number one priority and that's something that I've constantly been working at since day one is like, how can I communicate better? How can I make sure that I am making my clients happy? How can I make sure they're comfortable? How can I make sure their expectations are realistic, et cetera? But even still, things happen. I don't think there's a single hairstylist out there in the world who has never had a client question what they do or say that they weren't happy with something.   It just is what it is. We're humans. We're not robotic. Like it's impossible to nail it every single time with every single client, especially if they're a newer client because it takes some time to understand their hair, how their hair takes the color and what they like and don't like. So anyway, with all of that said, that client had reached out to me later that evening. I'll read some of what she said and then I'll read you what I responded with word for word. But she just said like when she got home this afternoon, her husband pointed out that the back of her hair, she says wasn't quite as blended as she was hoping for. And she sent me a picture. To me, I don't think blended is the right term. To me anyway. And that's the thing like art and hair and all of that is subjective. To me, I don't see like a harsh line anywhere. That looks very diffused and blended to me. And she said she loves how the front looks. She just thinks the back needs a few more highlights. And I feel like no matter what, as a hairstylist, when you see you have a text from a client that was just in your chair earlier that day or like the day before, you always get that like feeling in the pity or stomach like, oh God, what happened? So whenever I get a message from a client like that, I don't respond right away. I take a second to read their message carefully, try to understand like what exactly the problem is, what they're trying to say. Cause obviously they're not hairdressers. So we're not always necessarily speaking the same exact language. Like when she says, I feel like it's not blended enough.  There's stripiness, there's splotches, something like that. But then reading her message a couple of times over, I'm like, okay, she's saying she wants more highlights on the back. So she just doesn't like that there's so much depth back there. I think I understand what she's asking for. And if I need any more clarification, I will ask questions, but I try to not do it in like a defensive, accusatory way. I don't ever want to come off as defensive. I always want to keep it super professional because if I start getting defensive, then it's gonna become more hostile. And then the client is gonna not feel comfortable or then they're gonna start getting more on the offense. And then it can kind of turn into this argument when it doesn't need to.  But in this particular situation, I was like, okay, this really isn't a big deal. It's a pretty easy fix. And me getting defensive and trying to argue with her is not gonna do anybody any good. And honestly for me, especially because she's a newer client, I know this is a moment that's gonna be a make it or break it. I can either keep her as a client or lose her for good. And I really like this client a lot. So if I tried to argue with her, then that's it. Like why is she gonna wanna keep coming back to me? But if I'm very open and receptive and solution based, that's gonna show, oh wow, okay. She really cares about making me happy. She cares about her work. She's honest. A lot of the times I feel like clients will stick with their service provider because of the person themselves and the way they make them feel, the way they treat them, the human connection they have over the actual like technical skills they have. And honestly, who knows? There's never a guarantee. Like I might not end up keeping this girl as a client in the long run. But I can sleep better at night knowing that at least I tried and I did everything that I could. So after reading her message and taking a second and feeling like, okay, understood. I get what she is saying. I told her, yes, I can definitely do that. And then we tried to figure out a time when she could come in. And then she said, yes, that's great. Thank you so, so much. And I said, no problem at all. I'm happy to fix anything you're not satisfied with. Sorry that you have to come back, but we'll get it perfect on Tuesday. See you then. And maybe I shouldn't have used the word fix because then that insinuates that like, I did something wrong and I don't necessarily think that I did. Like if I notice, and I've, I mean, I've done this in the past. Like there are even times where I notice a spot that I'm like, oh, that is not blended well. And I will go back through and I will fix it right there. I don't even let them see it first. I'm like, hold on, I'm seeing a spot that I just wanna fix really quick. I try to really be good about that. Or if I don't have time to do it right there and then I will ask them to come back because maybe they won't ever notice it. But if they do, that's gonna, it's not a good reflection on you. And I will show people their hair when it's straight before I style it. I will give them the hand mirror so they can look up close. I will spin them around. I will ask them if they wanna go look outside in the natural light with the mirror. Like I like to be fully, fully honest and transparent. So I don't really think that anything was done wrong and needs to be fixed. So maybe that wasn't the best word to use. Maybe I should have said tweak. Happy to tweak anything. But like I said, it's a constant learning experience.  And I think a lot of hairstylists with furthering their education, it's all about technique, the technical skills, the application, color formulation, et cetera. But I think that your people skills can be even more important than all of that, honestly. So that is how I handle the situation. So anyway, yeah, she is coming in and I need to leave kind of soon. She is coming back in this evening. So I am going to just pop a couple more TZ lights just in that back section for her. And a fix like that, I don't charge anything again. If it was a situation of like, she came in asking for these low lights and then all of a sudden she decided, oh, actually I want to be copper instead. Or, oh, actually I changed my mind. I want it like a full head of platinum. That'd be a different story than I'd be like, okay, well that's a separate appointment then because that's not at all what we discussed the first time around. But if it's like, oh, I don't really love the tone of it. Let's do a different toner. Oh, this one spot, I'd like it a little bit brighter. I just want to add a couple more highlights just in one spot. Then that is like a tweak, a fix. I wouldn't charge anything extra for that. So she's coming in first. Then I'm going to do Haley's hair. Then I want to try this NYX brow glue that I got yesterday at Ulta. The spoolie is so tiny. I think I do like it actually because I feel like you can get a little bit more precise and then you can keep the brow gel just on the brows and it's not like getting all over the perimeter of them. So yeah, I don't know, it stuck them up. They look pretty good. I did get my brows laminated like a month ago. No, I don't even think it's been that long yet. Maybe three weeks ago or something. So that definitely helps them fluff up. And I have that new Tarte mascara, the tubing fiber mascara. But I think I am gonna save that for another day because I don't really feel like wearing mascara today. But I have to do some filming later this week. So we will test that out in a different vlog. Yesterday in the last vlog, I used it tonight. And first of all, I didn't realize I meant to get the one and a quarter inch size but I'm pretty sure the one I got, I forgot to check the box. Pretty sure it's just a one inch because when I was looking at it, I was like, wait, this looks really tiny. And I don't really love, sorry, I left it in my car because I'm gonna exchange it tomorrow. I don't really love it. I mean, it worked great. It got super hot and heated up really fast. But I don't like a one inch. I feel like I need one and a quarter or one and a half. Unless I'm working with like really short hair, it just, I don't like the size of the curl you get. It's just more of a tight curl. And the barrel itself, like the length of it feels shorter to me than the one that I used to have. So I feel like you can't wrap as much hair around it. And I don't love like the design of it too because when I'm curling someone else's hair with like a regular spring curling iron, I like to grab the top of it. And I like, I work like, I don't know. It's hard to explain. But I just felt like I wasn't able to do the curls as seamlessly and I wasn't able to like work as quickly. So I think I'm just going to bring it back to salon centric and exchange it for the same one that I used to have. Cause the only reason why I got a new curling iron was cause my old one died, but I really liked it a lot. So I don't know, I really wanted to like this one but I think I'm just gonna go back to my OG hot tools. And they're only the same price anyway. So I'm going to exchange that tomorrow but the client who came in for the like touch up that went really well. I literally just did like four foils in the back like in a V shape. And then just like one that draped over the top. So she seems really happy with it in the end. I blow dried the back. I let her look at it again, like up close. She was really appreciative. So, you know, and I was like, of course, like thank you for coming back in allowing me to, you know, make it right, make you happy because that's my goal. So that was all good. And then my friend Haley's hair came out really pretty but I was sad because I really, really, really loved her dark red color, but the dark looks good on her too. And her hair ultimately like is going to look pretty much exactly like mine cause I use the same color on her that I do on my own hair. It's just mine hasn't been refreshed in a few months. So mine's a little bit faded and it just looks a little bit lighter and warmer. And it always looks like super dark and intense when you first do it. It looks good on her cause I mean her natural color is a dark brown, but I just love the red. But I did a haircut, freshened up her layers. She had like a few inches on the ends that were just feeling really dry and kind of crispy. It was a good, easy night. And then I stopped at Trader Joe's and just got a few things. I am leaving in a few days to go to Pennsylvania like I keep mentioning. And it's like always awkward because I have no groceries right now. So I need to stock up so that I would have food for these next few days, but I don't want to have anything left over that's going to go bad. So I was trying to figure out what do I need? What am I going to eat? So I got a bag of broccoli. I also got another box of these protein pancakes. These are so good. They have a decent amount of protein in them. And I have pancakes in a hot minute and I was really craving some this morning. Also got some salmon. I'm about to make that for dinner tonight. I also got more maple syrup for the pancakes. I got Alfredo sauce. I've been obsessed with making chicken Alfredo with zucchini noodles instead of regular pasta. So good and so filling. And I have zucchini, right? Yeah, I still have some zucchini noodles in the freezer. And then I got these vegetable yozas. These are so good and a nice easy, like quick thing that I can eat for lunch and they go in the freezer. So if I don't finish them by this weekend, it's totally fine. Then I got fennel, which this is so random. I don't know. I mean, I must have had this before. I feel like I had to have in food that I've gotten out, but I've never made it myself at home. I don't even know what it tastes like. Oh, it kinda smells like celery. But I was just watching this thing this morning that was talking about how fennel is supposed to be really, really good for you. And supposedly it tastes really good if you just roast it in the oven with like olive oil, salt and pepper. So I was like, oh, I saw it there in the produce section. I was like, oh, let me get it and try it. So got that and then some chicken. That's my Trader Joe's haul. Actually, you know what? I was gonna make the salmon tonight, but now that I'm talking about it, I am really in the mood for the chicken alfredo. So I'm gonna make that instead.  Dinner was delicious and it's 10 o'clock now.  So let's do the questions of the day. At the end of each Vlogmas vlog, I am answering questions that, sorry if the dishwasher is loud. At the end of each Vlogmas vlog, I'm answering questions that you leave me in the comments of the previous vlog. So if you have a question that you would like me to feature an answer in the next vlog, leave it down in the comments. I had two questions about my dad. Someone asked, why don't you ever show your dad? And then another question says, you've told us your mom's Italian, but if you don't mind asking how about your dad? And then somebody else asked if I'm Hispanic. So yeah, my mom is fully 100% Italian and my dad is from Trinidad. And I don't know. I don't really feel like I show my family in general that often. It's not really for any particular reason. I just like usually when I'm with my family, it's like, I don't usually pull out the camera and vlog anything because it's like, it's just personal time. I don't know. Best part about being a content creator. I just love it because I've always been a really creative person. Like even when I was younger, I always was making recordings and really into photography and videography. And when I was in high school, I was really into media and like production. I was the yearbook editor. I worked for the school newspaper. I was part of like the student broadcast. I was just really involved in like all of those kinds of things. And then when I went to college, I got my bachelor's in media and communication. Before I ended up going to cosmetology school, I was working at an internet marketing firm doing like social media marketing. And before I got that job, I was considering either doing like broadcast journalism or graphic design or something like that. Like I'm just really into being creative, different forms of media. I love that I can do what I do for social media because when I was working for the internet marketing company, I was doing a lot of the things that I do now for myself, but I was doing it for other companies and it just wasn't as fun. Like I love that I can do the things that I love and be creative and it's all for me, like my own brand. I think that it's amazing that I can combine my love for production and content creation and all of that in media and also my love for hair and beauty. I love helping people and teaching people, sharing tips and tricks and all that kind of stuff. So it's like, it literally is the most perfect job for me because it brings together, it brings together all of my skills and all of my passions into one. I mean, it's obviously a dream job too because being able to just like work for yourself, work from home, have a super flexible schedule, work with brands that I love, like it's the coolest thing ever. Okay, one more. What's on your Christmas list this year? Honestly, I just asked my family to get me gift cards because I was like, I know I'm gonna be moving into a new apartment and I wanna get a lot of stuff from Amazon, like more stuff for organizing and some furniture and stuff like that. There was a purse from Zara that I emailed to my mom. So I don't know if she got that for me or not, but that's it really. That is gonna be it for this vlog. Thank you guys so much for watching.  Thank you for watching all the videos and for commenting and engaging. I can't believe that Vlogmas is already halfway over now. But yeah, I will see you guys tomorrow with a new hair video and in two days with a new vlog. Bye. Say bye. Rainy night. Oh, okay.


Hi again everybody, I'm Dr. Christopher Grittice, I'm the historian of Japan here in the Department of East Asian Languages and Cultures. One of the modules that I teach each term to every year is Modern Japan. It's a lecture-based class with a discussion-centered tutorials that are aimed to help you better understand the period in Japanese history when Japan became a modern empire. Together we'll explore the social and political contexts of modernization and industrialization alongside the establishment of Japan's overseas empire. The first and second Japanese Sino-War, also known as the Pacific War or the World War II, all the way up to the rapid economic growth that followed the end of the war in 1945. It's a lot of reading, but you're going to be asked to consider film and fiction alongside historical narrative in order to help you better understand the transformations of Japan that occurred during the 20th century.


Perfect everything gets highland perfectly at one o'clock. That's that's nice. I even don't have to say something Yeah, hi and welcome to my talk. My name is Sebastian a house. I work at the intercooperation and Over the last year. I worked on integrating path guiding into cycles and this is like our talk about it how Path guiding works what it is we try to give you a high-level overview of what is path guiding how we integrate it and how you can use it To make actually nicer scenes and which have way more realism and you can do stuff. You probably couldn't done before So that's pretty much it and thanks for your attention and I will now start so what is path guiding is path guiding is a method which Can change images like this if you try to render something physically correct in the same time to give you something like this and Here we have a direct comparison and in this talk I'm going to take you by hand step by step to explain you how it is actually possible So so we start what is path guiding? I could just start with all the math and start with the rendering equation Monte Carlo integration variants Optimal important sampling the theoretical part of zero variants and in two hours. We would still be the year I will look at all your faces and it would they would look identically like my students we're just like oh my gosh, so let's keep it simple and Let's it's go on it on a higher level and actually like what does it mean if we just look it from an artist perspective What is going on here? So if you render an image usually using a path tracer like cycles You used to that you have noisy images like over time. They're getting better. So the big question is why do we have noise to begin with? so the basic idea is that a path tracer when it wants to Figure out how what is the color of a pixel? it shoots random paths in a scene and each of these paths is actually an estimator for The color of the pixel which is not very accurate But if you take an average about a lot of different samples then actually everything convert to the actual pixel So and the noise level is actually the variance that means it is the spread of all these estimates And when you have a high variance then the spread is is high between each individual estimates And if you have a low variance, then they are actually closer meaning you have a lower noise level and this noise noise level depends on the way How your path tracer can actually generate these random walks? Which estimates a final pixel color? Proportional to the contribution of all the light and light distribution in the scene to this one pixel So why do we have noise in our standard path tracer? It's pretty easy like if you would like to Distribute everything proportional to its contribution you would need to know everything about the light distribution to begin with To solve the problem you want to solve so meaning we have a chicken and egg problem So what the path tracer is then doing it takes the information it has meaning I have a point in the scene and the only information I have is about the material at this specific point Which means here for a diffuse surface? I know how the diffuse surface would reflect like light. So what was what we are doing? We take this information. We are at a diffuse point meaning we shoot a random ray Proportional equal almost equally in all directions and So we hit another surface this surface for example is a glossy surface a glossy surface reflects in a cone of Directions meaning now we should we select a new Direction based on this cone like the reflection property of our local material here and we hit another surface here for example We have a mirror is a perfectly specular mirror, which means incoming direction Reflected on the normal incoming direction equals it goes to the outcome that should we make a direct connection Which again brings us now to the couch so this concept of Generating random walks works quite well if The indirect illumination which actually interacts with each point I'm more or less smooth or uniform then you actually get a really really no noise level But in reality you don't have it So now you might ask hey if I look at the scene I Have a window I have small light sources Why is it working in here when this looks more not really like diffuse? Their artists come into play like over the years when people learned working with path tracers to make their images They learned a lot of tricks to actually make this work like adding virtual virtual light sources to mimic indirect illumination Adding some hero lights there to change the look of some specific area So artists really learned a lot of tool sets to make this one algorithm Which usually only works quite nicely if you have a uniform incoming light distribution? With faking stuff and adding stuff to make it work so that they get image in their specific time budget So let's take this scene and Take out all these hacks like like really try to just use three light sources in the room and a sunlight Coming from outside through the window and suddenly we see we have a super high noise level So and and why is it that like for example if we are on the ceiling we have the assumption that Hey our material is diffuse equally reflects in all directions But we have here this bright spot on the floor illuminating the whole room Meaning the probability of generating a path from this ceiling which actually hits This bright spot is super low, which means we have a high variance each estimate will go a far steps over Yeah, oscillate a pretty high around the actual value So this is where a path guiding comes into place So the idea is to not only use the material property But also use some sort of approximation of the incoming light distribution at each individual point in a scene To combine these two to make better sampling decisions So instead of just going diffuse based on the material. We also look. Hey, what is the a Possible light distribution we have here, which is important for the actual pixel value So we see here for example if we are looking from the ceiling we have to go down to this bright spot Or if we are at the wall, we also have to go also down to the bright spot and if you can compare here like if you just look at the material the Sampling distributions would be similar, but just oriented based on the surface orientation But if you look at the incoming light distribution, they differ at each individual position in the scene so here's a site by site comparison of Applying path guiding in this scene with the same number of samples and you can see that if you add path guiding to To this and add this additional information about the indirect illumination This actually can reduce your the variance of your rendering quite not quite big So easy, let's just implement path guiding that sounds awesome. So let's start Yeah, first Path guiding is something where researcher actually started already in the 90s playing around with it. This was a time where People were happy being able to render 60 times 60 images and had 32 megabytes of RAM Which was quite interesting. They they already did something, but they were super happy being able to render the cornel box So Also with if you want to do now path guiding it it would have cost a lot of memory consumption The research community went more into directions where I said, okay Let's let's try to continue more finding better ways like metropolitan light transport bi-directional path tracing photo mapping all the stuff you probably have heard of so in the Probably 2015 like this there was more or less a revival of the idea We have no more compute We have no more memory that people actually picked it up again and start working on it And since then we have a bad load of papers Which all have their own path guiding method So and all have their pros and cons all have their nitty details Some work some in some specific area some work in other specific area So if you just say hey, let's just implement path guiding the big question is path guiding sure which version and Also the big question is for you as artists. Yeah, which version will work for me like Because all all stuff usually are when they come from the scientific realm We usually test them on smaller scenes. We have our standard tests where yes there it works But if you are in a production when or you do you do not want to have an algorithm, which Sometimes works sometimes not do I turn it on to a turn it off? It should be quite easy not many parameters. So easy to pick it up and This is actually where we as Intel came up with the idea. Okay, let's take all these papers Boil them together into one open source library So that we can actually generate something Which people who build renderers can use to have an easy access to integrate path guiding into their renderers? So this library is called Intel's open path guiding library or short Intel Open PGL And it's actually our newest component in our one API rendered kit component Where for some stuff you probably already know like Ambrie or open image denoise or even open VKL So the basic idea about about it is that we have a production ready Implementation which makes it easy for people to integrate it. The nice thing is it's open source 100% So it's easy for a blender to pick it up to use it and someone So the basic idea foundation of it are actually three popular path guiding papers Which we took and then combined them together in this library so and One of the two features of our libraries are that and it is an incremental learning approach Which mean doing rendering you can learn directly your distribution of the incoming like distributions Meaning you do not have any pre-processing step which which needs you to wait You can you just click render and you directly have something to see and it gets better and better over time And the second the second features are our guided sampling decisions, which then uses our proctimation We learn to guide a renderer like cycles in the right direction so that you find Indirect illumination of light sources way better So how does this incremental learning approach works? So we take cycles you do your rendering like your first sample per pixel and then Doing that rendering process. We generate a set of training samples For each position of your paths you were generating in your first path We are passing this to open PGL to fit this representation Which can then offers Cycles for its second rendering iteration like already some data To make better sampling decisions for the second sample per pixel and this continues and goes on and goes on and can actually be Continued forever so that over time your representation gets better and your sampling gets better So let's make a next show an example. So this is a kitchen scene With some complex indirect illumination and this is like the sampling quality of rendering Four samples per pixel by just like the information we have about the scene If we didn't do not start training so this would be the outcome If we would now render just one sample per pixel train our distribution and then delete the image Just render four samples. We actually get already this sampling quality and Even like if we would do the same thing after 16 16 samples per pixel This would be the sampling quality if we would now render four samples per pixel Which already looks quite nice like you see over the time the sampling gets better and better so How do we make the sampling better and better by having this approximation of the incoming light at each point? So for direct for surfaces for example, what we can do is we can just directly query at each point an Approximation of the incoming light. It means it tells you where are Important indirect light directions where important direct light directions and you can then use this To generate a sampling distribution if you are on a diffuse surface You can even multiply it with the cosine lobe which gives you an almost perfect sampling decision for for materials with half diffuse components like for evaluating this diffuse component So and this is really useful especially in on indirect illuminated surfaces And as I mentioned especially for diffuse materials with diffuse components So here's a side-by-side comparison if you just let it render for 64 samples per pixel This is also a little bit a hard scene because there is a caustic through this glass table on the floor So that means all the paths would need to find this caustic which has a really really strong indirect illumination on that So but we also can look at volumes so in volumes We also have an approximation of the incoming radiance at each point in the volume But but here we also support to directly take the scattering behavior of the phase function into account when making the new guide a sampling decision and this helps a lot for For indirect illuminated volumes for example if you have something outside a Ray like a god ray or so like they're usually You do not know that you should go in the direction of the god ray because that's that's where the indirect light comes from from the next bound This is where guided Volume sampling decisions can help you and also like if you want to simulate subsurface scattering physically correct by really building Some some object which has a bounding surface and put a volume in it This is where it can help like here. We have an example where we actually just model physically correct the skin of an object and then we have some really really dense volumetric material with an high albedo and Which has a isotropic phase function, which would mean Usually you just go in a direction where you say oh randomly on the sphere I'm going in any direction But if you look at subsurface scattering you actually want to go either when you have a dense media usually Back towards the the skin or if you are at a thin portion like the ear You probably also want to go through through the through the middle object because some light comes from behind So this was more like the overview of what it is How how does it work a little bit now the big question is how do how can I use it now with blender? 3.4 and that's actually quite easy like you will have when you have the CPU device Which is currently the version we implemented we plan to also implement a GPU version of it You will have this small checkbox here Where you can just enable path guiding so we try to make it really simple So you have one toggle but to just enable disable it you can play around with Separately enabling path guiding for surfaces or in volumes and we have this parameter called training samples Which actually tells you how many training iterations you want to do because usually like these guiding distributions they pretty much converge after 128 or 256 iterations meaning as soon as you surpass this is this approach It does not really bring you better sampling quality But you still would have to store all the training data and you have to update your Distribution which will give you some overhead so by limiting this amount to to this these numbers You actually have a little bit lower rendering Performance at the beginning and afterwards you just stop training and just do complete rendering which then is much faster Yeah, which would have been on this slide So Not not a lot often easy to use that at least what we hope to hope So let's see how it doesn't look in the wild all the images. I've shown you before also images You usually see in all these path guiding papers So the big question is how does it really use by scenes made by artists? So here we have an Example from a scene from Jesus Sandoval who is an who does a lot of Interior designs Which you can see and this is like a five minutes renderer without path path guiding and this is like the result after five minutes with path guiding enabled and you can see here that Especially in the indirect illumination part that it's much clearer at the same time and and the nice thing It does not introduce you any bias. So it means it will convert To the same result but much faster with way less samples You can even go a little bit more crazy now with actually playing around with more indirect illumination like having light sources Reflected by a mirror. So this is an example from kind of us long from blender artists Dot org Who just played around a lot with this and built a scene where he just put in a lot of mirrors and some by sorts And this is what you usually get after 1,500 samples This is what you get when you enable path guiding suddenly you see that oh There are light sources reflected by some Specular materials and and they they actually do a lot of indirect illumination and this actually works quite out well and Because these were artists they also use a lot of radiance clamping because usually you would You would have a lot of fireflies in these scenes. So you so what you're doing is you throw in radiance clamping which? Unfortunately makes your image darker. Yes, it clamps fireflies, but it also clamps all the energy you actually have in your scene So and with path guiding You might still get some fireflies, but you can put the The threshold for your rating clamping is way higher because these fireflies which will be then Still there. This is like really read. They will be really really high and Coming back to the scene I presented at the beginning Just to tell you what actually we render here in the scene is that we try to simulate here Physically correct under water scenario, which means I have the water surface Which is a perfectly the dialect dialectic material like glass and Inside we do not just do some adoption. We really do Physically correct scattering of measured water like of a clear Bahama seas, which means we have a sin volume a super strong forward face forward scattering face function with an high high Albedo and Suddenly you see in this scenario everything is actually a Simple caustic so and actually if you enable path guiding you actually can get you can get the caustic on the floor and Also, you can get all the multiple scattering inside the volume, which is really a nice thing What I have to tell here. Yes, you can see caustics, but these are simple caustics So they are not super crazy done by multiple interactions of caustics or they are caustics generated by caustics I will tell a little bit more about that later But they are simple more like okay We have like one dielectric surface which actually generates these effects and this this is where path guiding works quite well so At the end some also some advices for you as artists like what can I do with path guiding or what should I think about when? I wanted to use path guiding One thing which came up with a lot of people I I talked to which actually also have path guiding implemented in their production renderer is Yes, it's a nice feature, but sometimes it's hard because Artists learned so good how to build scenes that they are renderable with our current limitations So they will build the same scene and then the effect of path guiding is just that's nice So because they already changed their scenes in a way that oh, yeah Let's make shorter path shorter bounces replace the actual indirect illumination with a virtual light source And now they actually have to start teaching them.   Oh, you could try now to only use Virtual point lights virtual light sources there instead of trying to mimic the whole indirect illumination of the scene You you can now try to use their more physical light setups and let path guiding help you to reduce the noise there and only focus on the artistic freedoms What you want? Also coming back to caustics. Yes, you will see it helps you with caustics But as I mentioned with simpler caustics, it's not a caustic solver So it's not the holy grail which helps you suddenly to build the craziest scenes as long as The renderer itself for example if you render like 2,000 samples Sees a little bit of the caustics without path guiding you have a chance because path guiding works in The way we implemented it by learning from previous rendering iterations So if you if you build a scene where after 2,000 samples like the probability of even generating one path Which is connected to a caustic? Is super super low then then we can't learn it because we would need 1,000 or 2,000 samples to even get a No, let get a hint of it that there is maybe something so as long as you build scenes which have a Pretty modest probability of finding something. It doesn't have to be perfect But it has to have a modest probability of finding something then path guiding can actually learn this stuff and help you with that Then also indirect radiance clamping usually It is often used pretty aggressive because you want to reduce the noise into fireflies. This is something you can now try to hire the The threshold or if you want to compare two images if they look the same You actually have to turn it off to if you want to know if both converge to the same result without path guiding It probably takes way way longer, but with path guiding it's much more much quicker and Another thing is shadow visibility. This is also a heck widely used But the problem is how it is implemented in most cases as well as in cycles is is that the look will change if you use shadow visibility and This is a problem because the shadow visibility is a biased approach. It will generate an incorrect image to begin with and If we change the sampling probability using path guiding then some of the weighting inside the renderer will change the contribution You suddenly have from these light sources with shadow visibility. So if if you want to be Consistent try to avoid using that If not, yeah Then you can still use it So a small outlook. So I presented what what is more or less the current state so currently like in the future we also want to Improve our library open PGL by adding more features like also guiding the termination decisions of the path because at the moment how a usual renderer is doing it it just Thinks about oh, I'm looking at my current position If it's if it's a dark surface, I have a high probability of Terminating the path if I have a bright surface I have a low probability of terminating the path, but this does not mean what is the expected contribution of the path So I don't know. Okay. Yes. I bounce multiple times on the dark surface Am I still hitting a bright light source at some point and with guided Russian roulette? We can take this into account also on the cycle side Our next features we wanted to implement is guiding on translucent surfaces as well as on glossy surface component Currently we have guiding only activates if your material has a diffuse component and Also, there's some work with the people who implemented MN and E to actually combine this together so that probably we can Combine both like the the limitations of MN and E and the way that path guiding can direct you in some sort of Caustic combine it to actually probably generate a better caustic solver which would help you a lot So this brings me almost to the end of my talk and I want to say thank you especially to the blender team which helped a lot with with the integration and actually gave us the opportunity to integrate this and Especially to turn Brecht Sergei and Ray and also to the blender artist community which probably two hours after I Put the branch online people directly took it and tried to build it and they were going crazy with it I can name all the people who get it but what I can tell you please go Go on blender artist.com look for this red and also just look at the images. They are posting They are going nuts This is really like this was this is really nice interaction with them They all try out the most crazy stuff I've never have thought of actually trying which also pretty much helped us to make open PGL way more robust and also the integration into cycles So and at the end I also want to do what? What do you want to do next? Maybe I want to say Advertise like another talk from a colleague of mine. So yeah, who will have a Talk tomorrow about the one API backend and cycles and how this actually makes it possible to use cycles on Intel on our new Intel GPUs And as well I you can visit a new web page from from us Create Intel comm lender where we will collect all interesting information about these technology sessions some demo videos some tech blogs and also you have a chance to win a new a small hardware upgrade so with Some arc GPUs as well as a look so Thank you for your attention, and I hope this was informative for you