Welcome. This is the 22nd of March 2022. And we're having a Google summer of code brainstorming session on the get cash maintenance project idea. And we should really call it that to make sure it's correct. So the idea is that the Jenkins get plug in has many caches that it maintains as on the controller. And those caches, by their nature, sometimes become suboptimal, because get operations are not focused on maintaining long term optimization, they're forced focused on short term performance. And so this idea is, hey, let's let's find ways to automate the process of maintaining those caches and keeping them healthy. So, so the idea was, I was thinking and scribbling about something with now you'll notice my lovely this is such a beautiful user interface picture I know you all wish you did user interface pictures like this. The idea is on the manage Jenkins page. So let's bring up a real Jenkins and look at it. So that we can see how real. Okay, so on the manage Jenkins page here. Today, there are these, these things like the label implications and like configuration slicing and like configuration is code each of them is its own sub page if you will and I was thinking. Maybe this get cash maintenance maybe belongs in some sort of a sub page of manage Jenkins like this so that was the first. Now to the rest of you, does that make sense to you or is there something you would recommend instead no it'd be better if we did it this other way. Mark one of the questions. Yeah, I think definitely we should have a separate page because I was going to get maintenance documentation yesterday and I saw that there is a lot of behavior that that is customizable right and we would want the user to be able to have that in a separate page instead of doing it in the, let's say, configure system or the global configuration. But my biggest concern with having, which I saw in the document as well in your ideas was that having a page word would be a global settings right would be like a system wide configuration where all of the repositories would have the same configuration for maintenance. This is at least my assumption so I think what you're highlighting is there may be cases where I need to do specific repository configuration for example, I know the Linux kernel needs some different cash maintenance operations configured than every other repository in my system because that Linux kernel repository is enormous. Is that sort of what you're alluding to Richard. I have two concerns there. One is that how is my get executable chosen. When I'm running this command, I mean, I was looking at get maintenance start, and you do that, where on whatever repository you're doing that it's going to get executable on the basis of that repository and in, let's say in a system where we have multiple executables then how, how is that going to happen, considering the fact that different get versions are going to limit or, you know, give us the ability to perform various tasks, usually, you know, involved in something. Good, good point. Okay, so, so let me let me for those who reshob is showing his incredible value and having done that project two years ago. So, if J get is selected. Let me let me highlight this one so if J get is selected, then the controller process address space or controller memory pro memory footprint will increase. So J get is performing the operation inside the controller JVM as one example right whereas if command line get is selected, then a separate process is run, and the memory footprint shrinks, or the memory footprint is not inside the controllers JVM. So, and now now to back to your question. How is the get executable chosen. I think that wouldn't you think that would need to be some sort of a global setting say, I want to use get, or I would you see all I get or I want to use J get. Tell me more of your thinking we're shop. Yeah, I, I agree. When we're talking about a global configurations you need to make sure that we are consistent with what we choose in the I believe the global tools configuration page, when we're trying to choose the get version, and type of get implementation that you want to use. Okay, so, so, and when I think about global tool configuration, what it presents to me is possible get implementations but it doesn't really choose one. Right, it presents. I've got one I named get windows I've got another one I named get dash two dot 11.1. Those are any one of them I can choose but none of them is selected, if I recall, is, maybe I'm wrong is default selected as the default. I don't remember. Good question. Alright, so, so it's, it's a it's a valid thing to say. I think if we're setting on the page then we would expect all tasks on the page to use that image. Or to use that that version that get tool. Okay. All right, so before we go further with that. Any questions from others around that topic of of how is the get executable chosen. I was wondering that is it possible if we can have have something that that uses both the jget and the CLI. Good question. Okay, so let's put that. Are there cases where it would be useful or helpful to use both jget and CLI get and and that might let me let me give a hypothetical. A hypothetical would be something like what reshubs project did two years ago, which was what if J get is significantly faster, faster at some operation. What if CLI get is significantly faster so reshub found by benchmarking that with large repositories CLI get is significantly faster for fetch operations reshub did I say, say that correctly. Yes, yes. So it's a good question should we should we consider the potential that we might need to do some performance based selection. So this repository we know is this size and we've got in our toolbox, both jget and CLI get version such and such, and we've had run benchmarks previously that tell us with that repository size or this some some characteristic. We should choose this implementation, I think it's a valid thing now for me performance optimization is usually a late stage thing. The implementation is working and delivered. So, for instance, we didn't do reshubs project until the get plugin had existed for over 10 years. I think 2007 to 2000. Yeah, it was an over 10 year old plugin before we actually applied reshubs optimization. So I'm not terribly worried about this optimization but I think it's a valid question to ask. Did that address your question. Yes, and sorry I wasn't sure that was that was that who should cash or was that. Oh, me. Okay, thank you. Thank you. All right, so. Okay, so well so we've we've talked about choosing the get executable and possibly choosing to mix implementations. Any other questions that we want to raise around those sort of topics. Yeah, I'm at the second concern that I that I have with global configurations is that the tasks that are going to be performed with gate maintenance. Some of those tasks are directed are correlated to the size of a repository. So, there is a possibility that I don't want to run GC, let's say for a huge repository with the said interval that I've set in the global configurations because I know that that repository will take a lot of time GC operation will take a lot of time. Do you want to do you want to give an override will be somewhere. I think that would be possible that I mean, having a global configuration and then a way to override that configuration for repository. I think that's and I think that's a very good question. How, how what, what mechanisms, can we give the user to to provide finer grained control of the maintenance tasks right because I think I think you raise an excellent point. The collection on the Linux kernel repository takes a very long time is very CPU intensive and very memory intensive. It will with command line get use every core on your system. And if I remember correctly it's willing to use almost as much memory as you give it. The Linux kernel people are not at all shy about using memory they think memory is something that should be used. It's a very good question. What, what might we consider so one might be override rules. Maybe where we say, or override settings based on based on repository size. I mean we could, we could call a call a shell script, a user provided shell script to decide if this thing should be run or not. We could allow call a user provided groovy script. Since this is system level stuff, it could be doing system level groovy. There's a little bit of danger hiding there but we could. Any other ideas on mechanisms to provide fine grained control of the tasks. We could how about this we could just say repository a repository based exclusion list. So, here's, if the repository you are if the repository URL is get colon slash slash kernel dot org. I'm going to bring things up now, sorry slash Linux, don't GC, or maybe GC only GC monthly, something like that. Other ideas. So do we absolutely restrict the user from GC even like once a week or twice a week, or do we just like strongly warn them that it could be, it could be eating a lot of memory. So for me, I would, I would generally it's good question. I've preferred in the past anyway, to allow the user to choose to do it and where necessary offer them a warning, or even better offer them hints if things are going badly that would tell them why things are going badly so should we, we prevent users from doing certain tasks. And my thought was no, but, but I'm open to difference there right to get maintenance man page definitely says. Okay, we intentionally do not run GC as part of maintenance, but we allow you to decide that you will run GC that may lead us to this next question of which tasks should we enable by default and how would we decide. That is a, so I was reading what commit graphs as a task and I got to know that there is a, there's a setting which is not enabled by default, which is called right commit graph fetched or right commit graph. So what it does is if a so how commit graphs would work right now is that your GC whenever the GC run that's going to update your commit graph. And after that, whenever there's going to be a fetch in your repository so the commit graphs. So the amount of time that it's going to take for it to update the commit graph depends on this, the number of comments that are going to happen to your repository. So if you have an active repository, and between the interval of updating the GC and then you performing a get fetch you're actually could potentially slow down the operation time of a get fetch. So you won't have this command, if this setting enabled which is right commit graph, and I believe this is not enabled by default, according to the man page for the current graph. So we need to look at the individual tasks that we were enabling by default and then see how they're going to, you know, affect the existing user behavior, or if they're going to affect the existing behavior. Well, and now to take that theme. How could we how could we make the information about that task available to the user what if we gave them a an entry on the UI something like this, let's see update commit graph. Down here, and one of the one of the data points we show them is the trend graph that shows how long that ran on their repositories. And hopefully they look at the graph and say, Oh, wow, here's this repository, where the no no that that's maybe not good enough is it because your point Richard was that if I don't update the commit graph, I may get slower performance from get fetch. Yeah, I mean, if I know, if I don't enable this setting, and if I have large active repository, then there is a potential of slowing to get fetch operation itself. That is what the man page says. Can the get pre fetch command help in this case because pre fetch hood, you know, do the fetch operation before hand. Well, I thought that I thought that Richard concern that the way that it was describing the commit graph let's get commit graph. I thought it was that it, when the fetch is performed, then it does the update of the commit graph is that, did I understand that correct correctly Richard. Yes, so if you search for right comic graph fetch dot right comic graph if you search for that. There's a setting which is not fetch. No, it would be right camel case. Yeah, but okay so right. Okay, here's commit graph right. Interesting. Okay, so maybe I'm on the wrong page Richard. So here's this core dot commit graph. Is that is that what you were referencing. This is this is what I think enables commit graph as a setting global setting. Okay. Okay, so what we're looking for then is use of the word right. Let me send you a link in this. Oh yes, absolutely. Oh, oh it's described in get config not in. Okay, oh very good. Thank you. All right. And it says set true to write a commit graph after every fetch that downloads a pack file. If the split option is used it will write a small one, and occasionally they will merge and writes may take longer. Interesting. I believe I'm not 100% sure but there is a way to change the coming graphs so that you know they take the delta is not in the whole they don't update the whole comic graph on the basis of you know every fetch that they do if you have this setting but if you don't then they're going to write it every time, which is a costly operation right. See, I don't know how costly it is but I think, I think it's worth us worth us just doing exploration, they chose to disable it by default. So it's certainly a cost that I'm not paying at all right now. Right, I'm when I do a fetch, I, none of the get repositories that I handle are doing this. And yet it says it would, I do get log minus minus graph, all the time.  I mean, my point was just that we need to look at each of the tasks and the settings that they're providing and then think what strategy could be implemented, which ones to enable by default which ones to not. Right, right, very good. Okay, the idea being, hey, should we should, should commit graph be enabled by default. Now let's, let's get maintenance. Okay, so get maintenance. This one. So commit graph is enabled by default, right and it's scheduled to run hourly. So if you register the maintenance, it will run every hour. I think this might be something that was implemented in one of the later versions of get. I read this one article where it mentioned that in version 2.24 of get it introduced a new thing in the commit graph, and it was called a generation number. And it was like it significantly reduce the number of commits that it needed to read through and I think it used like some cons algorithm and computed the number of degrees while it was traversing the the graph but but like after after the generation count, after the generation count was implemented it didn't need to and it got a lot more efficient. So before that version I think it was the commit graph was very inefficient so if we were to implement it for something like CentOS. So I think for those cases it might be inefficient. Oh, that's a good insight that there may okay so what you're saying is, there may be versions of command line get where these settings should be quite different. Ah, okay, that's very wise because well and, and to your point commit graph may not even be available on some of the command line get versions that we run and may not help if it were available right because if I'm using doing a command line get implementation and the command line get implementation doesn't know anything about commit graph it certainly can't use it. Interesting. Good. Okay, very good. And earlier it used to do a commit graph update while it was doing the GC tasks so the rationale there was that compared to the GC tasks I commit graph won't take you know much of the operational time. So they they club it together. And that is what they should. Okay, and that that makes sense to me at least it's like yeah garbage collection is very expensive right it's doing it's doing recombining and then it does this large compression operation and and compressing files is is almost always very expensive.  Good. Okay. All right, well so then, go ahead. No, I just, yeah so we probably need to see that. I mean we just need to decide what kind of strategy we're going to implement on the basis of. Yeah, so, so, well so for me. It would be okay if on the task selection. I'm going to propose an idea and let's let's test it as an idea and then we certainly can throw it out. My initial thought was Tesla, the, the task selection priority, here's my proposal. Okay, so I think prefetch has the most. My words mark thinks prefetch has the most opportunity to improve things because it is. It avoids. How would you say it. It loads. Oh it does network traffic. Which is very, very slow compared to this traffic network traffic reduction. Right so one of the best things we can do is do less network traffic. This thing, when I'm doing a fetch in a from a repository that has already done a prefetch, it avoids a whole bunch of network traffic because it's already been done it's already been pulled in. I think this one is should be priority one first choice, make sure that works, and we get good results. Now if we're doing prefetch, then the next question is okay now we're potentially every hour bringing in or every some time bringing in things that are come in as loose objects they come in without necessarily well well placed inside the repository. So should we then consider other things as second as later priority. And now this is where I don't know which of the next one should be should be preferred any any insights to offer anyone there. I feel the incremental repack should be placed after the prefetch. Can you tell us more the incremental repack basically I feel it works like a you know, be three. Okay where all the objects are placed in a sorted manner. Okay in in the in the MDX file. Okay, and each object is referred to a separate pack file. So it would be easier to search through the comments. If we have an incremental repack as a second option is what I feel. Good okay and that I think that's a that's a testable idea and and that feels reasonable to me. So for that I just have one question. Prefetch, what is it exactly is it just getting the references the updated references into a separate directory or is it actually downloading the objects and not yet present in the local depository. My understanding is it's getting the objects. Okay. So, so my interpretation of the way this is described is it's doing the equivalent of a get fetch minus minus all, but placing the refs in a different location, so that the repository doesn't doesn't. So that the repository state of the mode of the, for instance, the master branch pointer is actually not updated. So it says, this is done to avoid disrupting the remote tracking branches my interpretation of that is pre fetch does the fetch, and hides the result of the fetch locally in a way that get can find them, but does not update the remote tracking branches. And for me this was a, oh that's smart because I would have just done a fetch. But the problem with doing a fetch is somebody else may be depending on that cash staying in its having its remote tracking branches stay in their current state. The thing that's maintaining that's that owns the cash thinks it has control over when when remote tracking branches are updated. Did that answer your question Rishabh. Yes, I mean so the subsequent question is that if objects are going to be downloaded and they are loose. They're not. So then would will be not want to run something which are going to put them in a fact. Well, and I think that get fetch fetch will on later versions of get actually place objects into additional pack files. So, so there's, if I remember right there's this thing called the multi pack index that will allow that allows get to use multiple pack files. And if I understand correctly, that's a recent, a relatively recent like within the last two or three years feature of get it does anyone else have experience with multi pack index that that they can enlighten the rest of us. See if I can find multi pack. Oh, here we go. Look, okay. Okay, so incremental repack. It uses multi pack index to repack the objects. First by calling expire to delete unreference pack files, and then by calling repack to combine several pack files into a single bigger one. So, so this feels like for me. Okay, back to our question it was. Should we put, I think this is lobbying that Russia cash on it right that incremental repack is a really good choice as as very, very close to prefetch in terms of its values. Mark, I'll share you a link okay one minute can you open it one minute. Sure. So are you sharing it through the Gitter chat or through. Oh good you did. Okay, here we go. Perfect, here it is. 2.20 introduced a single file that consolidates all of the index files. This actually gave me an overview like actually gave me an overview of exactly how this incremental repack works using the multi pack index. So both the commands that is the expire and the repack command has been explained in this. Okay, so, so this this article so let's be sure we include a link to this. Okay, see the stack overflow article for incremental repack details. Very good, excellent okay. Let's get off. Excuse the muting. Okay, very good so. So what this is telling us is. It's not especially healthy to have many pack files and what this has done is if we do. Yeah, okay here we go. This is talking about let's talk about the Linux kernel, multi pack files. It can cost cost time but we may not be able to repack into a single pack pack file because it just takes too long, right or consumes too much space. And so what this is offering us is the multi pack index, and we get that by doing the incremental repack. Correct who she gets. Yes, yes, Mark. Okay. Good. All right. Okay switch which feels like that gives us a strong reason to say yes, prefetch and yes to incremental repack those should should both be on just as they are in the. And now I assume we've got a challenge there of maybe I should make a note here. We need to assess the operations based on and their results based on the different versions of command line get right because multi index multi pack index looks like it requires at least get 2.20. Okay. Sorry, one question that I have is that there is also loose objects maintenance task right. So, I guess this is more of a confusion for me if we're doing a prefetch. Are we introducing more loose objects into the, the local directory or we're introducing more pack files that need to be repackaged. And I think that with current versions of get it does a. We could easily take we could test it really quickly if you're okay if I run a test. Let's just go do a quick look to see. So, I happen to have a repository that is rather large. And let's go look at it just to see so. What's it all about in. Yeah, there we go. The, this directory has a copy of it. And let's see what a mess it is. Okay, so here's something and now what's in its pack direct yeah. Okay, here's a here's a terrifying example of this is 100 or 150 megabyte repository. We use it to test all sorts of awful things. And so, but what you see here is an embarrassing number of pack files. Right, they really should be in an ideal world to an IDX and a pack and that's it. And this has many many more than that, and it's got all sorts of loose objects now if I do a get poll. Now about let's count the number of those there are. So we have 62 files in that direct director right now. Let's see if it has to bring anything okay so it's bringing in some new content. It added four more files. So I think that indicates it did add new packs, not just new loose objects. Did that address your question. Yes, Richard. So we should and we should be able to see that by doing this we should see that. Yeah, notice here is here is something was changed February 12 and then there are four more things March 22. And yeah, so here's a good indicator. Notice the size of this monster. This file is 77 megabytes. It's embarrassing, nobody should put 70 megabytes and get repository that's sick and wrong, but but that's what this one has done. It's got one of the this pack file is enormous and there are other pack files that are pretty hot pretty large this one looks like it's 25 mag, you know so so it's a big this is a big repository. And I suspect if I run get GC it will run for 15 minutes or more. So, so did that address the yes we're confident we want prefetch we want incremental repack. And Rishabh I think was do we also want to make loose objects. A standard, a standard part of it, like, like get maintenance does right because get maintenance has chosen to do loose objects daily less frequently than prefetch, but but it much more frequently than GC.  To have more backfiles first and then the package then whatever the back is. Good good point yeah let's so let's see it says it place cleans up loose objects and places them into pack files. Yeah so well so okay so I'm going to try something here in that that repository. So it's got some stuff in objects. Is it loose objects. I don't think that the comment yeah. How about maintenance minus minus task equals. Oh come on, there's got to be a way to do it. So there it is loose objects, loose objects job. Get maintenance run. Oh, thank you. Right, of course. Clearly I don't have enough experience with this do I like that. Okay, get maintenance run. Maybe it's task. Oh, yep. Okay, that was it. And now what did it do to our. They're still there. Except, did we get a new entry in the, let's see LS minus ALTR dot get such object such pack we had 66 before. And now we have oh and look, there it is loose dot pack. Okay so so it and and back to their comment they said hey we're going to do loose objects, and it's going to create the new pack file, but it did not apparently delete all the other things it left them around so there's a pack file for use, but the loose is still seems to still be there. Interesting. Okay, cool. Now I have no idea I assume get must be able to use the loose thing. Okay, good. Rob, back to your question. Are we answering the question that you had about how do we approach it. Yes, I think we would, we would run, we would want to run loose objects first straight like refetch loose objects and then incrementally back so that. I see what your point is. Okay and but now let's let's test that so they say they run incremental repack and loose objects daily, but they run prefetch hourly by default. So should we be considering their 24 times more frequently running prefetch than they are running incremental repack and honor the same idea. I have a doubt here would this incremental repack would, would it even consider loose objects as part of it. I thought that it did not, didn't it say that it only does multi pack index. It's unreferenced pack files and then combines pack file so I would think incremental repack does not do loose objects. That would lobby for reshops argument that we should do loose objects and incremental repack as sort of two steps. Close to each other one right after the other. Is that what you were asking. What was it like my question is like would increment the multi pack index file, would it consider the loose objects pack file which has been generated. Oh, oh I see what you're saying. I, that's a good question I don't know. Let's, well let's let's try it and see. We've got a task here so this time we're going we just did loose objects. Now let's do incremental repack. Now it added three more files. This multi pack index. And two more pack and another pack. Now I don't remember seeing a multi pack index in the list at all let's see and the count of files it was, we went up by three. So we got a pack. The multi pack index did not exist before I did get maintenance run incremental repack. So I've been running with a sub optimal setup, because I wasn't using get maintenance at all. Oh this is really great thank you. You're all wonderful to be teaching me more about get thank you. Okay so so I think what that's saying is man page review indicates. That loose objects should be run as well. And there it's daily. And this one is also daily. This one is currently hourly right in the get maintenance default. There's also another command directly below the incremental repack called pack reps, and that collects the loose reference books. All right. Next so this one. Oh, okay now now then this is so we saw this one loose objects created entries in the in the pack directory loose dash something what you're thinking is this may actually create them as real packs. Is that is that correct what you're saying are on. Yes. So let's try that pack dash reps. Okay that was very fast, and it still seems to have left the the the loose objects in there if I if I'm seeing that correctly. There are definitely loose objects in that directory. Okay, so what was pack refs doing it says collects the loose reference. I put branches and tags by default. That's not for all the objects that's what specified when you open when you open that link there. Okay so this optimization is not for the objects right it's that the word read the words reference files you're very important I think is what you're saying right is that this is doing. It used to write right okay it used to store one file per ref in a directory. And if we look, I think I can see that. Yes, now if I go, let's go up what we already taken it out let's try a different. What's a good bug report how about. Okay so I'm not seeing. Oh, if I look in tags.  Now if I go back to the master directory. I might expect that those were somehow less because it's somehow done a small database of those stored in some other location. Is that is that what you're telling me that pack refs really is creating. Instead of one file per ref. Now, it is stored in, it is stored in directory, it's stored in pack draft, there should be something called progress there. Right, so if I look there. And here is this thing that is some sort of a better representation than a single file per tag, or a single file per tag plus single file for branch. Good. Okay. All right, so, so for me pack refs. Now, now my repositories typically don't have an enormous number of, of references, the, that 100 megabyte when that yours, you were seeing is probably has several thousand might be as many as 10,000. So just get plug Jenkins plug-in repositories have far fewer than that. Right, they have on the order of hundreds, maybe. Interesting. Okay. So back to the question when now, wait a sec, they don't even list pack refs here as a task. Yes, it's not in the incremental strategy. Oh, okay. Now, so you think there's a reason for that. Interesting. It's not in the incremental strategy. Okay, so, so does that lobby that we should probably only use pack refs in very special cases. I mean, it is saying that it speeds up operations that iterate across many references and I don't know how many of those we actually have. Okay. So I was just saying that the operations that we would want to optimize would be get fetch. I mean, the operations where there is a significant network bandwidth usage. So I believe the priority of the tasks should be should be tuned to optimizing those operations. Right. And this one pack refs is pack refs is not as far as I can tell a network, a network related one it's not going to help network performance it's not going to reduce network traffic or spread it spread it out so for me, assumed, not part of our default set. Is that a safe way to say it. Yes, and could we could we do a benchmark on I mean we already have the benchmarking framework within the get client depository. So this is a test that maybe could be an improvement in the proposal but it's an experiment that could be done should be interesting to see if. Yeah, the challenge for me would be how would, because of what it's doing how would we how would we do that benchmark it's. So it's. Okay, so here we go a repository with too many refs should pack all its refs with minus minus all once, and then run pack refs. So I assume so be get pack refs minus minus all. And then every so often run this. I think this would be useful if you have a lot of branches, a lot of, if you have too many branches or get repository has too many branches. But how, how I mean if you have a lot of branches what does it affect has it affect the gate of the gate fetches operation time, how is it affecting. Because we have to look through a lot of like through if we go through the ref folder, we'll have a lot of branches right so searching through that I think would take a lot of time. If we do a pack ref everything we be put into one place. So, the reason why I'm stressing on that is we so when we did the benchmarks on get operations, what we found out was that the time it takes for a good fetch to happen is is is a function of the amount the size of objects that you have in your repository rather than the number of commits or the number of branches on of the tax. That is what we found at that time. Okay, if you think there is a way for us to demonstrate that the number of branches are going to affect the network intensive gate operations then I think we should definitely consider it. Yeah, so, so and I think I think that's a, that's a valid point that pack refs may be a later optimization that we consider, or we might. What if, what if we said, Hey, one of the measures we take of repositories is the number of references. I don't know how we would get that but if we, if we computed the number of references and if the number of references was beyond some certain threshold. Like they say here right up repository with too many refs so if we did some measurement periodically and said this repository has this many refs some arbitrary number 100,000. But as more than that we will at least once do a pack pack refs minus minus all, and then automatically schedule it to do a get pack refs once a week something like that I mean that might be. I don't know what that threshold would be I'm not sure how we would obtain that threshold and identify it but it could be a way we handle this this comment, what the documentation says. Yes, I agree. Interesting. Okay, well, this this has been a most effective session thank you very much to everyone who's been here. I had wanted to limit us to an hour. What I'd propose is if you're, would you like to do this kind of session again. Are you willing to have these kind of discussions, and would it fit for you if we did it. Next week or early next week would that be okay are you interested in that or is this not nearly interesting to you you'd rather just focus on other things. What's your feedback. It's good to have these sessions Mark because you know, I'm learning a lot about what exactly is required and how to proceed also with the implementation. It's better if you have a good if you have these kinds of session. Okay, good. Well, so others. I like that that that's that's great for me. Do others have the same feeling. Yeah, I agree. The session has been like really helpful and understanding and and knowing about how we can proceed forward and how we can look at things. What I'd propose is let's plan for an hour a week, if that's okay, and it would be it would actually be a little better for me if we were willing to do it on my, on my day when I already am doing office hours. So would you be willing to do it Fridays, rather than doing on on Wednesday like we're doing this one. So we would just do it right after Google Summer of Code office hours, or is that not a convenient time for you. So we would basically make GSOC office hours 90 minutes for you instead of 30. For me it's fine Mark. Now, I'm ready for it. That's good. And Shab, how about you and Chris, you would with that would would Friday work for you or it's both of them are right in the middle of your working day and I apologize for that it's you India time and Rocky Mountain time in the US are different enough it's always going to be complicated. You're okay. Yeah, it should be okay for me. All right, so then let me take, I'll take the action item to schedule schedule recurring sessions of immediately after the Asia GSOC office hours, and we'll try to meet weekly meet to discuss so that means let me double check my calendar in just a minute to be sure I've got the right. So that means we would next meet on Friday the first of April. Is that okay, or do we need to meet sooner than that. What time is done. So Friday, April one, it would be at 330 am UTC, which is about 30 minutes prior to this time. Because we are right now know let's use that we know it is. It is exactly at this time so it's right now. No, no I take it back it's 30 minutes after this time. So what time is it locally for you in India right now. Okay, so it's 830 am now. So the meeting then would be would go from nine o'clock am India time to 10 o'clock. Does that work okay for you. Yeah, it's fine. Okay, great. So that's the plan for that. And if we and then we'll, we'll try the same thing the following week. And, and let's make some progress. Thanks very much. I'll upload the recording of this, probably 24 hours from now it's I'm a little behind schedule on recordings right now. Thanks everybody for your time. Thank you so much. Thank you. Thank you.


