In the human immune system, specialized cells called fagocytes identify bacteria and then capture these infectious pathogens within compartments called fagosomes. Inside these compartments, toxic reactive oxygen species, or ROS, destroy the bacterial cells. However, how fagocytes generate ROS at the right place and time to kill bacteria but not host cells is still unclear. A new study has helped clarify this process by identifying the enzymes MST1 and MST2 as vital regulators of immune system function, helping the body defend against bacterial infection. Fagocytes detect bacteria using toll-like receptors or TLRs, which recognize molecular patterns that are unique to invading pathogens. Once confined within fagosomes, the bacteria are killed by fagocytes using ROS from two sources, fagosomes and mitochondria. Fagosomes produce ROS in response to signaling factors such as RAC1. Mitochondria also generate ROS as a byproduct of energy production. Importantly, RAC1 can induce mitochondria to move near fagosomes through the formation of a complex between fagosomal and mitochondrial proteins. This positioning allows ROS from mitochondria to enter fagosomes, enhancing the destruction of bacteria by fagocytes. In this study, the researchers found that the simultaneous loss of the protein-modifying enzymes MST1 and MST2 in immune cells of mice resulted in repeated bacterial infection and early death. This finding prompted further study of the roles of MST1 and MST2 in the RAC1-mediated destruction of bacteria by fagocytes. For this purpose, the researchers used immune cells harvested from mouse bone marrow, a common model used to study immune cell function. Stimulating TLRs at the cell surface activated MST1, ultimately increasing ROS production. Activating MST1 and MST2 also moved mitochondria next to fagosomes by facilitating the formation of the Fagosome-Mitochondria protein complex. In the absence of MST1 and MST2, fagocytes largely retained their ability to engulf bacteria. However, their ability to align mitochondria with fagosomes, accumulate ROS in fagosomes and thus destroy the absorbed bacteria, was significantly reduced. However, in cells lacking MST1 and MST2, mutating RAC1 into a continually activated form restored the immune cell's ability to produce ROS and destroy bacteria. These findings indicate that when pathogens activate TLRs, MST1 and MST2 act through RAC1 to position mitochondria next to fagosomes and to promote ROS production in fagocytes, resulting in maximal destruction of bacteria. However, how TLRs activate MST1 and MST2 remains to be determined. Identifying this mechanism may reveal novel therapeutic targets to help fight off infections.


This episode's brought to you by LFS Logistics. Your product, our priority. Details and links are in the description below the video. Fantastic Beasts 3 is here, baby! Fantastic Beasts, the secrets of Dumbledore, is in theaters. No one is excited about this film. Let's be honest. I'm amazed they're still making these things. They're embarrassing. The fact that they're even remotely related to Harry Potter gives me cringe. This is my last review that's going to be filmed in my house. It's been sold. This is the last night I own the property. Normally my production is a little bit cleaner. It's a little bit more well-executed. It doesn't sound like I'm talking at a cathedral. Subscribe for quality content! Speaking of quality films, let's talk about the Fantastic Beasts secrets of Dumbledore. If you are one of the few that is excited about the Fantastic Beasts property, why? Don't let my negativity sour your experience. I don't even know why you're watching this. I'll probably title it something salacious, like Fantastic Beasts gave me cancer or something. I don't know yet. I'm still workshopping these creative ideas. But for me, when I look at the Fantastic Beasts films, it's much like this house. Empty, hollow, devoid of substance, of identity. They're just barren walls. A movie that is still at odds with itself, pushing and pulling in multiple directions. We're married to the Fantastic Beasts, so we do have Newt and his adventures. But we want to have a more interesting, larger scale situation with Dumbledore and his battle with Grindelwald. Their lover's quarrel.  It's definitely a better film than the second movie. I still think the first is superior.  It's got some color in the palette. It's not just grays, which reminds me. David Yates, listen man, I went to bat for you several times in the Harry Potter films. I liked your direction there. I like that it was growing up with the property, the somberness of the tone, the lifeless nature of it worked there. But we're starting over and you're at ground zero already making this boring, drab look. It's called Fantastic Beasts. Yet your colors are so muted, so down. I can barely differentiate scene to scene. Oh, we're up in the mountains now. We're in a crisp lush forest. How do they look the same? If you're hoping that J.K. Rowling was gonna structure this movie a little better, without the soap opera baby swap reveals and all that other nonsense, kind of it's definitely a little easier to follow. Doesn't help that Grindelwald changed appearances again and it's never mentioned.  He had spiked hair in the second film.  Just Michael Madsen walking around kind of gallivanting around the streets. People worship him. He's not really even playing a character anymore. It reeks of not caring at all about what you're making. I almost fell asleep several times in the film. Now to be fair, I've been pulling a lot of late nights. We're moving across the country, but it's two and a half hours long and it takes a dumb while to really build into any sort of story. At its core, at the core of a wand, this movie's kind of an Ocean's Eleven-esque heist film. Now there's no heist per se, but they do the switcheroo. It's all about pulling the wool over the eyes of old Grindy. If it was just Grindelwald being replaced and the story not giving two craps about changing the actor, I mean that's still bad enough, but the fact that it's not just him, but other prominent players that were built up that go nowhere that tells me this movie series doesn't care about itself. Tina, remember Tina? She's gone. No more than a minute of screen time? They just totally got rid of her. I didn't care because I thought Tina kind of sucked. But the fact that the movie doesn't care about its own character just shows that the script is a disaster and this whole property is a mess. I don't honestly remember the title of the last Star Wars movie, the one that came after the last Jedi, Rise of Skywalker I think. This has that vibe going on. It's almost as if it's ashamed of the previous movie and the setups it did, so it tried to kind of reset without fully going all in. Queenie for instance in a relationship with Jacob remember how she brainwashed him in the second film in order to convince him to marry her because for some reason she had to trick him in order to do that? Come on she's a 10. Well that film ended with her joining Grindelwald for reasons I can't possibly explain and now in this third movie she's just like everyone else thinking why did you do that? Jacob still have nothing bad to say about the guy. Love Jacob. But can we just get a spin-off Jacob show where he's fighting wizards without any special abilities of his own? That's the movie I'd pay to see. I mean I paid to see this unfortunately. You might be thinking Adam I don't care about the plot. I'm here for the wizarding duels. How are those? There are some. There's a couple scenes that I thought did work really well. One in particular is when they go to this German propaganda Nazi rally type of thing where Grindelwald's kind of getting popular and rising to power and there's a little fight inside one of the the dinner halls or something. But some of those bigger moments are done metaphorically. They're like done in a king's cross station sort of an area and it turns out none of it's real to begin with. It's like a battle of the minds or the wills or the souls and not so much an actual battle with consequences. Listen I love me some good wand play and by wand play I'm talking about masturbation. I also like it in these films not with actual wands. Blocking the magic. There's definitely more slow motion in this one. Lots of slow motion bullet time wizarding dueling going on. There's not a lot of style to it. Nobody has the serious black style where he's like snapping it. There is a 1v1 Dumbledore Grindelwald. It's not great but they did get close together. They're really pressing each other and I was hoping they would just start throwing punches like wand through the face makes a slice takes the wand into the guy's head. If you're here for the fantastic beast portion of it that's fine too. They ram in some fantastic beast nonsense. You have a Bambi character that is very prominent. It bows to only the purest of heart and the one that's worthy. Kind of a bizarre storyline. It's a little messy but everything in this series is because J.K. Rowling's writing like it's a book still that has 700 pages and not a script. Hey look if a successful billionaire is not going to take the advice from some random mid-tier youtuber then what is she even doing? You know there is a new character. I apologize I don't remember a name. I think it's like Laylee or Lally. Great new addition. She's having a good time. One of the few people with a personality. Youssef another new character. Terrible. His whole arc goes nowhere. It's really unceremonious. There's no payoff to a lot of this film. One thing I did notice a lot more in this film was the music. They definitely upped their game. Not only are the old nostalgic Harry Potter songs back which this film doesn't deserve to use but it had some newer numbers or some kind of remixes that I thought were very well handled. There's definitely some nostalgia bait thrown in.  Look we got the Quidditch references. There's that monster book that eats things. We're three movies deep. You're either on board or you're not. I can't imagine anyone not liking the second one and being excited for this because I thought that film was just terrible. Now if you're one of the people that really enjoyed the second movie you're probably gonna like this. This whole thing is just a disaster okay and and they clearly know it and they're trying to course correct by throwing out a lot of the stuff that didn't work.  I don't and the thing is I saw the second movie once. I don't remember it at all. I just remember being completely bored and lost by these story lines and why they were doing the things they were doing but decisions and choices were made and what we're left with is a third film that's at an identity crisis. Doesn't really know where it wants to go next and I think that's because Warner Brothers doesn't know where they want to go next with this property.  They're scheduled to do two more and I think originally it was supposed to be six. That was paired down to five. I think they're gonna pair it back to a fourth and just let's just be done. We tried it okay. We tried it. It worked a little bit but not all the way. We definitely dropped off a lot of the Harry Potter fans. Let's start over. There's a lot of ideas out there we can do with Harry Potter. Let's just go another route. Well those are my fantastic thoughts on a not so fantastic film. Let me know in the comments what you thought but maybe think about liking this video, subscribing if you haven't. I do post a lot of movie reviews, rants, reactions, things of that nature and hopefully I'll see you around.


