Hi, everyone. Welcome to the talk about Dev Ops for Ansible Lightspeed with IBM Watson Code Assistance. My name is James Wong. I'm with Red Hat. And before the start, I would like to introduce a little bit about myself. That's my Twitter. And I'm fascinated by two things. First of all, things of scale. You know, a system that process huge amount of data or request and with sustained performance and all these factors. That's these things fascinated me. And the second thing is I love automating things.  And from another aspect, it's also about scale. I love to scale up teams. You know, once you get rid of all these tedious, boring, easy to make mistake things, the team can move much faster. Now, so, okay. So that means I need to raise my voice, all right? Okay. Is it better? All right. Cool. So I need to know a little bit about you, too. Because I need, hopefully I could adjust my presentation a little bit according to audience here. How many of you are a software developer? You write applications. Okay. Good. And any automation engineer? All right. Cool. So I see double racing two times. Those people are dead lobster people, I think. Anyone writes Ansible playbooks? Also. Anyone write Terraform, PupPad and things like that, Chef? Yes. Okay. Cool. Any machine learning engineers here? Okay. Any data scientists who train models? All right. Cool. Nice. Okay. So this is Agenda. I'll try to share a little bit what is lightspeed. And then we're going to go through a little bit high-level architecture. And then we're going to talk about the platform that runs the service. And then the pipeline that we built to carry out from PR all the way to production. And then lastly, we're going to talk about lessons learned, some highlights. And then hopefully we have time for Q&A. Make sense? Yeah. Thanks. Disclaimers. We try to focus on the engineering perspectives here and only on the stack that is serving the forthcoming free technical preview. All right. So anything I said about future architecture changes, product updates, feature launches, do not trust me. All right. Here. What is Ansible lightspeed with IBM Watson code assistance? It is two things. One is the Ansible lightspeed. And the other one is IBM Watson code assistance. Combining two, it's an AI service. And we do two things. One is to help users like all our automation engineers to build automation code with consistency and with quality. And then the second thing, not obvious, but actually very important, we try to do content matching. Meaning we try to credit those who contribute all these code to where this model has been trained on. So what I'm going to do is a quick demo to show you the two functions that this Ansible lightspeed is doing. And then what you will need is a VS code and the Ansible plugin. You need a GitHub account and you also need to sign up for closed beta. Anyone of you who have signed up for closed beta? Oh, awesome. So you probably know what I'm doing here now already. All right. Let's go to the demo. And this is a live demo. And I hope that they won't be able to see me. Okay. So that's fine. That's fine. I can stand. So here this is the Ansible plugin.  Enable these two and then also type in the API endpoint here. Then you go here, you're going to see this Ansible icon here. Click on it. You have a connect button. All right. Go through the normal process of going through login. It's a GitHub login. Authorize it.  Now you see here, it shows me as locked in as James. And then you could take a look at here. You could sign up from here if you are done with it or you don't want it to keep it. Once it's done, now you can actually go to do your Ansible lightspeed code recommendation. So I pre-bake a empty or template file here. Now if you check your status bar, you're going to see Ansible is detected, detecting the ammo file. And there is a lightspeed icon here. And you're going to see this icon spinning when it's doing the inferencing. So here, a simple task, let's say, I want to create an AWS S3 bucket called full. Enter it. Sorry, the font. Oh, yeah, sure. Better? Don't ask too much. Okay, here. Okay, see, okay, now it's already up here. You distract me. Sorry. So this is, you see the content right here, right? Now the recommendation comes back. It's up to the user to accept it or not. If you want to accept it, hit the tap keyboard key. And then it's in now here. So the next one, I kind of vary it a little bit. I don't use the code but use name to bar. I want to show you that this is a language model that could interpret, even though you vary the language a little bit. Again, see the spinning lightspeed? Oh, it's very fast. I can't even move my cursor to it. You accept it. And pay attention to the lower window here. This is the content matching output here. It shows you the model recommendation is based on these inputs from the three entries here. Now, if I come to another example here, mount the volume to media shared. And you're going to pay attention here. You're going to be changing after I accept it. Okay, let me tap key. Oh, did I miss that? Sorry. That's one more time. Okay, I accept it. And then you're going to see this be refreshed. So it changed. If you open them up, they're going to give you the URL of these content coming from. The network is a little bit slow, but you get the idea. So, yep, that's the demo for the lightspeed itself. All right. I hope you feel useful. And now you're going to go through the high-level architecture. I will walk you through the two workflows that we have just demoed. The first one is the code recommendations. And from the left-hand side, when the user hands on their VS code, they type the Ansible task description, step zero. You know why it's step zero? Because I forgot to put this step in, and I hate to shift the numbers, so I put the number zero here. It entered the task description. You hit enter. The plugin would send a request to the API endpoint. And this API endpoint, first of all, you would talk to the Reddisk cache. You would talk to the Postgrad database to do some kind of housekeeping work. For example, user validation. For example, rate limiting, because it is going to be a free service. We want to make sure everyone have a fair share of usage of the platform, among other things. After the housekeeping work is done, it will forward the request to a inference service, which is running IBM Watson runtime, serving the models. From there, it will return you the recommendations, and the API would do some more post-processing work. One of it is anonymizing the input and output, and we're going to be collecting them into a data analysis service. We're going to be using those to analyze the input and output, and also potentially use them to further retrain the models for better, better recommendation. And then we return the recommendation back to the VS code that you see showing up there. And then it's up to the user to decide to accept it or not. A little bit more on this API endpoint for the code recommendations. One of the post-processing we do here is running a service called Ansible Risk Insights. Basically, it's a set of rules that we run it against the recommendation, and then because we want to make sure the code are consistent, the code have good quality that Ansible can approve it off. And I think this is something that stands out because we have this huge Ansible community. We have this kind of knowledge of how well an Ansible playbook or task should be written to guarantee a risk level, though, and also a good quality of work here. So now the next workflow is the content matching. Here is, after you get back the recommendation, if you use a hit tab, accepting the results, the VS plug-in would talk to another API endpoint, which is we name it as attributions. It tries to do the content matching, so it will encode the input and outputs and using the encode key to do a hit elastic search that we built, and that will return what you have seen on the screen that they match the content, attributing or trying to credit those who have contributed to these codes. Okay, so that's the two workflow here. So basically you have seen that we have API services, we have model serving behind scene, we have database elastic search, and we have some outside of the body services help us with the event processing analysis. Now coming to the platform. So this is the platform that is running the service down below that is the OpenShift, and it is a managed service running on AWS, we call it Rosa. And then on top of that, we have the Red Hat OpenShift AI. It's the upstream of this project, of this product is the Open Data Hub. Anyone use Open Data Hub? All right, cool. So among other things, the one that we are mainly using in this stack is the ksurf, and it's running the IBM Watson runtime. So because that platform allows us to put in different runtime, whichever that match your usage. And then the other component here is a Red Hat Advanced Cluster Security. The first thing we want to make sure is that we are running on a secured platform. And this service will scan the cluster for vulnerabilities and send us alerts if there are some that's been discovered. And on top of that, we run Ansible Lightspeed there. Why we use these components? Make a good guess, anyone? Why we pick these? Because what? Because Red Hat. Yes, right? Okay, that can be it, but any more, any others. Okay, so it's really depending on your team. So our team is small, and we want to keep the team leading, and we also want to keep the team focused on building the service. So we look for system components that are managed, that are supported. And we believe that we let people who are good at doing their things, let them do that. Let them do it the best way that they could. And we focus on things that we know better. And then the second is that we want to find something that's hybrid cloud ready. Because today we offer it as a cloud service. We own everything, right? But later on, we decided to have an on-prem offering. Some customers may want to run the whole stack in their own data center. So we pick the components, try to fit these two criteria. Make sense? No? Yes? Okay, so now the platform, I want to talk a little bit about the CI CD side of it. So the three major components here, the first one is Ansible. And we mainly use Ansible to do the infrastructure creation. For example, creating the cluster, creating the VPC, the network, the RDS, Redis cache. We use Ansible to provision those. And then the second component is GitHub actions. And that is mainly for the CI, the PR check, testing, unit static analysis, things like that. And the last one, it's a very key component in our whole stack is the Red Hat OpenShift GitOps. The upstream of it is the Argo CD. And we enjoy, we love using this Argo CD. It's one of the components that bridge all these from PR all the way to deployment into the production. So now I would like to talk a little bit on the pipeline. The pipeline would carry out this task from a PR all the way to production. We try to do this thing. We try to shift as much of the testing to the left as possible. So at the PR stage, we would like to do as much full testing as early as possible. So in a PR stage, we would like to have, it's a full stack deployment that is as close to the production as possible. And then we could, and we also want to automate the process to set up this so that at the PR stage, either the developer or the QE engineers, they could already start testing the PR in its full stack integrity. And then by the time when someone clicks say, we're going to merge the PR, we are pretty confident, high confident that once this is merged into the main branch, the main branch will still be very production ready. So that's our goal. Here, this is the pipeline at the beginning of the pipeline, the PR check. So for each of the PR, it will go through the regular normally you would do, unit test, you know, code coverage, static analysis. And then it will build, if it pass, it will build the image and push it to Quay. Once it's done, it will trigger a deployment. And this deployment will deploy to the, a dev cluster. And it will have the whole stack of what I just showed you, the architecture. We have the light speed service, we have Postgres, Redis, and the Watson runtime behind it. And then we can carry out the test. We could do ad hoc testing. You could run your automated test against it. You could use this stack to develop your testing suite as well. And now bring us to the whole pipeline from end to end. The left hand side you see is the PR checks step that we just have talked into a little bit more detail. So once the developers decided, hey, let's merge it, it merged into the main, and it will build a release candidates image and push to Quay. When this is done, it will trigger the deployment to the staging cluster. So this staging cluster is almost a mirror to the production cluster. So once it's deployed, we have two set of tests. One is the post deployment testing. So it's the regular test suite, full stack, hitting it. And then the second one is a performance testing. This testing will be aiming to make sure that what happened changed, won't change the performance portfolio or the nature of the performance of the stack too much or surprisingly. Once these are all passing, then we will deploy to a production environment, the cluster. Again, in the production cluster, we have production testing suite hitting it, and we also would have performance testing hitting it. So some of these are not automated yet. For example, the performance testing at this moment, we're still doing a manual step carrying out, but we are moving, trying to automate as much as possible, moving forward. Now, some of the highlights that we have learned, a few of them. The first one is that to automate or not to automate. The team established at the beginning of this year, and we really have just a few months to productize it. We had a demo during last, I think it was October summit, Red Hat summit, but at that moment it's really just a demo. For the last six months, or less than six months, we tried to productize it. For purists, you want to automate everything. You don't want to, like I said, I love to automate everything. You want to keep everything as code, infrastructure, testing, your process, your deployment, everything in a code. You want to do that. It's lovely. It's great, but purists, they would have to think about something else. They want to make sure that we can make it to the market. Time to market is a pressure. It's a value that a lot of time trumps something ideal system you want to create. You would want to have a MVP, minimum viable product created as soon as possible, and then you want to really get it going out and allow people to start testing it and collecting feedback so that you could adjust and you could pivot. What happened to us is it's really about whether to automate or not. It's about when to do what. We set our priority. The first thing we want to focus on our effort, engineering effort on automating is those daily operations, those frequent operations, because these work could drag down the team, spend their effort, precious effort on doing daily or frequent. These are things like, for example, the testing framework, the PR checks, the deployment mechanisms. These things we want to automate as soon as possible. The second priority in the priority list is focusing on the security. For example, secret management, secret rotation, vulnerability monitoring, all these things are also on the top of the priority list. Don't take me wrong, we didn't do this on the first sprint or second sprint, no. We make progress on every sprint. At the same time, creating features and then we adding all these automations along the sprinting. There are some other tasks we decided to postpone them. For example, automating the infrastructure creation. These things are not being done frequently. For example, creating the open shift cluster, creating, setting up the VPC or RDS. We don't create them, do them every day or every sprint. We decided to use manual step to carry them out at the beginning and we document it. Once we have the document list, for example, you see we have multiple clusters, then we will allow different team members to go through the manual steps to validate that that step works. These documents are useful because when later on you actually want to carry out your automation, that steps, those playbooks, manual playbooks, it's what you're going to be targeting at to automating them. And what we are aiming at is trying to get to the state of a thermal production. We want to come to a state that we want to click button, create a cluster, and deploy all these components and then the servers. And then we can throw away the other cluster if you think that is to, we're already done with it. Or we want to exercise DR, all these things like that. Or we want to carry out a blue-green deployment up to the top of the level of the whole system architecture. Now, the second lesson I would like to talk about is about the machine learning service. So the model testing, it's quite different from regular application development. I have done, I helped teams to move their whole pipeline to continuous deployment. That is when user, when engineer click the merge of the PR, it will all the way go through the staging deployment testing. And if testing all good, it will automatically be deployed to production and serving the end users. I've done that before. But machine learning, it's quite different. The testing of it, it's fuzzy. It's not easy to say black and white. Oh, this testing came back to be positive and that's good. Let's move on to production right away. Because a lot of time, we figure, we found out that a new model version, it can be one step forward for certain aspects of it. And then it could be two step backward for some other aspects. So we have to make a judgment, hey, is this worth to move forward, to move this to production or not? So it's not easy to judge by a test suite. Or at least not now. You put it this way. Maybe it's our lacking of understanding the nature and come up with a solid logic to make a decision on it. So the approach we adopt is we have multiple models simultaneously deployed. And then we use feature flags and we use the deployment model of blue, green, canary to do that. So at the beginning, we have only one Argo CD application that have every component that you have seen on the architecture in one application of Argo CD. But now when we move along the development cycle, we figure this out, we break them up, break it up into multiple applications. So the individual components in its own can be evolved independently and also can be scaled independently. Now also for machine learning service, one thing we learned is that we have to identify the clearly workflows or GPU bound workflow or CPU bound. Once you identify it, you could effectively pin this workload on the corresponding compute node types, GPU node expensive, CPU node is much cheaper and you want to make sure you're running on them effectively. And you also want to learn a little bit more understanding on the runtime, the GPU batch processing and the time slicing, how effective or efficient they are really for you and whether they match the response time profile that you are looking for. And the last one is observability. So it's very important. Some people mistake that observability is when you are running a production environment, you want to monitor it. So it's not just for that. During the development testing cycle, you want to have a good possibility into your system because that helps you identify bottlenecks, that helps you identify the code quality issues. The tools that here list is what we are using. We're using for metrics is the Prometheus, Grafana and Dynatrace. It's coming, we're going to be adopting Dynatrace for that. And for tracing, we use Yeager and we actually just recently enabled Yeager tracing and it's done by an intern. That's pretty cool. And for the logs, we use CloudWatch for now. So this is observability. Now, any questions? Sorry, I can't hear exactly. Do I restrain the models? When end user modify the playbook, do we train a model at this? So as of now, okay, let me make it clear. The model training belongs to the IBM Watson code assistance team. So I don't have entire detail into how they carry out that, but my understanding is that they carry out the training on the Galaxy. So when you are doing it yourself, it wouldn't directly or real time in training on that. But we do collect some of the, like I said, those inputs and batch process it and being trained in the other round of the training trip. Does that make sense to you? Okay, cool. Thanks. Any other questions? How much time we have now? Oh, one more question? Yes. What's the plan for the future? Huh? What's the plan for future? Okay, you asked me to say something you don't want to trust me. So the next step is to open this up. So now it's closed beta, right? You have to sign up. Fourth coming, we're going to have a technology preview. So everyone have with a GitHub ID, you can go in, sign up and try it. And then after that, we would hopefully, we would have a commercial offering that hopefully will pay the bill, right? So, but all these just me talking, right? And like I said, it could potentially, some customers say, I want on-prem, right? I want to train on my own data. Like for example, we have automation hub, which is the private or the private version for corporations, right? Of Galaxy, right? So they want to train the model on their own, you know, dataset, their code playbooks that could be, you know, forthcoming. Does that help you? Okay, yeah. Sorry, just one more. So at this moment, you see that the automation, the recommendation, it's on task level, right? So hopefully we'll come to the point that we could recommend the whole playbooks level and maybe later on, whole modular collection, something like that. Yeah.  That will be awesome, right? But, okay, yes, sorry. So the question is that when we are typing the task description, would more detailed input at that help you, help the recommendation engine to perform better, right? So I think yes, but not necessarily yes, because again, like I said, models is still kind of fuzzy in a way. And when you type the task, we do not just submit a task description, we submit a context as well. So for example, the beginning of the overall, the other task, we would submit them as well. So the model would judge from the context and then give you the recommendation. So that's why you, if you try it, try it, if you have a different context, you might get back different recommendations. Okay. Thanks. Sorry, I think you first. So the question is, is that do we have statistics about how users are satisfied with the recommendation and how do we compare with co-pilots? First of all, I do not have the statistics or I do not have it handy. We do have a gauge of the sentiments, we actually allow you to also send back the survey, not just from the co-completion. We do try to assess that and use that as hopefully as input to the model training team, the data scientists to get them. But I do not have that yet. And versus co-pilot is quite different because we also, like I said, we try to make sure the code is up to the quality and consistency for the sensible best practices. And also we try to attribute to who contributed that, which co-pilot doesn't do, as far as I know. Okay. That's another one. So the question is that comparison to co-pilot, I think I tried that one. And the other one is that enterprise corporations, they have their own roles. So is there any chance to train on them? I believe so. I could tell you that that's one of the directions we are trying to go forward. You will be able to train on your own. But as to details on when, how, that can be done, like I said, do not trust me. And we do want to go that way because you want to customize it, you know, for your own. So all of the time, that's it. Yeah. So yeah, if you have questions, you can Twitter me or you can talk to me afterwards. Initially I have a demo for the PR standing up using our Google CD, but I'm out of time maybe next time. All right. Thank you.