Now, I want to take a few questions. Yes, Mr. Mufakumjha, you have a question please go ahead. We are considering a control value fixed in space, we are deriving equations, we are getting conservation form of equation. And when the control value is knowing its space, we are getting non-convolution form of equation. So, I want to know the difference between the conservation form and non-convolution form. Yes. So, the question is in these derivations, in one manner when we are carrying out the derivation, we are obtaining what is called as a conservation form and in other manner we are obtaining what is called as a non-convolution form. So, let me first try to go back and point out what is meant by a conservation form. Let me go back here. So, when we employed our mass balance equation for a control volume in the slide that is projected on the screen, we obtained an inherently conservative form of the equation. So, the form that is now shown as equation 1 as partial derivative of rho with respect to time plus the divergence of rho v equal to 0 is what we call a conservative form. So, the conservative form actually comes about automatically when you obtain the differential equation from a balance statement point of view. Or in other words, if you look at the other approach that we employed, here also we started with an integral form which was essentially a balance statement if you recall on an integral basis. And we have simply manipulated that balance statement into a balance statement on a per unit volume basis and therefore you again obtain the form in the conservative form. So, whenever you are employing an Eulerian approach of deriving the expression which will necessarily mean that you are doing a balance statement on a control volume type approach, you will necessarily get the equation in a conservative form. On the other hand, this last part which I described if you go to slide number 6 on differential analysis, what we are doing here is we are utilizing the inherent Lagrangian form because we have decided that we will follow a one given particle and we will simply make sure that the mass content for this one fluid particle is going to remain unchanged which is what we write in terms of the substantial derivative of the mass content being 0. So, my point is that if you employ a Lagrangian approach of deriving these equations, you will always get the equations in a non conservative form which is shown out here. As far as fluid mechanics is concerned it does not matter whether you are obtaining the equations in a non conservative form or you are obtaining them in a conservative form here. On the other hand, when it comes to CFD utilization, especially for a finite volume technique as we will see in the later half of this course, the conservative form is something that is found to be more useful. But the point and the answer that I want to give here is that if you employ Eulerian approach for derivations, you will obtain conservative form. If you employ Lagrangian way of doing things in terms of derivations, you will obtain a non conservative form. SVNIT Suresh, you have a question please go ahead. Sir, the way in which you explain the solid boundary rotation and the shear deformation during the coordinate workshop. Sir, can you repeat the same thing so that the participant can have a better understanding using the two perpendicular ball pens? Yes, I will do that in a second. Actually, I had tried to, so the question is related to the way the rotation and the shear strain rates were described and obtained. What I had done actually was let me project that slide and then also I will show what I mean by that. So, here what I have projected right now is really what I had shown with those two pens in the coordinator workshop. So, let me try to show that again through the video camera. So, if you people are looking at this, so what I have is the two perpendicular segments. One is AB which is the horizontal segment and the one which is black here is the vertical segment AC when you are looking at it. Now, what I mean by the decomposition of this rotational motion and the shear deformation is that initially you can think about both of these guys experiencing a anticlockwise solid body like rotation in this fashion. So, both of them are getting turned by the same amount through an anticlockwise sense and then follow this by one segment experiencing anticlockwise shear rotation and the other segment experiencing a clockwise shear rotation. So, finally what ends up happening is that the segments AB and AC will end up in a situation such as what I am holding these two pens. So, let me repeat this. I start with a mutually perpendicular situation then both of these guys experience a anticlockwise rotation of the same amount and then one segment keeps on going anticlockwise due to the shear deformation. The other segment keeps on going clockwise because of the shear deformation. So, this is the final location for segments AB and AC as I had drawn it. Hopefully, this is carrying the point across and this is what I tried to actually show through the sketch that I have prepared here in the slide number 22 on kinematics. Institute of Road and Transport erode, you have a question. This is Dr. Dharmish Moghiddin from IRT to Remote Centre Tamil Nadu. I have one question in connection with various types of lines. While explaining the kinematics of fluid flow, you have explained something about path lines, streamline and streak lines. Just I want to know what are the practical importance of these lines in your flow field and how they are helpful in CFD analysis. This is question number one and I have one more question. Question number two, you have explained about Lagrangian method and the Eulerian approach to solve the flow field problems and how to select the particular type of solution method for a particular application and what are the limitations of each in your two methods. These are the two questions. Thank you. Yes. So, there are two questions. One is related to the different lines that I talked about, the path line, streamline and streak line. In particular, how are they used in practice as well as from the CFD point of view. I tried to explain that during the lecture that if you are performing an experiment for example, if you are actually performing a fluid dynamics experiment in a lab, many times what you will do is you will employ a flow visualization type technique and one of the very popular flow visualization techniques perhaps slightly older is creating hydrogen bubbles in a liquid flow in particular in water flow and then letting those hydrogen bubbles flow along with the flow and then taking a video camera and then recording their motion. So, each of these hydrogen bubbles that are created in that particular technique are basically tracing a path line which gets recorded when a video recording of such a flow field is carried out. So, that is one practical application where people have employed these ideas in a lab setting. When it comes to CFD application, what I said was that usually as a result of the CFD simulation you will generate a velocity field in the flow domain. So, what I mean by velocity field is that you will generate the velocity numbers at the various nodes or the computational points where you are calculating all these. So, using this velocity field, you can actually generate the streamlines and in fact, most of the times the graphics plotting software that nowadays people use will automatically generate the path lines and streamlines once you provide the velocity field as the input. So, that way you can easily get the streamlines from your computational fluid dynamics analysis. So, that is what I would like to say on question number one. Yes, question number two was about Lagrangian versus Eulerian point of view and where they are utilized. So, typically if you see fluid flow analysis, pure fluid flow motions, you will always see that an Eulerian point of view is employed. The reason is because the Lagrangian point of view is very cumbersome to utilize. Where you will see a Lagrangian point of view employed is the kinds of situation that I was talking about yesterday, especially these rarefied gas dynamic situations where the density is very very low and correspondingly the number of gas molecules in the domain of interest are very low. In which case you cannot really employ continuum methods and you actually have to go to a Lagrangian method where you actually select a large number of particles which are your gas molecules and then track them as they move about in the domain to find out the flow field information. So, that is where you will see the utility of Lagrangian approach. Also in situations as were being pointed out yesterday in the discussion, there are some situations when we have solid particles embedded in fluid flow. So, to analyze such situations, people utilize Lagrangian approach to track the solid particles and Eulerian equations of motion for the solution of the fluid problem. So, that is another example where Lagrangian is mixed with Eulerian in some sense. Which method will be more accurate whether it is Eulerian or Eulerian method for a particular application? The question is whether Lagrangian or Eulerian method will be more accurate in a given application. Accuracy wise both are probably the same. It is just that to obtain the same accuracy the amount of computational time for example, in case of Lagrangian approach is very, very large unless you are dealing with rarefied gas dynamics type situations. But accuracy wise I do not see if any one is going to be more accurate than the other. It is just that practically speaking using Lagrangian approach is essentially impossible for standard continuum flow situations. Thank you professor. Thank you. I got answers for the questions. Thank you very much. Thank you. M.E.S. Pillai Panvel please go ahead if you have a question. My question is regarding slide number 20. Acceleration of the fluid particle where the local rate of change plus convective part that is spatial part has been described. Whether this application is applicable I mean true for other conservation flow variables also. So the question is about what was worked out on slide number 20 which was the acceleration of fluid particle and the specifically the question is about the local rates and the convective rates and whether they are applicable to other flow variables also if I understand the question correctly. And yes the local rate of change and the convective rate of change will in general be applicable for any flow variable. So in this particular instance when I worked out this problem the flow variable was taken as the velocity and in particular the three velocity components were separately considered as u, v and w. But if you are desirable you can always try to find out the substantial rate of change of pressure for example in which case there will be a local rate of change of pressure and a convective rate of change of pressure. So in which case wherever you see this u inside the derivative you will replace that inside the derivative u with p as the value or the quantity of interest. Similarly you can obtain substantial rate of change of temperature as well. So there is no problem with that any flow variable can have a substantial rate of change and it will be always composed of the local rate of change and the convective rate of change. Now in situations special situations it is possible that the local rate of change is 0 for example if you are dealing with steady flow. It is possible that in some special situations may be the convective rate of change is 0. But in general both of these are present and both of these are applicable for any flow variable. KJ Sumaiya Mumbai you have a question please go ahead. In kinematics 18 slide hello kinematics 18 slide you have written that second step 1 upon elemental volume times substantial derivative of elemental volume is equal to del u by del x plus del v by del y. How the left hand side has arrived? This is one question and the second question is in the differential analysis six slide from the top the second step del rho by del t plus grad rho dot v bar plus rho grad dot v bar is equal to 0 in that how the third term has arrived? Yeah so there are two questions one is related to the slide that is projected right now on the screen which talks about the volumetric strain rate for the fluid particle. So the volumetric strain rate in its basic sense has been defined as the change in the volume of the fluid particle divided by its original volume and the whole thing then divided by the time interval over which this is happening. So what has been done is first of all you should note that we are following a particular fluid particle as it goes from one location to the next and while doing it it is experiencing the volumetric rate of change. So since we are following a one particular fluid particle we will necessarily be talking about the substantial rate of change. Now if you see the expression at the top what we have is 1 over delta t times delta of the volume element divided by delta v which has been rewritten in the sense that what I have done is I have taken this 1 over delta t inside and the delta v on the denominator outside. So you can read the entire left hand side as 1 over delta v change in the volume element over the time interval which is over which it is happening. And as delta t which is a time interval tending to 0 change in the volume element over that delta t is essentially going to be a rate of change of delta v with respect to time and that is how this substantial derivative has showed up here and the delta v has gone out. So this delta v here has gone out delta t has come in as delta t tends to 0 change in the volume element divided by the delta t the time interval essentially becomes a time derivative of the volume and that is why we have we have written it as substantial derivative because we are following the fluid particle in its own sense. So we are we are necessarily employing a Lagrangian method right now because we are following a given single fluid particle. So that is the that is the first question. Let me let me load the other yeah. So there was there was a question on slide number 6 of differential analysis and in particular how this step is getting achieved if I understand the question correctly. So the way it is been done is that if I if I go back one slide here we have obtained the continuity equation from the integral form by doing these mathematical manipulations and the form of the continuity equation comes in the form of divergence of rho times v. Now keep in mind that divergence of rho times v essentially implies that rho here is not assumed to be a constant it is a variable. So therefore I am in a position to expand this del dot rho v by expanding the del dot whatever is inside and if you want to look at the specific form of the expansion what you should do is you go back to the the lectures yesterday and when I had passed out the slides for the mathematical background you will see that I have given an expression for del dot a multiplied by a vector b and the expansion of that. So using that expansion formula which was provided yesterday in the mathematical background this del dot rho v has been expanded and that is about it really. If you want you can actually redo this entirely in Cartesian coordinates. So if you employ Cartesian coordinates you will see it far more easily. Right now what I am trying to do here is to save space I was using the the expansions directly in the vector form however you can do this entirely in Cartesian coordinate as well. But having said that I have given you the relevant expansion formulas yesterday in the mathematical background. So if you do not mind going back to it you will realize that there is one formula which says del dot a multiplied by vector b and how to expand that using that this particular expansion has been obtained that is about it. So slide number 15 you have written under the action of forces a fluid particle simultaneously undergoes translation rotation deformation and after that you have derived independent equations for each particle undergoing translation rotation deformation. What about the net composite effect of all these transformation? So what will be the net transformation due to translation rotation and deformation on a fluid particle? So the question is about what I what I said on slide number 15 in kinematics that we said that under the action of forces a fluid particle simultaneously undergoes all this and then the question is that we have independently analyzed each of these motions but the question is what happens as a cumulative action of this. In fact what I did was when I wrote this I immediately showed the sketch here in slide number 16 which actually shows the cumulative effect and then what we did was we decompose this cumulative effect into independent actions one was rotation one was shear deformation and one was volumetric deformation. So we went in the reverse manner in some sense what we showed was the cumulative effect was shown on slide number 16. So when the fluid particle goes from the location number 1 where it is rectangular to the location number 2 when it becomes this Rombus type situation this is actually the cumulative effect. So the fluid particle will translate it will change its volume it will also rotate and undergo shear deformation and finally over a time of delta t it will look like this. Having said this we have gone in the next few slides for example slide number 17, 18, etc and then try to analyze each of these components separately but the cumulative effect is already shown in slide number 16. It is the diagram that you are showing but can we have a composed transform equation of it? Yes you can yes yes yes the equation or analyze each one separately but it is about the net equation. You can indeed have an equation which can show all these effects in one shot where you can put together all these rotation translation etc together. I have not actually put together that equation in this set of slides the reason is because I wanted to show these effects separately. In fact the issue is that if you put it together as one equation most of the times it is not really easy to see what sort of detailed issues are happening as a result of each of these different motions. So indeed you can show this as one equation by putting it together. In fact some of the advanced textbooks in fluid mechanics if you read you will see that they will show this combined equation. However in our experience what happens is that if that combined equation is shown it is somewhat difficult to follow what has been happening in each of these individual effects and that is what I have tried to show separately rather than putting it together. I hope that answers your question. Okay thank you sir. Thank you. So right now it is one o'clock so what we will do is we will stop for lunch right now. Thank you very much.


