Hello. I'm Tom Zufal. I'm with Red Hat. I'm a principal software engineer there. And I think we're running about seven minutes before the schedule, which I think I can abuse a bit and make my talk a tiny bit longer. So here's plugins made simple. No rebuild needed. I know this is a very hot topic, so let me share a bit of a personal story here first. When I first came to backstage, it was about a year and a half ago, or about two years. As a good cloud native kid, I've tried to deploy it on a Kubernetes. I took a container from Docker Hub, deployed it, figured out that there's some configuration needed. So I did the configuration, redeployed again, and I had the backstage running so far so good. And then I thought, how do I make it do anything useful for me? Backstage is all about plugins, all about integrations with third party systems. How do I get those plugins in? And that's when I hit the wall. So the conversation was as follows, and I think many of us experience the same. How do I install a plugin into backstage?  Well, that means I have to maintain a code base, right? I don't want to maintain a code base. Well, yeah, you do. What's the problem? Well, it was a problem for me because I went from this simple workflow to this complex workflow. Now I need to maintain an inner loop. I need to have folks inside my company taking care of backstage code base, maintaining it, updating it, building containers. I need to have CI. I need to have all these things. So all of this has consequences. Each plugin install triggers an MPM dependency tree which means I can get my dependencies updated. I need to do a security audit. I need to do a container rebuild. I need to maintain a base image with node.js runtime. So I need to have a security audit for that as well. And I need to have CI enabled. I need to have a Docker registry somewhere for my private image and whatnot. So all of this is extra work that I need to put in into personalizing backstage. And that's a consequence for end user, right? For backstage adopter. As for Adhatar, we are a backstage vendor. We have additional consequences of this. Each customer has their own specific needs. So we would, in this scenario, need to maintain a diverging code base per each customer. We would need to have a container image per customer. Customers have their own custom plugins that they internally wrote. We need to integrate their source code into our product, which is just complexity growing. So it doesn't scale. This doesn't scale at all. So to solve this problem, we need to make plugins to behave like true extensions. If you think of VS Code extensions, if you think of Grafana plugins, all of these things are pluggable separately from the core instance. So my plugin code base or my plugin itself is packaged separately from the core runtime, from the core instance. It's completely self-contained and it can be installed through configuration only. Via its, through UI, via its through config file, doesn't matter at this point. I need to have it self-contained. I need to have it done through configuration. So this, let's assume it's all done. I can make this workflow a bit simpler again, right? Instead of having this complex two loop system with maintaining backstage code base and maintaining backstage instance, I can basically simplify into this. Get rid of the inner loop and through updating configuration, I can side load plugins when deploying backstage only. So how do we achieve that? In backstage over the last year, there was a great work done through new backend system and new front-end system coming fairly soon. I think it's in alpha stages at this moment and it will be probably at some point stable. Those things allow you to configure plugins through configuration actually, not through code, right? But that's not everything. That's not what I'm talking about. That's not dynamic plugins. We need a mechanism that allows you to side load those plugins. You don't need to bake them into the container. And for that, we have two RFCs or one RFC and one web. The first one for the backend side is already implemented. There's already a package available in the upstream community to be used to provide you with a dynamic side loading of backend plugins. And for the front-end, we are getting there through the back process, through the back number two. So just a quick comparison here. When I compared the new system, new declarative integration, new front-end backend system and the new system plus dynamic plugins. So instead of me doing yarn install, I can just write an entry into a config file instead of configuring the plugin through TypeScript or in the new declarative integration through config, I can do the same. I can just leverage the config. And the most important change here is, for me to actually deploy this change, the new plugin into a running backstage instance, I don't need to rebuild my code base and package it inside a container image and then redeploy, I just redeploy. Which is just a container restart. I don't need to do anything special, anything else. So what do I need to do to support this on the container side? We don't want to impose new changes on you if you're developing plugins. We don't want you to rewrite a plugin from scratch again. There's been mandatory changes for the new front-end backend system. So we leverage those and all the changes that need to happen to support the dynamic plugin mechanisms is just metadata, just configuration on the plugin side and using additional tooling to build those assets that are directly consumable by the core instance. So the only prerequisite there is that you support the new front-end and new backend system. And to wrap this up, there are two QR codes here. One for the dynamic feature backend service, which is already a package that's ready to use and one for the web number two that is currently being contributed to and is open for suggestions. So I thank you very much for your attention here and see you around in those GitHub issues there. Thank you very much. Thank you, Tom. All right, next up, Emma from Spotify. Over to you. Any questions for Tom while Emma's setting up?  I can feel the energy. Let's hear it. Sorry, it's me again. So the question is because you've said that the only thing right now with this new system in place is to change a config and redeploy. That's not enough for me. So what I would love to see is actually not having to run the deployment pipeline to create a new YAML configuration file and put it on the server. What I would like to see is actually being able to do that from the UI to select the version of the plugin I want to use and keep that information in database. Then I can restart the container. That's not a problem. I wouldn't like to run the deployment pipeline to put the new config file in place. Definitely. We want to get there at some point. This will require introducing concepts like operators into Backstage or concepts like administrative UI into your Backstage instance. And we already have some of these parts in developer hub that ProHead provides as an opinionated Backstage offering. But we're trying to get those things into the upstream community as well. So we'll get there at some point. Now the challenge is to properly implement those dynamic loadings of those individual plugins into the runtime that is sufficient for Backstage and scalable for Backstage internally. So yeah, we'll hopefully get there at some point. Okay, yeah, thanks. Thank you. Any other questions? Questions on that side?  So is that something for adoption that you're looking for? I don't know. I don't answer to that. I think that's a question to maintainers. What we do with dynamic plugins as dynamic plugins, we basically allow you to load any module, any JavaScript code into the system. So whatever you do with it, whatever you do internally in your plugin, that's completely transparent to us. We don't care. Last question. Hello, one quick question. Is the new plugin system that you talk about is gonna be open source or is it only available a part of Word that had Backstage? Totally open source. And we have the backend side already in the upstream community released and we are going through a review process for the front end side on the Backstage enhancement proposals. We don't want to shield anything from the community. So everything's going upstream.


Everybody Matt here for late in sports cars ripping one box of 2022-23 Panini Revolution basketball. This is for Dennis you look Dennis Blue is up after this with three optics mega boxes and then Scott M as a tops Star Wars return at the Jedi chrome sapphire supper Mars I don't know.  And that was an astro Michael Porter, Jr. This is fractal Auto to 100 that says fractal that is not the fractal design is it No, the fractal is this yes Those are not the same design that says fractal up at the top anyway nice MPJ auto to 100 Mustard I can't do mustard Cheese burger with ketchup and mayo. All right, catch it. Yeah catch up No mayo and I prefer No cheese really.  I won't not eat a burger because that's cheese on it But I prefer it with none. Let's go see how come fractal the actual the real fractal Yeah, exactly Kendall Brown, Jr. Jalen Greengroove That was Wagner Jake's the weirdest one though. He eats his pizza with a fork and your aunt Tyrese Maxie astro Gotta have the crowd Kennedy Chandler Nicola Jovic rookie astro if I went to a really expensive restaurant and they said You can order everything off the menu.  We'll get these right out to you