I'd like to correct you there, so in India we do 1 crore weddings annually out of which only 5,000 weddings are actually happening outside. So just about 0.005% weddings that are happening outside. Before I come to the unique elements I'd just like to take a second to thank you know Argus for inviting me here to speak on a topic that's so close to my heart, been in the wedding industry for the last 5 years now. I myself chose a destination wedding and I'm a huge ambassador for you know destination weddings. Anybody who comes to me for advice that's what I tell them, they just go away from your hometown and get married, you'll create the most beautiful experience for your guests.


If human beings do the best work when they're forced into a corner, how do you bring a billion people online? Here's the big question we're asking every day. This is a first of a kind disruption happening globally and it's coming from India. I bucket India into three categories based on access to the internet. You have the top of the pyramid that are fully on board like the west and the east. You have the middle that are sort of getting online but use the internet in a spotty manner every couple of days, every second day, every third day. And then you have the bottom that's completely cut out from the internet. For India to be able to contribute towards the advancements that are coming up, you need a billion people online. To get a billion people online you've got to lower the cost of access and you have to find a way to increase the income of people. I'm a big believer that to harness the true potential of a billion people. Information access has to be free and instant for everybody. How do we get India? As the population comes online and has a direct impact on the GDP. But behind the scenes of access in the internet you have fundamental needs like electricity. Those have to be addressed in this perspective in my opinion. That's what I spend a lot of my time thinking. This advancements happening at a pace that we've not seen before. It's very rapid because it's built on the so-called third industrial revolution, the internet, where information transfer is free and instant. Human beings as a species don't like change. Things like how societies function, how companies function. What does our work look like five years from now? How do we define our work? Where do we derive ourselves worth and identity from? They're all under the spotlight. Us handling this world is going to be key to how much progress we make in the next five, ten years.


