Hello everyone, and welcome first of all to my home office here, second to KubeCon Virtual North America, and last but not least to our session today about navigating the app delivery landscape while solving everyday problems that I'll do together with Lee from Alibaba. My name is Alves. I work at Dynatrace where I'm responsible for open source. Okay, so let's get started. This is the session done by the app DeliverySig. As you might know, there are a number of six in the CNCF, the app DeliverySig is dealing with pretty much everything that's required to delivering applications in a cloud native way. You can engage with us in various ways. You can obviously go to the GitHub repository, you can join our bi-weekly meetings, engage with us on Slack or the mailing list, and obviously read more in our chat about what we're doing and where you might want to contribute. So when we look at the CNCF landscape, we see that there is a lot on it. What started out pretty small has really grown super big. Some people find other words for it, but there's like a lot on this landscape right now and it might be, or it most likely even is, pretty much overwhelming when you're looking at it for the very first time. Also from an application delivery perspective, you might want to figure out which tools am I going to take, how do I use them, and it almost feels like a puzzle which led to people actually creating a puzzle with the CNCF landscape, it's a 1000 pieces puzzle that you can assemble, and especially for a newcomer, it might really feel like this. So from an application delivery perspective, we can obviously scale it down a bit and if you restrict it to only CNCF project, there's still a number of projects there. We have some in the application definition image build area, some in the continuous integration area and some in the scheduling and orchestration piece. There's Helm, obviously Kubernetes, the operator framework, Argo, and quite a number of sandbox projects like Captain, Flux, Porter, a number of others, Kudo and so forth. There's also the CNCF tech radar, and in June this year, the end user community of the CNCF did a tech radar on continuous delivery, which is a subset of application delivery, and categorized tools in three different categories, adopt, which means people are using it, trial there in the stage of rolling it out, they're experimenting, and assess meaning that they are looking into it. So I also encourage you to look at the CNCF tech radar. What we did within the app delivery stick, we also created like a reference model to categorize tools by what they're doing and also to break down this app delivery space into smaller chunks. On the top left you see application definition, so this is pretty much everything you need to define your application and your application model. Then there's application packaging, so once you've defined it, you need to package up all of those components that you need and work with them. Now we have to roll them out and orchestrate them. This is the entire area of life cycling management, rollout strategies, traffic management and so forth, and then we have obviously the workload instance healing, scale out, sharding, life cycling management and so forth. So this is just another way to look at it. What we have decided in one of the recent SIG meetings is we should showcase how you can use different tools for different areas of the application delivery space. This is how we ended up with Project Potatohead. Potatohead is a very simple cloud-native project, probably the simplest cloud-native project you can build. It just consists of one single service, but it allows you to explore different delivery tools and how you can use them, and last but not least, it's kind of a funny name for a project. So let's start super, super, super simple, just with two manifests. The easiest way we can write an application in Kubernetes is to write a manifest file that contains a service and a deployment. And this is exactly what we will look at right now. So in the Potatohead project, you can find this folder called manifest, which contains that manifest that has a namespace, service, oops, and the deployment over here. I'll say the only thing we need to do right now is to apply the manifest. I'm exposing it right now as a load balancer, so it might take a while. So just trying to get the IP while this is created, taking a bit long. Here we go. So here we have it. Now, we can switch over and we have version 010 running. Now we would have to get back into this file. We modify it, apply it again, we'll update, and we will see version 1.1. So I think this doesn't come really as a surprise to anybody. Just get rid of this one here. Here we go. While this is easy and straightforward, it doesn't really provide us with a lot of flexibility, right? And we always have to kind of get into the manifest files, mess around with all the details. This is not what we want to do. So the next step would be to use a Helm template. And the Potatohead project comes with a very elaborate example of a Helm deployment. This is just to showcase what we're trying to do in here. And thanks to Matt Farina for providing it. What we're doing here, we're basically replacing the namespace by picking one. And the images, we also replace in the values file. And then in the values file, we specify our Helm namespace here. So that's pretty much what we're doing here. And if we now get back to our example, just move out of this one here. We can see in the charts that for our hello service, we have pretty much everything in there. And for template, our charts file, our values file, which we'll need in a second. This is not what we should put in here. And again, we will be deploying version 1.1. So what we can do right now for the charts directory, we are deploying our Helm release called KubeCon, sorry. That's already what we did. We just need to expose the service to the browser version 1.0. We get back upgraded to version 1.1, switching to a Helm upgrade. And again, exposing the service. And now we will see that it's running version 1.1. And as we now no longer need it, we're going to use Helm Uninstall to uninstall our release again. So not a lot of rocket science here. Already great that we only now need to change the values file. But what if we want our changes to be really applied automatically? Right now, we always have to run KubeControlApply or we have to run HelmUpgrade. So is there an easier way to do this? Exactly there is. We can use a tool called Flux. So Flux is a GitOps operator, which means it takes whatever is in a Git repository and uses what is in this Git repository and applies it for us. Helm, sorry, Flux can do even more for us. It can do the same thing. Obviously with Helm, it can also point to a container registry and check for container registry updates that we want to use. So what we're doing right now is we will be configuring Flux to do for us what we wanted to do. All right, directly Flux. In order to make this work, we have to fetch the Flux deployment. There are a couple of things we want to modify in there. Let's get rid of this one and get into the Flux directory. In the Flux deployment, we have to tell it the branch, the GitHub user. We just used the manifest here. We could have used the Helm version as well, but it doesn't really matter. The Git labels to be used and the polling interval, which we're putting down to one minute. You might want to keep it usually the way it is. And again, we have configured Flux now. And the only thing we need to do is, again, wait for IP. Again, we have now this one minute waiting interval. Now we're getting there. Give it a bit more time. Interestingly, for Flux to work, you also have to provide a deployment key, which I have done already before here, but this is what the GitHub repository uses. And you can see it's using my local fork of this GitHub repository. Wonderful. So in this case, we're pointing it to our hello server. See its version. And now I'm doing something that I should not be doing, but still for demo purposes, I'm allowed to do it. And editing my deployment file here right in Git, doing it directly. Obviously, what you should be doing is not editing this file directly. You should have the PR workflow behind it. And you can have point Flux there. And then handle it that way. Those are the updated container image to be used here. And we have set our polling interval to one minute. So pretty soon we should see the updated version of our deployment here. Okay, just double checking here. We set it to 1.0.2. And give it a bit more time. So you see, this is always pretty convenient because now we only have to commit things to the GitHub repository. And that's also why GitOps is becoming so, so popular. You don't really have to know a lot about it. Here we go. Here we have it updated. How the application is working. It's just happening. It's just there and everything is fine. So just let me quickly fetch my deployment again. Obviously, it doesn't work. I'm just getting it and setting the interval to 20 minutes again. And I don't want to run into any rate limiting. And also this one here, name space, because we don't need it anymore. Okay, so this worked great. Now let's move on. So what do you want to see what happens? Flux is really great because it's this lean tool that can do all what it's actually doing. And it's working great. But what if you want to have a leaner way of more, let's put it that way, but have a more interactive way of looking at it. And this is where Argo comes in. As you can see, Argo has a very nice UI. And it, okay, you can also do GitOps with Argo. So this is what we are going to do right now. We call it demo. Call it hello server Argo. See, it has this very nice UI or to create namespace. Take the revision you want to take. And we also specify the path in our case is again delivery manifest. We could do the same and we will do it then in another example. So it was a Helm chart, but for the time being this is totally fine. Demo space Argo. Okay, now let's sync it. So we see that all of these resources right now are out of sync. And now we have this interactive way on how the application gets created. Service is still under creation, but we see all the resources that get created individually and honestly very appealing way as I feel. So I hope you like it too. Let's give it just some time again to create the service. Moving in here. Okay, this one browser. And we have version 0.1.2 which we set before here because we're using the same file as before. Now let's switch it back to 0.10. Commit the changes. Perfect. And what we will now see in Argo, if we refresh it, obviously we can set Argo to automatically refresh. It shows that some resources are out of sync. Allows us to re-sync it. See that for the new version test created a new service. And now when we refresh this one here, we see it's back to version 0.10. Very nice thing here is we can simply go in here and also delete the project and all of its dependent resources, which is pretty neat. So that's great. What's next? So far we have really worked from a manifest, parameterizing it, using different GitOps approaches from Flux, which is for Reline to Argo, which has all this visual appealing things around it. But what we did, we more or less applied everything to the cluster. And we didn't really care whether this was a good idea or it wasn't a good idea. We didn't do any canary releases, blue-green releases or anything. This is really where Argo rollouts now comes into play. With Argo rollouts, we are going to replace our deployment with a special CRD called a rollout in Argo. That looks pretty much like the deployment CRD, except that it has this strategy part in here where it defines on how the application should be rolled out. It again has this visual appealing view, which comes with a nice command line tool here as well. So let's switch over here, creating a new application with Argo. I'm going to type it again. Now we pick delivery rollout, local cluster, demo space Argo. And with Helm, it finds the values file, our version tags and everything in there. And now we click again on create and sync. Now we're creating five replicas simply. Well, it's kind of more helpful that five of them, especially when we should want to show canary releases. Okay, here we have our service. It's not hosting yet. So not a big surprise. App is working again. What we will now do is we go into the rollout. Again, this is something you should usually not do directly by editing in line, we switch it to version 1.2. And yeah, Argo already comes with a very, very handy command line tool. Here we have our canary release. Argo get rollout. Coping a rollout. Argo rollout, obviously. We have to specify the namespace demo space Argo and we want it interactive. Here we go. So here we see interactively how this deployment is going. Now we go back to Argo and refresh and sync. And we see that a new POTS gets created and the status has been changed to POTS, which we can also see over here. The reason why this one here is paused is something we can easily find. And a rollout, because the way a rollout is defined, that the first wait, the first pause here doesn't have a fixed duration, but rather than having a fixed duration, it will wait for us to manually promote it. So this is what we're doing here now. This is cube control. Argo rollout. Just a rollout called again. Sorry. Well, then let's get it over here again. There we go. Argo rollout. Promote in space demo space. Perfect. So what we can see here now that the releases are switching over and we can see the same over here as well. Releases are progressing really nicely. Good. We're not going to wait for this to finish here really, but rather delete it. So now there's one more thing to do. Now we have automated quite a lot. We have used roll-out strategies. We have shipped different versions. We have switched to github. So what if you want to do this in a multi-stage environment? And this is where Captain comes into play. So what Captain provides, Captain provides a control plane on top of what you have already seen so far that support github that can create stages and can build your entire environment for you. Captain uses a file called a shipyard file. This is what you see over here. So the shipyard file specifies which stages you want and the deployment strategy and how it should be promoted between the stages. Most of this is set here to automatic with one exception for production. So we do the captain directory. We can just say initproject over here and we should tell you what we actually wanted to do, which is createproject. So what happened now is when we switch over to the captain UI, just to refresh, that we have this project created that has exactly these three stages in there. So as of right now, this isn't really doing a lot. We have to do one more thing over here which is linking it to an upstream github repository. So captain fully supports githubs and what I have handed over here. There should be one more. Here we go. That's the right one. I had an empty github repo in which we see that captain has started to create a branch for each stage and is storing its own file like the shipyard file and everything in here as well. So far, we have created this and also created all the githubs content out of the box. The next thing we need to do is we need to onboard a service into this project. For onboarding the service, you just pass in again your values which in this case doesn't really need to contain a lot and your templates again for the deployment and the service. That's pretty much everything that you need and you see that a lot of the chart creation that happens inside of captain and this is obviously still ongoing. Now we already see our hello service here which has been successfully created. If we switch back to git, reload here, we also see that there have been pushes to the individual stages because now we created all the helm charts and started to execute them. We also see that there is automatic Istio configuration in here because we're using blue green deployments and now it is time to actually onboard the service which I think is the first deploy service and we are deploying version 1.1. We see that there is a configuration change so captain received a new request to deploy something and also the environment will get updated in a minute. It just takes a while to rewrite all the helm charts obviously with the right values files in this case and start deploying things. Here we already see that deployment finished or we can jump right there. You see it has everything configured out of the box. It's running version 1.1 and even having the stages configured in there and obviously as part of the environment we also see where that service is already right now and it's currently now propagating through the stages. Captain also comes with an automated test execution and an evaluation of SLIs and SLOs as we haven't specified them right now for our demo purposes. It automatically passes them because there are no tests. We now see this being propagated to our staging environment and in a second it should be in staging as well as self-deploying which should be done in a second. So the whole idea is that usually you can also onboard SLIs and low files as I mentioned and test files so you can just give it for example a gmeter test and the automaticity text to execute that gmeter test has to be executed as part of the deployment. Still waiting for this one here to deploy. Now we're done. Here we go, same thing here and now what we can see here is an approval triggered. If you remember we specified in the shipyard file that for a production deployment we want to have manual approval and that's why we get this approval which you will also see over here. We see that there is one... Think of this like as you have like GitOps in place here these are obviously two branches but this branch is like one commit behind the other one and as we're accepting it we're pushing it through now. So and the last thing we do is running an init project deploy service I'll do 0.1.2 see the new configuration changed things I'd rather see a bit quicker and see that the new version has now been deployed in depth already. Here we can see how it's propagating through the individual stages and well, that's it for captain and now I'd like to pass over to Harry. Thank you, Lois. It's really awesome demonstration to show off the application delivery ecosystem using such kind of unified demo application. So I will continue with Lois talk to fill up with more interesting user cases in the ecosystem. So this is basically about in many cases that you actually want to deliver and manage the application by hiding all its details. For example, the first tool you can use is using operator this time you will use operator to package your application instead of manager application. So the reason you can do this is because the operator SDK gave you the way to convert a Helm chart existing Helm chart into a CRDN operator. So in that case you can define CR to run application and the specification of this customer resource is exactly generated from the values of your Helm template. So this is basically how operator enable you to package any software into a software distribution.  So if you do for example like this the operator SDK will handle everything for you. And then we can actually try to deliver the application by using a customer resource. Let's see the example here. So this is the customer resource we have now. And this is exactly a distribution of our software because the user can only configure for example the given parameters here. The user cannot change the Helm template because it's now a CRD. So in that case we can definitely apply this CR to our cluster.  Okay. As long as we do this the HelloService HelloServer operator will actually create an application for us. So if you check the cluster for example get deploy because okay the HelloService is running. So if we check the service you can see the HelloService already there and it has to be exposed. So if we use MiniCube to say okay I want to expose HelloService okay now we got the running application right here. So this is basically how you package your software into an operator. So you can distribute your software by using a CRD tool cluster. So for now we have introduced a bunch of independent tools to solve your problems. But what if I want is a full platform just like something like Herok at the top of Kubernetes. So I can have pretty awesome user experience but on Kubernetes. Right. So in that case I will introduce you the Kubevilla project which is very interesting because it's an extensible application platform based on Kubernetes. So essentially if you are using Kubevilla what you need to define is a very simple YAML file like this which name is app file. Something like Docker Compose. We define application here and we define the operational configurations like these. And then the system will translate this YAML file into open application model. Then generate the Kubernetes resources for you including deployment, service, ingress, control revision, certificate, key to scale the object because you define the auto-scaler here because you have a rod configured here. That's all. That's the Kubevilla. You can see here it's essentially upper layer or application essentially abstraction at top of Kubernetes. But what's more important is Kubevilla is highly extensible. It's not just a simply abstraction. It's a highly extensible abstraction. For example if I want to add a new feature like Canary Rollout in my system which can be provided by Flagger. The only thing I need to do is to install this trade definition which reference Canary Roll CRD from Flagger as a capability. That's all you need to do. And after you've done this you can just define the rollout section in app file directly after you have installed the trade definition. That's all. That's how you add a new capability even as complex as the rollout into your Kubevilla system. So this is Kubevilla project. So what's next? For the POTATATO application we really want to extend the same application to more complex user cases including multiple services in one application including staple workloads, database like that. And also to add more tools and user cases to run the application from the ecosystem like Chaos Engineering and other kind of application operation automation system. So this is the goal for this same application. And the next step for the application delivery is also exciting because we will go to the direction which show you the code instead of white paper. So we're trying to add more real world demonstration to answer the question that what the project can be used for as well as a series of technological blogs about the deep diving to the project how different companies are using that as well. And of course we are working on the CNCF radar which is for application delivery it's quite similar to the CNCF radar we have today but focus on application management. Okay, so if you're interested in all of these topics in this talk or in this roadmap feel free to join the meeting to join the community. We are looking forward to that. Okay, so we hope you have a great journey on the Kubevilla. Thank you very much.