This is the title of my talk. I gave this talk last night at the React to London meet-up, which was really really good fun and What happened is I had a really grand plan to build the same app in ember and react at the same time to get a sense for how they differ and I didn't give myself quite enough time and I hit this point with react where I'd read all the API docs, but I didn't know the patterns for moving on I didn't know the best practices for structuring an app So I just got to this point last night at the react meet-up where I ditched my slides and just asked the audience to help me finish You know the part of the react app I was on which worked really really well It sort of saved my bacon and I learned quite a lot doing it and learned quite a lot about the different philosophies At the same time. So I wanted to try and you know communicate a bit of what I learned. So that's me. I Look like that everywhere online. I work for these people I Co-organize this as you know and I co-wrote this So Actually, this fits in quite well with your talk Tom. This is from Creativity Inc. Which is a book about Managing a creative company and I really really recommend it Ed Katmull from Pixar. So I really like this quote and My point is that our hard problem is how to build rich user interfaces for the browser and The many good minds trying to solve it are all these people But I don't have all the time in the world no one does so I thought I would focus on these two and On the surface they're competitors and philosophically different, but there's a lot of crossover. I think perhaps more than ember and angular Ember and react have a kind of I don't know Like it almost a common sense of humor or a common culture to them. So Ryan Florence is a really good example of a kind of a guy who put a lot of Work and creativity and energy into ember and now has transferred some of that to react But taking some of ember's philosophies with him, which is really interesting crossover and he While he's terse and a bit snarky on Twitter in the end. He he winds up saying stuff like this Eric Bryn was on a podcast not so long ago talking about Going to Facebook and working with Pete Hunt and everyone on the react core team and how much he enjoyed it and how much they had to learn from each other and Tom Dale and Pete Hunt trade friendly banter from time to time So they like each other And I I want to use both like it they If the people who like react are so similar in sensibility to the people who like ember Then I think I'd probably like react as well. So I wanted to try it and more than that. I Don't know about all of you people But when I use any technology that the point is not necessarily to Adopt it and then make money from using it and applying it It's more like to take the ideas from it and the mental models and the techniques and take them forward Even if I'm not using the technology just to apply them and everything that comes after So I was hoping that by Building this app in tandem with the two frameworks I'd learn where the gaps in ember are where react can help out advice versa so the app was Something that is on the surface quite simple It's just like a little JS bin clone With some files that you can change on the left an editor in the middle and the results on the right And I've built something a bit like this before in ember last year. It was kind of like a JS bin just for ember and What's quite nice about building This app is in order to implement this iframe effectively In order to you know tear down what's already there and spin it back up again efficiently You have to learn a bit about the build cycle of the framework so Bootstrapping these two apps. Let's just compare that so as rich has shown us To get an ember app going Now these days ember CLI all the way install it new upper new app It's going to make Decisions for you many many decisions. It's going to install libraries for you It's going to tell you where it thinks you should put your files How it thinks you should test how it thinks you should implement CSP all this kind of stuff Which when I presented this to the react audience knowing that react is is more of a kind of library type Ideology where you know react is a sibling to the other libraries you're using The a reactor of her might reaction to this might be to be Disgruntled like I don't want this making all these decisions for me But I think the important thing to remember is that these are all decisions which have come from our community It's not one person deciding it all and it changes like it moves with the best practices when they come along And of course you can just install ember as a sibling dependency alongside other things, but that's just not the way We've gone on masses community react on the other hand I Generate a package that Jason in my projects and still react into it and then I can use browser fight to require that into my into my build workflow whatever that might be and When I set that up I use broccoli browser for I to do it. I was super super impressed I'd not I knew what browser if I wasn't how it works and what the point was But I'd not really had call to use it on anything It's really it's really sweet and the ember CLI team have noticed What a nice experience that is and I think in the not too distant future, you know, you'll be able to just In one of your ember source files a ember app source files You'll be able to import from something that's in your package Jason rather than rather than your power Jason So this is the build setup I put together for broccoli I'm sorry for for react with broccoli. I thought about trying to use gulp. I don't know it and I do know broccoli, so I Wanted power in order to install the ace editor for that code editor in the middle The broccoli browser if I library broccoli CLI broccoli react broccoli react is just a broccoli filter that wraps up React tools, which is the thing that can process JSX files Actually, I should stop here and just show of hands who's used react to any degree Yeah react itself which Yeah, it ships statically, but it ships mostly with npm like that's the advisory They don't advise much about the way you can structure your project But they do advise that you use browser if I in the build and react router, which is Ryan Florence's it's in some ways a port of embers router to react land and I learned something interesting about that notion Last night, which I will reflect on it a bit And in power all I wanted was ace builds because ace builds isn't shipped on npm But if it had been I would use browser fight to bring it in So I wanted my react project to look like my ember CLI project would with an app directory and a public directory and all the bits and bobs, so I extracted it like this and I'll just walk through how the the broccoli build pipeline works. So The simplest type of broccoli tree is just a path to a directory which will be copied over into the output So that's app gets reactified. So the JSX files get turned into JS files gets browser-ified So you give it that app tree which has been Reactified and then it's going to resolve all of the require statements all the way through there and bake it down into one output file Grab the index HTML out grab app CSS out grab Ace out of what I'm actually doing here is grabbing a complete directory of all aces bits and bobs out of Bower components and the reason is because ace editor. I don't know if you've used it But it's got various different modes and syntax highlighters and themes and stuff you can use and they're loaded lazily They're loaded when you switch to that mode and like the syntax highlighting for JavaScript in the linting is done in a web Worker, so you can't really package all of ace up and ship it as one file You need to let it like go and load its different bits and pieces Lazily as it as it runs so grab it stick it in the output directory and the public directory And a common style sheet so that my react and ember app look the same And then mode to all together and the build output looks something like this so my my Point of running through this broccoli build is this is not a million miles away from what ember CLI Is doing ember CLI is doing much more and it's pluggable But it's hiding away that sort of the steps that go through to producing this output directory and There's no ES6 translation in here But you could easily add it using the same principles that are in ember CLI and so to compare that with The ember CLI output build It's the same but with more decisions made for you and this this is kind of my This is sort of the theme of this talk is that ember makes lots of decisions for you and embers Companion tooling makes lots of decisions for you in the community do And you might hate that but you should try it and Similarly you should try the agnostic world of something like react So I want to talk about how the app is bootstrapped in either case like what's what does the top level of the app look like in both cases so For the ember app, I'm going to treat this as like the application template. What what does the overall page look like to begin with so in this case it's one div which is the pane on the left and I'm going to say that I'm just going to load the files in there's like the model for the top level of the apps I'm going to each over them and link to them there and Then an outlet in the middle because that's really all the routes I'm going to go to are going to be the files. I want to edit so that's what I'm going to outlet Then the viewer will be some sort of component that encapsulates the idea of an iframe you shove a load of code into it and it knows how to reload effectively and efficiently and So it doesn't I don't I Have found that using jspin, which is a wonderful tool Using something like ember or anything of significant weight It struggles to reload, you know cleanly every time and it's just not the nicest experience to play around with It's good for demoing like a certain a Certain bit of code and sharing it around but it's not actually that much fun to live coding so My top level react component, which I've just called app.jsx. This is what bootstraps the react app It's kind of similar in in some sense. So I'm going to Get my files from somewhere that populate this app Maybe I'll drag them out of local storage or a gist or something Go through some process to compile Those files than I think that I've been given into the data that gets shoved into the iframe There's no each helper for react But you don't need one because what you can what you can do is take that collection and map it into the DOM elements that you want to go in so using jsx this Stuff here gets trapped transformed into react virtual DOM nodes react virtual DOM components With this data plumbed into them You'll see link to there. Oh, it's actually a link Tag with the capital L that comes from react router. That's not part of react Core and then this is return. This is like the that same template but in react land So the div on the left with the files mapped using that function that generates an ally for each one and Then the pane in the middle and this is the equivalent of outlet in ember So again, that's this isn't an idiomatic react thing This is react react router how it handles the idea of like inserting a a child route into its parent and then Something like that ember viewer a component that encapsulates the idea of give me some code and I will efficiently re-render So Routing so I'm this is where I'm going to bring up what people at the react meets up told me So this is my ember router and really this is the important bit so For all of us here, this is going to feel really really familiar There's a file route in its path is just splat file ID, you know, whatever path you give it So long as it's not forward slash it's going to let the file route take over and do what it needs to do and render what it needs to render and And and this is my file route So I'm taking it as given that the application has all the files. I'm going to grab the one whose ID I've been given If I've managed to find one then that's the model if I haven't then it's a 404 And I'll just go back to the index page and then just a serialized method to make sure the URL knows what to do So in react land What Ryan Florence chose to do with the API for react router is modeled on the idea of embers But it's modeled as a component and he chose to to Just like run with the conventions of you know, something that will work with JSX just fine So this is the definition of the routing of the app, but like done as components and you Rather than rendering my app Component as a top-level thing. I render the router The router doesn't actually doesn't actually present any elements itself Instead it has these these two handlers app and file and they're just classes or there They're my react components and in the file that this is in you'll see them as like VAR app equals something VAR file equals something and Then this is the Technically it's the file component, but for all intents and purposes. It's an it's an analog of my ember file route so I grabbed the file ID from splat in this case I I've had the files passed in so in my In my sort of overall app template At the point at which I render that child route I make sure to pass in the files explicitly It can't reach up and get them. So I've been given them. I find the one that matches the ID I'm going to decide what What mode the editor should be in based on the extension and then I'm going to render a an ace editor component Passing in the the value of the file on the mode. I think it should be in otherwise just a kind of default So let's talk about that ace editor component So that's this bit So ace is just this library that ships and you know, you can it's it's got an API all of its own Which is pretty different from anything in ember or react So I think it's I wanted to just be able to treat it as if it were an input tag or a text area and just kind of plonk it in bind to on change and I Consume it that way from the rest of the app and hide away all the complexity of it. So at this point, right? At this point with the react meets up I wanted to be able to like plow through and show them how how I'd made each component and how I'd You know sent the data up through the app, but I realized with the react app I didn't know quite how to do that. So I'm going to switch to live coding mode If you'll if you'll forgive me Okay, so what I want to do is show you that ace editor component in both frameworks and see what you think about how they compare so React on the left ember on the right is that big enough for everyone. Yeah, cool So app components ace editor components ace editor will ignore Requiring it at the top because it doesn't matter too much I mean, I guess, you know, it's the s6. This is common js style require that browser if I knows how to Resolve So let's just skip to see the parts where we can start to compare like for like Okay, so um So an ember we don't need a render method because we're going to render well an ace editor doesn't really have a template we kind of just need an element to shove it into and Emma's going to do that for us any way by default With react we do we have a render render function, but it just emits a react virtual div and Then you'll see that react as a component did mount hook Which is exactly the same as embers did insert element hook. So this is a moment for you to go Okay, this thing is in the DOM. I can do something with it now and I'm doing Basically exactly the same thing with it in both cases. So Let's just bring those up side by side You know get the element. So in ember it's this dot get element and react. It's this this dot get DOM node Hook ace into both of those I'm just saying like a particular feature of ace that I didn't want and then I'm binding so Ace has its own event system. So I'm Just like I'm encapsulating the idea of binding to that. I want to keep all of knowledge about ace within this one component So in react I can just go editor on change and then this Handle editor change method its scope will have already been bound to this instance I don't have to worry about it losing context Whereas in ember I both need to worry about it losing context and I need to worry about it falling outside of the run loop so you see a run dot bind here and then Just stash away a reference to editor on both sides now on the react side I then call component did update. So the component did update hook What that's telling you is? New data came in right? but because all I'm rendering out of this component is just this div and I'm not binding any of the props that have been given to me to the div react doesn't know to Redraw so it's up to me to do something when new data comes in And that's what this is going to do So update the theme update the mode update the the value and these just wrap around, you know, whatever aces interfaces for doing these things But in essence Ember has these same things like I have these exact same methods in the ember side But in the ember side I'm using observers instead so rather than using a hook and then calling out to these methods Imperatively, I'm sort of just declaring that these are going to listen out for When I've created an editor and set it or when I change the mode or both this hook is going to get run and Assuming that I've got both these things I can set the mode on the editor set the theme on the editor so it's just this difference between What maybe is arguably simpler in react land That you've just got hook and you just like very explicitly say what happens there in ember You could kind of do the same thing if you wanted to but I've chosen to use the the more idiomatic thing of using observers and Annotating these functions that get called at the right time There's a bit of fun with this particular type of component in on both sides of the fence because So I want to update the value of the editor whenever a new value comes in from the outside And Also in the Yeah, basically that so whenever a new value comes in from the outside I want to call this dot set value on the editor and then also When you do set value on ace for some reason it will highlight it all so I just want to kill that off, but When you so you remember at the top I said I was Binding to on change and handling that event so When I call set value it's going to trigger on change and in my ember app at least And in fact on both sides of this So if you can follow the logic here, which I'm sure you can When I call on change it's going to get the value off the editor and set it as my value and that that will propagate out via embers bindings But this is going to get called because this is listening out for value changes as well So it's going to set the value on the editor, which is going to trigger change again Which is going to trigger value again. It's going to end up in a cycle. So I just have to check, you know, have I Are they identical in which case you don't need to set the value on the editor anymore and the same thing would happen in the react side except that at this point, I wasn't quite sure like in ember When I when I use my component so in my file template I've got an ascender and I bind the value to it and that binding says whenever Whenever the value changes from either end they'll remain identical and so ember takes care of like Getting the data out of the component and up into anywhere else that it's used but in react There's there's no such facility and that's on purpose. They The claim is that two-way data bindings become really difficult to conceptualize really quickly And they want this idea that you can you can consider your app as a single function And if you call it with the same set of data, it will always render the same UI Whereas in ember land, you know, you're more thinking about Almost it more of a more as a living system where things contain their own states and you just trust ember to plummet all together So this was where I got to the point of being like well, okay, so in my File component I'm using this editor component And it's a binding as well. It isn't the binding. So this value equals file dot value Isn't going to guarantee for me that the files value to change the file the files value gets changed It's just passing it down. It's up to me to set a handler For this component and then do something when that handler triggers and then probably Propagate it up. So I was kind of at this point where I was like so To the audience, you know It makes sense to me that You know, this this is this is act like an input It's going to trigger a change event. Do I bubble it through the DOM? Do I you know where where how far up the stack of things? Do I send this event in order to handle it and then sort of alert everything else of that change? because that's the idea you kind of let a change bubble up and then Tell go go up as far as you need to and then sort of let the changes propagate back down again and And The bit of advice I was given by a kind audience member was that If you've got various things which rely on a piece of data, you want to go to their closest common ancestor So this is quite simple, you know There's the editor and the viewer or sorry the the file component and the viewer over on the right and they both Need to know about the files value or in fact, then the viewer needs to know about the compiled value of all the files but So the change only needs to go as far up as the app itself so What ended up with with the help of the audience was Let's follow this through So when ace tells us that things have changed We're going to If we've been given a handler for the on change event just call it with the new value of what's in what's in this editor That's going to go up to the file component, which isn't going to mutate any data It's not going to mess with the file that it's been given to work with that's that's not what it's there for It's just going to carry on propagating that change, but with a bit more information. So it's saying The message we want to pass up to the top is this file has changed and this is its new value So I'm I get to sort of Embellish that on change message with something else And then it winds up in in app.js So you'll see that I've got my Effectively my file root also has an on change handler. So you can kind of think if I wasn't using the router. I might be inclined to just do Something like this you get the gist. It's kind of equivalent So that's going to come up I'm going to So this is quite interesting as well. So As I was going through this so in ember we are very quick to mutate objects bindings The promise of blinding bindings is that we're not going to leave a bit of state somewhere unattended like Any change you make is going to propagate correctly and get to all the right places But what the audience that react meter were telling me was Don't mutate state if you want to like pour some new data down into your your into your virtual DOM You want to produce a new set of files with this change? So Effectively I'm doing a kind of like half-assed Data-sharing thing here. So I want to produce a new collection of files if The and I'm going to do that by mapping the old collection to produce a new array If the file I'm on in that map function matches the one, you know I've just received notification about I'm going to return a new mutate like a new version of that file and for the rest of them I'll return the original instance. So if you imagine it's not It's not like copying every single file in the array. It's just creating a new array With references to all the files that haven't changed and one reference to the one that one new file that has changed so this is where with react you could use an immutable data structure for this and Get these really cheap copies of objects and get your undo history and things like that So if I was using Mori or ancient oak or one of those libraries I could probably you know have much to a much to us a way of saying go modify like produce me a new set of files by Modifying this file and it would know just to like share all the memory It you know share all the memory it can and then set state is the point at which things actually get rewent re-rendered So you're saying I Want to change the state of things and my change is that files is now this new files object And that's going to trigger everything to be re-rendered and I don't know I don't really want to talk too much on react virtual DOM and the reconciliation and the way it renders but it's worth looking into it's impressive what they've done in terms of Removing the complication of two-way bindings In that you that the react philosophy is that when you make one of these changes You can treat it almost as if you're refreshing the browser like it's like Rather than worrying about how I have I put this component in this kind of state and this one in the other and when I look It's just like It's as if you're re-rendering the whole thing from scratch But really you're not you're only making the minimal set of changes to the actual living DOM So I was really pleased to get to that point and I'll show you what the app looks like it's it's nothing to write home about but So I've not implemented the viewer yet because actually that was one of the less complicated parts The viewer I've written before and you can just post message just send stuff into the iframe and then interestingly so in in an ember app what you would want to do is discover there's an existing ember app called destroy on it which is actually a very cheap way to just like Stop a running ember app and its tracks and just like turn it off and then you can just dump it get rid of it And it's down to save the new one with react I think it's the case that I Would just it would almost be like I was just getting a function passed in and I would just be able to call this function Well in react what you do is you? You mount a node on a particular point in the DOM so I'd mount it on the body and doing that would not only You know refresh refresh what's it whatever's in the viewer But it would do so cheaply it wouldn't need to worry about the fact that there was already an existing react app there it would just kind of Make the minimal set of changes necessary to get from my previous app to my new app But the point was that you know now I've got an editor where in you know my My cool changes to my file You know they really do affect a file somewhere, but actually and I found this really fascinating the idea that What I've got here if I was using an immutable data structure. I could have an undo history almost for free here because With each change that I add I'm producing a new copy of my Starting collection of files with as much as can be brought over brought over each time You know shared memory So I think that'd be a quite a nice next experiment and then obviously Compiling a react app in the browser from different bits of JSX should be possible. I would have thought I think you can run you'd have to Things you were referring to like react you'd have to make sure they were available Things you're requiring but apart from that I think it shouldn't be too hard and similarly with ember You know you can run the ESX transpiler in browser There's no reason you couldn't you know take all the files in that list and kind of run them through a similar process to ember CLI but in the browser So one final takeaway Related to these different least differing philosophies that are so fascinating between between ember react and ember and react so After the talk I was having a conversation with one of the people who'd helped me out and he said It's really interesting that you used React router and he said that he and his team had tried it But they found it too tight to react and they ended up using something that was completely separate Just a sibling JavaScript library and then the two you know could could interact in any way they wanted And I think that's an interesting difference in philosophy. He kind of said to me He to paraphrase he said would I be right in thinking that you You kind of the ember way of doing things is You look for a library which already plays nicely with ember something that plugs into ember's ecosystem And I said yeah, that's that's pretty true things are nicer if it all kind of Follows the same conventions and he said okay cool. That's interesting in react React is just another little library that you use. It's not it really isn't a framework and in fact I believe at one point there was an experiment to Use react as embers view layer or embers sort of rendering layer and I could see how that could work You could sort react in you could even build like a react component and just pass state into it from a larger ember app so I Want to sort of give this talk again in the future and finish the app on all of that but already I feel like I've learned stuff about react which I can use already in ember apps And I've already started to see ways That I can take my ember predispositions if I were going to do a react app and make use of them Certainly in terms of bindings like how to get change events up to whatever the root data structure is so it can it can travel down again But the other thing I want to say is that the react meetup group was a really really lovely bunch of people You might remember we had Stuart Harris who runs that group come and talk here a couple months ago Which is why I went and talks there, so I'd encourage all of you to come along check it out So that's me any questions I typoed that so many times I figured it would be worse just aliasing it Yeah So luckily because I was at the meetup last night I can answer this question with some intelligence so the guy who spoke after me gave a really good answer to this so react has batching of operations and It's it's pluggable So there are various different ways you can handle it and I'm fairly sure you could handle it with backburner if you wanted to so the default strategy is That anytime you make a modification it will trigger a re-render sort of at that point There's an alternative strategy. You can use I think either out of the box or by using a library called react add-ons Which is you might have heard of this in relation to ohm Where you use request animation frame, so what happens is? It was really really clever to think about so You've got a bunch of changes which could trigger re-renders and rather than doing them kind of Synchronously you kind of queue them up to get done in the next request animation frame So it's like this change has happened.  It'll flush all those changes into the DOM and then you'll have another 60 millisecond period in which to do to like move data around in JavaScript for for the next flush and because it's request and because it's request animation frame. It's 60 FPS, you know, it should Users shouldn't be able to see it like it'll be as high fidelity as the browser can render Yeah Yeah, I think ace does fire every key press Yeah I probably I would probably be inclined to debounce it so that you know you have to in order to actually send A change event out of that. He said it's a component You've got to be idle for 250 milliseconds or something like that just to give it a chance to to work I'd be very interested to see how react number differ particularly in this application With memory over a long period of time memory such yet because react sort of mindset and what I can gather is that Obviously don't keep too many things around but diffs are fine. Keep them keep them as long as you want replay them Passing around whereas Emma's obviously Mutable and do as little as possible to change and then that'll get resound So for things long lived applications in react I'd be quite interested to see how The performance cost of react mindset Yeah, so the diffs So what once reacts is once you've got the application to a point It just stays still in theory with react. Where's ember? It's kind of alive and breathing. Yeah, but then on certain different situations react is Obviously constantly changing for you imagine something like an analytics platform That's doing everything sort of every minutes It's obviously churning creating a lot of objects Whereas ember would probably be reusing the objects a little bit. Yeah, that's that's a really interesting point So yeah in ember you would so like Gmail for instance It'd be quite an interesting sort of the performance costs of the different mindsets. Yeah, so I think and This is interesting because so I guess my wider point is that ember Ember not only has very strong suggestions about how you should structure an application, but it codifies them It's API's are its best practices whereas with react it makes no such suggestions directly in the API is but you know It's all about removing complexity This is this is like the rhetoric of react team and Part of that is this referential transparency the idea that you can consider your app a function Which given the same in but always produces the same mark up out the end and they they They sort of see the same qualities in the useful data structures so that you know You don't you don't run the risk of having mutated something mutating You're starting set of data in a weird way So there was like a temptation for me in my file component when that change comes up to just go Oh, well, you know, I've got this file object to handle ready. I'll just mutate it in ember You you certainly would do that in fact You do it without thinking because you just bind them up in the template and it things are taken care of and React to the idea is is that that could come back to bite you you could mutate something when you don't mean to better to let the changes bubble up and You know, you wouldn't have to use immutable data structures I could have just performed it in place mutation But as I was typing that in the room last night people were like Don't you take stuff? And I see the point. I think there's there's value in both ways, but interestingly the guy who gave the talk explaining the batching he'd come from a a World of building native applications kind of stuff in cocoa in see an objective see and he He was really curious to see how far this react model will go in terms of performance by the idea of Effectively you're re-rendering everything every time. It's just that you're not actually changing the whole DOM every time because when you when you When you trigger a re-render on your topmost react element every component below it It's render function that's going to get called to If you do expensive stuff in any of those render functions or even if you do cheap stuff But it adds up to expensive you're going to run that every time so it's like in ember you can hamstring yourself by creating way too many complex bindings to make things start to churn and I think in React you run no risk of doing that, but you do run the risk of You know doing too much work in render functions, and they're needing to strategically move it to other places and instruct react You know we sing should really really react to be a lot more obvious because there'll be some whole page pain refresh Yes, whereas with ember it'll be a little flickering yellow thing in the corner red thing You know that oh, it's just this timer that I've got yeah accidentally bound to some div. Yeah Yeah, complexity would creep in surreptitiously with ember and with With yeah, like you say with react. I think the code you end up writing with a reactor is simpler Simpler at first blush if you're familiar with JavaScript It just looks like regular JavaScript whereas ember looks like almost almost like another language So I asked people about flux mainly which is Which is interesting it kind of goes hand-in-hand with react But it's not a framework or a library per say it's a pattern for how you How you handle that kind of thing about the thing outside of the rendering part like how do you Get changes of states flowing nicely through this application. So people spoke about flux But they spoke about it in uncertain terms. They would be people kind of said they weren't totally sold on that yet Some people said they were using react as the rendering engine for backbones basically No one spoke about anything really more than that in terms of MVC patterns I think everyone enrolled their own white white tell people were talking very cheerfully about Taking their react app and rendering on the server, which is very painless You can take your same react virtual DOM and render it to a string and just send it down the wire So that's interesting and I think HTML bars promises to be able to do some of the same It's I Don't know that it's a Guy gave a talk on it and demonstrated some really really nice qualities being able to do that render your You know your rich client app on the server first so you can get they can get markup in people's hands before the actual JavaScripts are started doing its thing, but it sort of feels like a bit of a stopgap You know, it's like a hack to get things rolling while we've got You know high latency internet connections All right, shall we go support?