application of surface coating on abrasive grain. Now, let us look into the significance of machining with abrasive tool, where we can find one of the most important application of the abrasive grain. In this figure, what we see that on one side we have material removal rate and on the other side it is the precision of manufacturing. Now, in this whole process what is employed that is the cutting tool and this cutting tool is employed here to get a very high material removal rate, but not as high as precision which is provided by grinding. So, this is the characteristics of machining by a cutting tool. On the other hand if we see the situation with grinding we can see the precision is quite high, but the material removal rate is not adequate. So, that is what we see here the machining by a cutting tool and machining by one abrasive tool they have their own domain of application. However, this grinding can be elevated and it can attain the status of abrasive machining if we increase the material removal rate which is comparable with that of which is provided by a cutting tool and then this grinding becomes abrasive machining. However, to achieve this there are at least two minimum requirements to be met. One is the abrasive material must be a high performance super abrasive and there must be a strong bond to hold the grips. Now, if we compare a cutting tool which is used in turning, milling or drilling and one abrasive tool which is used in abrasive machining these abrasive grits these are actually micro point cutting tools and just like we use a tool holder to hold the carbide insert or a HSS bit there must be a tool holder and in this case this bond plays the role of the tool holder. So, it is obvious that this abrasive material which is high performance that should be strongly held in the bond material. Now, here obviously, high performance super abrasive means it must have extraordinary wear resistance, high temperature stability, chemical inertness and adequate toughness and we know already that conventional abrasive aluminum oxide and silicon carbide those cannot be the best candidate for this abrasive machining purpose. So, we have to really look for some kind of grit material which is suitable for this abrasive machining. Now, here we find that this super abrasive grit material can convert this grinding or abrasive machining to super abrasive machining and here what we get accuracy and surface finish of super abrasive grinding plus extremely high material removal rate. So, this is one example of super abrasive machining engaging a super abrasive tool and this is just a steel core on which a one layer of super abrasive grits are anchored or bonded and that works at a very high speed generating huge amount of spark, but at the same time removing large volume of material which is comparable with that of machining, but at the same time it is surface quality which it is going to produce that is as good as that of grinding. Now, what is mean by super abrasive material as we know that conventional abrasive material which are used in traditional grinding those are actually aluminum oxide and silicon carbide. So, aluminum oxide is used for all sort of ferrous material processing whereas, silicon carbide that is used for processing non ferrous material carbide and some of say cast iron base. Now, here we can find that this diamond that is one of the strategic material which can also be used for machining non ferrous material, ceramic then tungsten carbide and so on whereas, if we have our focus on cubic boron nitride then that is earmarked that is fixed for taking those grinding task as grinding of various grits of steel and which are quite hardened. So, these are the two class of materials diamond and CBN they are known as super abrasive which are fit for this super abrasive machining. Here we see various types of diamond and CBN this is one of the natural variety which is a mined one mined diamond this is synthetic manmade which is a single crystal type having a blocky shape very strong and tough these are used for difficult grinding task. Here we have also polycrystalline diamond which are used for grinding delicate material just like tungsten carbide grinding where the material work material is very very sensitive to heat and force associated with grinding. Now, in the CBN family what we feel see that basically we have two types of CBN one is monocrystalline that means, here we have these two are monocrystalline and this is actually the microcrystalline. So, in monocrystalline we can see this is little dark in appearance while you have the amber color that this difference comes from the fact that this has some excess boron that means, excess boron whereas, this is having excess nitrogen, but both are of single monocrystalline type one is blocky very strong, but another has little friability that means, its ability to break down in a very controlled manner. Whereas, this microcrystalline it is extremely tough material it does not have any well defined crystallographic plane and as a result of that we do not expect or there is no risk of any cleavage along a particular direction and it can be used for taking any difficult grinding task. Now comes the bond for super abrasive material as we know that if it is it has to act like a cutting tool then this diamond or sebbian these are the cutting tool. However, the resin bond or the metal bond or even vitreous bond they are actually the tool holder. So, very important issue here is that this material during grinding should have adequate strength it should not crumble or crushed it should not have any plastic deformation have some rigidity and at the same time it should not have any thermal damage or thermal degradation during grinding or super abrasive machining operation. So, depending upon the grinding problem one can have a resin bond or a metal bond or even vitrified bond and if we again look into this various types of diamond or sebbian then there is a correlation between this type of crystal and the type of bond which are best fitted for a particular grinding operation. That means, this synthetic material diamond or sebbian along with the bond material that becomes a integral body to match a particular grinding operation and it depends upon the work material composition its mechanical characteristics and chemical characteristics. Now, what is mean by failure mechanism of super abrasive grinding wheel? It has been well understood that in super abrasive machining or grinding the grit is a high performance material. So, this material has a very long service life it is in contrast to conventional abrasive. So, what is very important in this case that this grit material must be held with the strongest possible grip in the bond material and this grit should not have any premature dislodgement during the course of grinding. So, what is mean by this? That this grit material with the passage of grinding can have natural wear that means, it is the grit wear it can be attrition or micro fracturing, but this grit should not have any premature dislodgement. So, what is important here? The interface between this bond material and the grit material has to be developed with strongest possible adhesion and that becomes the primary or the main challenge in bringing up one of the high performance tool which is supposed to work in super abrasive machining. So, here we see actitious wear, micro fracture, macro fracture of the grit these are all on the grit, but this is exactly grit pullout that means, as a whole the grit is removed from the bond leaving just a socket or a pocket or it looks like a hole. So, this has to be prevented at any cost. Now, failure of the brown material in fact, the grit and the bond they must work like an integral body neither of these two should fell. So, if we consider failure of the bond then we can see at least thermal degradation of the bond which is particularly applicable for resin bond. If the temperature of grinding is too high then this heat load heat flux will be transferred by the grit material to the resin bond and this resin bond may simply burn. Fracture of the bond if the bond is too brittle it can also collapse under the action of high magnitude cutting force. Elding of the bond if its rigidity is not too high it can also undergo some plastic deformation. Then comes the bond erosion now during the process of abrasive machining what is going to happen the chip material which is continuously being produced and flowing it is flowing past the bond material which is similar to the rake surface of a cutting tool and just like crater wire what we see on the face of the cutting tool we can also have very similar to that which will appear as erosion on the bond and if this erosion takes place at a faster rate then there will not be any material support and within a short period of time the grit will lose bond support and there could be also fallout of the grit. So, this is one very important illustration highlighting this failure mode of the wheel by this grit pullout these are this can be a CBN grain or diamond grain which are bonded or anchored to the bond. However, if this bond is not adequate which depends upon the coverage around the grit and also the nature of adhesion what is if it is physical adhesion, mechanical adhesion or even chemical adhesion that will determine how strongly it is held in the bond. So, if we do not have adequate strength adhesive strength then it will end up and it is going to happen within a short spell of grinding and what we can see here that so many number of pockets appear that means, these grits hardly could engage themselves in effective grinding. So, what we can see individually the grits are very strong, durable all sort of stability chemical thermal everything they possess the bond material in its individual capacity it has all physical mechanical characteristics, but their interface is one of the extreme link and that is the weakest zone and that is why there is this large amount of pullout which has taken place. So, here we can find out some solution some ways of ways and means how to prevent this premature fallout of the grit. If we refer to a cutting tool where we put coating to improve its wear resistance or to reduce the friction at the chip tool or work tool interface, but in this case it is not the tool it is the micro tool thousands of micro tools which are very much in place in the grinding wheel and which are actively participating their surface is coated in order that they can have a better attachment with the bond material and exactly for that this surface coating comes in aid of abrasive tool. However, apart from that this coating can also protects the bond material against any thermal damage that means this coating that shield that can act like a heat shield and it is just like an encapsulation around the grit material and it acts like a heat shield or a heat sink protecting the bond material. It can be another quality of this coating that means if during the manufacture of this grinding wheel the bond material comes in close contact with the abrasive during this high temperature processing of sintering or liquid phase bonding there may be a risk that one of the constituent material of the bond may chemically or metallurgically attack the abrasive grit. So, in that case also if a coating is given on the surface of this grit material then a direct contact between the bond material and the grit is prevented and that is why this attack metallurgical or chemical from the bond side towards the grit that is also prevented. Here what we see on diamond grit which are used for making one resin bonded abrasive wheel which is exclusively used for grinding of tungsten carbide which are used on the cutting tool. So, it is one of the very delicate and sensitive operation that means the force or the temperature during grinding should not be allowed to rise I mean above a threshold value which may otherwise cause damage to the work piece. So, this is actually dry grinding this is a polycrystalline diamond which is having a good micro fracturing characteristics always skipping the grit material sharp holding the force and temperature within a control limit. Now, this dry grinding is essential for this grinding of carbide. However, during grinding temperature may rise and this diamond is also sensitive to this temperature there could be some thermal degradation of this diamond. So, in this case this coating of copper which is used as a heat sink which can conducts the heat from the grinding zone and that will be accumulated in this sheet which is a film of copper. Now, this is a grit specifically used for dry grinding of tungsten carbide. Now, this coating of copper on this diamond grit that can be given either by electro deposition that means the galvanic deposition or also by electro less deposition both are possible. Now, comes nickel coated diamond grit. So, these are the nickel coating on diamond grit as we have seen that copper coated diamond grit those are specifically meant for dry grinding this nickel coating is given on the diamond grit it is for wet grinding purpose. So, in this case we can increase the material removal rate or grinding parameters expectedly the temperature or force will rise, but in that case this nickel being a poor conductor of heat that will act like a heat shield and it would not allow this heat flux to move towards the resin bond. Thus the bond is protected against any thermal degradation. So, this nickel grit nickel coated grit here the coating is thickness of the coating or the amount of coating is assessed by the weight percent this coating amount it is almost about 60 to 65 percent by weight of that of a diamond grit. So, this is used for this weight grinding purpose and this is used with resin bond. Now, we come to nickel coated CBN grit. One thing we have already seen that this surface is also rough textured that means, it is not only for protecting the grain against any heat flux or protecting the resin bond against any thermal damage, but more importantly is how to hold this grit within this resin, because the resin and the diamond there is no chemical attachment as a result of that there is every chance of fallout. So, it is intentionally a rough texture is developed on this diamond surface by this particular coating process. So, when we see this is actually a CBN grit this one too it is coated with nickel and here we can see the cross section of this nickel these two pictures that show the thickness of this nickel this is the core area that means, the original grit here it is a smooth coating and that is a rough textured coating and this grains grits goes with a resin bond. So, here mechanical anchorage is anchorage is more important and we can have a careful look that we can see the spikes and this spikes actually act like good mechanical anchor and this resin bond have a firm grip on this surface and as a result we expect longer life of this grain within the bond and there is hardly any premature dislodgement of the grain. So, if we see the performance of this nickel coated CBN grease in resin bond what we can see here this black bar diagram that shows that this is the grit retained and that is the fallout. So, here we can see this fallout number is quite large quite substantial, but when we put this coating then we can see that retention is much better and fallout has also come down and this difference is because of this roughness value which is a relatively smooth coating and which is a coating with this out grown nickel which are acting like spike and serving like an anchor in the bonding process. So, one can immediately realize the very significance of this grain coating in reducing the premature fallout of the grit. Now comes titanium coating on super abrasive grit so, this titanium coating is given by vacuum evaporation ion plating or by spattering. Now so, these are all PVD processes for titanium a CVD within a range of 1100 is just not possible because of the chemical stability of titanium tetrachloride which does not allow one to reduce titanium and here these processes are well matched with this grain coating. So, this coated surface we can have a look here these are the titanium coating about 1 micron thick on CBN and these are the very strong CBN grit which is having a blocky shape it is a monocrystalline in its structure this is the surface morphology of that coating. Now, this coated grit can be used either in a metal bond or in a vitreous bond. Now in metal bond since it is ceramic and metal there is a chemical mismatch so, this metal bond ordinarily cannot have any chemical attachment conventionally it cannot have. However, if we provide a coating of titanium in that case this titanium can have a chemical attachment with this CBN because of the reactivity of titanium and at the same time this outer surface of the titanium can go well with the conventional metal bond and there we can have a good bonding. So, it will be something like this. So, this is the CBN grain and on that we have a titanium coating. So, this is one interface and it will be embedded in a metal matrix and this metal matrix normally is inert towards this highly chemically stable CBN. So, inside you have CBN this is titanium coating and here you have the metal matrix. So, titanium is making a chemical attachment here and then outer surface of the titanium is also making a metallurgical attachment with the metal matrix. So, this way we can have a very strong bond, but this CBN with this titanium coating can also be used in vitreous bond. Say this is for example, a CBN grit over which we can put a titanium coating, this coating is essential it is just not for enhancing the bond between the vitreous bonding agent and the grit no that is not the requirement. Here just outside what we have this is CBN this is titanium coating and here we have vitreous bond. So, this vitreous bond contains many alkaline element and compound which during this high processing temperature that means, high firing temperature this vitrified bond may chemically attack CBN this alkaline material can attack boron. So, to prevent that a coating of titanium is well suited and this titanium the outer side of this titanium during this firing can become titanium oxide and this titanium oxide can fit well with this vitreous bond chemically. So, this way this CBN grain can be also protected against any possible attack by this vitrified bond at a high firing temperature. We can also have titanium coated diamond grit. So, in this case what we see a diamond grit of course, these are the strongest grit what we have seen this is the blocky very strong and these are mean for very challenging grinding task using diamond. So, here this is diamond. So, outside surface is coated with titanium a coating of titanium and just it is embedded in a metal matrix and this metal matrix ordinarily cannot have a chemical attachment as is the case what we have seen with CBN. So, this is the metal matrix this is titanium film diamond. So, here we have chemical attachment because this is carbon and titanium we expect here to form TIC and in case of CBN what we have seen here we expect to have TIN and Ti B2. So, this chemical attachment chemical bridge formation is quite possible because of this thermodynamic property these are more stable than this one this TIC is also more stable than carbon. So, this part is well accepted, but what we can see further to this the outer surface of titanium can have good bonding with this conventional metal matrix and we get a very good bond. However, it is also observed that in certain case this metal matrix which may contain cobalt, nickel particularly this material during this high temperature processing can also attack diamond. So, in that case if we have a coating of nickel that attack chances are remote and that titanium coating actually is protecting diamond. Now, in this connection it can be said further that if this is the diamond coating then we have a primary this is the diamond grit diamond grit we have a primary coating of titanium which has a chemical bond with diamond. However, it is seen that this titanium is actually prone to oxidation. So, if we have a titanium oxide on the outer surface then this oxide may not facilitate bond formation with conventional metal binder. So, this surface is chemically attached. However, the whole idea is that here we have titanium carbide formation, but on this side it should be a metallic titanium and on this metallic titanium conventional metal alloys can have chemical or metallurgical bonding. But if this titanium is exposed to atmosphere there can be titanium oxide. Now, to prevent that what is done it is also a routine practice a practice to put a secondary coating of nickel a secondary coating of nickel. So, we have two coating here the interface between this is nickel coating. So, this is the interface between titanium coating and nickel outer surface is nickel. So, titanium is totally protected I mean covered it is shielded by nickel and this nickel is not so easily oxidized. So, conventional metal which are not very reactive that can have very easy bond formation over this outer surface of diamond which is now a just a coating of nickel. So, this way diamond grids which are used in metal bond which were the grinding task or the abrasive machining task is one of the difficult one. So, in that case we expect to have the strongest possible bond formation between the binding agent and diamond. So, here we can see that immediate benefit out of that we can see here that this is a diamond grit which was used in some sawing. So, it is a diamond saw and where titanium coated grids were used and this was without this coating. So, what we can see cumulative radial wear that means, fallout of the material when it is without coating you have large fallout, but when it is with coating then fallout is less or in say I mean sizably less. So, the coating of titanium and a subsequent coating of nickel as and when necessary that is found to be much more beneficial in retaining the diamond grit and then this tools can work for a longer life and they do not suffer from premature fallout of this grit material. TIC coating on diamond grit where the diamond grids are embedded in vitreous bond. Now, we know that TIC coating deposition by CVD that is one of the most interesting process in the CVD technology. So, it is TICL 4 CH 4 that can easily give TIC plus 4 HCL. So, this is the TIC which can be deposited on a cutting tool, but in this case it is deposited on this diamond surface and in this case obviously, first of all TICL 4 and the carbon from diamond that will participate to get a TIC sharing carbon from the core area and followed by the actual deposition by overlay process. However, this TIC is found TIC coating on this diamond surface is found to be quite useful and a CVD technology very easily it can be practiced and it can be used to have a better uniformity of the coating over the diamond surface. Of course, in this case what is necessary it is just not a conventional reactor, but it should be a fluidized bed reactor. So, that in the vertical tube reactor there will be a suspension of the grit material. So, all the reacting gases should be fed. So, it is almost like a vertical reactor and the reacting gases will be fed from the bottom. So, here the grits will be in like it will be like a suspended particle and on this grit surface this reaction will take place. So, this CVD technology can be used for TIC coating on diamond. So, here we can see immediate benefit that this one with this TIC coating and this is without TIC coating and this diamond was used for grinding of silicon nitride a material like silicon nitride and what is very very interesting observation that just by virtue of this TIC coating the performance of this grit material is augmented significantly and here this is the amount of wear without on a uncoated grit material this is the amount of wear. So, the benefit of this TIC coating which can be obtained just by using the well established CVD technology for TIC with little modification in the reactor having a fluidized bed. So, this TIC deposition on diamond grit is possible and the benefit is immediately recognized. Now, this is another very interesting example of TIC coating application on CBN grain normally what happens CBN is extremely stable this CBN particle and if we put a diamond particle. So, this is CBN and this is diamond and what is our observation that if we have a material nickel chromium base material and if this material comes in contact with this bond with this CBN or diamond then this material can have very good adhesion with this diamond it is because of the presence of chromium which makes chromium carbide and then we have a very good bond formation. Now, this diamond that means, this carbon and chromium that can lead to chromium carbide formation. So, free energy data actually indicates that. So, when this material becomes a liquid then chromium segregates towards the surface and we can have a very good bonding and wetting, but this is just not possible with CBN when we have this chromium with CBN that means, boron and nitrogen and chromium which is actually the strategic material, but thermodynamic properties they do not suggest that chromium boride or chromium nitride are evident and they will form that means, this is more stable than this two whereas, this is more stable than carbon or diamond. So, what is done here to make it wettable what has been done an attempt was made it was a success made with success. So, in this case this TIC was deposited using the well established CVD technology and this is the coating on this CBN grain and this CBN grain that is actually a monocrystalline very strong grain it is seen that this intersection of these two crystallographic planes on this side these are well covered the edge is also very sharp edge they are also we have very good coverage of the coating in the XRD diagram along with CBN we can also recognize the peak of TIC. So, it is a titanium carbide coating phase that is that can be recognized here and when this grit was polished and it was probed with a micro probe analyzer and when this image of titanium was taken it shows that entire periphery this area this area. So, this is actually a poly section and here we can see coating because of this some flaws and the voids on the surface. So, even this voids micro voids which are well covered by this CVD. So, this part could not be polished remain unaffected. So, what we can see here that the whole periphery is covered with this coating of titanium carbide and this titanium carbide really helps in improving the weightability as we have mentioned that when we put this CBN grain on a substrate and in here we have this liquid this metal nickel chromium base alloy which was melted and after melting when it is uncoated it did not wet the surface. So, what actually happened that after this melting if these are the CBN grain after melting. So, this is a substrate on which these grits are resting. So, after melting we have a non-wetting profile of this nickel chromium alloy. So, that means, it did not wet CBN CBN means uncoated CBN, but when it is coated with this TIC. So, now we have a TIC these are the grains these are the grains of CBN and here we have a coating of TIC and these are again resting and here we have this binder alloy which will be melted at around 1000 degree or 1050. So, in that case what we find that this material really have a weightability. So, this is getting weighted and this is clearly evident in this picture. So, this is actually pulled by this coated surface that means, this TIC coating virtually pulling this alloy thereby decreasing the interfacial surface tension. So, this is also one interesting study showing that this TIC coating which is conventionally we use to provide a hard coating on a cutting tool or on the surface of the ball of a ball bearing that can be well used for increasing the weightability of a metal which is otherwise is inert and non-wettable towards CBN just by putting this TIC coating this alloy this liquid becomes weightable. Also in case of diamond what we have seen that the vitreous bond which was otherwise not had that adhesion and as a result of that huge amount of fallout took place just by applying a TIC coating we can improve its adhesion with that vitreous bond. So, this TIC coated so, this is further we can see that when that tool was when that tool was used for this grinding action the holding was so, strong that grit might have attained some fracture, but there was no fallout from this surface of this substrate. Chromium coating by CVD that is a routine thing chromium coating is used for to mainly to graduate the property of steel to receive a coating of TIC or TIN, but here we can see that this CVD coating of chromium can be also attempted on CBN and diamond. However, what has been seen that what has been seen that in this case this chromium coating it was not the result was not that successful in that this coating was not appear like a continuous one we have some island of this coating which appears to be a non-wetable and here also the bonding is also very poor with the metal matrix that means, this coating. So, this coating of chromium on CBN that could not be effectively given the reason may be that this CBN is not a very good receptor surface one reason could be that chemical stability of boron nitride is quite high and chromium carbide and chromium nitride this material could not be formed so easily to initiate the process of nucleation and growth of coating. However, when this was put on diamond the result was totally different and here even at 900 we could get a continuous coating which is in contrast with what we can see here and this one with 1000 we could have a crack because of the differential thermal expansion. So, if it is handled with little delicacy then we can have a good coating of chromium over this diamond surface and then this grains are extremely wetable very good wetting can be achieved with a nickel base alloy which is otherwise inert towards diamond surface. So, this chromium coating can be also used for this purpose. Coating of tungsten and molybdenum on abrasive grain can on by CVD can be also applied and here of course, one thing should be taken into consideration that the reactivity of this tungsten and molybdenum towards the CBN or diamond because unless this reactivity exist or a compound is formed then this coating process cannot be facilitated by the CVD operation. So, in this case what we see that molybdenum and tungsten these are the material in the group 6B whereas, titanium is a material transitional element in group 4. Obviously, stability of nitride or boride of titanium would be much higher than that of tungsten and molybdenum. However, most interesting thing with tungsten and molybdenum so far as diamond is concerned is that they are matching thermal coefficient of expansion. So, if tungsten carbide and molybdenum carbide forms during CVD as a result of interaction between the substrate and the coating then this molybdenum and tungsten can be very good candidate for converting or modifying this surface substrate surface. Coating of diamond on CBN grain can be also given in this case what is going to be achieved that diamond has good weightability towards many metal where CBN has shown its inertness. So, a coating of diamond on CBN can be a good way of enhancing the weightability of CBN surface. So, with that we come to the summary. Coating on super abrasive grit plays an important role in improving performance of the abrasive tool. Coating is used for protecting the bond material from thermal degradation during machining. It can also protect the grit material from any possible attack by the bond material at high processing temperature. The most important task performed by the coating is to improve adhesion between the bond and the grit material. In order that there is no premature dislodgement of the grit from the bond, the coating can be deposited by electro or electro less deposition process. The CVD and PVD are also prospective candidates for such deposition process.