Isolation and handling of microbial flora of fermented product aspergillus. Introduction Genus aspergillus mainly consists of different mould species that differ according to their availability in different climatic conditions. Most common fungus is aspergillus niger, which is basic contaminant of food. It causes diseases which is known as black mould disease mostly occurs in fruits and vegetables such as apricots, onions, etc. For isolation and handling of aspergillus, we used pearl millet as a fermented product for the preparation of pearl millet falling procedure is used. For preparation of pearl millet, purchase pearl millet from market in a sterile bottle washed with the help of distilled water and then dry under sun. After drying, prepare powdered pearl millet with the help of sterile blender. This is sterile distilled water of powdered pearl milk distilled water. Sit properly incubator for 7 days for fermentation. To fermentation dilution from fermented pearl millet for cereal dilution form fermented pearl millet solution and dilute it to 5 cereal dilutions. Coolation extract agar plate is prepared to minus 4 dilution. Inoculum onto the mild extract agar plate tightly over the surface of agar. Inoculum is fully absorbed on the surface of agar. Place the plate in incubator for 2-4 days for isolation of aspergillus nigel.


Hey guys, it's Liana and I'm here today to talk about Nocturna. I say talk, I mean rant and we all know that. So I'm guessing that my thumbnail made that very clear. I talked about in the chatty get ready with me video that came before this. I don't know if it was right before this, but whenever it came about the fact that I was listening to a book that I hate to and from work every day. And it was making my like first days at my new job awful because the commute is already longer and I was listening to a book that I hate and that book was Nocturna.  I, oh my God, this book is such yikes. Okay, this is I guess gonna be kind of a spoilery video, but this is the kind of like boilerplate fantasy where I don't really feel like you can really have spoilers for it because it's everything that you expect it to be except done badly. So there's nothing about it where it would have ruined the reading experience.  But there'd be no ruining of a surprise, I feel like because it doesn't have surprises. To me, largely spoilers are just things that are a surprise. So if it's not a surprise, then how is that a spoiler if that makes sense? Does that make sense? I think it makes sense. What's a good example of that? As I mean, like if you go into Hamlet, okay, I can't use Hamlet just in case you've never read Hamlet. Oh God. Okay, well, I feel like most people who will read or watch Romeo and Juliet, you know that the two are gonna die. In fact, it's been a while, but I think it might open by telling you that in the beginning. So it's not a spoiler to know that Romeo and Juliet die. So there isn't really any spoilers about Romeo and Juliet that are possible. It's about the journey. So to me, spoilers largely are just things that are a surprise or a mystery. And if it's not a surprise or a mystery, then it's just the journey.  I gave this one star. Lately I've been hating a lot of YA but I've been giving it kind of two stars. Like I gave Serpent of Dove two stars. I gave one of your deception two stars. I gave Sorcerer of Thorns two stars. This was one because this was just worse, so much worse. Oh, oh my God. I had a lot of road rage, but it was at the book. Really not at other drivers because I was like verbally yelling at the book in the car. And I'm sure drivers around me thought that I was yelling at them. So sorry, other drivers, if you're watching this video, I wasn't yelling at you, I was yelling at this book because it was awful. Oh my God, it was so bad. I almost stopped pulling it up. It's heavy and shiny. We've all seen the cover now. I went into it. I think I had heard someone mention it, but it was in the context of them saying that they didn't think this was true. As I honestly, I don't pay attention to book reviews. I don't pay attention to what the community is saying. Like unless it's something that I'm really, really interested in and really hyped and like wanting to know what everyone is saying. Like if there's advanced readers' copies out there for something I'm dying for, then I might be like, what are people saying? But it's very, like whenever I talk to friends about books, they're like, oh, well people have been saying that it's really good or people have been saying that it's really shit. And I'm like, who, what people? What are you talking about? I read the blurb and I read the book. That's about it. Someone was telling me that people have been comparing it to the Shades of Magic trilogy by V.E. Schwab. And they were saying not that they agree with that, but that this is a thing they have heard. So they had to inform me of it because I had not heard this and then tell me that they disagree, that they don't think it's like that. That like there are some elements that you could say are similar, but it's not really the blatant ripoff that people are saying it is. And yes, yes it is. I'm sorry, friend, but this is such a ripoff of Shades of Magic. Okay, so basically like if you read the Shades of Magic trilogy by V.E. Schwab, so picture that series and then think to yourself, what if it was Latinx and shitty? That's nocturna. Oh, oh, it's so bad. It's so bad. The only parts of it that were even remotely good are the parts that were a blatant ripoff from Shades of Magic. Schwab's magic system isn't maybe the most like ironclad, isn't necessarily always the most perfect up by biting by its rules and making sense, but it's still like decently constructed and you kind of, you feel like it has some stakes and some rules and you kind of jive with it in my experience. I think it was done pretty well. It doesn't, there's a lot of things that kind of like, you don't ask too many questions because then it might fall apart, but it works. Like I think she did a good job. I like it, but all that just like, it's not perfect even with Schwab, but like overall Schwab's told a story that's interesting, characters that are cool, a magic system that works. So the overall package, while there are imperfections, it works and it's enjoyable and it's immersive and it's good. Nocturna is none of those things. Oh, it was so bad. Even like, it was honestly nothing about it was Latinx inspired except for the fact that the magic words instead of like, again, if you read Schwab, Kel has to use magic words when he's using the magic and he can open, he's crossing between sort of parallel universes and he's passing through sort of doorways that he makes with magic and he has to use magic words like as Travars. Well, the main character Nocturna, his particular kind of magic allows him to open doorways, not to other universes, not to parallel universes, just other places, sort of like teleporting, but like through magic doorways with magic words. But yeah, so the magic words that he and other people use in this world are in Spanish, because they're not like inspired by they're like literally Spanish words. And then like the names of the people and the names of the places are Spanish-ish and it's kind of in the way that Serpent and Dove was French-ish, where they're randomly throwing in Spanish words, like while they're talking in English. And someone who commented on my Serpent and Dove video expressed like articulated something that I have felt for a long time, but I don't know exactly, like I don't think I've ever actually like put it into words and she put it into words and I was like, yes, that's exactly how I feel about it. So credit to you, commenter. When you're watching a movie or reading something where everyone's talking in English, but they are in Germany or they are in Russia or they are in wherever they are, the assumption is not that they're speaking in English because that would be so weird, it's just that they're speaking in English so that you understand it, but they are French or they are German. So if you pepper in suddenly German words that are not like the food they're eating or something like that or someone's, if it's food or people's names or place names, then those are just the names for these places and things like you wouldn't really translate that, like if that makes sense. So if you're in either fake or real Germany and everyone's speaking in English, but they're referring to, oh God, I don't know German food words. Wienerschnitzel. You don't have to translate Wienerschnitzel because that's just what the food is called. So stuff like that is fine, but if they're suddenly, if they're all speaking in English all the time, even though it's Germany, but all of a sudden a character says Scheiße, why would they? Because that's not English, that's German. So are you saying they're not speaking German? Are they all actually just speaking English? Like it doesn't, that's when it falls apart. Either they are all speaking English because this is like for our understanding, but they are speaking German. In which case, why are there, is that the moment where they're now speaking English and that's why it sounds like German to us now? You know what I mean? It doesn't make sense anymore. So in Nocturna, they're all speaking in English, but they do say Bentejo and I mean, it flew by so fast, but there was like a bunch of Spanish words like that, where it was just like in conversation, like you've outstayed your welcome muchacho, like stuff like that where it's like Spanglish. It was, yeah, it was just Spanglish. And so I kept thinking, because Spanglish makes sense why Spanglish exists because everyone is like from a Latin country, from like a Spanish speaking country and is in a place that is not. And so they are, it's like a pigeon that's formed because you're speaking English because you're in a English speaking place now, but you're bringing in some of the words that are from your native country or from where you came from or from what you speak at home. And that makes sense, but this isn't that. These aren't people that came from there. They're in there right now. So why are there randomly Spanish words mixed in to their English? They should just be speaking Spanish or speaking in English. Like, you know what I mean? So the fact that all their names like Prince Alferre and Luca and well, the girl was Finn, but yeah, a lot of the place names and the people names sounded kind of Spanish, which is fine. It's not fine anymore when, because then also that too, I was like, okay, so if we're gonna say that the magic language of the world is Spanish, okay? Like, I'll bite. So you're saying that in order to achieve magic, you must use magic words and magic words are Spanish. Great, all right, fine, I'm with you. But then why are there also randomly Spanish words in their speech? Are those magic words now? Is saying muchacho? Is saying Bentejo, is that magic now? Cause it's in Spanish? Why is it here? I have no objection whatsoever to all that next inspired world. I had the same issue with Serpent and Dub, which was a French inspired world. It doesn't make sense, which times you're like, you can't just throw it in without a reason. That's the problem. You have to have a reason. So that annoyed me throughout. And there was just like, again, that like sort of heavy handed random, like when they're trying to think of a color, cause Prince Alfie or Alfie can see people's magic. That's part of his magic is to be able to see the color of other people's magic. And he observes that Finn's magic is red. It's a deep red, like sangria.  So if we were trying to enforce how dark and deep the red is, actual normal red wine would be redder than sangria. But he said sangria because then that's left next. And it was annoying. Oh really? Is it like sangria? So again, more of that just like generally like, the world does not make sense. But so it is like shades of magic because again, you use magic words to do magic things and the Prince unleashes kind of this darkness that has this, it's kind of sentient, but kind of not. I just kind of pictured it as venom, which made it a little more enjoyable. And his reasons for unleashing it, I, this is like fairly early on in the book, it's like probably a third of the way through. Cause like that's what unleashes the big bad. And that's what the rest of the book is about is them fighting the big bad. This isn't a situation where he was naively tricked. This isn't a situation where something was out of his control and therefore here's the big bad. It is 100% Alfie's fault that everything that happens happens. And he spends the rest of the book feeling guilty and like suddenly like having worrying about what might be the greater good. And he actually has the nerve to get annoyed with the girl for not making selfless decisions. And then being like, well, what else should I expect from her? She's just a thief. Why would I expect her to be selfless?   Like this is 100% your fault, 100%. I don't know why the author would choose to do that because you can read it any how, any kind of way you want. So it's not like, well, Alfie had to make decisions for this to happen. No, you could have written it where the magic tricked him. You could have written it where he was led to believe that things would be fine. And then he was fooled. And like his, it's his fault because he was naive, not his fault because he knowingly unleashed this and decided, yeah, that's worth it.  Like it's his completely his fault. And it's not his fault in terms of like, and this isn't like a Pippin moment in Lord of the Rings where yes, it is Pippin's fault in the minds of Moria that he's knocked over the like armor that goes clinging clattering and wakes up all of the orcs that now come and attack them. Like, I don't, Pippin doesn't deserve to die for that. He bumped into a thing and it fell and it was like, oh fuck. The equivalent in Nocturna is Prince Alfair looking over to that armor and that well and being like, what if I just pushed it over? Let's do that. And then being like, oh no, what have I brought upon these people?  Why? Why is it written like this? Oh, no sympathy, none. And then the girl character who is Delilah Bard, like 100%, she's Delilah Bard. She doesn't actually make sense though. Like I apologize to Delilah Bard for making that comparison because Delilah is a thief with dubious morals with selfish motivations that she does a lot of things that you're like, oh, that's quite ruthless. It's quite cutthroat, but she's a thief. So she should do stuff like that. If you're gonna write a character, that's a thief, that's a murderer, that's an assassin. Oh my God, I don't even get me started on that. There, I get so annoyed with especially YA because that's really only YA that I see that where you wanna have like able to have the cool thing of the character is a thief, is an assassin, is something cool like that.  And this is why for the one millionth and one month, for the one millionth and first time, I'm gonna bring up Leigh Bardugo. You're welcome. Because Leigh Bardugo in the Sixth of Crows duology, she wrote Kaz Brecker to have horrible and ruthless and terrifying reputation that he earned. And the reader still loved it, but Kaz Brecker wouldn't work. Kaz Brecker would not be a fan favorite. Kaz Brecker wouldn't make sense. He wouldn't be worthy of the readers and the other characters' respect if he was just like secretly good all the time and it was all just like, you know, he's supposedly scary, but he's never actually done a bad thing in his life. He does bad things all the time and he's very practical about it.   But he is willing to do the horrible, ruthless thing if it's called for, if it's needed, if there's no other way he'll do it. He doesn't always prefer to do it and it's also effort.  But the fact that he has this evil, dark reputation is earned and it's seen by the reader. It's like on screen.  Like, no. This is one of my biggest problems. And why I, well, there's many reasons but why I couldn't stand and had no use for the tone of glass series by Sarah Chimas because that's what she did with Selena that she was, you know, Adderland's greatest assassin except she'd never did any assassinating. I was like, you can't have it like this.  You can't say that she is the most fearsome, the most best, the most terrifying and cutthroat assassin. But on screen, she's always evading killing and avoiding hurting people and finding a reason not to kill people. I'm like, you can't have it both ways. You just can't. So don't write a character that's an assassin if you're not willing to make them be an assassin. Don't do it. So in Nocturna, all of this to say, Delilah Bard's our Finn, she's a thief. And when you first meet her, she's a thief. And throughout the book, they keep talking about how she's a thief and the prince keeps saying, well, what more did he expect from a thief? Like so much lip service is paid to this. But in terms of what she does, like one of the first things that you see her do is is idiotic and also not in line with the selfish me first attitude that she supposedly got that she's supposed to have. I mean, in the shades of magic trilogy, Delilah Bard does things where you're like, yikes, that was ruthless and selfish. And then when you write it like that, you do, I guess, risk the fact that your readership is not going to support your character anymore because they're like, that's too far. She's not a good person, but she didn't claim to be. And if you're gonna write a character like that, and they need to be that way, because at least if you've written a thief, then make them be a thief. And you let them lose the reader's love for being what they claim to be, not lose the reader's respect for the fact that you've claimed they are one thing and they aren't actually that thing. So in Nocturna, when she first meets Prince Alfair, they're both at this high stakes card game where the prize to be won are these books of magic that they both want. They've never, they don't know they're both there. And everyone at this game is wearing masks to hide their identity. And her magic, just to her own actual magic is that she can change her face. So she's already changed her face into someone else and then worn this mask to go and go to this card game to get these books. And Alfie's also there in a mask and no one knows he's a prince. And so she cheats and she gets the books after the card. Like she wins, wins, but cheats and gets the books. And so when they're leaving, they have this altercation outside of the card game because he really wants the books and he's gonna fight her for them. And she agrees to this for some reason instead of just like leaving could be, she got what she came for.  And it's like another one of those like, wow, she's so powerful because wow. But so they've been fighting with the masks on and she finally, she cheats again and she, she bests him and now he's lying unconscious and she gets the books. But she's looking at him lying there and she's wondering who he is under the mask. It might be good to know that, but instead of doing the smart thing, doing the practical thing, doing the thing that you'd expect a thief to do, instead of taking his mask off to see who he is underneath, she, her internal monologue is that, but she, you know, more than anyone knows the value of, you know, protecting your identity.  So who is she to take that away from him? Who is she to take away his privacy and like to like snoop into his identity? So she leaves his mask on him and leaves. And I was just like from, that was pretty early on in the book and from I was already annoyed. And I was like, I'm not sure I'm gonna like this a lot. And then when that happened, I was just like, what the fuck? That doesn't make any kind of sense, like none.    Like runs away before she has a chance to take his mask off. You could do that and then still preserve the mystery of his identity, but to have her actively choose to not see who he is, when it helps her in no way, she has no loyalty to him. She doesn't know who he, I mean, she does not know who he is. So like, why? Like, why would she put his desire for privacy over her own needs to probably know who this person is who attacked her who seemed really good at magic? That's a terrible, terrible decision. And Kaz would never do that. And the line of art would never do that. Yeah.  And then Alfie is the one that like intentionally unleashes darkness because like his friend is in danger and this dark evil magic that's very obviously dark and evil. Like it's not pretending to be something nice. It's like, well, okay, well then we'll save your friend if you unleash us. Like if you let us set this magic free, then we'll protect, when then your friend will be fine. That's the deal.  And then after he does it, he's like, oh no, what have I done? I have no sympathy for that. The magic was like pretty straightforward. The magic wasn't like, oh, make all your dreams come true. If you set us free, we'll be your friend. We'll help you. The magic is like, we're evil.  So set us free. And like the magic laughs at him. And it's like, we can't believe how easy it was to get you to set us free. Like all it took was your friend being in danger. And he's like sad. And I guess you're supposed to find that sympathetic his loyalty to his friend. But you're like, you're supposed to be like next in line to the throne. Like so much yikes. So much yikes. And then later when you find out why his friend was even in danger in the first place, like why that situation was the case, why his friend needed saving. Cause you do find that out.   And then the villain who's not like the human side to the villain is someone from Finth past who then the magic inhabits kind of like venom. I know he's, there's something that could be menacing about that because he's like somebody that like controlled her from childhood with his magic and made her, he like had control over every part of her life and never wanted her to form attachments with anyone else. He's really possessive of her. So yeah, that's scary and that's villainous. But the way it's executed here is so cartoonish and it doesn't actually make sense. And that's the biggest problem with it is that there are people like that in this world that'll do that that are controlling and manipulative and selfish and they're gonna smother you and try to hold you close and try to make sure you don't actually connect with other people. Like that's a real thing. But the way that the narrative kind of explains his motivations for this and the way he's done to achieve it and the way that he reacts to her, it doesn't actually ring true to how people like that would be if that was really their MO or their motivation or it just doesn't, I'm just like, this just doesn't work like that. Like the way he's acting like is how, I guess someone would imagine that, you know what I mean? It doesn't sound like the actual motivations of a person who would be behaving this way. It just is there to be a villain. The things he says, when you write, you have to place yourself in the shoes of every character that you're writing so that you can write believable dialogue and motivations for them. But this is all told, like you've only ever been in the shoes of the main heroes and you've written the villains dialogue based on what you think your character will find the most scary, not based on what that character would be the most likely to say. And that's why it doesn't work because that's not how things work. You have to think in the back of your mind what situations you can construct and what of the things he might say would be the most scary to your audience or to your main character, your hero. So you still have to come from the villain's perspective and think what is he trying to do here? What's he trying to achieve and what is he likely to say? What would he feel the need to say? And there's not gonna be just one answer to that. There's gonna be a few and from those, which is the one that's most likely to be unsettling to or misleading to or upsetting to the person hearing it. And this isn't written that way. It's just written as my hero. They're gonna be the most upset to hear this right now. So I'm just gonna have my villain say that. Even if it doesn't really make sense for them to say it or feel it or doesn't really make them seem like a fully fleshed out character. So it's just, it's not villainous anymore because I can't really believe in this villain being real because it wouldn't talk like that. He wouldn't say that. He wouldn't do that. Oh God, it was such a mess. I hated it so much. And also it was just badly written. Like the prose was bad. There were several instances where I wasn't, I mean, I was listening to it so I couldn't stop to like highlight it or look it up because I was driving. But there were several instances where I thought to myself, I'm not 100% sure that sentence was straight up wrong. At best it was clumsy and it might have been wrong. It was one that I like, I said to myself because I was gonna try to remember it for when I was doing this because I was barely into it and I was like, this will be around. It's gonna be around. But there's a, there's a moment where she says, it's something to do with something falling apart. And she says piece by piece that something was falling away. But the way that it was, it was constructed, like you can't use the phrase piece by piece the way it was used there. Like it didn't make sense. It didn't, that's not how that phrase is used. It's really bothering me. I'm gonna see if I can Google that quote. It wasn't a very good quotable quote, but you never know. I might be on Goodreads and then I can read to you. Okay, well, there's like very few quotes highlighted from this book like at all for people like in general. So obviously no one has highlighted it because it was bad. But anyway, it was just badly written. So yeah, I guess a lot of, if a story is weak with weak characters and weak role-building and a weak magic system, but it's written like gorgeously, like the prose is just so poetic. This book was like completely flat and basic prose. And then once in a while, it was clearly author had come up with what she thought was kind of a poetic way of expressing something. And she'd shove it in where once again, I didn't fit. It wasn't like all these characters were constantly talking in elaborate metaphors, but they'd be talking in the most basic, modern sounding dialogue with the occasional like spanglish thrown in. And out of nowhere, they would throw in some like elaborate metaphor for something that was like so glaringly like place there because the author was like, oh, I could describe it like this. Is that not like filled with imagery? And like it's not, it's really not. It's just elaborate and not good. And out of place. And even if it wasn't in place, it wasn't that good a metaphor. And it was clearly there because the author was like, I'm gonna, that's a good one, but that went in. And when I'm thinking about that and so does the story, you have a problem. Okay, well, I just flipped to a random page and I found an example of like a sentence where I was like, I don't think you can say it like that. He could sense the currents of air, individual threads of winds that moved in their own right. He could smell the fresh coat of paint swathed on a hacienda miles away deep in the city. I don't think paint can be swathed on a hacienda. Like something can be swathed in and it's usually cloth. You know what I'm saying? Like a sentence like that where I was just like, annoyed was one because it's a hacienda. And I was like, oh, there's another random Spanish word and the use of swathed. I was like, I don't, I don't think so. Don't think that's how that word works.  It was, it was truly, truly terrible and so deeply frustrating.  Like the major ones were the like mask thing and unleashing of the dark magic, but throughout all their decisions were dumb and bad. Like after they've unleashed terrible magic, they're worried about getting in trouble more than they are worried about warning all of humanity that they've unleashed the apocalypse. One of them wants to go and tell a person that like probably knows more about the situation than they do and might be able to help them. But they're like, no, we can't tell her, don't tell her, we're gonna fix this on our own.  The time for that is over and we need to like actually solve this. But no, there's like, oh my God. Okay, thought I was done ranting, but there's like a heist plot because they have to go get somebody else so they can do the thing so that they can fix the thing. And it's just like really convoluted. But he's the prince and they're breaking into the prison of like his own kingdom. And he has to like disguise his identity to break in and like break out this prisoner that they think that can help them with this like apocalypse they have unleashed. And they're like so worried about getting caught.  He could just walk over and be like, I'm the prince. Step aside, I'm coming in here. You know what I mean? Like it just doesn't ring true. Like why is the prince having to do that? It doesn't make any sense. How is there a heist when he is like part of the ruling family? You could still have it because I mean there's still, if he's trying to avoid his family or anyone finding out what he's up to, there might be some trickery involved with that. But having a heist to break into your own prison just doesn't make sense. It doesn't. You can't write it like that. Again, if it was finding a way to get in and out without your family finding out or like keeping the guards quiet about it or something like that. Or if it was somebody else's prison and not his own families. I know there's a heist to break into his own prison. So I don't really know exactly what the structure here is for the nonarchy which hasn't really gotten into it all of course because it's like this really flat shallow YA. So there's really no sense for like how the governing body operates, what the rights of the people are, how decisions are made. It's just like he's the prince and the good of the people and whatever. That book was awful. Don't read it.  Let me know in the comments down below if you've read it, what you thought of it. If you didn't read it and now want to. Let me know all the things. I post videos on Saturdays, sometimes Wednesdays so like and subscribe and I'll see you when I see you. Bye.