What is going on guys welcome back to the channel critical overload here so I'm talking about the Halloween franchise in this video here again today now I had no intention of making another video today I didn't even expect to come across a rumor such as this But it would appear that the next adventure or the next chapter in Michael Myers ongoing saga has already been decided upon rumored by two reliable scoopers that have proven themselves trustworthy in the past big screen leaks and Sinisterf alike Sinisterf I know big screen leaks probably who you guys probably know more about or probably more familiar with I should say Sinisterf his track record their track record comes down to the rumor regarding Freaky Friday, too Which has been confirmed to be an official thing that Disney's working on They also put out tidbits about the upcoming crystal lake show before it even was announced and that ended up getting announced like they said it was or alluded to and Some other stuff. They've just been right about in the past big screen leaks speaks for himself Lot lot of amazing track records there for both of them to me So in terms of Halloween and the latest rumor that has come out from Sinisterf that big screen leaks also Eccled down into afterward was that executive producer Malika card has already heard multiple pitches Formal and informal about where to take the Halloween franchise next But nothing is set in stone and any ideas will need to be shopped around to new studios distributors Blumhouse is out a TV series is on the table big screen leaks chimed in saying I'm pretty sure he's already in development on one of these pitches So to me that makes me go which one of these pitches are they going with the only pitch We know about is coming from Danielle Harris herself who one point on her podcast not too long ago She put out or she was talking about having conversations with Malika Cod talking about how she can return and you know doing a It would seem also from her Instagram story because again in my earlier video I alluded to this post she put up on her Instagram story It would appear Danielle Harris would prefer to just see a true legacy sequel to Halloween 4 that puts her back in the Center I would assume and we just pick up with Jamie story as an adult like I stated in my earlier video I would just said it maybe a couple years not a couple actually would be several decades later like 30 35 years later And you can have Jamie in her 40s mid 40s Michael of course would be in his 60s or so since he would be a senior citizen once again But like I stated the Halloween trilogy that we just got had him in the 60s and they didn't portray him overly too much like an old man Excluding Halloween ends which I didn't really like the portrayal of Michael Myers at times in that movie But I get what they were going for I do as far as what you could do if you were to bring Jamie Lloyd back again Take some inspiration from stuff Dave McCrae has echoed over on his channel Just give us a story that loud that allows the viewer to believe that Jamie is not well She's been released from Smith's Grove. She is headed home to Haddonfield Hell set the entire thing in Smith's Grove, which is something else Dave McCrae has stated that Halloween 5 probably could have benefited from doing But yeah, let's say she is released from Smith's Grove. She's deemed healthy the whole town of Haddonfield though They've been talking about her for years ever since she attacked her stepmother at the end of Halloween 4 and ever since Michael Myers Was believed to be dead after the shootout with the cops at the end of 4 She's become the new town boogeyman. She comes home. They don't like it. They think she's a threat they don't think she belongs here and We see that put into full effect even further when bodies start dropping around the town of Haddonfield and then slowly but surely You find out that it's not Jamie who's behind this It's her uncle Michael Myers who has returned because Jamie has now back and he wants to of course finish off killing his bloodline They don't need to go into anything as far as I given any wild explanations related to cults or anything as far as like addressing the Thorne stuff disregard all of that Just give us a simple direct sequel to Halloween 4 and let it be a final showdown between Michael and Jamie I've also said bring back Rachel. Sure, you might have to recast the character of Rachel But I would like to see the character of Rachel just have a proper return After what she endured in Halloween 4 I don't think they did her a fair service in Halloween 5 not at all not at all Especially when the death itself didn't do anything to really progress the narrative for it since her death remained widely Unknown for the biggest time during the during the runtime of Halloween 5, but the other possibilities are endless You could do a sequel to resurrection. You could do a sequel to Halloween 6 Halloween 6 if they wanted to because I know Halloween H2O ignores Halloween 6 So maybe they can do a direct sequel to that you could do so many different things you could start the timeline over again with a fresh slate and just set it in modern times, but Switch up Michael Myers and Michael Myers backstory to just make it modernize in a way and just give us entirely new slate of characters to invest in and still of course have it in Haddonfield You could have a new Doctor Loomis type of character or maybe even keep Doctor Loomis around but again just modernize it So again, we would just be going down the remake path at that point more So a reboot at that point because I wouldn't really have a lower stroke type or anything I would switch up a lot of the characters from the original So I guess it would be more of a reboot in my head you guys can let me know down in the comment section below if you are Excited about this. Do you think that there is truth to this rumor? I don't think we have any reason to doubt that there's any truth to the room because we all were basically Anticipating Michael Myers to return at some point anyway I was certain they would at least take a five-year break I mean with the ongoing strikes between SAG and the WGA and of course the amp tp at the center of it all We might not get a new project from Anyone for many years But the fact that Malak Akkad apparently has decided on a pitch according to big screen leaks Just has my mind going to different places The only one I can safely assume might have been the one to win him over is Daniel Harris's pitch doing a direct sequel Halloween 4 she's already talked about on her podcast She recently put out that poster from a fan on her Instagram story So that's the safest thing to assume that we might be getting I know a lot of you are pretty much going to be excited for that but of course we could just be starting a fresh new slate and Not have anything to do with anyone we've come to know at all in this franchise You give us a fresh batch of characters outside of Michael Myers himself who will remain the one insane brutal mass killer But again, let me know what you guys think about this down in the comment section below Are you excited about the potential chance of seeing Michael Myers return and I guess also? Let's talk about this really quick What do you think could be done with a TV show or do you think that wouldn't work out? I think that a TV show could have some potential depending on what you want to do with it If you want to do a TV show showing Michael's time in Smith's Grove, maybe that could have some potential or Doing a TV show that because I'm just trying to figure out how could this work How could Michael Myers attacks on Halloween? So you could do something I guess that leads up to his attack on a Halloween night in that season But of course, it's a slow progression since it's done in episodic format You get a lot of great character development a lot of great Targets can be set up for Michael to go after on Halloween night You could do something like that But I think I would prefer to see a show that's just said in Smith's Grove showing us his childhood in that asylum That's just me Let me know what you guys think about this down in the comment section below if you haven't already of course Make sure you go ahead and subscribe turn on post notification. You never miss a video in the description I'll have links on social media accounts. I'm on Facebook Twitter and Instagram You can message me there of course There's any movies news reviews let me to cover in the future and no I do not think Jamie Lee Curtis should return Jamie Lee Curtis has had her proper send-off that we know she deserved after the abysmal Abysmal send-off she had with Halloween resurrection with all that in mind guys. I will see you in the next video