Thanks for joining us, everybody. Hope we're all having a great KubeCon. Almost the end, I think two more talks after this. So thanks for joining us at the end of the conference here. I hope we're all having a great time. So Jessie and I are here to talk to you today about rapid IDP development. So this topic is a topic that has a lot of interest right now. It's something that we're very passionate about. And not only that, we've been working on a lot of open source tools and technologies that we'd like to share with you today. So one of the more interesting things about this talk is at the end, you'll see some QR codes where you can find all the source code for our demos and the tools that we've developed here. But first, I'd like to introduce ourselves. So Jessie, you want to take it off? Sure. We're going to come over here. Are these hot? OK, there we go. All right. Yeah, I'm Jesse Sanford. I'm a software architect at Autodesk. I work on our developer enablement team, which handles our internal developer platform. And when I'm not doing that, I like to work on software supply change security. So you might see me speak over there sometimes too. And when I'm not working, I like to sale and spend time outdoors with my daughters. Thanks, Jessie. I'm Greg Haines. I'm also a software architect at Autodesk, focused on our cloud software delivery platform. Most of my background's in open source cloud software, so I'm fairly passionate about it. And I guess, since we're talking hobbies, what I'm not working is lately snowboarding a lot with my two kids. So what are we here to talk about? First, I'm going to start out a bit with the why. What are the challenges I've been facing at Autodesk? And I'm going to try to convince you all, based upon these challenges we've had, what is the value in creating the tooling to create internal reference developer platforms, or IDPs? After some of that history and context, we'll start to talk about the tools we created in open sourced. So these tools really help accelerate the development of our internal developer platform. And I'm hopeful that they can be useful for you all as well.  Play to the demo gods that everything goes smoothly. But his demo, it's really interesting. And it's basically how you can use these tools to do this rapid IDP development. So how did we get here? So at Autodesk for a while now, our internal developer platform really consists of Jenkins, Spinnaker, and a whole bunch of in-house tooling that glues it all together, and automation to perform configuration. It's a pretty common, albeit legacy, software development platform. And it's similar to what many organizations have today that haven't really made this transition to this full cloud native development environment. The problems with this platform that we've realized a while ago is that we struggle with velocity, and especially related to shipping changes with high consistent quality. Large changes are risky, and then therefore take a lot longer than they should, and cause undue toil for our users. So I'm going to talk briefly about what problems we set out to solve in this transition. But I'm not going to go into too much detail, because this was the focus of a talk we had last year. So I highly recommend checking it out if you want to really understand what the problems we were facing, how we framed the opportunity in this transition to this new cloud native developer platform. But I'll hit on some of the high points just so you can get some context here. In short, we realized that we had significantly drifted from the norm. And there's all this cloud native developer tools out there that are all open source. And we really wanted to be able to leverage them and accelerate our development. But at the same time, we're also a large organization. And so we need to make some long term investments so that we could scale the development of our platform. Given this, we decided to double down on a few things. The first one is GitOps, and then also using Kubernetes as our standard control plane technology. And so we've done things like use off the shelf controllers and then also building a whole bunch of our in-house controllers to expose capabilities to our software engineers. And by doing this, we'd be able to leverage standard tooling like Argo CD and Backstage that can be used across this suite of functionality instead of writing one-off integrations for each of these tools whenever we go to deliver some new dev platform capability. And that's where we found ourselves about a year ago. We were building out this new platform, migrating pieces of functionality to it. And it turned out we were right about many of the wins. Future development was a lot faster. We could teams could work independently but leverage one another. And we were able to form a lot more validation in this new environment. Most of all, though, we were closer to the norm. We were able to increasingly leverage open source tooling and solutions and practices in our development that we didn't have to create in-house. We've seen significant wins from this. So why are we back here? What's the point? Well, it turned out there was a very interesting set of problems that we ran to not long after. And the main one is that reality starts to look more like this. And the emphasis being on the segmentation between these technologies, it's actually really hard to make a single developer platform. And it's far too easy for teams to work within their spheres of influence. So it's a real shame, especially when you look at those of us who have experience with these technologies, the wins usually come from workflows that span all of them. And so this is truly a case where the sum is far more than the parts. And so when our teams and our software is treated like an individual piece of technology that doesn't interoperate with the rest of the platform, we're regularly missing out on the bigger picture wins we could get. And maybe some of that's just my architecture hat. But we felt very passionate that we could deliver a better experience by enabling our engineers to work more closely with one another. So as an example, we can expose CRDs for all sorts of things. Like maybe we can create a CRD for exposing infrastructure via the Kubernetes resource model. But without ARGO CD providing some standard GitOps workflow or without backstage making that discoverable and easy to use, it's just not that valuable to our users. And we keep hitting this. So what could we do? Well, let's walk through what it looks like in reality before I get to the what can we do, actually. So the problem lies that we realize is what's needed to enable these teams to work together is a really cohesive development, CI and CD experience. So we might envision the world actually looks like this, where we have a set of technologies powering our dev platform. But we found out this is actually very challenging to implement. So this is kind of what our tool focuses on, is how can we get to this world where there's a set of technologies altogether that have a consistent dev, CI, and CD experience. So again, I'm going to walk through an example here. Imagine you have a developer portal team using Backstage. And they're really experienced in Node.js software development. And what they need to do is add support for change deployment and promotion to the dev portal. And like I said before, we're following typical GitOps practices. So we're using Argo CD. So now your Backstage dev portal team needs to find a way to integrate with Argo CD to develop this feature, let alone understand it. But they also want to show things like status of deployments and the health of deployments. And the dev portal is part of promotion, seems like an obvious thing to do. Oh, and then on top of that, you're also creating some custom controllers to manage infrastructure and cross-plane. And so what you're really asking this heroic dev portal team to do is to build off these integrations with what your dev deploy platform looks like. And I don't know what your role as a dev deploy platform looks like, but at least for us, it looks very different from what our Node.js application development dev cycle looks like. So even worse than that, it's challenging to develop and to get the shared understanding of what this functionality needs to look like. But then you go to CI these things. And it's even more challenging there. Your pipeline for doing Node.js software development isn't really set up to do the infrastructure or the dev deployment pipelines. So while this might seem like a contrived example, in my experience, this really breaks down our ability to build that cohesive experience. Because these two teams, they're just not speaking the same language or thinking about solving the same problem. And the whole spheres of influence problem comes right back into play. Or what's the word? Someone's law. I can't think of it right now. But basically, these teams are working independently. And we need them to work together. So not only is this a problem from an engineering point of view, we need to get the PMs, the UX and designers, the architects. We need all these teams speaking the same language. So I went to a great talk yesterday, I think, was by DIMS and some of the other folks on the SIG architecture committee. And one thing they mentioned was their job as architects is to counter this problem where there's teams working in their own spheres of influence and try to find ways to implement solutions that might span the set of different software teams across the platform. This is exactly the problem that we realize as well and that we're after tackling here. And what we found is that without a simple way for the teams to use and experience their overall dev platform, the shared vision is very difficult to develop. And this is what we were after with our reference platform. So how did we build this? We started with what is the lowest common denominator for a set of technologies that we could build this upon? And to us, that was a GitOps and Kubernetes. Because we're using Kubernetes as both a runtime and a control plane here, but then you need some ways to get configuration there, so GitOps. And for us, that was Argo CD. And then it was like, well, what if we could take the different things that go on our dev platform and come up with some reproducible and redistributable packaging format that we can inject these into our lowest common denominator here. And one of the things we did, which is inspired by this project called KO, I put a QR code in the corner. And I also saw someone else gave it a shout out earlier today in the image building talk. But this is one of my favorite tools that I love for doing controller development. So I highly recommend checking it out. But essentially, at the top here, where you see the spec source repo URL, that's a snippet from an Argo CD application manifest. And essentially what we did is we came up with some tools that allow us to rewrite the source for an Argo CD manifest to a relative path to the resources that belong to it. And with this, we can now package up an Argo CD application, a set of Argo CD applications along with all the resources it installs. And we've now got a redistributable package for installing things into our dev platform. And so with this, we're able to run our tooling, which Jesse's about to demo, and package up all these different applications plus resources into this base set of components into a single redistributable binary. And with this, all of our teams are able to now use this tool. They run it. It's called IDP Builder. And it essentially stands up the dev platform plus our own set of packages. And that's used as our reference implementation across dev portal, infrastructure, custom operator development. But also, most importantly, it's used in CI as well. So now we can do integration testing between these different pieces of functionality. And lastly, I want to mention that we didn't do this alone. So early on, we started this open source working group called Canoe. There's a QR code to one of the projects which is on the Canoe organization. This working group has developed this tooling called IDP Builder that allows us to inject these packages. Participating in this open source project is really what allowed us to get to this level of maturity rather than working on our own and solving the problem that would only work in RCI pipelines. So I think Jesse's got some good call-outs at the end of his demo about the other folks who are involved. But I guess the message here is by leveraging our community, we're able to deliver something far more valuable. And with that, I think it's time for your demo, Jesse. Awesome. I just want to make sure that we're all right, good. So can I see a show of hands for how many people have passed the CKAD exam? Anyone? Well, that's great. That's great. How about folks who've taken it and haven't passed yet? Well, I'm in that boat. I'm not embarrassed. But not everyone is writing controllers yet, right? It's not the case that we're all operator developers. And we need to bring a lot of these different developer backgrounds together. And that's part of the tooling we're going to show here. I actually asked my daughter to interpret what she thought CKAD was. And she came up with cool, kitten, alligator doctors. Or cool, kitten, yeah. Cool, kitten, alligator doctors. That's what we got, right? Unfortunately for her, that is actually not what it is. But if you didn't already know, and not everyone does, it is the case that we have backstage developers and others. And one of the goals of this tooling is to actually make it easier for them to work together.  How do you collaborate?  So we're going to show some of that. What we're about to see is standing up of our IDP builder, installing our CNOE reference implementation package, which, like Greg said, comes with backstage cross-plane, Argo CD, Argo workflows, and a number of others. And then we're going to look at a very contrived Kube builder source tree and use KO to actually build and deploy that operator to our local cluster and then generate from the CRD a backstage template that we will then look at in backstage and be able to hydrate. And that kind of is like a soup to nuts workflow for what might be considered a capability development for your IDP. I do want to call out that we do have a repository. You can check out that QR code if you want. And we do have stars, but we need more of them. So hint, hint. Go ahead and help us out there. We also have documentation at cnoe.io. And again, the QR code will kick you there. And it's good, but it could be better. And so we are accepting pull requests. So hint, again, you're welcome to come help us. And now we're going to try a live demo. And I don't know how this is going to go. So bear with me. This is KubeCon after all. And live demos are notoriously bad. Give me a second to switch over here. All right, so let me just clear this. Is that visible to everybody? Yep, wrong browser. Looks pretty good. I can make it a little bigger. There we go. All right, so as you saw, the project page, like most things, will have some package releases. You're welcome to download those binaries. Or you can download the source tree for yourself and just run the make command and get yourself one for wherever you are checked out. Here I'll just show that we have our source tree here. Now it's really big. And in there, there's our main.go and so on and so forth. So I actually have it already built. And I'll just run IDP builder so you can see. We have some nice help output. Let me get a little bit smaller. And we're going to be focusing on the create command today. There's some other switches there, other commands and other switches. And in the create command, I'd see IDP builder create and still help. You'll see that, oh, got to remember, not in the path. All right, so you'll see that there's quite a bit of an output there where we're going to focus on this package durr string, like Greg said. We have the ability to take a local directory, wrap it up into a place where Argo CD will be able to deploy it for us on our local cluster. I'm just going to show that I'm not doing anything tricky here. We actually don't really have anything on this other than cert manager and the other kind, the basic kind namespaces. So I'm going to just kick off a run here. It might be the case that this takes a little while. So I do have one trick up my sleeve. I have another kind cluster running in the background with everything already installed. So live demos, right? Let's see, code create and dash, dash package. There we go. So the path of the reference implementation is just built into the source tree in the examples folder if you're trying to do this at home. So there you go. It's going to stand up some controllers locally and start reconciling all of our, all of the resources from both the core packages that are built into the binary itself, which consists of Argo CD, Giddy and Ingress Engine X and then it's going to move on to installing everything else from that reference implementation package. So I'm just going to switch to a different window here. Oh, let's see, let's do, so let's get a context. So I'll just let you see that I do have everything running over here. And, oh, wrong one. That's strange, demos. All right, let's just switch back to a different VM. Sorry guys, who would have known? Not this one, let's do this one. You think you have everything prepared? So while that's working, let's see if that's going, I'm going to bring up my backup video. So we are well-prepared for this. It'll open. What's happening? That's it, okay, all right. Sorry everyone, I'll try to, oh, that's the wrong one. It wouldn't be fun if I wasn't plagued by all of the demo guides that everyone who goes to Gugran is, right? So we'll just skip ahead a little bit. So we'll see here, we move on, show that, okay. That's running, all right. So we're switching to the local dev. And so these are the namespaces. Let's make this bigger. These are the namespaces here that you would normally see after the reference implementation is installed. We have Argo CD crossplane and so on and so forth. I'll switch back to the VM that did the install right afterwards so that you can see that it's actually running. What's nice is that we do install all of the GUI interface as well. So you can see that Argo CD app comes up. It's on localtest.me, it's just basically a DNS trick to go back to your local machine. Nothing special there. It's essentially 1-2-7-0-0-1, but it helps with working with Ingress Engine X and HTTPS. So we'll see here this is on 9443 now. And then these are the Argo apps that come with the reference implementation. We have the Backstage app here. Click this here. Argo CD and crossplane. We click through the Backstage app. You can see some of the resources, so on and so forth. So this is basically a vanilla install of Backstage. It's essentially generated and then we build the image with some CNOE kind of like wiring up on top of it to get it to work locally with IDP Builder. Nothing much there, but there are some CNOE plugins that are interesting. If you do Backstage development, we have some friendly scaffold or actions plugins that help with building Backstage templates, right? And you'll see here the Backstage catalog is essentially empty when it first starts up. You would imagine that on your local machine. We'll create here so that you can see the templates. We actually don't have any templates in there by default. And what we're gonna do is we're actually gonna put something in there, right? So in order to do that, we actually need, the whole purpose of this is actually to plug in an operator, right? So we have this contrived example of an operator. And I'll show very shortly the API types so you can actually take a look and see that it is very contrived. It's really a wrapper around deployments. So let's jump ahead. Okay, yeah, you can see here that we just basically taken replicas and image. I'll just scrub a little bit farther. So we can make the manifests, right? This is kind of typical of a Kube Builder workflow. We make those manifests. We generate the CRDs, right? And then outcomes are deployment. Yeah, well, sorry, the manifest for the CRD itself. And you can see here that it contains the replicas and the image data fields, which it's gonna be a little bit hard to get exact, but they're in there, right? So let me take that CRD. Actually, before we do that, we'll use Co to actually build the image itself and then deploy that directly to our local registry so that it can actually be picked up by our cluster. And we use Giddy and it's OCI registry to contain those images. So you'll see here that we actually set up the, let me move this out the way, the local Giddy registry with this co-environment variable.  So again, if you're thinking about this, I'm building an operator. I'm kind of like rapidly iterating on that. I'm deploying locally and then I'm actually, you'll see the full workflow. I'm actually able to see what the output of a kind of scaffolded template based on that operator's type would be, that I could then hand off to template folks or backstage developers to then kind of make it more user friendly and so on and so forth. So this is the manifest that's output by Co and you'll see here that it's basically, it's pushing this, well it actually doesn't, when you're in local mode, but you get an image built on your local machine that you can then push to your registry, which you'll see me do shortly. This is basically just containing the binary for the controller. So I'll push it locally. Again, when Co is in local mode, it won't automatically push for you. So that's now in the registry on the cluster where everything else is running, including backstage. So let's take that CRD over to this other tool that we built at CNOE called the CNOE CLI, which is kind of like a multi-function Swiss Army knife of sorts tool. And one of the features that it has is the ability to take a well-formed CRD and output backstage templates. And then you're able to kind of like sprinkle in some extra templating on top of that so that you get the right actions for deploying your CRDs if you want. And I'll just run the CNOE help here. This is actually also inside the CNOE org. It's open source, you're welcome to download it, but it's pretty handy. I mean, the templating feature is actually very handy. And so I just show here, which I'll show you shortly, that when I switched over here, it's showing that this is basically the output of a run of IDP builder, and it'll give you a Argo CD address to hit and the password there. So now I'm just basically showing that the CNOE CLI is here. We'll skip ahead. So let's run that templating tool. We'll generate the backstage CRD. If I can get to it, apologies. So, well, in there, there is a command line argument. I don't know why it's so hard to catch it, but we produce the template, and then the template will be what you would expect. It's a backstage template. It takes the spec from the CRD and basically just drops it in to the backstage template. There you see the image string and the replicas.  We basically have some plugins to help make it easier for you to shuttle along YAML into Kubernetes, amongst other things. So we're here, see here, that I actually have to push that template to Giddy, right, in order to get it to load into backstage. So I create a repo in Giddy. This is all in the local machine. Create a repo in Giddy, and then I push it, and we then have the template located in a place that Argo CD, oh, sorry, that backstage can grab it, right? So here's the template that we just created from the CRD. So we take that raw URL, bring it over to backstage, right, and then we go to the template's interface and then register a new component, drop it in there, and it runs it to analyze and then loads it, and now we actually have that new template inside of backstage. So this template here is directly generated from the CRD that we just created inside of our Kube Builder project. So you'll see here, it's pretty boilerplate, right? Like it surfaces a lot of fields that you might not wanna show, but maybe you wanna use in some templates. But anyhow, we have the replicas field, we have my deployment, we have test, or sorry, we have the namespace field. So we can actually go ahead and try and create that. And unfortunately, the first time I ran this, I realized that I had not actually installed the types. When we ran Co, which maybe you caught there, the output wasn't piped directly to Kube Apply. It was only shown to the screen. So what this action is telling us is that, hey, I went and checked the local Kubernetes, you don't have that type, you shouldn't even try to deploy, it's just gonna fail, right? So that CR was destined for failure. So let's go back to the Co. Actually, we also, what you see here is I'm actually installing the cluster role and cluster role binding for backstage to be able to write those as well. So we're gonna run Co again, but instead this time we're gonna pipe to Kube Apply. And so then that's actually gonna write the manifest directly to the local Kubernetes. And you'll see it stands up the controller as well. So now we have the types inside of Kubernetes. So if we just start over, we can actually try to just redeploy with the same variables, but actually I realized we should probably at least do one replica. And you'll see here that it actually makes it all the way through the steps and we get our apply manifest. When I show the logs, we'll see that the CR was correctly hydrated and deployed. And also we can actually go ahead and check the Kube API and just see if those types exist anywhere in any namespace. And yeah, there's our test CR which was deployed. And if we describe it, we can see that it actually has the contents that came directly from backstage. And actually we can actually take a look at the controller logs. There's actually a bug in this controller. So if we were to make this demo longer, I would actually show in going in there and actually redeploying the controller and iterating. But I think you can imagine, right? So that's it for the demo. Let's see if that cluster actually came up. If that VM's still running. Can't solve. Ah, no, didn't come up. Okay, well, if you're interested, I can run through it again afterwards. You can come check it out on the side. I know that might have been either too quick for some or not quick enough for others, but I was trying to solve for demo failures and I did not make that happen, my apologies. But thank you very much. I think just to put a capstone on it, the idea is that we have these workflows. They need to work together. This tool allows us to be able to do that in a way that's portable. So I can make changes to my operators. I can make changes to my backstage. I can put those somewhere for you to download them on my GitHub or elsewhere.  Thank you. I think we probably have a... Yeah, if there's any questions, we're happy to take them now. I think there's two microphones on the sides. I just like to say I've seen this and used this before and it really works and it's great. I already deployed the Canoopio CV4 which is really helpful. Something to add maybe is it's an opinionated solution at the end, right? So the question is whether the community will be building that up to also support other possibilities. But thank you so much for the work. Thanks a lot. Glad to hear it's useful. You wanna talk about the opinionated? It is opinionated, so correct. Yeah, there's a couple other questions. So let's go one on the right first. Hi, my question is, do you have any features related to backstage except importing templates into Sky Folder? So again, there are these... We do have open source backstage plugins for the Sky Folder and I believe there may even be a front end plugin as well. One of the other things that you don't really see in the demo there is that we've wired up a local key cloak. So we've essentially focused on local environments and building locally, but I think it's plugins, Sky Folder actions, which you'll find under the CNOE org is it comes with some serialization plugins for YAML that you can do prerequisite checks against Kubernetes types as you saw. There's a couple of other things that we have. Okay. On the other side now. Hi, yeah. So is this like a proof of concept tool that companies are meant to take and expand for their specific use case in their company? Or is it a backstage, our growth CD opinionated tool that's going to keep expanding the future for companies that just want to take it and use that as their internal platform and use all these tools that are just open source? Right. Let me take that one. Yeah, so probably the best analog. The inspiration of this is, this is a tool that I've worked on across three different generations of Cloud Dev Platform stuff. It's like, think of MiniCube or think DevStack and OpenStackLand. It's like, just you need, in order to make development productive or like to get people on board with the technology, you want to have the like run the easy, run the one command to set everything up so you can play with the thing and you can prototype and you can build on it. So that's the intent. It's like, let's glue a bunch of stuff together and find a way for people to inject extra things on top of that and then you can use that for local development and CI. So your question about like, what's it to be used for? There's actually a handful of companies already doing the same thing we do, which is we use it like, if you go to our control plane repository where you write all our controllers, it just runs this IDP builder tool and then you give it some packages in that repo for local development and then when CI for that project runs, it does the exact same thing. It just runs IDP builder to set up a CI environment with all these technologies and then runs the test for the controllers on top of it. Yes, it's very portable. So the target of this project is platform developers? Yes, exactly. Thank you. Absolutely, absolutely. Switch to the other side. So great tool and great talk. I think we all know about this and at the last take, I think we have built a couple different versions of the reasons for something to look like this to pretty much design our internal productivity tools. And I'm super curious about how, because the part that we have felt the pains of is replacing the GitHub part, which we just didn't think of using Github at all. So how do you use Github or any other, I assume, at your production side and how do you feel it was replacing it with Github? Was it close enough to replicate what you wanted to do on the actual other Git provider you were using, if you were to say any? Yeah, it's a really good question. So it's definitely not close enough to replicate just because there's all sorts of GitHub-specific things that happen, like your webhook events when someone creates a PR and things like that. So yeah, in production, we use GitHub Enterprise, but for all intents and purposes, Github. And that's what our CI runs against as well. It's not running against Giddy. The Giddy was kind of a stopgap just because it was actually not so much to replace Github as much as Argo CD needs something to read the resources from. And so Giddy was the easiest way to give us that Git server. And it allows you to work locally, right? Yeah. You could use IDP Builder essentially if you were able to dig in there and scratch out the places to replace it. You could do it against GitHub that's elsewhere, public GitHub as well, but it wouldn't be as useful of a user experience. But we are talking with CD events. And some of the folks work on that. So there's a lot of potential for us to try and decouple GitHub from things like Argo CD. And that's what we're hoping to use with this project is drive those interfaces so we can plug those parts out and not make it a hard dependency. Makes sense. Thank you. Yep, go ahead. Hello. Great talk. We are very interested about the tool. And we have tested it. We have tried it in our company. But we want to know if you think that this tool is a production-ready tool or do you think it's also in a, yeah. Well, I guess I'll take that. It's production-ready in the sense that it's ready for you to run it on your local machine. I would not expect this tool to produce anything that you put into an actual production stack. But it is helpful for getting things that are going to production to be tested in the CI tool chain and elsewhere. But for all intents and purposes, I would use it for my local developer workflows. But I would not try to stand this up and host anything with it or what have you. The reference implementation that it's built upon, I think, is being actively developed in a way that can be used in production. But that project is also under the CNOEI org inside of GitHub. And it's a little bit separate. We do include a version of it in the source tree that you saw there. But that's not the version that you would be deploying to production either. It does contain the same tooling, but just kind of different configuration. Thank you. All right, that's it. Thanks a lot, everybody. Oh, yeah. Big shout out to Minabu, and Charles, and Nima, and the rest of the CNOEI team. Minabu gets MVP. He really did a lot for this project. Yeah. Thanks. Thank you.