Okay thank you for joining the average golfer here at Heswell Golf Club. I'm out on the course, the sun is shining, yes it's a little bit chilly but it's a gorgeous day for playing golf and I'm out on course with the P760 irons, the forged iron that at least inside dry ball data I thought was absolutely superb, great feel, classic classic blade but I thought it was gonna it was classic blade but playable and it's what it's a club that I love the look of but I want to see how I can do out on the course with it so I'm gonna play a few shots I've got four iron seven iron pitching wedge I'm gonna have two holes to warm up I'm going on to the back nine it's still busy it's always busy at Heswell Golf Club even on a Thursday morning but I'm going to get get a few holes warmed up and then I will start it's a few few four irons few seven irons a few wedges into grease and I'll give you my feedback about these things perform in the hands of the average golfer in reality out here on the golf course. Okay so from testing seven iron was around sort of the 150 mark for me so much more this is don't forget much more down this sort of traditional loft route I think this from memory was 34 degrees so like I said traditional lofts and I'm gonna play this this is 155 to the pin slightly downwind over water and we'll see how this thing performs in like I said a difficult situation you want to make sure your numbers are right for this type of shot like I said anything short anything miss hit is gonna be straight into that pond. We should pick that one up off the off the other camera that we've got switched on here this morning but the interesting thing for me was plenty of yardage in terms of carry and I think about bang on I pulled it down the left-hand side I would say 155 was bang on in terms of the yardage in distance but it's a few more shots and see how true it sticks to its dispersion let's say in terms of yardage that we found from the dry ball data. Now arguably one of the reasons why average golfers don't use blades is really because of the longer irons and as soon as I think we can all we all use wedges in there that are very sort of blade like and we're fairly comfortable with it and even in the shorter irons it's fairly comfortable. So I'm gonna play next a four iron off the tee and when the blade starts to get that little bit small and compact that's when we start to get perhaps just a little bit nervous so this shot that I'm gonna play now like I said would there be one that I'd be skeptical about being able to it's a decent shot with confidence from a tee box so let's see how we get on. Just want to talk about the three shots that you see me just hit there from just short of the bunk they were they were the seven iron and I feel really comfortable with the seven iron and I would imagine anything else got seven iron and pitching wedge and anything between those two I'd be more than comfortable with and the interesting thing is that the three shots that I hit the first one was a little bit heavier than the second two the second two being much better strikes and that feedback came right back into my hands I knew that without seeing where the balls would landed and that's what you get I think from Forge clubs precision made Forge clubs give you a real understanding of how you fit the ball how you're swinging a club and sometimes like I said the chunkier things they just give you a feeling yet slightly getting away with stuff and there's nothing wrong with that and that's the thing is that but look where these these landed where are we now there's a you just sit down that's the ball that I got a little bit heavy and then them two there are literally a foot apart from pretty much identical strikes and the problem you've got is like I said from seven iron down to pitching wedge absolutely really comfortable the four iron eight off the tee not so comfortable and that's the difference with these clubs they separate the men from the boys and unfortunately I know which category I'd fall into right so I've run out of memory card out there on the course we'll finish this one off at very very briefly here at two upload towers and give you my overall assessments and it'll be very brief I think you get the idea I really like them I love the feel of them I love the size of them I love I like the look of them as well throw that one in because a bit of criticism for the way they look but no issues with them to be honest with you but I'm put on a personal level these are the kind of golf clubs that I love to play but I love to play when I'm playing well I come from MP5s two years ago I haven't used them for many years and this again is small and compact I think it's a little bit more forgiving than blades of all I think that's one thing that's improved massively but the bottom line is you still have to be trying to find that sweet spot maybe just need a more consistent strike pattern than one you get as an average golfer and that's certainly the case in the longer irons like I said from seven iron through to pitching wedge and no problem whatsoever and honestly I just find it's such a pure feeling when you get a ball out the middle of one of these clubs the feeling is is one of the nicest things in golf when you strike a pure iron a pure forged iron and that's exactly what these are from the like when I move into the four iron I couple shots off the tee there which were okay a little bit thin they weren't bang out the middle and they were they were okay certainly yardages then starting to drop off through not finding the center spots so like I said source out the men from the boys and I think unfortunately I'm slowly falling into the category of needing a bit more of us a bit more assistance and not quite good enough I don't think to use these things consistently so yeah if you like the forge if you've got that capability there and that's the market that the range as well let's not forget and then give them a try because they're a super super and they're pure in terms of the sense of the that forge feeling absolutely fantastic anyway that's it review done I will show up and I'll see you soon