So if you can get some space, like just maybe tuck in your chair so that you've got space to do what I want us to do, okay, it's very simple. I'll just give you an example of the first set that we're going to do. Okay, I'm still alive. Okay, so guys, did you know that the number one reason why people don't exercise is because it's expensive. I did my research a few weeks ago and it's $40, Warren Park, it's $85 in Milton Park and $100 in Borodil. That was then, so I don't know how much it is now. And then it also doesn't include the joining fee and, you know how it is in Zim right now, like it's difficult to get almost everything. So you have to choose, do you want to join the gym or do you want to go for a bribe? What do you prefer? Next one, please. So I've been on this journey for the past four years. I started working out in 2014 and after doing a research, back then I think $5,000 in your gym was $50 and unfortunately for me, I couldn't afford it. So I'd say to myself, you know what, either I'm going to be unhealthy for the rest of my life or I'm going to get creative and do something about it. So I decided, okay, fine, I'll just work out from home. The main reason that got me to actually work out was I was overweight, like seriously overweight. I have a seven-year-old daughter and then when I gave birth to her just two days before going into labor, I was 85 kgs and then fast forward to 2014, I hopped into the scale, checked my weight, I was 85 kgs and I wasn't pregnant. So I was like, okay, fine, let's do something about it and what did we do about it? Okay, you can see that 2015, that's 2016 and then it's 2017 and this is 2018. Okay, the common misconception is that you need money to build the body of your dreams and ladies, you don't even need any of those fancy things, those squats that we did, good for your booty. There are so many options that you can work with and because I'm one of those, I'm always out for a budget, like I'm budget buying, budget beating, so I make sure that the options I choose are readily available. So there's power walking, we can all walk right, like you just need 20 minutes, 30 minutes, but it has to be brisk walking, not just dragging your feet around walking, you have to be intentional about your walk, like you're doing something. And then there's running, there's body weight training, that's my current favorite and 20 minutes, 30 minutes, if you're strong enough an hour, but normally it's 20 to 30 minutes because it's very intense, it's high, like, yeah, it ups your heart rate, which is what you really need. Then you can play sport, how many of us played sport in school? Okay, sorry, I can't hear, yeah, back then, not now, back then, okay, I didn't see the people who raised their hands, okay, which sport did you play, basketball, okay, what was your position, okay, what else played sport, yes, yes, you, which sport did you play, oh nice, okay, what position, okay, and what are some of the workouts that you used to do when you were playing rugby, you don't remember, geez, okay, and then you can search for health and fitness related articles on WordPress, like I'm a fitness blogger, so you can just search for me, and I don't know about any other ZIM fitness bloggers, so if you know any, please do let me know, because I've tried to look for them, and I can't seem to find them, I'm a goal you are, invest in home workout DVDs, you know where to get those, and look for a workout partner, fitness events, I always have something cooked up, if you follow me on Twitter mostly, I've got a challenge every month, so this month is our rest month, because I've got something really intense for December, so you need to watch out for that, and then you need to eat right, so the thing about eating right is people are on crazy diets, what are some of the ones that you've had, like heard people talking about keto diet, people have money guys, have you seen the things on that diet, which other diet, Banting, yes, yes, that one is a famous one, sorry, I've got my friend in India, she's been doing that for a while now, so the thing about diets is, there are a lot of them, and depending on what it is that you like, just go with the flow, like at the end of the day it's your pocket, so if you feel you can afford it, why not, but my motto, when people come up to me and ask, okay fitness day, I'm trying to do this, I'm trying to do that, what can I do, where food is concerned, I always tell them that, eat a balanced diet, that's the key, but no one believes me, because it's so simple, yet so strange, just eat a balanced diet and you'll be fine, so how did I make money from blogging, does anyone else make money from blogging here, okay, what do, what do you blog about, sorry I can't hear, okay, please tell me more about that, fancy, well done to you, okay, so I've got a friend of mine in his base in South Africa, he's sort of like my mentor of sorts, so he one day said to me, you know what, everyone knows you as Mark Koopsie for blogging about like your life experiences, I do blog about fitness on there as well, but he's like, why don't you branch out and specifically write about fitness, it's like, what else is there to talk about, you have five posts and then what happens after that, it's like no, give it a try, so I did, and then one year later there were a Zim blog awards and my blog was nominated and I actually won something, I was like yes, now I like this, maybe I should actually be a fitness blogger after all, and then at the beginning of this year there were also awards for Ziva, you're aware of those, right, like the Zimbabwe International Women's Awards, I was nominated, so I got excited about that, I was like okay, more reason to blog, so the real reason why I continued to do this was that I realized that I've got an opportunity to create something beautiful, because people keep coming up to me, they're like, Fitness Bay, you know, I've been trying this challenge, I tried what you said, I tried what you tweeted, and it's really working out for me, I was like, wow, I'm amazed, I thought I was just communicating my day, like Twitter, like every second you're just talking about whatever it is you're going through, so I was glad that at least it's helping someone, and because I'm always very interactive on my platform, whether we follow each other, whether we don't follow each other, and that one person will always reach out to you and say comment on whatever it is or suggest something or reply your question, so it turns out that through that I've had people in the background who have, like, they'll have campaigns and things like that happening within their organizations, and then when they sit down and start talking, they'll be like, but then there's Fitness Bay, why don't we get in touch with her? So sometime last year, a golden person approached me, they were like, would like to work with you, like really, like, how many people are in our area, who told you about me, they're like, no we can't reveal that, but we can tell you that the person said that you've got a very warm ambience, whatever that means, and then we decided to start working together, so I think if you are going to make money through blogging, you need to be one of those people who's going to be very consistent and very out there in a genuine way, not like trying to pretend to be a nice person when you're not, or a helpful person when you're not, people can read through that, so just be at the right place at the right time and the opportunities will come to you. So how can you make a WordPress block? Rock, block, rock. Choose a user-friendly blogging platform, of course, WordPress. Plan. For those of us who do have blogs, how often do you post? Just out of curiosity. I know Tino used to have a blog. How often do you post? Twice? Monthly. What do you blog about that requires just two blog posts? Poetry. Do you know how many people love poetry on Afro bloggers? Like there's a Wednesday thing that happens there, and you're only blogging twice a month? Okay, let's read this together. In other words, have a content calendar. Have some form of a routine which readers will get accustomed to. It can be writing twice or five times a week or whatever you decide to do, but just make sure you do it religiously. I started off my fitness blog with at most three posts a week, but I now post once every Wednesday. If you're on Twitter, you know that I make noise about my fitness. So I think if you also want people to know about your blog, you have to make noise about it. Like if we give an opportunity to tell people, this is what I do. This is what I'm about. So make sure you plan that out. And if you're going to be remark couple, you're going to have to be consistent guys. Twice a month doesn't cut it weekly, at least twice, three times depending on your energy levels, but at least a post every week. And then proofread your work over and over again. You don't want to be that blogger who publishes work that is typos or grammatical errors. Even after publishing your post, it's important to read through it to make sure everything is in check. Ask a friend to read through it as well if you don't trust your own proofreading skill. Read, reblog, share. This is something that we have like a major problem in them, like the Zimblogger community. Most people want their work to be read. They enjoy the, oh, someone read my blog. Someone shared. But then if you go to their blog, they don't read people's stuff. They don't share anyone's work. They don't even comment. Like you can tell the traffic that, you know, Zimbo's have been reading my blog, but no one's commenting. It has to be something that's reciprocal. If you want people to share your work, you're also going to have to take part. So double-sided. Be 100% you. I cannot stress this enough. If you try and imitate someone else, you won't last in the blogging world. Keep your blog authentic and you'll never run out of inspiration. I am one of those fitness people who is very honest and open about my journey. I drink alcohol. I eat cake. I go partying all night. But then when the next day comes, I go back to my fitness journey. I eat right because I'm only human after all. So it's the same with your creative process. Don't try and be what you've seen someone else doing. Just stick to being yourself. And then link your blog post to your social media sites. Mine is linked to Twitter because that's where most of my leaders come from. So you already know we, your leaders are stemming from. So just keep it there. I never knew there was a term called unlearning. I was just so used to learning, learning, learning, learning.  When I started blogging on my lifestyle blog, if I look back now, I had 20 tags guys on a post like hashtag Friday, hashtag WordPress, hashtag, hashtag. Why? But it's because you didn't know. So it's part of it. You need to grow like constantly feed yourself with new things and then get rid of the old. Because if there's one thing I've learned about tags on WordPress, the more you have the less chances people can see your work. So you actually need to have just maybe two or three and you're good. But because we are trying to get that traffic to our website, we are killing our posts with tags and tags and tags. Okay. I love my daughter. The name's Coupa Crochet or Coupsie, hence my Coupsie fitness page. And if there's one thing that I really love about fitness is that when I go for the sports days and everything, everyone knows that she is damn, she's going to win the race again. Because everyone just looks at me and assumes, yeah, can she run? But then they're pleasantly surprised all the time. And I stayed on the journey because I'm curious about what my body is capable of doing. I'll tell you that never in my wildest dreams did I think I would be able to run half a marathon. I started off running 500 meters and wanting to die. And then last year I ran two half marathons. That was the end of that. Thank you, thank you. So knowing that your body can actually do amazing things is one of the reasons why I stuck on this journey. Because I truly feel that everything is in the mind. You can't keep telling yourself you can't do this, you can't do that. But if you tell yourself that you're capable, you'll be just capable. And then knowing that I'm making a difference in someone's life next please. I've got a lot of screenshots, like so many of them, but I chose to just take two of them. This is one of the people I follow. Her name is Will Moyo. Says thank you to Fitness Bay and Tina for sharing their stories and being such an inspiration. I remember a year ago reading Fitness Bay's blog and saying to myself, wow, she's just like me. I can do this too. Tina, your honesty surrounding fitness issues is so refreshing. Like I said, I'm always sharing my story and it really does help. And this was from my aunt. We hadn't spoken in close to 10 years and we didn't even notice it because you know, like you never pay attention to people on Twitter like images. You're just paying attention to their tweets. So I sent her a message and then she responded.  And all you're doing with fitness and getting people fit and being a true influencer. I remember having a conversation with someone and they were like, are there any influencers in Zimbabwe? And you know, I was like, yes, Fitness Bay, low and behold, I actually know Fitness Bay. So that's the thing. Just keep doing you. And then I believe that whatever the mind can conceive, it can achieve. If I could lose 10 kgs instead of the five that I initially set out to lose in the space of a year without stepping into the gym. Oh gosh, I can't breathe. Why didn't I put a coma without stepping into the gym or pairing up with a professional trainer. What greater things can you do for yourself with all the tools that the internet had? The internet has at your fingertips. Or there's that that I hadn't told you. I wanted to lose the 10 kgs and the five kgs actually. And then I ended up losing 10. Wow. And I didn't even need any surgical anything. When I started out the journey, the plan was to lose weight and be something close to a size zero. After reaching 69 kgs, I realized that what I needed was to be fit and healthy more than anything. I remember looking into the mirror when I got to 69 kgs. I could see my, what do we call these? My collarbones. I could see them sinking in. And my face, like, no, I've got nice round cheeks. My face started to sink in and I was like, I can't recognize myself anymore. This isn't what I set up for. I want to be happy. I want to be healthy. I want to be able to do things. But I can't do those things if I'm going to keep losing myself in the process. So I didn't say to myself, no, actually, let's just be fit. Let's stop worrying about the size. Let's stop worrying about the dress. Let's just be happy. So losing weight doesn't have to cost you a single dime. You just need to have a reason why you want to exercise. The why will push you beyond your limit. So any questions? Okay. My friends and family and followers call me an influencer, but I call myself a content creator. Yes. And there is stigma around it. Like if you read through Twitter, you're like, people see all sorts of things, negative things, of course, but then it just depends on the individual and how you want to take it. Anyone on a diet, I could try. Is anyone on a diet of sort? No diet. How much water do you guys drink in a day?  Yes. Okay. 1.5. Yes. Okay. I like that. You're aware that there's an application, right? I'll have to search for it and I can share it with you. The application, it helps you calculate your, the water, the amount of water your body needs. So it weighs, like it uses your weight, your height, your body fat, and then it will let you know how much is equivalent because people say that you need eight glasses, but we're not all the same. We're different. Our bodies require different from us. So you can come to me later and then I can share it with you because my body needs three liters and I drink that religiously, like close my eyes and just drink because I like water, luckily for me. So you need to know how much it needs. It helps with a lot of things. Okay. Those are my social media links. Let's do just one more fitness and then I'll go.