Hello, this lecture coincides with the OpenGeology.org textbook created by authors at Salt Lake Community College, including myself. This lecture is covering silicates and how minerals are classified. There are well over 4,000 different named minerals that mineralogists have discovered so far. And fewer than 100 of these make up most of the rocks on the planet, so a lot of the minerals beyond that hundred are special cases. Most of the continental crust is made up of just eight different types of atoms, types of elements. And most of those, 46% by weight is oxygen, and another almost third is silicon. The silicon and oxygen are extremely abundant. And because of that, we separate minerals, classify minerals into two major groups. Today, we're going to talk about the silicates, which contain silica, a combination of one silica atom or oxygen atoms to make what is known as a silica tetrahedra. These account for more than 90% of Earth's crust. There are also non-silicates, which I will devote another lecture to, and we order these by the type of chemicals, type of elements in those. They're not as common as the silicates, but they're still definitely economically important. So the two major groups, a lot of people like to organize silicates by light silicates and dark silicates. And this coincides with the continental crust, which is more felsic in nature. That's an igneous rock compositional term. And the dark silicates coincide with the mafic oceanic crust. Light silicates, like the continental crust, are generally light, weight in specific gravity, and light in color. And they contain things like aluminum, potassium, calcium, and sodium, and relatively more silicate, silica material. And examples of minerals that are considered light silicates are quartz, potassium feldspar, which is pictured in this slide, muscovite, a sheet-like, semi-transparent mineral, and a lot of clays, kaolinite, things like that. Dark silicates are mafic, beautiful dark minerals, iron, and magnesium rich, relatively less silica than the light silicates. Of course they're silicates, so they still contain silica. They are denser, heavier, and some prime examples include the beautiful green olivine, peroxine, and amphibole. And there's some algae and biotite presented. Show you some examples of those dark silicates. All silica silicate minerals contain silica and oxygen. And there's a silica tetrahedra for you. It looks kind of like a pyramid, but you have nicely arranged oxygen atoms around a silica atom, four-charged oxygen atoms surrounding the silica atom. And you can polymerize, link together, polymer, what I think I want to hear polymerization is I think of plastics. They're polymers. They're polymers because they have long strings of carbons chained together. And this is a very similar idea. You have long strings of the silica tetrahedra. You can make very complicated and interesting structures based on how these silica tetrahedra are arranged. And this is how we organize a lot of the silicates, other than splitting them into light versus dark. You can organize them based on how the silica tetrahedra are arranged. The simplest situation being the nezzo silicates, which are on their own. Soros, I think that's a Greek root for sister where you have two conjoined silicate tetrahedra. You can get into more complex structures like chains and double chains. And these can create things like the asbestos type minerals that have these stringy strands. And you can start to see how the atomic scale arrangement of silica tetrahedra lead to the properties of the mineral. You get into these phylo silicates, which are sheet-like phylo, I think is a Greek root for a leaf. And you can get these amazing sheet-like silicates, the mycas, the books of single cleavage where they split into thin sheets, like a lipidolite or muscovite or biotite. And cyclosilicates, which are ring-like structures. So all of these are examples of polymerization, silicate minerals, and the different arrangements of these silica tetrahedrons will create for very different properties, especially how the minerals break and cleave and split into smaller pieces. And then the strongest and most orderly arrangement, kind of meta to play a YouTube video and a YouTube video. But here is the structure of silica, of quartz. And this is a framework silicate. You can see kind of a three-dimensional framework of these silica structures. And oftentimes you can have ions charged atoms connecting these silicate structures, these arrangements of silica tetrahedrons where you have these charged ions between your sheets or between your rings or within your rings. So keep that in mind. And that's part of what can make up the chemical composition of these silicates. And that's it for the silicates. Please continue watching for the non-silicates. And I hope you learned a little bit about