So a popular question here, which is what is my advice about list building from ground zero, maybe like three steps. So to first clarify what what list building means, people typically basically mean how do I grow my audience from from zero and list building means people are thinking about growing their email list subscribers to their email newsletter from zero. So, I think there's a couple of clarifications one is that I look at this building more holistically, because in in our world today, people consume your message and your content, not just via email, obviously. Right so they might be doing it, they might be an Instagram, you know surfing Instagram or they might be watching videos on YouTube or they might really enjoy listening to podcasts. So my question to you is, first, have you surveyed your ideal audience, how they consume content that would be really be my first step, and then just be so fixated on building an email list which we'll talk about briefly as well. Wherever your audience likes to consume content. You know, you might want to think about showing up there to because for example, this is my example. I am much likely you're much more likely to catch my attention on a podcast than just about anywhere else. Maybe maybe on, maybe on YouTube as well. But for that's that's my example, but for many others, they're much more likely catching on on Instagram. I, I never open my email newsletters. See, that says like if I join your email list, you'll never, I'll never open yours probably because I just archived everything like that's like end of the day I don't want to read newsletters but I'm on walking the dog I love to listen to something or watch it, watch a YouTube when I'm walking the dog. So that's an example where it's like list building needs to be thought of more holistically. But secondly, it's a George or just just give me the straight answer about how do I get more subscribers on my email list.  So first of all, the people who are using opt-in bribes to grow an email newsletter in my opinion are growing a bad in growing a suboptimal email newsletter that your deliverability down over time.  Maybe there's a pop up maybe there isn't but it's like, you know, sign up put your email address here to receive my wonderful video series or my special report or I don't think people say that anymore right, the special report used to be so big in the 90s and the 2000s, or to get some other amazing thing by putting your email address in. And by the way I'm going to add you to my ongoing email newsletter might be a checkbox or some other like small, you know, small permission thing. And that's how a lot of people grow their email list just by using an opt-in bribe is what I call it. And that's what they call it. And so think about the psychology of this.  Okay, so I put my email address in. I'm thinking about all the ongoing emails you're going to be sending me am I am I looking forward to that. Maybe maybe not. So what I do on my email on my website as you'll notice, is that when you go to my website. First of all, there's no pop up. Okay. And second of all, am I want am I trying to get you do you see anywhere to put your email address in. No, what am I trying to get you to do. I'm trying to get you to feel my energy. Number one. Okay, I don't know you I didn't I didn't share my computer sound so you couldn't hear me talking on my video. I'm getting you to feel my energy to see if we match energetically. And secondly, I'm getting you to say, why don't you just take my best stuff, my best free stuff, and hopefully you can, you can benefit from it, like read my best article. I'd rather you do that. And hopefully watch my watch my video. If you can, but you see what so, and then, if you if you really into that stuff you're like wow this is really good stuff, you're naturally probably going to say well, oh he has a newsletter, you click here. And then now you are I even give you a archive of newsletter so you want to see what the sample that you're going to be getting. And now you can and I ask you a bunch of questions this is a no no for most marketers know George. Don't don't ask for anything other than email address, you're going to get fewer opt-ins, you're asking them for their name, and how they discovered you and even asking them what frequency that's crazy. But what's not crazy is my open rates are not crazy right or sorry my open rates are crazy because they are 33 to 39% open rate on a newsletter with 4000 subscribers. Right 4000 I used to have 15,000 subscribers I actually remove most of them because I built most of my was 1313,000 actually was when I removed them. I built my 13,000 email list by using opt-in bribes, and I might have my delivery but my open rate was like 15% or 12% and was kept going down over the year over years like oh my gosh because anyway so that's now you understand my logic for it so so again you see how hard for me to answer the question how the hell do you build an email list. Okay so so fine George I'm going to do, I'm going to think more holistically fine I'm going to think about maybe not having an opt-in bribe and having more thoughtful email joining. But still how the hell do I build my email list, here's how you do it. You provide content that people actually would say oh I can't miss this stuff this stuff is so good. You see what I mean, if you put stuff out there that's so good well how do you create such good content by using this, all of you, all of you who are watching that you can create content that people say are so good why do I do that. Go through the three stages of content. Google it three stages of content creation, if you work yourself way through the three stages of content you are going to by default create content that's so good because you have that practice. It's so good that people say well I have to join this, this person's email list. That's what they're going to say. This is why like I showed you earlier. I didn't actually join this stuff, my email list because when they first come to my website, they are probably reading stuff or watching stuff they're like well I got to join this guy's thing. Right. So, number one. Okay, long story short, you build an email list by creating great content and distributing your great content, probably using ads or using collaborations for others to promote your content. Number three, you can of course, occasionally, wherever you are sharing your content you occasionally let people know that you have an email newsletter.  Did you know I have an email newsletter where I share my best stuff, best free stuff, you might want to know that so that that's that's one way of growing it. That's the fourth way is a little bit going rogue, especially for GDPR rules. So for those of you in Europe tread lightly on this, but what I do is I automatically add my course buyers to my monthly email newsletter. I automatically do it. I actually automatically add my course buyers all of you here who bought the planning course to my monthly content newsletter and my, my launch newsletter which is I send like two or three emails per month specifically saying hey here's my upcoming course. That's my launch newsletter and then I have my content newsletter which I send once a month. I have two versions I have the once a month and then once a week anyway, I don't want to complicate it basically the key is if you if you want to be a GDPR outlaw like me, then you can automatically add your buyers, your clients your customers to your monthly newsletter this is the key. You don't add them to something automatically where you're going to start receiving a bunch of emails from you that they didn't expect. I only receive my monthly content newsletter and twice a month I say hey here's my upcoming course. People don't seem to mind being added to that either. Of course I usually get some unsubscribes but no, a very reasonable rate of unsubscribes that is very industry standard, or even lower than industry standard so so it's things seem to be working well with my email so therefore I have an email newsletter that has higher that has okay industry standard open rates are about 20 to 25%. Let me say that again, most of my peers are getting between 20 to 25% email open rates. I get 33 to 39%. So what I'm doing seems to be working and people share my newsletter and things like that too so anyway I hope this is helpful.