Why would a mega structural complex be the burial site for bulls? Why massive precisely cut sarcophagus that are absolutely stunning and that we cannot replicate in this day and age? If we were to attempt a site like this today, we would be looking at billions, tunneling, architecture, planning, human imagination that is off the charts and did we mention that engineers and researchers suggest it would be almost impossible because of the location? There is very little doubt that archaeologists are mistaken in their belief that this magnificent complex was built as a burial site for sacred bulls. Would it surprise you guys to learn that of the 24 sarcophagus found at the Serapium of Sakara, the only one found with animal remains inside was the same one with crude almost graffiti type hieroglyphics on the side, a direct confliction of the sheer advanced workmanship involved in the undertaking we see at this mysterious ancient place? Wait, do you hear this? Ancient historians accounts like Herodotus all these old, old chronicles speak of a former glory age of Egypt, known as the Golden Age, which some have suggested dates back as far as 10,500 BC. So is it possible that what we have right here may be a remnant of that time? Is it possible that not only was the Serapium built more than 10,000 years ago back to the time when the Great Pyramid was constructed, but that it was likely built to house the remains of giant beings in which were considered the gods? Could it be that the Serapium of Sakara was originally built as a repository for extraterrestrial remains? But if so, what happened to them? How could they have simply vanished without a trace? In the shadow of Egypt's majestic pyramids and monuments, and beneath the ever-shifting sands lies the tombs and resting places of more than 1 million human mummies. The bodies, often thousands of years old, are also well preserved that most are still covered in flesh. But why were the Egyptians mummifying people and going through these elaborate mummification rituals? It would seem that they did want to preserve the body as best they could, but why? The ancient Egyptians went to great lengths to keep the bodies of their dead from decomposing. All organs, except for the heart, were extracted. The brain was pulled out through the nose. All moisture was removed from the body. And hundreds of yards of linen were used to wrap the deceased, all in preparation for what the Egyptians believed to be the afterlife. They were mummified in order to live on in the afterlife. And the afterlife, with all the religious symbology that exists in ancient Egypt, always had something to do with the stars. Now, if you look at the future, one way of reaching another planet would be if we put ourselves into a state of suspended animation. And we would do this by being inside pods sleeping like this. Ancient Egyptians witnessed something like this, putting on the suit, getting inside their sarcophagus, which looks like a pod, or the pod looks like a sarcophagus. So it's not symbolic at all, but in fact, they witnessed something and misinterpreted it as a spiritual event. The origin of it may have been rooted in misunderstood technology. This raises an interesting point that only mummies of the New Kingdom had been found and no one in the Old Kingdom. So where have they gone? Could it be that with the process of mummification, the ancient Egyptians were trying to recreate a process that had been used in Egypt thousands of years earlier at a time when the land was inhabited by an advanced civilization? What do you guys think of this anyway? Comments below and as always, thank you for watching. One of the boxes in the syrapium, rough, was the rough servers. If we follow the Egyptological way of polishing this one, then we will be having few men with sand and rocks polishing the surface. If this works anyway, there's still no space for these men to work. So when we see the other ones also inside the chambers that's finished, how would this be finished if you don't have space for the people to be working around it? Basic and simple question. So here Yosef is one where the lid has been slid back. And again, it's believed that the boxes themselves weigh how much? 70 tons for the box and 30 tons for the lid. So the total of 100 tons for the box and the lid, in the range. And this is not local stone? No, this is not local stone. Where was it brought from, do you think? Not close of them as one, which is 1000 km from here. Well, as you've heard Yosef say, the box and the lid, of which there are more than 20 of them, each one in its recess, weighs about 100 tons. The stone is from at least 1000 km away. And yet the official statement is that these were made during dynastic times, the late period, as burials for sacred bulls, the apis bull. However, the level of tolerance and engineering and finish in this incredibly hard stone, which the dynastic Egyptians did not have the tools to shape it, tells us that we're looking at an older construction than what Egypt wanted to say from probably several thousand years ago. And the only way that these boxes were quarried, moved and put into place underground here and finished would have been using forms of technology that not only the ancient dynastic Egyptians did not have, but that we also do not have to this day because engineer Chris Dunn, author of books such as the Giza power plant, asked a firm in the United States if they could replicate one of these out of one piece and they said, no, we require four pieces for the sides, one piece for the bottom and another piece for the lid. So with 21st century technology, even with an unlimited budget, we cannot achieve this today. We don't talk about much. We see this, the tunnel itself is all carved in the bedrock. So imagine if we turned off this light now, we're not going to be even able to see our pounds right ahead of us. So imagine that you are actually doing this, the challenge of this work in the dark, how you're going to, what you're going to be using, a flame, there is no even markings of anything dark. And there are no openings in the ceiling. Again, if you're doing this work in the open, it was going to be much more less challenging dragging, if we're going to be dragging these megalithic boxes, at least the box was out the lid is 50 tons and you need around 2000 men to drag this 50 tons. And if we looked at the width of the tunnel, it's maximum two feet wider than the width of the box, like the one you see here. And we already measured that before. So there is actually no space for even 500 people or 200 people to be there and doing the dragging. And also lowering the box down into that, that it has a lower level. That's another challenge. Right. Because now you have to turn with it and then take it on a lower level and we can see it's almost perfect, the space from all sides. And there used to be other devices, I believe in this place, which we can see that there is a carving in the wall to house something else. I believe it can be a false door or what we know as the false door, which is another device that can possibly regulate frequency and sound, create standing waves and controlling also the wavelength of sound frequency. So the only reason again and again that we date and relate and identify these boxes is according to the writings on it. And here in this case, we find maximum three boxes were writings on it and more than 20 ones plain without writings. And the one that the officials believe it's the most valuable one because it contains most of the writings has the worst writing example that you can see, especially when you compare it with the surface of high-tech machining like the one we see. What Yusuf is saying and what we'll see in this next segment is the fact that the quality of the finished surface of the box itself is far superior to the actual writing or hieroglyphics on the surface. Many archaeologists believe that the surface itself, the shaping of the box and the fine surface are contemporary with the writings, but that makes absolutely no sense because the writing is inferior. And if they had the technology to be able to do the cutting, moving, shaping and finishing of the box, then they would have had the capability of elegant and eloquent carving of the hieroglyphics. And that's not the case. So clearly what you're looking at, so you're looking at a super ancient series of these boxes and later they were discovered by the dynastic Egyptians in situ underground here and the dynastic Egyptians carved the hieroglyphs on the surface. This is an example of recycling of one culture creating something and another culture coming and adding their part to it. So this is where Yusuf is going to show us the difference between the surface of the box itself and the quality of the carving. Well it really doesn't require a professional to realize the difference between how sharp the cuts are and the surface is and how crude the writings are because in cases like what we see over here for example, this is a marking of a primitive tool that could not even create a straight line on the surface. That's so clear. It doesn't require even a professional in machining to see the difference in these surfaces. Look at that here for example, there is a point here when the tool slid over because it was not sharp enough even to scratch the surface right here. That will happen when you use a tool that's not solid enough to conquer the surface of cyanide here. And the other mystery we see here is how this was polished. You see the first time I looked at that I saw many bent areas like this yet it received that extreme polishing. So it didn't make sense because if you are polishing following the theory of Egyptologists that this would be polished by sand and a piece of quartes or a piece of diuret, this water, then how can he fit this polish into the deeper parts that we see like this one here. It had to be something else and then when we looked close we realized the fact this was not polished, the surface here was not polished, that shiny surface was not polished by sand and water, it was polished by an alchemy formula of some kind that it was once a liquid. This liquid was cased to the box and then as any liquid it will come down to the bottom of the lid like what we see here and create drops coming down. If you follow here is a clear one, this clearly was a liquid and we see the marking of the liquid running in the bottom of the lid gives exactly the same shiny surface like here but not deeper where that liquid didn't go. So this is the smooth surface by the machining and this is the polished surface by the liquid and there is no process of sand and water and a piece of rock to polish. This is a ridiculous theory because here we can see a clear evidence that it was an alchemy formula that they made probably acid with something else. So as you can see this is a classic example of the things that we are trying to look at not only here in Egypt but also in places like Peru and Bolivia. You have a standard archeological explanation for the function of something which when an engineer and or stone mason looks at it they say there is no way, there is no way that the dynastic Egyptians with copper or bronze chisels and stone hammers could have achieved what we are looking at and therefore the Greeks afterwards couldn't have done it, the Romans afterwards couldn't have done it, the Islamic people after that couldn't have done it, 21st century technology can't do it. We have no choice but to look farther back in time and look for a civilization that had lost ancient high technology superior to what we have today.