It is Brett and this 2017 Chevy Silverado 2500 Double Cab Short Box is stock number 12597Z. We're here at Summit Automotive in Fond du Lac, Wisconsin, you're new and used heavy duty truck headquarters. This 2017 Chevy Silverado 2500 has the 6 liter V8 gas engine and this might be one of the cleanest used trucks that we have gotten in on our lot. Pretty much how you see it now is exactly how it came in to us. It has been fully safety and inspected by our service shop as a fresh oil and filter change all the fluids have been checked and topped off and this truck is 100% ready to go. We're going to go inside underneath the hood, start it up, take a look under the truck and of course all the way around it. In this video, graphite metallic is the color and we shoot all of our videos in 1080p 60 frames per second. So if you have HD capabilities on your computer tablet, smartphone or television, I highly recommend turning them on right now because it is your best way to check out the quality condition and options of the truck before seeing it in person. And if you like the video on how we do things here at Summit Auto in the upper right hand part of the screen is a subscribe button to our YouTube channel. Click that and then click the bell notifications and you'll get updates every time we do videos here at Summit Automotive. This one comes with the 18 inch chrome dalloway rims and it has Goodyear Wrangler SRA LT265 70 R18 tires and these tires have right around 50 to 60% of the tread left on them. Frame and underbody is exceptionally clean on this truck. Front fender is in excellent condition, no dents or dings on there. You do get the projector lamp headlamps and the factory fog lights. The bumper is in excellent shape. I didn't see any dents or dings on that. Headlight lenses are nice and clear and you do get the chrome trimmed grille on this one. The hood is in excellent shape, no dents or dings on that. And the passenger side front fender is in a really nice condition as well. Passenger side rim, no scuffs or scrapes on there. The graphite metallic's got a lot of metal flake in it. Really a cool color. Some lights it looks blue, other lights it looks gray, at night it looks black and in just the right light sometimes it looks kind of a greenish hue. Really cool color. Anyways, as you go down this side of the truck, take note of how clean the body is, how reflective and mirror-like that paint is. We take these HD videos so if you are far away or even if you're close by and just cannot make the trip down but you're still interested in purchasing the vehicle, you can see the truck here, the truck, and have confidence in the vehicle that you're looking at before you even get here. So when you do get here, there's absolutely no surprises and you can make a smart and informed buying decision from wherever you're at. And if this video helps you make that decision, let your salesmen know that you saw the video, that it was helpful and that Brett sent you. This back rim is in excellent shape. Back tires have just as much tread as the front tires and the frame and underbody is in really nice condition as well. It's like that all the way underneath, goes with the really nice chrome step bars and the little rockers and cab corners are all in really nice shape. Like I said, this is close to one of the cleanest trucks that we have gotten in as far as a used truck with actual miles on it. As we get soft with 1,000 miles on it, that's like new. But this one is very, very nice. Rear bumpers in excellent shape, no dents or dings in that. You do get the rear bumper steps, full towing package of course, which comes with the receiver hitch, four pin and seven pin wiring. The tailgate is absolutely perfect. Does have a locking tailgate, backup camera. And this one comes with a Truxedo low pro soft roll up tonneau cover. I didn't see any rips or tears on that. Has a shock down assist. Does come with a bed mat. The bed does have a little bit of light duty usage. And I think it might even have 5th wheel bed rails back here as well, which it does. But other than just a little bit of scuffs and stuff, not too bad. It is a truck after all. Which shuts nice and easily and solidly. And as you go down the driver's side, just as clean as that passenger's side, no dents or dings on the box. And for full disclosure, this back rim is in very nice shape too. And down the rest of the side of the truck doors look really good. It does have the driver's side lights on the mirrors, built in directional signals on there and there. These mirrors do telescope out. They also fold in, which is a really nice feature.  You do get the 40, 20, 40 split bench seating. There are no rips. There are no tears on the seats. And like I said, once again, this truck, this is how this truck came in. Power driver seat, factory all-weather formats, auto headlamps turned out, four-wheel drive factory brake controller, power windows, power locks, and power mirrors. We'll hop inside, check out the miles radio and everything that this truck has to offer on the interior. You can see that this one only has 25,000, 39 miles, you do get a digital speedometer compass display and that that instrument cluster is very nice and clean. You get the cruise controls on the leather wrap steering wheel, Bluetooth and information center controls on the right. It does come with the six-speed automatic transmission with the optional tap shift. You get these Chevy MyLink radio, AM FM, and Sirius XM radio capabilities. It does have a projection manager on it so you can project your cell phone to the screen via Android Auto or Apple CarPlay. So if you have a navigation system on your cell phone, project it right to the screen and then it's like you have nav on the screen such as Waze or Google Maps. This is also where your backup camera shows up. You do get a CD player and of course it can connect to your Bluetooth phone as well.  That's your stability control. That's for your LED side lights and your cargo lamps on your mirrors. This one does have the 12-volt power point. Then you do get a 110-volt, 150-watt plug-in under there too. Passing your side floor mat and seat are in excellent condition. No rips or tears on there. The headliner is in excellent shape as well and you do get map lights up there on Star and SOS capabilities in the room here. We will take a quick look at the back seats and then we will start it up and take a look under the hood. Back seats are just as clean as the front seats, no rips or tears. Back here it does have the latch-child safety system for any child car seats you may have. Fixed glass rear window with the built-in rear defrost.  This truck does have the side curtain airbags and the bottoms of the doors are all very nice on this truck. Here are those LED side lights. We'll start it up and take a look under the hood. Starts right up. No check engine lights or anything like that. I would personally like to thank you for checking out the video today and hopefully from this HD video you will have been able to verify the quality and condition of this truck all the way around inside and out. And once again under the hood we have the 6-liter V8 gas engine. Engine bay is very clean, runs very smooth. Once again this truck has been fully safe and inspected by our service shop has a fresh oil and filter change. All the fluids have been checked and topped off and this truck is 100% ready to go. There is your emissions sticker. And I would highly recommend this truck from a quality and condition standpoint. I don't think you'll find a 2017 with this miles any cleaner than this one. And to see more pictures of this truck or one of our other phone or 50 new and used cars, trucks, SUVs, minivans, wranglers, halftones, three-quarter-tons, one-tons, you name it. We got to go to that website right there www.SummitAuto.com Full pictures and descriptions of every single vehicle from two locations all at SummitAuto.com and if you'd like to check out more HD videos you can go to YouTube.com slash Summit Autor Remember to like, subscribe and share on this video and all the videos that you see there. Click the bell notifications you'll get updates every time we do videos here at Summit Automotive. In fact in a second you will see a link to subscribe to our YouTube channel in the upper left. The link to more Chevy 2500 truck videos like this one in the upper right. A link to this vehicle on our website in the lower left and a link to one of our latest YouTube videos in the lower right. Click those check us out and we're super excited to help you with this ultra clean 2017 Chevy Silverado 2500 double cab short box LT1 and graphite metallic. Thanks again for checking out the video remember to like, subscribe and share.