The six magical skills everybody has to learn to making money. Ironically, 99% of people don't know one of the six magical things. The king's skill is sales. Making money, the most correlated behavior. If you look at the Forbes list, 75% of self-made billionaires did it through direct sales, was one of their first jobs. Elon Musk had it, Bill Gates had it, Steve Jobs had it.  So sales is the king, the queen is market. Then below that you have the two princes. Prince number one is you learn how to resell other people's products. That's what Apple does. Every time you buy something on the app store, they get 30%. This is the most profitable part. Number two is digital products. Elon Musk started with digital products, PayPal, Zuckerberg, richest young guy ever in modern history. It's all a digital product, Facebook. Then you have the, I call them the princess skills. The other two ways to make money, which is physical products, that's what Jeff Bezos did. And then lastly, his business services, like an SMMA, social media marketing, or software as a service.


Exhibit A, two windowsills. This is what I've done. I've put these fairy lights away from there. I'm going to cover up what's dangling down because I'm going to head back to mine to get some of it. I'm going to start on the wall. The fairy lights are off, I just turned them off. But just because I finally done it. Ooh, it's been a few hours since I held this. As you can tell, we have the lighting up. We've made the start on that wall. We've put lights around the mirror because that's on the floor. We have fairy lights around there. We have an LED strip. Not much problem we've done much, but we have. We've done a lot, but we've not much to show for it. We're going to be doing much more. And today, look at Christianne. There's too light outside now. We're going to use a new window tomorrow. Oh, that's awesome. I don't know what you can do today, but also. You saw the fairy lights. It'll be a proper room and flat tour. I'm just looking around the car. I've got evidence. Afternoon, everybody. I would say good morning, but it's not morning. Day three. I actually want to see how much I pay for this. If anyone ever wants me to be friends, just provide this and I'm down. I am. Oh, my Christ. What about for you? That's gone. Yeah, not sponsored, sorry. I'm not being paid for this. What we do? Oh, sorry, so we're cleaning the carpet. I say we. Well, I'm cleaning the carpet. Yeah. I'm on tango and prayer, right? Lydia's on tango and prayer, right?  I'm wearing my garments. All right. Yeah, so I'm just going to just clean the carpet with this finish. What's going on in here? Beppo's got my tears. I didn't want to film a video. There's like, no, it's a really film, so I'm going to have to just stand up and film, which is weird for me. This is like, actually weird for me. So, so, so, so today I wanted to set up for my video. Initially, I was going to sit and talk about my entire childhood, but I kind of can't sit on the bed to film because we're cleaning it. And it's just a bit freaky. So this is for the vlog because I can't even sit and film because I can't tidy up because it's everywhere, you know? But yeah, I can't put my medication stuff on my next vlog on my medication box.