Welcome to another version of the NDSU Extension Nutrient Management Online Moodle Training. I'm Ron Widerholt, the Nutrient Management Specialist at the Carrington Research Extension Center, and I'm going to share with you today some information about how manure behaves in the soil and how that behavior can impact crop production. One of the questions that we get a lot when it comes to using manure as a fertilizer is the question of timing of the manure application. Does that timing impact the crop yield? How can we answer that question based on knowledge that we know? In the past, there was a simple answer to this question that if you aren't concerned about runoff, you can apply the manure in the spring or the fall, but if there is a runoff concern, then you want to apply it in the spring only. In the upper gray plains where we have a broad range of crop rotations, can the slow release of the nitrogen in the manure be a problem when you're applying it for a crop that has early season nitrogen needs versus a crop that has long season nitrogen needs? To try to answer this question better, we initiated a simple trial at the Carrington Research Center. In 2008 and repeated it again in 2009 to take a look at the behavior of a fall applied, spring applied manure, and a spring urea applied fertilizer. We used wheat as the test crop because wheat is an early season end user and needs the fertilizer within the first six to eight weeks from germination. Getting right into the results of this study, when we combine the two years of data that are shown in this chart, we can see the bushels of wheat per acre are on the vertical axis and the treatment is on the horizontal axis. When you look at these treatments, you can see that the urea treatment did significantly out yield the check and the spring manure but was somewhat similar to the fall manure. The fall manure did yield higher numerically than the spring manure and significantly higher than the check. Not only did we see an impact on the yield of the wheat based on the fertility treatment, but we also saw an impact on the protein. In this slide we have the percent protein in the left hand column and the treatment across the bottom and you can see that the urea statistically yielded higher than the check, the fall manure, or the spring manure and in fact the fall and the spring manure behave similarly to the check. So the lack of early season availability of the nitrogen in the manure also impacted the protein of the wheat. Another way to investigate this a little closer is to look at the economics versus just straight out yield of the crops. If we look at the cost of fertilizers, urea around 470 and hydrous around 415 per ton, you can adjust these always based on the year to year basis but for this analysis these are the costs that we're using. When we try to determine the value of the manure nutrients one way to calculate that is based on the cost to apply it. At the Carrington Research Center we have the manure applied by a custom operator as shown in the photo on this slide and if we calculate out the cost that we have in per acre divided by the analysis of that manure which in this case it was analysis of 7 pounds of nitrogen, 7 pounds of phosphorus and 10 pounds of potassium per ton. We came out with a value of $64 per 25 tons of manure applied per acre. When we compare the cost on a per unit of nutrient basis you can see that the commercial fertilizer costs on this chart are anywhere from around 30 cents a pound for urea up to 45 cents a pound for anhydrous whereas the manure nutrients, the nitrogen, the phosphorus and the potassium in the right hand side of the curve are all around 11 cents per pound. So there's a significant price difference between manure that is applied commercially versus commercial fertilizer. Now you also have to take into account the manure application. This includes the application cost whereas the commercial fertilizer, this is just the cost of the fertilizer we haven't added in any type of application cost. So even though we lost a little bit of yield using the manure as a fertilizer, did we make up for that yield loss by using a cheaper fertilizer source? Now to correct the wheat for protein if we look at the $4.20 base wheat price we can see differences in price based on the protein from 5.70 a bushel which is the high protein of the urea down to $4.80 per bushel for the 13.9% protein for the check. Using the known information that has already been presented we can tabulate the return or the gross dollars per acre of the yield based on the actual dollars per bushel of the wheat and then subtract the commercial fertilizer or the manure fertilizer cost to come up with a net dollars per acre return based on just those simple expenses and economics. In this table we have the economic factors down the left hand column and the treatments across the top with the yields based on each treatment in the first row, the dollar per bushel corrected price of the wheat in the second row, and the gross dollars per acre which would be the yield times the dollars per bushel in the third row. And as you can see the urea had the highest yield which obviously gave us the highest gross dollars per acre because it also had the highest dollars per bushel based on the protein. The fertilizer cost in the fourth row and the dollars of nitrogen per pound we're just looking at nitrogen in this example. The check had no fertilizer applied so obviously the cost is zero. The urea based on the values we used and the pounds per acre we applied was a little over $67 of nitrogen per acre. The fall manure and the spring manure had the same cost based on the application rate and the application cost. If we subtract that fertilizer cost from the gross dollars per acre of the yield and the protein the check returned us $141 per acre, the urea $206, the fall manure $226 and the spring manure at 181. Now here you can see that the lower cost of the fertilizer even with the lower yield of the fall manure we return a greater net per acre. Another way to look at this is to compare that return per acre over the check. In that situation the urea gained $62 per acre over not using any fertilizer. The fall manure application gained this $83, nearly $83 per acre over not using any fertilizer and the spring manure which had the lowest yield of the applied fertilizers and the lowest protein only gained us $37 per acre over the check. The numbers from this study conclude that the timing of the manure application can have a negative effect on nitrogen availability but probably not profitability. Especially for crops such as hard red spring wheat that has a high early season nitrogen demand versus a longer season crop such as corn. So manure does have special management considerations. If you're using it as a sole nutrient source it can be a complete substitute for commercial fertilizer however that depends on the crop that's grown. All the research that we've done at the Carrington Research Center agrees with research done throughout the nation that if you're applying manure as a fertilizer source on a long season crop such as corn you can substitute that manure for a commercial fertilizer completely without any concerns. However, the work we've been doing in the Upper Gray Plains shows that a short season crop like wheat that has a high early season nitrogen demand timing will have an impact. You would want to apply that manure in the fall and if you wanted to get similar yields to a commercial nitrogen source you may want to apply a low rate of Annette planting maybe 20 to 30 pounds per acre just to give it a boost before the manure nitrogen is mineralized. So using manure and cropping system is economically beneficial versus commercial fertilizer as long as you understand the behavior and take that into account. However, just because you're using a cheap source of fertilizer like manure you cannot make more money if the yields are compromised. Therefore it's still important to sample that manure and calibrate the spreader so you know not only the analysis of the manure but what rate it's being applied so you're applying it at the proper rate for good crop production.