It's interesting that the Bible says here, not fruits of the Spirit. You would assume it's talking about nine different characteristics like love, peace, patience, kindness. And you would assume it will use proper grammar by calling it fruits of the Spirit because there are many of them. But it's using word fruit. When it talks about works of the flesh, it uses plural works. When it uses fruit, it says only fruit, not fruits of the Spirit. Why? Because Holy Spirit, all of these nine characteristics, Holy Spirit develops at the same time in your life. You can develop one of them by yourself, but you cannot develop nine of them by yourself at the same time. You can develop love at the expense of self-control. You can develop kindness at the expense of love. You can develop one work on one while all five other of them are just rotten to the bone. But you cannot develop all nine at the same time. Only Holy Spirit can take all nine and at the same time develop these in your life. A person can develop one at the expense of another, but Holy Spirit develops all nine at the same time. That's why they're called fruit, not fruits of the Spirit. Therefore, you and I cannot say, well, I have the fruit of love, but I don't have the fruit of patience. That means you don't have the fruit of the Holy Spirit. The fruit of the Holy Spirit is all nine. You may say, oh my goodness, that's not possible. That's why it's called fruit of the Holy Spirit. It's not called fruit of fasting. It's not called fruit of your prayer. It's not called fruit of your New Year's resolutions. It's not called fruit of your workout. It's not called fruit of reading self-help books. It's not called fruit of I'm going to work it on myself. It's not fruit of your efforts, because if you work on yourself, if you pump an apple, that's all it's going to be. But then you see all others will be struggling. But when Holy Spirit is working on it, they're all nine being produced at the same time. It's a fruit. A fruit grows slowly. A fruit is not a machinery produced by a machine where things can be done so quickly. A fruit first is sour before it's sweet. And this is the frustrating part that we get sometimes as Christians. It's when you walk with Holy Spirit, you begin to notice that your character and change in your life does not happen all the time. That's why I have a hard time believing testimonies, who people say, my life was radically changed on that night. I know what you mean. But I also know what really happened. Your life cannot be dramatically changed in one day. It can't. Now you can receive salvation in one moment. You can receive deliverance in one moment. You can receive healing in one moment. But fruit cannot be developed in one service. And so after a week or after two weeks, you will recognize, you know what? Not everything changed that night. And then after a month, you will realize, well, you know what? It seems like nothing changed since that night. Why? Because a fruit does not happen overnight. And at first it's sour before it's sweet.  Yes, He is. You just have to pat yourself on the back and say, my fruit is so sour today. But it's on the way to be sweet.  We all can taste. It's kind of sour, huh? Your fruit is very sour, but you are on your way. Don't immediately think that they got a demon. Don't immediately think that, oh, the Holy Spirit is so far from them. Oh, they're so far from the Holy Spirit because they don't have these features in their life and they're not sweet. Remember, before they got sweet, they were for sour. And so it's the process the Holy Spirit develops and Holy Spirit uses the word fruit to encourage you that if certain things in your life are still not in there where they're supposed to be, this is not a moment to quit and say, this is taking too slow. Can we hurry up, God? Don't you have a microwave? God, don't you have a drive-through system? God, can we get it done faster? I can help you to do it faster. No, this is the moment to say, Holy Spirit, I am not going to quit in my relationship. Why? Because I know that it's a fruit and I know fruit takes time. It grows. It doesn't get made. It grows. It doesn't get created. That's why with Holy Spirit, you don't go through life.  That's why with Holy Spirit, every single year, you are getting better. You might not be better than me. I might not be better than you, but with Holy Spirit, I am better this year than I was last year. With Holy Spirit, I can be better this week than I was last year. Why? Because it's a fruit and it grows.  But secondly, you can do nothing to pull a fruit out of a tree. You cannot set up a blow dryer. You cannot put a certain sprinkler on it to sprinkle. You cannot feed it nothing. The only thing you can do to grow fruits is that you can constantly and continuously work and cultivate the tree and the tree will produce the fruit on its own. And this is my encouragement to you here. Work on your relationship with Holy Spirit and Holy Spirit will work on your character.