What's up, everyone? My name is Alex. I'm one of the co-founders of MyInvestingClub.com and I want to let you guys know about something special we're doing for our viewers on YouTube. So the most common question we get asked is, you know, how do I start day trading? So what me and my mentor about it is we create a free two-hour mentorship course for the brand new trader. It's going to be available at MyInvestingClub.co. The link is going to be right here. This is a free webinar that reveals our 12 secrets that every single brand new day trader should know before they start. I also want to let you guys know about something that's very unique to MIC. So if you have any questions about trading or you're curious about trading or you don't know if MIC is the right fit for you, now you can text our head mentor, Tosh, whose number is going to be right here and he'll answer all the questions that you have in less than 24 hours. Thank you and enjoy the video. What's up, guys? It's Harry Haas here. And today I'm going to be doing a kind of special video on volume analysis tips and tricks. This is probably the most requested topic that I've got in the last month or so. So I just kind of went ahead and did it. I know that Joe has a video on this. Austin also has a webinar on this type of stuff. So you can go ahead and check their videos out as well if you have any more questions after this one. And as always, you can always message me in chat. I'm not a financial advisor. This is not investment advice, even if it seems like it purely for educational entertainment purposes. So without further ado, let's get into this video. So basically for this video, I kind of broke it up into different types of volume that I look for, different types of setups, different types of plays that I look for, and how you can kind of use volume as a clue. And I think the main thing that I want you to take away out of this video is that none of this stuff is the holy grail. It's all kind of used as an indicator in conjunction with the lines and conjunction with the type of float in conjunction with how the stock is trading, the setup. So it's just kind of a mixture of psychology, the setup where people are trapped, kind of stuff like that. So for fader volume, it's kind of the stock is feeling heavy. Every pop, you know, they're selling it to every pop. It's making new lows. It's doing big but decreasing volume. We're getting that kind of weak feeling. We get a slam candle usually under deathline. Longs are trapped on the stock. So I've already kind of made a video on the faders that I like to avoid why I avoid them. But I just thought that I would kind of just include this. So I do have this in the video. You can check out my other video as well. So this one, MEIP, this is one from this week where we had the stock pop and just immediately we got this kind of this fade. It ended up testing three again. That three line was kind of like a major story throughout the the morning. And we ended up getting this fade. And a little bit of kind of things you can take out of this is that we do this. We do get this kind of initial pop. Obviously everyone who bought here and didn't sell into these pops is stuck. And we kind of got this fade and so on. But you can also notice from the volume down below how we are doing big volume, but the volume is consistently fading. And the volume is really reflecting the price action here. And this kind of 2.8 line was really key. And after it broke the kind of death line, yes, we did get a pop above it. But that pretty much tells me that the stock is weak. So this is not something that I'd really want to be trying to play, you know, down here or over here. Because we noticed that consistently throughout the day, although we do get a little bit of kind of stuff move action into three. We do, for the most part, just kind of get a fade. And so basically what you can take out of this is that just we have, we have decreasing volume. We have fading volume. And the times where we are getting a lot of kind of volume, we're getting a stuff move and it's going back to normal. So that's just some things I wanted to take out of this one. This one as well. This one's kind of a little bit of a true kind of fader volume where we get that push and then just we get this immediate fade all day. You notice the volume is decreasing and the volume decrease is also reflected in the price. And I think that's very important is that this type of decreasing volume is the price is really reflecting the volume. And the volume and price are going hand in hand and stuff like this. And that's kind of what I look for. If the stock is fading, you know, and I see this type of price action, I probably won't touch it and I'll be looking for another hot chick, another hot play, something else, rather than trying to be in stocks that are fading. But I'm just kind of using this as an indicator. So if you were trying to get long at seven, let's say, and hoping for about maybe to eight or 7.5, you'd say to yourself, well, by the time I reach seven, I'm noticing that the volume is fading and so is the price. So maybe I want to either use smaller size or be cautious. And that's just something that I wanted to point out. This one, CAPR, another one. I already have videos on all this type of stocks to avoid and stuff like that. So this should be no surprise that this is a stock that I'm kind of looking to avoid. We noticed that, you know, dried up volume, a liquid and the stock is also fading, not much going on here. I will get into kind of the zombie volume that I look for later. But I mean, basically we get this stock that pops and just kind of falls.  We're seeing that the price is reflected in the volume, volume reflected in the price and we're just getting this fade. So this is probably what the video is going to be more focused on is the consolidation squeeze volume. And this is basically when a stock is kind of consolidating near its pre-market support, where it should have broken down, where the volume is drying up, but it's still holding. It's an easy way to kind of trap shorts because what people are thinking is that is stuff like this, where, wow, it's lower volume. So that means if we're not getting low volume, that the price has to drop. If there's no volume, then that means the price has to drop and people start to get comfortable in these ranges long or short because it's giving you and it's allowing you more times to make decisions. Whereas if it's a very fast moving stock, you have a lot less time to make decisions and people are more emotional, kind of the more volume that is traded. So basically it's just they kind of drop the volume off. So people are thinking, you know, it must drop. The stock is usually trading in a smaller range or a tighter spread. And you know, the stocks usually have a fast crack so it doesn't give shorts a great opportunity to get in at a good average. And they usually have a fast crack, but they're not really under the death line yet.  I think this is a very kind of discretionary decision, but they need to be still alive enough to be tradable. And what you kind of need to be thinking is where are the shorts feeling safe? Where are the shorts afraid? Where are the majority of short sellers short? You need to be asking yourself this question as a long trader. It's really important that you're always kind of thinking, where's the other side going to be? You know, those are questions that I'm always asking in my head. Are long strapped or short strapped? Is it under death line? I'm asking myself all these questions. So when they do kind of dry the volume up, it gives them a little bit of a chance to manipulate because what they do basically, what I've found is that, you know, they'll kind of cut the volume off a little bit. People are expecting it to drop and then we kind of get that boom, like it's surprise and we end up getting that squeeze. So it kind of gives you an opportunity to just kind of think about it. So this one, PSTI, these are all kind of recent ones that I've seen. Where basically the difference between this stuff and the fader volume and the fader patterns, which I'll get into as well, is that after this slam, there are a lot of short sellers that are thinking, well, after this slam, it has to be done. But it gives longs kind of a good opportunity and a good chance to be able to get long and kind of capture a move like this. And the clues that you can kind of use in a stock like this along with the volume is that we kind of price and volume go hand in hand. So we're going to be trying to use the volume and we're going to be trying to use the price together. So what we see here is that obviously we get this low after this kind of bigger death candle. We get this pop, which is natural after a kind of a stock makes a move like this. So we get this kind of low in this pop and then we get kind of another type of like kind of low, but it fails to break down again. And in this case, it's like, okay, well, maybe it'll break down, but then we kind of get this other one. So we're noticing that obviously the lows are getting higher and the highs are kind of getting lower. So people are kind of thinking to themselves, well, this stock should break down. I mean, it's done this massive candle. There's no way that this could even squeeze or give us like a 50 cent move to the upside. There's just no way is what kind of people are thinking. But we noticed down here that the volume is decreasing, but the stock's kind of trending higher. And that's a clue that I kind of use is that, okay, we're getting less volume, so it's easy to get this kind of manipulation like down here kind of says to like, I'm kind of thinking to myself in my mind, like, okay, like if we're getting a lower volume, shouldn't the price be going lower? And that's a time where kind of the volume is kind of telling you like, okay, we're grinding higher, we're doing a little bit, a little bit lower volume. We know that it's easier to manipulate when the stock is doing a little bit lower volume and we get this type of candle. So that's kind of a clue. We also know that if you're a short seller, you're probably short from this area. You're probably a little bit more comfortable because you're saying to yourself, wow, the volume is kind of drying up down here. I'm not saying that every time you see this type of, this type of action is gonna work. Like obviously it needs to be used in conjunction with the lines, with the price action. And it's really kind of a case-by-case basis. But I'm just gonna be going over some of these types of traps when they do use the lower volume and when they do kind of squeeze. So it's really interesting to kind of note that we notice that the volume has kind of dried up. I mean, this is the lowest volume that it's done in this kind of half hour period and we get this manipulation type of squeeze right afterward. So it's just something to be aware of. So anyway, that brings me to the end of the video. I'm available anytime to message. I do a lot of calls. I talk to a lot of shorts. I talk to a lot of longs. Just really about anything to be honest. So I'm always available if you have any questions. And yeah, thanks a lot for watching. Thank you so much for watching our video. If you wanna see more of our videos, please subscribe to our YouTube channel by clicking the button here. We do our best to post a new video every single day. If you have any questions about MIC or any general trading questions, please text Tosh using the number here. Also stay up to date by watching some of our most recent videos right over here.