QuickBooks Online 2023. Make amortization tables to support our loan balance and loan payments. Get ready to start moving on up with QuickBooks Online 2023. Here we are in our Get Great Guitars practice file. We started up in a prior presentation using the 30-day free trial. Support Accounting Instruction by clicking the link below, giving you a free month membership to all of the content on our website, broken out by category, further broken out by course, each course then organized in a logical, reasonable fashion, making it much more easy to find what you need than can be done on a YouTube page. We also include added resources such as Excel practice problems, PDF files, and more like QuickBooks backup files when applicable. So once again, click the link below for a free month membership to our website and all the content on it. We also have the free QuickBooks Online sample company open. If you want the two open at the same time, we suggest using the incognito window or another browser. You can open incognito if using Google Chrome by selecting the three dots in the browser, incognito window, search in the search engine for QuickBooks Online test drive to open the sample company. We're going to be using the sample company to look at the difference between the accounting view, the view Get Great Guitars file is in, and the business view, the view the sample company is in. If you'd like to toggle back and forth between the two views, you could use the cog up top and switch between the views on down below. So we're going to duplicate some tabs to put reports in, go into the tab up top, right click to duplicate it, and then we'll right click again and duplicate it again. Let's go back to the middle tab and open up the reports like we do every time. And we want to be opening up this time on the standard reports, the favorite balance sheet. If you were on the business view, by the way, then it would be under the business overview. And then the reports on the left there. Then let's tap to the right. We're going to open up the income statement reports on the left income statement PNL profit and loss closing up the hand boogie. We're now in month two. So you could use the same full range which goes from 010123 to 123123 and see this includes month one's data or possibly let's run it this way this time. Let's go from 010123 to 02282328. I think it's 23 run that. And so we have January and February. And then I can use my little drop down here and say that I want to see it on a month by month breakout. So that gives us a nice tool. I'm going to run it because we're going to be working on February. So this will show us January numbers and February numbers and then the total for January and February, which is quite nice tapping to the middle closing up the hamburger. Now for for the balance sheet, we could do the same thing, but we probably don't really need to. I'm just going to go from 010123 to 123123 because this is going to show the balance for the year to date in essence. And because we're not doing an accumulation report, we're just showing where we stand at a particular point in time. We're probably good with just the end result numbers. So now the first part of month number two, February, second month of data input. We're going to first start with some transactions that are a little bit more unusual than the day to day transactions. So if I hit the plus button up top, these items in here represent in essence the day to day transactions. And we talked last month mainly about transactions that we tried to focus more on a cashed based system. In other words, we didn't enter bills, for example, too much. We use the expense and check forms to make payments. Now we're going to do more focusing on a cruel transaction like bills. And we're going to start off thinking about some transactions with regards to our financing on the loans. How are we going to deal with the payments of the loans? So that's what we're going to talk about here. So down below we put some loans on the books. So here's we've got our loans. Now there's a couple issues with dealing with loans. One, there could be an issue between a short term portion of the loan and a long term portion of the loan. How are we going to break those two out? My suggestion is that we try to put them into one account. I put them as a current loan, even though there might be a long term portion to it and then break out the current and long term portion periodically with adjusting entries done either by us, the bookkeeper or business owner, or periodically at the end of the year or month by the accountant or CPA firm for taxes or financial statement reporting purposes. So that's one issue that we'll talk about. And then number two, we've got an issue of what if I have multiple loans? Should I put multiple loans in one account here for loan payable or multiple accounts of loan payables? For that, from a bookkeeping standpoint, I think it's easiest to have one account for each loan so that you can tie out the loan directly to its amortization table or you can have a CPA do that at the end of the year. So we'll talk about that a little bit more in future presentations. Right now we'll just be dealing with this one loan that's in one account. If we have multiple loans, that's when it becomes an issue. Some businesses have multiple loans because they finance things say like equipment, for example, for a construction company. And then number three, what happens when I make a loan payment? It's not as easy as many other transactions, which only really have two accounts affected oftentimes, such as when I pay the utility bill, I decrease the checking account and I put it to utilities expense. When I pay down a loan, I'm going to be decreasing the cash account. And then you would think the other side would just go to loan payable, but we also have the rent on the loan, which is called interest, interest expense. So now three accounts are impacted. That complicates things a bit, but it gets even more complicated because the breakout between the interest and the principle per payment will differ from payment to payment, even though the amount that we're paying in cash remains the same. That makes it difficult for us to automate the transaction to use the bank feeds to basically try to make the transaction automatic. So how can we deal with that? There's a couple of different ways we can deal with that. We could try one way is we could try to stay in a cash based system and automate our whole process by saying I'm on the bookkeeping side, I'm going to do things in a cash based system. I'm not going to recognize interest expense, but just record it to the loan payable and then use your accountant or yourself at the end of the month and the year and do adjusting entries to the amortization table. That makes that allows you to automate everything and then just make period adjustments possibly at the end of the year when you do your tax returns or we can get the amortization table and every time we enter the transaction, we have to make the adjustment between interest and principle in accordance with the amortization table. To do that, we're going to need an amortization table. Now when we get a loan, sometimes they'll give us the amortization table, but they might just give us the terms of the loans and not give us the amortization table. The main thing that the loan negotiator will be focusing on is the payment that you'll be making and you got to be careful because the other important thing is the interest, how much you're actually paying, how much you're financing over the over the period of time. So it's best to see that by making an amortization table. So how can you make an amortization table? There are some tools online. If you just search a Google search for an amortization table, you can use the data to build one. I like just doing it in Excel and possibly using those online tools to double check the amortization table that we're going to be putting together. So that's what we'll do now and I think it's a useful tool just to build an amortization table because then you can see what I'm talking about with some of these problems between interest and principle, short-term and long-term. It'll be more clear if you're familiar with an amortization table. When you just look at one, it's overwhelming because there's just too many numbers. So if you build one, then it's actually not too difficult and then you kind of understand it better. So I'm going to build one even though it's not an Excel course and Excel so we can see how it works. So I'll do this fairly quickly because I know it's not an Excel course but this is what we'll use then to record our payments. Okay so I'm just going to make up a loan terms here so I'm scrolling in a bit. First thing I do is I sort the whole page to be the format that I want. The way I'm going to do that I'm going to select the triangle, right-click, format the whole thing to I like to choose currency, bracketed numbers and then we'll say I'll keep the dollar sign. Let's take that off and we'll keep the decimals this time and let's say okay I'll also make it bold so it'll stand out hopefully in the video format fairly well. Alright so then we've got the loan. I'm going to say the loan amount let's say is 72,000. So that's the amount of the loan. I'm going to make up the amortization table as of basically this point in time going forward and currently we have the liability on the books at that 72,000. So I know we actually had a couple transactions to make that 72,000 but we're imagining at this time 72,000 and we're going to start the loan amortization table from there. Years, let's say the years are five years on the loan. Now if they give the years oftentimes it's going to be broken out into monthly payments if it's a standard installment note. So if it's five years 12 months in a year we're going to say this equals I'm going to go up one five times I'm just going to hard code 12 that's a two 12 60 months 60 months five years okay and then the rate now usually this is where it gets a little tricky the rate is represented in terms of yearly rate meaning it's going to be 0.05 or 5 percent I'm going to make that a percent by going to the home tab numbers percent and that means five percent a year usually unless it's specified otherwise but when we do the amortization table we're really using kind of like the monthly rate for each payment but we don't usually say the monthly rate because the monthly rate is going to be quite low so the yearly rate is the convention that we'll usually use to say a rate but if you hear a rate that's not in the range of like a whole number right if it's like 0.0325 then they broke it down into something other than a yearly rate so for example if I this is the rate this I'm going to say year and this is going to be the rate per month per period that we're using which would be equal to equal to five percent divided by 12 and if I make that a percent and I add a couple decimals so now they could say well the rate is 0.417 yeah but that's the monthly rate we don't usually think in monthly rates we think in like the yearly rate right so so just that's something that's a little bit tricky when you think about these loans and then the payment that we're going to make the whole goal of the loan is to make the payment be the same and the way we have to do that is to adjust the interest and principal portions of the payment typically now there's a payment function here that we can we can use to calculate this so I'm just going to do this fairly quickly I'm going to say a negative instead of equals that's what I usually do to flip the sign otherwise you'll get a negative number and then I'm just going to type in PMT payment this is our payment function and then I'm just going to enter in according to this little thing down here the payment function so it's going to be the rate I usually choose the yearly rate but I could take the monthly rate I usually don't put the monthly register have the yearly rate and then I'm going to take that and divide it by 12 meaning if that's the yearly rate I've got to break it down into its monthly rate component because I'm making payments on a monthly basis not a yearly basis or I could just put the monthly rate which is this one here comma and then the number of periods is going to be not five years but 60 I could have done the same thing I could take the five times 12 or just take the 60 that I broke out in months here comma and then the present value is the current amount of the loan which is 72,000 that's all we really need so I'm going to close up the brackets and there's the payment so there's our payment amount if you break out your loan like this then you can then you can start to experiment on your own and put in up here well what if I had 60,000 or something and you can adjust your payment what if the rate was four percent and you can start playing with this now you can also play with this inversely you can figure out what the loan balance is using a present value calculation or what the rate would be giving everything else being constant now let's just take a quick look at some tools online to do that so if I went online so I typed in like amortization calculator here and then if I search into some of these most of them are for like home loans but but you can have a loan amortization and let's say we had 72,000 and this one and the rate was five percent number of payments we're going to say was 60 and we're going to say they're monthly and so there we're going to go ahead and calculate and so if we calculate that then we get the information five percent 60 the total payments add up to this amount for all the payments and then you've got your payment which is the one three five eight seven three so that's what we have here one three five eight seven three one three five eight so I kind of like to double check it with those amortization tables and then of course if you do want to calculate total payments so what are you going to totally pay over the life of this thing it's going to be equal to your payments times the 60 payments that we're going to make and then if you want to think total interest interest that you're going to make over and above the loan amount it's going to be this amount of total payments minus the loan so we're going to have interest of nine thousand five twenty three over the life of this thing if you talk to a finance person they're going to focus just on this number you're a little bit concerned at with this number this number how long your loan is going to be as well our factors that you want to take the time to move away from the loan advisor and think on yourself critically before you go into anything I'm going to make this one a little bit smaller and then this is going to be our headers months payments let's actually do I'm actually I can actually do years months and let's say payments interest and I'm going to call it loan reduction now notice little trick and excel reduction or a little thing to keep aware of that's too long really so I could either make this sell quite wide if I have a long header or I could wrap it home tab alignment and wrap but that makes everything else kind of long and it doesn't show me where I want to make the break like it guess is pretty good I but in any case the way I like to do it here if I'm not making this into a table is to delete this part and just put reduction in its own cell and then I'm going to pull all these down I'm going to cut them and paste them right there so that then I can make it look like a header by selecting these and make it formatted as a header home tab font group I'm going to make this black and white and then I'm going to center it so now that looks like a header even though it's on you know two two lines there and that that doesn't mess up anything to the right or left of the table we're working on okay so now we'll just do our calculations I'm going to put the months in first I'm going to go from oh zero month one two and then I'm going to select those set those three cells put my cursor on this fill handle and drag down to 60 periods so you can see the counter so it's quite easy to do because it gives me the counter there's down to 60 periods right there I'm also going to get rid of the decimals number group don't need the decimals I'm going to take those off and I'm going to center it here now there's a little trick that you can kind of figure out the years on this side because it's useful to know the year that we're in as well so let's let's do it with this cell right here and try to say I want all of these to represent the fact that I'm in year one so everything that's in year one I want to I want to have shown as a one over here and that makes it so I can actually make tables out of this if I wanted to because I want to know which year I'm in as opposed to the month I'm in which could be a little tricky when we get down to a later part to the table so one way you can do that as you can say okay what I'm going to do is I'm going to say this is equal to the month and then I'm going to divide it by 12 well well let's do it this way I'm going to say round round up and then bracket so I'm going to round up to the whole number I'm going to take the month that I'm in and then divide it by 12 so that'll give me a fraction of a number but I'm going to round it up to the whole number so then comma the number that I need to round up to it's going to be negative 0.01 and that just that just tells the the system which unit where we want to round to which is going to be a whole number so I'm going to say brackets that gets a little bit tricky kind of got to just know that but I'm going to say okay and then if I copy that and I put my cursor on the fill handle just to test it if I take it down to like 13 payments there's there's number two right so it looks like it's working here because that's a new year so if I take this all the way down so there it is year five so it looks about right so there's the years that we're in I'm going to take off the decimals here I'm going to center it and then I'm going to put a zero up top as well okay so then the loan the loan I have the loan reduction and I need one more thing here which is the loan balance so I'm going to say let's I'm going to make this black white and center it okay so then the loan balance is going to start with equal I'm going to take this from my dataset this is common practice when you're building these tables because then they can change automatically as you change the tables and you can make your estimates on that if you want to kind of think about your loans let's make this one a little bit smaller I'm going to double click on it and this one I'm going to double click here okay so then the payments are always going to be the same they're going to be equal to this one three five eight seventy three but the interest in principle you could call this principle I always spell it wrong so I just call it loan reduction because there's like two principles and they look I no matter what I do I just can't get it in my head what the difference is so I just say loan reduction so people don't get don't call me stupid so now let's go let's say this is going to be equal to the seventy two thousand dollars and then times and then we could take the rate which is the five percent but that's a yearly rate so I have to divide it by 12 or I could have just taken the monthly rate that I calculated here so that's going to be then interest that's the interest we're going to have to pay the loan reduction is going to be equal to the payment minus the interest the interest is like rent on your apartment or whatever right it's gone you know it's not going to reduce the loan it's just rent for the usage so this is going to be the amount that reduces the loan therefore we've got the loan balance minus the loan reduction now I could copy all this down but it's going to cause a problem so I want to think about how can I make it so I can copy this down I'm going to select this whole thing copy it down and then look for the problems what's the problem this moved down I don't want it to do that anything that's in my data set and not in my table I usually have to make absolute I have to tell Excel not to move it down because it's going to try to move down to relative references this one I did did what I wanted it to do here but it moved this down and I wanted to stay on five percent this one relative references looks good this one relative references looks good so what I'm going to do is delete this double click on the payment that when I don't want it to move down I'm going to make what's called an absolute reference I'm going to select f4 on the keyboard dollar sign before the b and the six you only need a mixed reference but an absolute reference works dollar signs don't have any meaning towards dollars it's just code for excel to say don't move the cell down so if I do that and then if I go to the interest double clicking on that that five percent outside of where I'm working that's what I need to deal with so I'm going to put my cursor in b4 f4 dollar sign before the b and for making it absolute this one I do want to move down so I'm going to leave that this one both of these I want them to move down relative so that one's good this one both of these I want to move down relative because I don't have anything my data set to the right that's the general rule okay so I'll select those four put my cursor on the fill handle and drag it all the way down if I get down to zero after the 60 months it's probably good boom so it looks like it did what I would expect so that looks good so then I can just put some formatting touches on this I'll just select this whole thing and we can format it say like I'm going to make this brackets something like that and then I could format these maybe put some brackets around that okay so the point is every time we make a payment the payment's the same but I'm going to have to break out the interest and the loan reduction in two separate amounts so for example if I went back over to QuickBooks here and by the way you could double check your amortization schedule with this amortization schedule or one that you generate online to kind of see if you're or you can just do it you could do it online but I think it's useful to do it in excel but then when you make a payment in here let's say we're going to make a payment it might come through the bank feeds that you make the payment and you still have to adjust it because of this issue with the interest and principal so I could go in and say okay I'm going to do an expense form and then I'm going to reduce the checking account by category but then you'd have to choose the category of interest interest paid and then the other category is going to be the loan payable and these two amounts for interest paid and loan payable will differ each month as we can see here that means I can't automate the payment even if I had the bank feeds on because it's it's going to get messed up even though the payment is the same I can't automate between words going to allocate on these two accounts how could I get around that well one I could manually go in there each time I make a payment and adjust it so I could do that that's one method that we could use another method is that we just make all the payments uh to the loan balance which will make it incorrect because we're not accounting for interest but then at the end of the year give the CPA or have the CPA create an amortization schedule or your tax professional and then adjust the loan balance and the interest in accordance with the amortization table right and that way you can make everything on a cash-based system and and work with your network your accountant to then break out the accrual components making the data input fast and and automatic and then making the periodic adjustments so that might be an efficient way to do it that's one way that you can do it now if I look at the end of the first year here the other issue is is this how do I break out the short-term and long-term portion of the loan which again I'm not going to break out right now I'm going to break it out periodically at the end of the year possibly if I need to so in other words right now this amount is at 72 000 but short-term loan payable is the amount that's going to be due within a year so you might think well that would just be I'm going to pay within a year this amount times 12 but that's not really the short-term portion of the loan because the short-term portion of the loan doesn't include interest the short-term portion of the loan is this the sum of the amount that you're going to pay for the loan through through the end of the year which is going to be that and so there's our there's the amount why don't I include the interest if I know I'm going to pay it as a liability that's short-term because we haven't incurred it just like we haven't incurred the rent yet we haven't incurred the interest on that so that gets a little bit a little bit tricky and then the long-term portion would of would of course be this minus this and or the amount after the 12 months that's where we'll be after 12 months now you can also make this into a nice if you want to see it on a year by year basis you can make a nice like little pivot table which usually you want to create zeros here to do that and I'll just show you how to do it real quick if I select these and I go down and say go down to five years and then insert a pivot table pivot table and then I'm going to put the pivot table in my worksheet so I'm going to put it right there so I'm not I'm going to put it in the existing worksheet and the location is going to be right there let me do that again hold on a second I'm going to choose this and then I'm going to say insert pivot table and then I want it in the existing worksheet and I'm going to put it right there and then add the pivot table now I'll do this fairly quick so I don't take forever on it but basically I'm just going to pull this stuff into the pivot table I want the years but not the months so I'm going to take everything but the months payments interest reduction balance and the balance so now I've got my data I'm going to say that the the years I want as the rows so I want to pull this one in the values to the to the rows and there's basically my pivot table on like a year by year basis so now you've got the sum of the payments for the year the sum of the interest the sum of the reduction and so there's a little bit more formatting we need to do here so now I'm going to try to format this I'm going to hit the drop down here and say I want to I want to value look at the value of the fields and this is the sum of the payments so that looks right the sum is correct I'm going to take the number format and I'm going to make it currency bracketed numbers no dollar sign and we could probably well let's keep it at two decimals we'll do that and say okay and then I'm going to do the same for this field some of the interest and say value field the sum is what we want so that's right on the interest but I'm going to number format it and say currency bracketed no dollar sign two decimals okay and then the the sum of the reduction so this is how much we paid off on the principle of the loan each year or we'll do and I can say the sum is correct number I want currency bracketed no dollar sign two decimals and this last one's a little bit different I'm going to say value formatting this one I want I want it to give me the minimum number because I want to see where we are at the end of the period the end of the year so that one's a little bit tricky and I'm going to say number format this is the same and so there you go and now this is something the reason I want to show this is this is something that you can't really do with these online kind of tools and it could be a useful tool to do something like this I'll just put some brackets in here because now you can see everything on a year by year breakout and see that the payments that you're going to make on a year by year and then you can see the interest that you would pay in year one versus year two versus year three noticing it goes down and then the principle that you would pay the reduction in the loan balance from year to year in other words if I was to take this minus this there's our difference these amounts five nine four five oh three three should be the amount at the end of each year there's the five nine at the end of year one year two four five three three four four five three three four so you can do a lot more with these customizations or possibly projecting on what loans you want to be doing if you can get the loan amortization table or make it in excel then then using some of those online tools because this this little breakout can be quite useful okay so that's the general idea so in future presentations we'll make some loan payments based on the amortization schedule and show you how the payments will look and how the balance then will tie into the amortization tables once we're done with it