I'm Nancy and if you watched my other video you should be ready to drum from home. First of all I want to teach you how to play the basic backbeat. It's one and two and three and four and so it sounds like one and so be one and


A majority of companies are now using AI. It's not an exaggeration to say that every team in your organization stands to benefit from AI. Whether it's HR, sales, or marketing, Product School has AI-powered solutions for you. For every $1 a company invests in AI, it sees over 3.5x in return. Teams using AI are happier, measurably more productive, and more efficient. Product School trains teams from every part of your organization. Integrate with AI and accelerate your revenue growth. Schedule a call to learn more.


Hey, I'm Anfa. In this video, I want to give you a quick start into Ardor 6, which is an open source digital audio workstation working on Linux, Mac and Windows. I assume that you have already installed Ardor and will go through the first run and some initial configuration and the process of adding tracks, recording audio and MIDI, editing data and exporting. So by the end of this video, we should be able to complete a simple project. And hopefully that will let you evaluate if you want to learn Ardor more or not. Let's get started. Alrighty, so I will run Ardor. And this is what you will see when you run Ardor for the first time. By default, it's going to give you a little initial configuration wizard. We can choose the default place for our projects. I'm going to go with defaults. Now with monitoring, if you have an external audio interface like I do, you might want to choose for Ardor to not monitor your inputs. Now this is a bit dangerous if you're recording on a laptop and you start Ardor when it is set to monitor the input via software playthrough. What might happen is that your laptop might record from its microphones and playback from its speakers creating a feedback loop. So it is safer to use this option instead. However, I am using headphones and I have my speakers turned off, so I am sure there is not going to be any feedback. So let's use the default. Now there is an additional monitoring section that is very useful for mixing and mastering, but we're not going to use that because it's advanced stuff. And now it's going to ask us what we want to call our first project. So I'm going to call this Ardor 6, quick start. Now we need to configure our audio and MIDI input-output devices. So default option is ALSA, which is Advanced Linux Sound Architecture Driver. And you can see I have a few audio devices. This is my audio interface. But I am running a Jack Audio Connection Kit audio server, so I'm going to choose that and just say Connect to Jack. Now it will scan my system for audio and MIDI plugins that it can use. And once that is done, this is the screen you will be greeted with. It's a new empty Ardor session. So the first thing is we're going to add the track. You can do this by a few different ways. You can go to track, add a track bar or VCA. Let's add a monophonic audio track. Here it is. Now if you want to record, I just press record. And you can see there is input from the microphone already registered. Now something I enable every time I install Ardor is View, Show Editor Mixer, which shows you a mixer strip for the currently selected track or bus. Also, you can see my keep strokes and mouse presses in this widget right there. So you can see that by default it has assigned the first system input, which is my microphone input, this microphone. There is another one because the interface I have is stereo, which is a different microphone. It's that one. Now for the sake of recording, I need to alter the signal routing from the master bus. By default it goes to the system output stereo, 1 plus 2. Now if I go to Routing Grid, on your side it should look quite more simple, but I am running quite a few things in the background to record this video. So now I have assigned the output from the master bus not only to the hardware playback, so I can hear it in my headphones, but also to my recording setup. So now if I enable monitoring, you can hear what Ardor hears. Okay, so let's record some audio, shall we? Next you need to arm the track you want to record on for recording, and then I will press Shift and Spacebar to arm the whole session and start the transport. Okay, that's some basic audio we have that we can work with. Now another thing you might want to do is import audio files from outside of your Ardor project. And you can do that by either dragging and dropping a download file onto a track or onto the empty space, or you can use Session Import and you have this nice import dialog. Now I can choose an audio file and it's going to give me a few options. Mapping is how it's going to treat the individual audio channels. By default it goes to one track per file, which means if we are having a stereo file like this one, you can see this file has two channels, it's going to create a stereo track for us and we are adding files as new tracks. Let's click that and we have our background music. Let's maybe make it a bit quieter and I'm going to play the back. All right, now let's perform some basic audio editing. Let's say I want to record a podcast and this is my jingle, this is my background music, and I also need another track. You can add a new track by right clicking in this empty space and I'm called this Voice. You'll notice that the second audio track I've added has the second audio input assigned by default, so I'm going to change this to the first one because that's the main microphone I want to use. If you add multiple audio tracks at once, Ardor will cycle through all the system inputs. So if you have a 16 channel audio interface and you add 16 tracks, Ardor will assign each track a different audio input so we can very quickly record all 16 inputs without having to manually assign them. All right, let me record some speaking. Welcome to the Test Ardor Podcast, the source of Ardor information. So in this first episode we're going to learn how to create a new session at tracks, edit and record and all that good stuff up to exporting a first audio project. So bear with me now. Let's begin. Okay, so this is the podcast we're going to record in this session. I'm going to rename this first track as a jingle.  Welcome to the Test Ardor Podcast. The first problem is that the audio overlaps right here, so we need to perform some basic editing. For that we have a bunch of tools. They are here on the toolbar. The basic tool is the grab mode or the grab tool. With it you can select different audio or media regions and move them around. You can drag them to change their position on the timeline and now you can see we have a situation where here we're still overlapping but this is a continuous region so we need to split it. And for that you can use either the cut mode to create a cut and then go back to the grab mode and you can now move the region or we can press ctrl z to undo that operation and while being in the grab mode you can simply hover over what you want to cut and press s for split. It's a shortcut here. Split or separate in edit and this is very fast because you can just hover your mouse over a part a bunch of places and make a bunch of cuts very quickly. Now to delete a region you can press delete after selecting it or you can press shift and right click with your mouse which is very fast because you don't have to reach out through the delete key which is quite further out on the keyboard. Now we have removed some unwanted parts of a recording. You can also hover over an edge of a region and drag it in. Now audio and editing in order is completely non-destructive so you can always go back and reveal what was there before. Unless you explicitly bounce the tracks and bake in your edits all the audio material is stored on the disk and not altered and the editing is simply telling order which parts of the recordings to use and where. Now I'm going to move these regions further forward so they don't overlap with this jingle I have and let's listen and see how that works. Welcome to the Test Ardor podcast. Your source of Ardor information. Okay we have a bunch of unwanted noise right here so we can hover our mouse over the edge and simply drag in. Another very useful thing we can do is add cross fades or fade in's and fade out's. You can see we have these rectangles in the corners appearing when we hover our mouse over a region. If I use the top one I can drag in to create a fade in. Let's listen cast. Okay that's a bit let's try it again I'm going to make it more noticeable by making the fade in longer. You can hear that our region is starting quiet and getting increasingly louder as we progress. This is very common and very useful because we can create soft transitions between different parts of our recording. I'm going to make the same thing at the end. Your source of Ardor information and I would like to start the background music here. Now let it play for a second or two and then we're gonna start with the actual program but what we need to do is make the music go quieter after a while. We can do this in many many different ways. What I'm going to show you is using gain automation on regions. Let's make this larger. Now I'm going to go to the internal edit mode and you can see all the regions have this little green line with two squares at the sides. This is the region gain automation. To edit it double click on the line to insert a new point then click and drag to move it. Also you can right click and type in a specific value. We can click somewhere to create a new point. So I'm going to create an automation that will reduce the volume to negative 11 or 12 decibels. Now with control and mouse wheel we can zoom out and you see the point at the end is still at zero decibels. I'm going to move it down also and let's zoom in. Let's listen. Your source of ardor information. So in this first episode we're gonna learn how to create a new session. Okay that's almost there but not quite entirely. I'm going to hover my mouse over this part of the gain automation. I'm going to move it down. You can see that it's selected both start and end point of this particular section. So this is a nice way to edit the volume of an entire part. So in this first episode we're gonna learn how to create a new session. Add tracks, edit and record and all that good stuff up to exporting a first audio project. So bear with me now. Let's begin. And now of course you would like the music to go up for a while. So we can do this by double clicking here and here and at a certain point we would like to our volume to go back down. So I'm going to grab this part and move it up to zero decibels. We can also right click on one of these points and select edit and here we can explicitly type a number value for these points. Oh looks like it works only for one of them. I need to do the same for the second one too. Bear with me now. Let's begin. So that's basic tools you would need to create a simple podcast show. Now we need to add some audio effects to that and to do this I'm going to use this jingle. Let's add some reverb. So I'm going to you see we have this little processor box and we can right click in it to open this context menu and there is new plugin plugin manager. So we are going to insert an audio effect. Now there are a bunch of plugins here that I have installed from different sources but let's see if we can find the built-in Ardo plugins. They start with a dash and there is a dash reverb created by the Ardo team. Let's insert it and now we can listen to our track. You can hear we have reverb but it's all very narrow in the center of the image because you see we have two that the plugin processes a stereo signal but this track is mono so it just feeds one signal one channel and feeds out another channel. We can fix this by clicking on the name to open up a context menu with settings of the track and disable strict IO. What that means is the number of channels processed in the track will be adapted depending on what plugins you have here and now our reverb is splitting the signal into stereo so it should be nice and wide. Perfect! Okay another thing we would like to do is make the voice a bit louder. So let's select the voice track right click here, new plugin, plugin manager and I'm going to find a dash compressor. There are two variants of that plugin a mono variant and a stereo variant because our voice track is mono we're going to use the mono one so let's double click and click insert plugins. Now you see I have by mistake added it after the fader so I'm going to click and drag up to insert this plugin before the fader. The fader is what happens here which is our modification of the volume. I'm going to shift alt click to reset it to zero so with this a compressor if I double click it to open the user interface we can make the voice louder. I'm going to enable auto return so that when I play back your source of ardor information your source of ardor. And I stop playback your source. The playhead which is the red line will automatically jump back to the starting place which is going to allow me to repeatedly listen to the same part of my session without manually rewinding the playhead and also losing focus of my plugin window. So first thing we can do is lower the threshold your source of ardor information to make sure that our compressor actually reduces volume. Your source of ardor information. And now I can use the makeup gain to make everything louder. Your source of ardor information. So in this first episode we're going to learn how to. Nice there are a few things we could fix but this is a quick start guide not a comprehensive tutorial. I don't want to make this too long. Okay now let's add a MIDI track. I have right clicked here and let's choose a MIDI track. With MIDI tracks you can use virtual instruments to create electronic music or orchestral music if you use sampled instruments and do all various kinds of things. So let's use the general MIDI synthesizer. You can see there's quite a few different plugins I have installed. You can use the general MIDI synthesizer and call this piano. Let's add this track and close the dialogue and here we have piano. Now let's record some MIDI. If I press record and use my keyboard nothing happens and that is because we need to configure the MIDI input. I'm clicking on this input button here and you can see we have MIDI through and MPK mini.  Now if I press any key you can hear we have a piano sound. Nice it would be good if we had a reverb effect so we can just go to our jingle and copy this one. Let's right click on this effect and use copy. Now I'm going to go back to my piano track which is badly named I know piano yes and I'm going to right click here and paste it. Now our piano should have a nice reverb. Great we can try and record some MIDI now. I'm going to also make this piano track a bit quieter because it's quite loud. Let's rewind our playhead to the beginning. I'm going to arm this track for recording and now I'm going to press the record button here and press play on the transport. An alternative way is just by arming a track and pressing shift and space which will both arm the whole session for recording and start the transport. So let's do that. I'm holding shift as you can see here and now I will press spacebar. Welcome to the Test Ardor podcast. Your source of Ardor information.  That's no problem we can fix that. Now let's solo our piano track with this S button so we can listen to it alone. It's a very simple jingle but it will work however I need to record my saxophone performance. So I'm going to select my jingle track arm it for recording. You can see that the audio is being fed into it. Now you can also see that this is using the second audio input which is not what I want. I want the first one which is this microphone and also I will disarm the piano track for recording because we don't need it. Now I want to arm the whole session for recording press play and try to perform a new line. But first I'm going to listen so now I'm going to arm the whole session for recording press play and try to perform a better part. Okay you see I've done that but we've having the piano track in solo so that the voice and the old recording would not distract me. If I un-solo it now we can hear Ardor monitoring my saxophone playback. Let's rename this track to sax and now I'm going to move this piano track up. You can do it by pressing the control key and app arrow on the keyboard. This helps us rearrange the tracks. Now we want to actually want to have the voice track at the top because it's the most important one. You can also use the track move selected tracks up option in the menu. Alrighty now let's listen to the whole thing. Welcome to the Test Ardor podcast. Your source of Ardor information. Well it's not perfect but it will do. Let's press G on the keyboard to go to the grab a mode so I can remove this little bad start and you can see that our old take is still there. We don't really need it so I'm going to delete it. I'm also going to truncate this end. All right and now it's just time to fade out the music. Let's go and select this track. Let's press the E key on the keyboard to enter the internal edit mode and we can see that we're fading out about here. So I'm now going to click on this ruler to place my playhead right here and I'm going to press the enter key on the numeric keypad which is in going to insert a marker. This marker is going to help me orient myself in the session. Now I'm going to go back to the grab mode by pressing the G key again. You can see we're back to the grab mode now. I'm going to hover my mouse over the music track and press S to split the regions. And now I want to mute this not delete but mute this region so let's go to the region menu and choose gain mute. Now we can see it's gray it's not playing. I can also add a fade out by just dragging this box into the region itself. Let's listen to the fade out. Oh I mistakenly enabled the click so that's a nice fade out. Now we want to export our project and to do that I'm going to control and mouse wheel to zoom out and I'm going to move this end marker right at the end of my music. And here is the start marker. Now the start and end markers are important because they mark the default range of our timeline we want to export to an audio file. Also when you press home on your keyboard Ardor will jump to the start marker if you press end it will jump to the end marker. This is very useful if you want to go to start your project. Just press home on the keyboard and you're at the start marker. Press end and you're on the end. Let's listen to the start of our project. Welcome to the Test Ardor podcast. Perfect. Now let's use the master bus and see what are the actual audio levels. Welcome to the Test Ardor podcast. Your source of Ardor information. We're way below the yellow area. It's a good idea to be around the zero with the usual content and have peaks going even into the red maybe or yellow. So we are a bit quiet and we can fix this by adding a limiter. So let's right click go to plug-in manager and I'm going to type in limiter. Oh limiter. There's multiple different limiter you might use. It's a good choice. It's a fast look ahead limiter. It's a very simple but effective limiter. We can simply add input gain let's say eight decibels. Let's listen it's going to be loud so make sure you're able to turn down the volume right now. Three, two, one. In this first episode we're going to learn how to create a new session. Add tracks, edit and record. Nice. We can limit the output volume to negative one so we are safe from any clipping and lower the release time to say 0.1 second and that should ensure our project is a bit louder. And that's a very crude way of mastering you might say. Okay let's explore our project. I'm going to go to session, export, export to audio files. And here we need to choose the export format.  We can use MP3 with extreme quality. We can use AUG Vorbis. We can use broadcast wave or flag. So let's choose AUG Vorbis and you can see it has normalized peak enabled. You can edit this preset here and you have a bunch of options. It will normalize the peak to 0 decibels full-scale which is going to ensure our file is nice and loud which is good. And here we can also change the quality. Let's go with high. I'm going to save this preset and now let's go to the time span. You here see we have one range in our session and it's the session range and it's selected to export. Channels, we have the master bus exported as channel left and right or one and two. Let's go to the file format and here we have the export directory. This is where the file is going to be created and the name of our file. We can choose the name of the session or the name of a snapshot. Let's leave it out for now. I'm going to use the session name. We can use the time span name which is this thing here so session. We can also add the date and I like to do that. And finally we can check analyze exported audio which is very useful. Let's hit export and see what we get. All right, you can see that order has normalized our track and added another 5.3 decibels of gain to make it louder and that gives us integrated loudness of negative 17lufs which is pretty okay. For context, YouTube's reference level is around negative 14lufs and that's the level I master my music for. And this is our final export. You can see the waveform and the spectrogram of our entire export. Now we can go click and open the folder and you can see here is our exported file. Now we can open it with an audio player to verify if the file is actually there and if it's placed there. Welcome to the Test Ardor podcast. Your source of Ardor information. So in this first episode we're going to learn how to create and this is how you create a basic Ardor project. Start to finish. I hope you've enjoyed this video and found it useful. Thank you for watching. If you have any questions please leave them in the comments. I have quite a few other videos about Ardor but usually they are a bit more advanced. So I thought I should go back and make something very basic to help the new users get started with it. Also big thanks to all the people who support my work financially. If you the reviewer would like to join them please go to patreon.com slash anfa or liberapay.com slash anfa where you can give me a buck or two every month. And with that being said you can also download this Ardor project in the video description. The link is down below. Now go and make some recordings.