Last time on our template mini-series, we discussed creating a template and getting it to work in Visual Studio. Now we're going to talk about how you can continue expanding on that by adding parameters. So learn more on this episode of Visual Studio Toolbox. Hey everybody, welcome back to another episode of Visual Studio Toolbox. I'm your host Leslie Richardson and I'm joined once again by senior PM Syed Hashimi. Welcome back. Hello. Great to be here. Thank you. Yeah. Long time to see. So in the last episode, we talked about creating a template and then getting it to work within Visual Studio. So what are we going to talk about today? Yeah, that's right. So today, we're going to talk about how can I take an existing template and add one or two parameters to that, and then we'll see how that works in Visual Studio as well. All right. Well, I'd love to just dive right in, because I'm sure everyone wants templates that go beyond just the hello world type setup, right? There's no doubt about it. All right. So let's go ahead and jump right into it here. So I've got my GitHub open here and a reminder for how to get to this repository is aka.ms-netcore-templates. We basically just show what we're going to do here. So let me go into the my command here, and inside the template.json file is where we're going to start adding these parameters. So everything that I'm going to do here today is basically just right here inside this inside these files here. I'm just going to snap it here. Let me open up the demo solution here. That's got the templates and all that sort of stuff. All right. I'm going to go ahead and open up my template.json file here, and here's where we're going to go in and start adding some parameters here. By the way, the first parameter, there's a very special parameter here, and that's for framework. So what's the target framework for this project? It's important to add this for a number of reasons. One, whenever you have parameters inside of a project, and if you want those parameters to appear in Visual Studio, the framework parameter always has to be, it always has to be declared there. And it's also good for users just so that way they know what target framework is going to be used here to create, is going to be used when they create a project there. So let me just go ahead and copy this content from here, and then we'll kind of just describe more about this. So symbols, I'm going to paste that in. Let me double check my project here real quick. So if I go take a look at my CS project, I can see the target framework is actually net five. Gonna take that, and then we'll go ahead and fix this. So instead of the choice being net core up 3.1, it should be net five, and target net five, and then the same for these replacements here. All right, so this is basically, it's called the choice parameter that has one choice. So it's like a dropdown with one particular value there. All right, so now let's also go back and take a look at what can we do for other parameters here. So in the code, the demo kind of project had an author name somewhere inside the code, and then there was a replacement that was happening for that. So let's go ahead and add something like that to the code that we have here. So let me just go and grab author name here. It's a created by author name, period. All right, so now what's gonna happen is I'm gonna create a parameter that users can specify a new value by who this has been created by, right? And what I'll do is let me take this, and maybe we'll put it into, you know what I'll do is I'm actually just gonna put this inside my project file as well. Maybe like as a comment or something. All right, there we go, great. All right, so now what I'll do is let's go back to the template.json. We're gonna go ahead and add the new parameter here, author name, the type here is parameter. And you notice I'm just kind of IntelliSensing my way through all of this stuff, right? Yeah, must be super helpful. Not having to remember every single piece of syntax. Yeah, it's very difficult to remember all these things, you know? Absolutely. So I just specified a default value. So when this template gets instantiated, you know, either from, or actually when this template gets used from .NET new, if that parameter is not specified, this default value will be used. And then that will be the default value in Visual Studio that gets kind of plugged in there as well. Cool. So if you put author name anywhere else within this template, it would also pick up on the schema or this role would be applied to every instance. That's right, that's right, that's right. Also file names as well. So if you've got a file that's called, you know, author name, blah, blah, blah, then author name, part of that would get modified to whatever the user specified here. And there's also cleanup that happens to let's say, for example, let's say for example, the user specifies some value that can't be used in a file name. The template engine will basically take care of fixing that up to where it would be a valid file name there. Right, sorry. So now I've added two parameters here. We've got the framework parameter that's a choice and it's just got one choice for .NET 5. We also got the author name parameter and the default is author demo and it's a text. Let's go ahead and reinstall. We'll go ahead and do pretty much everything here. So I'll say reset templates and then I'll do a semicolon and I'm just gonna copy the additional commands here. So we can just do everything in kind of one go here and also with the correct order here. All right. I did was I just combined those three commands with a semicolon so this will run and then this will run and then this will run. All right, we can see it reset the template and then it created the NuGet package and then it installed the NuGet package and then we can see it's here. So if I were to do .NET Nu, sci-ed, con, dash-h, I should see those new parameters here. I see I've got author name here. Framework doesn't automatically appear here because it's like there's just one value there I think and I'm really not sure why framework doesn't show up here. I think it probably should, this is probably a bug. I'll kind of talk to the team about that. So now I just reinstalled that template. So I have to close Visual Studio and then reopen it so that way Visual Studio gets kind of the latest definition of that. Let me go into create a new project and if all goes well, we should see in the additional info page those parameters that we have defined here. All right, so now I see, oh yeah, that's right, that's right, that's right. Okay, so yeah, I see the target framework but I don't see my author name parameter. So there's actually an additional step that needs to happen here. Let me open up that solution. So demo.solution. So that's another thing that I forgot to mention here. Framework parameter, that one's kind of special case then if you've got the framework parameter in your template.json, it will just appear in Visual Studio itself. But for the other parameters, in Visual Studio we're not sure what parameters should and shouldn't be shown. So what we do is we have to actually put an indication in the ide.host.json. And let me show you where that is in the samples here. So all you have to do is basically define this simple symbol info property here and that's an array of values here. So let's go ahead and do that. So we'll say symbol, this is not in the, wow, it's not in the intelligence for some reason. Okay, so this is another kind of bug here. Definitely want to get that one fixed. So I'll be bringing that up with the team, of course. All right, so this is just an array of objects here. So we give the id and the id here is author name and they'll check this real quick. So id, author name, and then the name is author name and then is visible to true. So yeah, that looks all good to me. The scheme of declaration looks good too. So I'm not sure what's going on with the intelligence here, but that's okay. Let me go ahead and close out a visual studio and then we'll go ahead and rerun that command to get it reset and then reinstalled. Yep, author name, okay. So we'll say demo author here, okay. And we can see that there's just one choice in the target framework and I don't have the ability to change that. But if you wanted to, you can definitely go through and create a template that supports multiple target frameworks, but it's definitely some additional work for those types of templates. Let's take a look at what we get out of here. Let's go ahead and just run this with control F5. Let me just run it here. All right, so we can see hello from console one created by demo author. It's gonna take a look at this, make sure the replacements happen too. We saw that the namespace and then this string here got replaced with the project name as expected. See demo author has been replaced as expected. And then inside the CS Proj, that string was replaced also with demo author here. So that is really about it for how to create parameters here and then get them to appear, not only in .NET new, but also in Visual Studio. And one thing that I wanna kind of point out that I did point out in the previous video, but let me go ahead and point it out one more time is, let's say if you do wanna support something that's more kind of complex, right? Like if you wanna create a template that supports more than one target framework, or if you wanna create a template that has different types of parameters, right? Like maybe you wanna checkbox instead of a text or stuff like that. The best thing to do is to go take a look at the existing ASP.NET core templates that have been created by Microsoft here. So this is the repository where all our kind of source templates appear. And most of them that you'll probably be interested in are under project templates. So that's definitely a great resource for how to create kind of a more kind of complex template. But yeah, we'll also kind of cover some additional kind of info in the upcoming video as well. That is exciting. And yeah, that's great. Once again, it seems super easy to be able to continue expanding your template like that. Yeah, definitely. Yeah, exactly. So it's kind of a grow up story here. You know, I wanted to make it very easy to kind of get started with a basic template, but then also make it kind of easy to grow that template as well. And that's kind of what we're doing through these series of videos here, yeah. Yeah, so what's next? What we'll be next is, I think what we're gonna cover next is kind of troubleshooting and analyzing templates here. So what are the kind of common pitfalls? And then what can we do to avoid those? And what's available? So I created a .NET Core tool that template authors can use to analyze their templates. So I'll show how to install and use that and then go through just kind of the, some of the gotchas there, yeah. Yeah, that sounds like some good stuff to know because I don't think anyone ever gets it right on the first try, you know? Yeah, definitely, definitely. Sweet. So until then, happy coding. That's it. Thank you.