Now I'm 38 now. I feel old. You guys make me feel old But about 20 years ago my brother Joaquin and I graduated from Jefferson High School. I See we have some Jeff folks here and We packed our bags and went off to college to Stanford University Do we have anybody going to Stanford? There's the West Coast people over there Anybody going to Berkeley? No, UCLA California is not in the house today. Oh one person. All right, there you go and We had never seen Stanford and The year that I got in my mother had made about 19,000 dollars and my grandmother was getting a social security check of a few hundred dollars a month and It was a huge sacrifice for for them to help make sure that My brother and I could go to college and I got to tell you that on the way there, you know We cried like half the way there on the plane ride from here to El Basel The flight attendant had to bring us these Southwest Airlines napkins that are all hard and our eyes were all red And you know, we thought the world was over and five weeks later We came back and showed up on my mother's doorstep and said we're back and I'm sure that we scared her completely but little by little we stuck it out and After the first semester, you know, we started getting more comfortable there and Concentrated on the work and After the first year we sort of said we got the hang of it and then the second year and the third year and the fourth year and Then graduated from college in 1996 a lot of times When whenever we think about the next stage in life Whatever that next stage is think about when you were in elementary school And you're gonna go to middle school and you heard that now there were seven classes or six classes And it was a lot bigger school or when you were in middle school and you heard about high school That the students were big and you know You're gonna be a freshman and at the bottom of the totem pole and it was a little bit scary How many y'all are a little bit nervous about going to college next year raise your hand. I want to tell you That it's been my experience That the next stage in life is a little bit harder Than the stage that you're at right now But it's not so hard that you can't excel and get through it All of y'all are here for a reason Because y'all made a commitment to do well in school and more importantly you actually did the hard work that it takes to succeed If you keep on doing what you're doing If you keep doing the hard work paying attention to your studies Don't get distracted. There is every single reason that you should have confidence That you're gonna graduate from college.  It is more work, but it's manageable don't ever forget that You are a special individual There is nobody in the history of the whole planet nobody on earth right now or who has ever lived that is exactly like you That has had exactly your same thoughts that said exactly your same words that has exactly your same relationships You have something very special and powerful to add to the world including at your college or your university and so when you get into English class or you get into a history class or political science or or Physics or whatever it is don't ever forget that you as an individual bring something to the table that nobody else can And that's very powerful So on behalf of all San Antonians I want to say how proud we are of you That we wish you good luck We know y'all are gonna graduate and keep making your families very very proud and when you do That's gonna be a huge victory for you and for your families That's also gonna be a huge victory for our entire city to become that brainpower community that all of us know we can Good luck. Keep making us proud.  Thank you Give it up for Mayor Castro