functionally assembled Terrestrial Ecosystem Simulator, FATES. Before diving into this slide deck, we recommend you to have a look at the following. What is FATES? How can I use FATES? Have an understanding of what FATES is and how it works. Land surface models have significantly evolved through time. For instance, representations of numerous processes that are known to impact the dynamics of systems have been incrementally added to land surface models. They have been expanded from their initial simple biophysical configurations. This includes representations of soil moisture dynamics, stomatal functioning, land surface heterogeneity and surface hydrological processes, and plant and soil carbon cycling, dynamic vegetation distributions, fire, urban environments, land cover and management, nitrogen cycling and crops, and latterly plant demographic processes, phosphorus cycling, and plant hydraulics. The global carbon budget averaged over the last half century is shown on this figure. For this time period, 82% of the total emissions were caused by fossil CO2 emissions and 18% by land use change. The total emissions were partitioned among the atmosphere, 45% ocean, 24% and land, 29% with an unattributed budget imbalance, who percent all components except land use change emissions have significantly grown since 1959. The processes that govern carbon cycle feedbacks are highly affected by both biophysical feedbacks in the earth system and by land use decisions that are in turn affected by climate impacts on human societies. Surface processes play a key role in extreme events, such as heat waves, fires, crop failures, floods, droughts. Climate change impacts such as drought and fire are mediated by plant biophysical responses to elevated CO2, which are themselves impacted by limitations imposed by nutrient limitations on growth. Developing land surface models by adding complexity in already complex codes is not manageable anymore. To face this perpetual increase in complexity, the community needs to better organize code developments. One major issue is that there are few land surface models code developers and land surface modeling teams are typically not large enough to be able to tackle all of the interacting processes in a modern land surface model. A wider collaborative approach is required. So to summarize, we have three major problems to solve. First, the perpetual increase in complexity. Second, the subcritical development efforts. Third, the oversimplified representation of ecosystems. On this slide, we show three different ways to represent ecological processes in land surface models. On the left, we have the big leaf model which is the kind of default land surface model used in climate models. Big leaf models are oversimplified and the different types of vegetation do not compete with each other for light or resources. The forestry community has been typically using a complete opposite approach with stochastic individual models where you model individual trees with specific location and space.  These models are great but very expensive. So the cohort model is a compromise between the two approaches. To develop these kind of models and achieve our final goal which is to improve climate models and better assess the impact of climate changes on our societies, we need to find a way to manage the complexity of the codes by using a modular approach, make all our development open source and available to all the community to make compromise and balance ecological realism. FATES stands for the Functionally Assembled Terrestrial Ecosystem Simulator. It is fully open source. It is available on GitHub. It is designed to operate with a host land surface model. FATES simulates plant physiology, competitive processes, ecosystem assembly and vegetation distribution. With FATES, trees have a height and compete for light. The following advances are enabled with a demographic model, a better representation of light competition and ecosystem assembly, the prediction of the distribution of plants based on their functional traits, the lags between climate and vegetation change and growth after disturbances, the better representation of physiological processes such as hydraulics, fire and nutrients. On this slide, we show how the code developments are taking place. The approach is modular and each component can be developed separately. This approach significantly speed up developments. Thanks to this modular approach, new groups joined our community and contribute to develop new modules. Many new developments have been added to FATES and we see an increasing number of developers contributing to the code. There are about 39 funded researchers working on the FATES code. These developers are spread in about six different countries and more than 26 different institutions. We had more than 130 participants at the recent planning meeting in 2020. About three Earth Systemo modeling centers are using FATES and more than 11 proposal funded in 2020 for further developing FATES. The code is fully modular and easy to update. To help code developers, a number of reduced complexity modes were made available. However, we know that more needs to be done for simplifying the usage of FATES and reduce the learning curve. Running FATES remains technically challenging. The scripting environment is complicated. Porting the model to new platforms can be incredibly hard. Running at single sites or regions is more cumbersome than running the code globally and workflows are complicated to put in place. Interesting science is at the interface of the input parameters, model processes and emergent outcomes. We know it takes a very long time for a new researcher to run successfully a simple FATES test simulation. In general it takes several months and it is very frustrating. However, once researchers manage to run FATES, they usually can contribute and improve the model. FATES in Galaxy aims at reducing the learning curve and help researchers to quickly produce scientific results. There are two ways to run SLAM FATES in Galaxy and we suggest new users to start with the FATES Galaxy tool. For more advanced users and if you are willing to develop the FATES model, use the Galaxy Climate Jupiter Lab where you can develop new features, set up simple test simulations and visualize your results. The Galaxy FATES tool can then be used to run operational and long simulations. FATES is a numerical terrestrial ecosystem model used in climate models. Thank you for watching.