Yeah, we on Boss Talk 101. It's only three gangs in the penitentiary. Three. Mike got a half one in there. Mike thought of them. But it's white, black, and brown. That's it. It's only three gangs in the penitentiary. That's real. I mean, yeah, three. I tell people when I got in the penitentiary, I was a black man before I was a crib. That's what we need to get there. I was a black man before I was a crib. I didn't went to the penitentiary now. I didn't went to the jazz system. Matter of fact, I did time right here in this city.  I did time on Dawson unit down and Hutchison down here. They don't respect the game no more. The game didn't change. You know, they protect them now. They got a thing on the wall with a sack in his hand. And on the top of that sack, it says extortion. You will be handled. You know, they babysit them now. They put that TD in their mouth when they cry. They lock everybody up if he say, he hit me. Everybody going to jail. Everybody going to lock up today. Texas prison is black, white and brown. I was in the penitentiary down here in Dawson one time. I went to visitation and I came back. Tails from a crib and I came back. I came back from visitation.  And I was looking and I'm like, God damn, what happened to the cell? He had blood. He had blood. And he was told him, but he was my cell. I'm like, what happened to my celly? Maybe like, you know, the messians over there jumped on it. Looked around. See, I knew how to separate a black man from a crib. He was a blood, but he was beat up. And I asked him what happened. He said three messians jumped on him over. They jumped on him. I threw a crib out the window at that time. That's a black man. So what, so what, so what everybody do while they was jumping? Well, you know, that's a blood. You know, that's a dog business. That's a son. So they forgot that they was black before there was anything. You dig what I'm saying? So y'all sitting there, three messians jumped on a nigga. They was y'all telling me, well that night, this goes down in, and this goes down in Dawson downtown Dallas history. That night when I see my other partner beat up, he was a blood. I told all the messians, y'all three the one that jumped on him. We going out to wreck the night. We gonna show y'all what it feel like to get jumped on. And so the essay said, no, no, no, my friend, you don't have nothing to do with that. You have nothing to do with that. We can jump on y'all in here or we can go to wreck. So everybody said, we're gonna go to wreck and we gonna run the messians down through there.  However y'all want to do this. That night, OG Percy was arrested for inciting the biggest ride in downtown Dawson. Wow. Yeah. We had like 175 when they walked in there, they were slipping on blood on that gym floor. They were skating on blood. We were mopping them up. It jumped off. I told the essay, I said, man, we want to look at your partners. And he said, you know, we can't do that. You know, we can't do that. Well, it ain't nothing else to talk about. If we can't get them one-on-one, well, I guess when I looked in the gym to say a thing about, you know, like you were saying something that you mentioned, when you on call, you on call. See a lot of these youngster, they're getting them guys come to the pun tent.  And if knives come out, you know what I'm saying? They don't want to play no more. Yeah. And they got to use their hands. They don't want to play no more. They can't hit you a mile away. They don't want to play no more. You did what I'm saying? And that's how they go. But I get it. When they can't hit you a mile away, they don't want to play.  They don't want to, like he said, it won't get in the arms reach. But to make a long story short, that night on Dawson, we all set off a big ride down there. And it wasn't, it ended up being Crips, they labeled it Crips on Thongo Blast, you know, on the essays. But it wasn't about that, it was just black on brand.