Hey guys, it's State A.K. The Foot Account, and welcome back to the channel. It is Monday, and for some of you guys that are new around here, there is a type of video that I put out during Mondays every single week in FIFA 20 Ultimate Team. Last year I did, called the Market Outlook Videos, and we're gonna continue that this year. Basically what we do is we take a look at the content, at the promo, at the market movements, and everything that we could see up in the next week of FIFA Ultimate Team, kind of look at it analytically, maybe some things we can prepare for, and also talk about, you know, earlier on when squad battles are relevant, we'll talk about what happened with the market the night before during squad battle. So this is kind of like a preview video for the week, kind of what you can expect, and then maybe we'll talk a bit more about especially what's gonna happen today on that Monday or the next day Tuesday, or whatever is relevant in that time. So this is Market Outlook Video, number one of FIFA 21 and I'm stoked, because the game, we're in full swing, boys. The game has been out for almost a week now. As of today, it'll be, what, five days? Since we got on the web app last week on Wednesday. So it is freaking dope that we are here. We've got coins, we're rolling, everything is moving in the right direction, and we are getting closer and closer to just actually being on the full game, which is pretty freaking hype. So I wanna talk about stuff that happened today, and it's gonna, well, going to happen today, it's gonna happen tomorrow and throughout the rest of the week this week. This is a massive week in FIFA, man.  So we'll talk about that stuff throughout the week this week and how that will impact the market. But I also wanna talk about stuff that's happening today and marking moments that we saw even yesterday, because right now it is Monday morning for a lot of you dudes, it is the 5th of October. And I think today, this is confirmed by EA, by the way, I can't find the webpage. There's something to do with Ones to Watch, it's not this page, there's another webpage they put out and it said that today and tomorrow, Monday and Tuesday there will be Ones to Watch content. We might today get a player pick, vote, and also a Ones to Watch player SBC. I don't know, and that is confirmed, either today or tomorrow we're getting both of those things. One might happen today, one might happen tomorrow, not entirely sure, but we're getting a Ones to Watch card SBC and a player pick vote for a person that will later get an SBC that will come out on the 9th on what is FIFA's deadline day. Now I know today is actually deadline day for the transfer window in real life. So that's kinda cool, there's gonna be a lot to follow and a lot to watch and a lot of Fabrizio here we go tweets. But I just wanted to kinda point that out to you guys that we are guaranteed SBCs. It doesn't really say in here, it's on a different webpage, but a different or a Ones to Watch player pick vote, oh it's right here, it is right here. Make sure you log into foot on October 5th and 6th both in game and through the companion app to vote for the player who you think deserves the Ones to Watch item. The winner of the Ones to Watch vote will get released during OTW, yes. So I think this SBC though is also gonna come either today or tomorrow inside of foot cause it's a part of the early access, right? So I actually might see that SBC coming Tuesday with the vote coming today and Monday. So that's just something to watch out for and we'll talk about that. Actually let's talk about that right now. We had squad battle rewards, right? Just last night, actually what is it like? A few hours before this video goes live, we had squad battle rewards on the market and a lot of things change and I wanna talk about that and of course how that applies to the upcoming week. With those SBCs upcoming, right? With these SBCs are coming, I'm honestly starting to look at SBC fodder as a possible investment. We've never really had SBCs this early. Last year we did have a little bit and all I'm thinking about is it depends on the player who they give the SBC to. I mean, that makes a whale of a difference. That makes the biggest difference of it all. But I think that SBC fodder could rise 81 rated, 82, 83, 84. Anything over 84 though, I'm just not so sure that they would drop an SBC that would be that expensive at the start of foot. Just because they know that most people on this game don't have like any coins that they're putting an SBC out. That's why always the first player of the months are usually really good value in the first couple of weeks or so of October. In the next couple of weeks too, we'll probably get player of the months for La Liga. That voting is out, player of the months for Premier League. That voting is out. So just be kind of worried for those things and we'll talk about them as they come up because those should be coming pretty soon. But I'm really starting to look at SBC fodder now, especially the low range. If you're somebody who's on a decent amount of coins, you could probably even do a club stock on this. And if you think that this SBC is gonna be somebody that would be very highly valuable, people just love SBCs and Viva anyway. You know, sink your coins into a couple of these cards, maybe do a club stock of 82s, 83s and some of the 84s. Because of course these guys are going to bounce a lot when an SBC comes out that requires them, but that time is just not yet. So again, speaking of squad battle rewards, right? That's kind of the ones to watch talk and what it had today. Speaking of squad battle rewards last night, a lot of popular and meta players, this was kind of the thing, right?  And I think what that was was people were thinking that a lot of supply would come to these cards that they wanted to buy for their teams. So they were selling those cards before rewards and then going to buy them afterwards. And what that did was it created a very large buyback in the first about an hour or two after rewards actually came out, right? So we had guys at Joe Gomez who pre-rewards were down towards 90,000 coins. And this isn't even one of the biggest fluctuations. This is actually a really small one, but you can see this later in the day, he started to get sold off down to 92K, hit 93K and is bounced back up very quickly since then happened a lot with some other cards as well. Rashford was almost 150, Vandebeek was 22. I was watching Pro-Mez during squad battle rewards. He was actually under right around 7,000 coins, bounced all the way back to 8.8. Lucas was 70K flat during rewards, Akarya was 32. I bought Fakirs at 16, 17,000 coins. Tamori, even some of the low rated cards were down at like 6.7K, he bounced all the way back to 8.4. So a lot of cards during rewards went down and they bounced back because people bought them. I think I'm part of it, I'm not a huge fan of because I think part of this might've been investing, right? I bought some Lucas Hernandez at like 18, 19,000 coins where he was before rewards, as you can see right down here. But now he's bounced back up. Is this rise gonna continue into today and into Tuesday? I think it will because what you're having on the market right now is people are getting more coins but we've already had a lot of people buy their initial teams. We already had that huge surge in price on a lot of players from that Thursday into Friday when we saw the prices go absolutely mad that day. Since then we haven't had that big of a surge, right? Because, you know, there's not many new people that are coming onto the game and playing games and getting those boosts for rivals, placement match coins. But on Tuesday, it's gonna be a different story. More people are gonna be getting on the game, more FIFA points are gonna be opened and what does that mean for the market in terms of these top 100 popular players in football.  A lot of those cards are gonna reach that next level of price jump or price increase just because there's gonna be even more coins on the market and those are elite quality players that a lot of people wanna have and that more people will be able to afford after having unlimited time on the game. They'll have the full version access or EA access will be done, the full version they will be able to get on. And it's just gonna cause the market to go up, I think, as we get into this next part of the week on the super duper meta stuff. Now, of course, we still haven't had the price range updates. I expect those to come today and that's why I think today's gonna be a very interesting market day on this Monday because whenever these ranges get updated, it's gonna be crazy to follow because there's so many cards that are extinct right now. It's nuts, right? We just had another card go extinct tonight. Firland Mandy at 100,000 coins is going extinct, which is wild. But I think it's just, it's the way that it is, man, because I think this card is absolutely every, it's worth it. He's the best left-back in the game. He's got the hype, he's got the links. I think he's gonna go over 100K. Some people think it's too expensive. I honestly don't. I really don't think it is just based off of the hype that he has. I think he still has room to go after his price range gets updated because all the pros wanna use that card. Like he's the only left-back that pros wanna use in this game. So just be careful with the price ranges. I made a video on that yesterday. My thoughts are unchanged on the cards that are getting price range updates. And again, I'm still kind of leery about it. Still not super happy about it because all of the cards that got updates, oh, I made another sale, boys, let's go. Looks like we got a delaying to sell at 5,000 coins, GGs. We would have bought that for 3.9K during rewards, W. But a lot of the cards that are getting price range updates are some lower-rated players, right? Like, okay, I know he's getting a once-to-watch, but he's low-rated. 79 rated, I think, Ake is or something like that. There's other cards that are extinct at low ratings that I'm just kind of scared about. I'm scared the supply is gonna be too much and I am a little bit scared that they could drop. So that's one thing just to be wary of again. But other than that, this should be the beginning of the end, basically, for even cards that are kind of like Tamori. Tamori might last a bit longer because he got that 80-pace. He's Premier League, he's Chelsea, he's English, he's got the links. But other high-priced players, I think of a guy like Todibo a lot. This guy, to me, is somebody who's gonna get hit with a lot of supply really fast. I know he's 2,000 coins. He's already started dropping from where he was at on Friday at 3,000. I think cards like this, even some cards that are like 5,000, 6,000 coins are gonna really, really start to drop that are 78 rated or below, especially. Those cards are really gonna start to drop because the supply is just gonna become overwhelming and they're not gonna have enough demand to kind of keep up with that supply. Same thing for my man, He Chang Huang.  Four-star weak foot, obviously a great starter card. He's still around 3,000 coins. I think he really drops this week because people are just gonna get more coins and a lot more supply is gonna be coming onto this game and that's gonna make the meta cards rise more and the low-rated cards start to drop. Other things that we have coming this week, of course, is that OTW promo coming at the end of the week. That's one thing that we have to talk about is the out-of-packs gold investments that a lot of people are making right now. Of course, Team of the Week 1 is in packs until Wednesday. This night of Sunday night into Monday was kind of their last supply, in my opinion. Tuesday they'll get supplied a little bit from people that are open packs but a lot of these cards have really been inflated a lot. Will they continue to rise after they go out of packs? Probably, most of these cards will. Some of them might not, but I just don't see, Vardy is one that kind of raised me depending on player of the month, Dominic Calvert-Lewin and maybe what other informs we could get this week if we get any other informs, English striker informs like Aldi Watkins could get an inform in Team of the Week 2. Team of the Week 2 is another thing to talk about. People are investing in golds. They're gonna go out of packs for that. Specifically, guys like Holland, I think is like 112,000 coins right now or something like that. He was around a little under 100K yesterday before he scored a couple goals. Right now he's actually down at 100K again but I expect this guy to rise back up in the hype towards Wednesday. So if you got a Holland, if you invested in him, wait for his prize to rise up a little bit more as we head into Wednesday, Tuesday and Wednesday just because of people wanting to buy him because out of packs cards, right? Like think about Sun. Sun had two goals today for Spurs and his card went from 300 and like, I think he was like 315, 316,000 coins. He went all the way up to 350 and he's actually a little bit past 350 right now, 365 because people think that he might go out of packs. I bet that Aldi Watkins card is expensive right now. This is like definitely a way to trade. Early on in FIFA is buying the gold cards of players that are getting, if I could actually type in 2000 that are prospective to get informs that next week. Yeah, Aldi Watkins right now is 16 or coins. I'm pretty sure that he was like 1000 coins before the game today, but of course he's gonna get an 81 rated inform. It's gonna be a pretty spicy card. That could be a card a lot of people wanna go after next week in Team of the Week 2 if it does come. So out of packs investing for the ones to watch stuff and for Team of the Week 2 informs is really gonna heat up. I actually have a Vanderbeek on my transfer targets right now as a ones to watch investment. I've got an Osemin as some investments as well. I think he's like 2K. Yeah, so I was buying it for like 2,300 coins, 2,400 coins. I was gonna take that one there, but I missed it. You know, this might be a card that hits 5K out of packs. You know, like a starter squad for Serie A. People wanna use that league. You know, there still might be a couple of opportunities for you to invest in some cards that might get ones to watches. This one though is something that I would be very careful with because as we are on deadline day, and speaking of ones to watches, Alex Teliz is supposedly going to Manchester United, right? So Regilon and Robertson are the top two left backs in the Prem. I feel like Regilon, who has a ton of supply, depending on the price of Teliz's card, which right now I think Teliz is like 20K for his Porto card because people are buying it because they know that Teliz is gonna get a new card and that Porto card is gonna become very rare. I think talking about Premier League left backs though, I think that Teliz coming to Prem is gonna make Regilon actually drop. I think Teliz is a better card than Regilon. He'll be a little bit more pricey than Regilon, but more people will want him instead of using this Spanish left back from Spurs. Although he still could get a ones to watch, which could make his card price rise out of packs. Just be a little bit careful with this investment. That was one thing I wanted to shout out to you guys this week. So that's what you're gonna kind of see for like the middle of the week this week. It's also gonna be very interesting to trade with SBC fodder once again for the advanced SBCs. I know a lot of you guys might be moving past that and you're like, yo man, why are you still talking about advanced SBCs and trading with non-rares? Because honestly, boys, the fluctuations on these are insane. When you have a card going from 1,000 coins to 3,000 coins, and if you have 100K and you buy a lot, let's say you just buy like 50 of those cards at 1K and you sell them all at 3K, that is big time money, right? That's big time money. So just watch out for that stuff this week because that's gonna become prevalent again as more and more new people come onto the game. They have to do those SBCs, right? There's people that still have not completed, actually, that's me. I have not completed the hybrid leagues. I still have to do the give me five in the first 11 SBC. I should probably get those done pretty soon after squad battles, because they're a bit cheap right now, but there's gonna be a lot more people that have motivation to do a league and nation hybrid, do hybrid leagues, do marquee matchups and all those packs to start up the game this next week because new people were coming onto the game and stuff like that. So again, this week, the market's gonna be volatile. There's gonna be a lot of things that go up and go down with price ranges and it's gonna be crazy to follow. We're gonna talk about it all here. A lot of ways to make coins right now. We'll talk about a lot of those ways too throughout the next week, but I wanted to give you this video just to kinda talk about what we could like to see content-wise, promo-wise, and just with people coming onto the game. This is like the first full week of FIFA, man. The first full week of FIFA, which is freaking dope. I'm excited. I hope you guys are too. If you have any questions, comment them down below. If you enjoyed it, smash the thumbs up and of course, subscribe to the channel if you're new. It's been Nate, The Foot Accountant. Catch you guys later. Peace.