Alright guys, what is going on? We're back. We're back for some more making gains, and we're still making gains But what I will tell you is that I have been without any equipment to make any videos or edit any videos for like the last three or four weeks So that last video that you would have seen Was me sitting here Looking through all my bills telling you guys what I bought lately what I'd had to spend my money on to do with my Properties and things like that. That was probably About a month ago to be honest, and that was the final piece of footage that I actually had On me to make a video from so since then I haven't been using the camera a lot I've probably got enough footage for probably about three or four videos between that date and today's date Which is the 20th of February and obviously I'll be vlogging from today onwards, and you'll be seeing those videos and that footage as It comes out, but for now I just wanted to give you guys just a quick intro before I do jump into this Next making gains episode. Today is the 20th of February like I said this next clip that you're going to see was probably about a month ago now, so we're talking about the 20th of January and I Think I'm pretty sure from memory. I go through some stuff that I got in the mail some of the some of the things that I ordered In the last video that you saw that I spent all that money on so with that being said I'd like to call it a day here I do have some new equipment. I've got a new computer. I've got a new camera. It's all go.  I want to crack back into making these videos I've I've sort of felt a little bit lost not not having something to to edit or something to create you know if I've kind of lost my mojo a little bit, but I hope that You know busting the camera out this morning will be the start of some more videos to come so That's it. I'll see you guys when I see you but for now enjoy the next video and Thanks for watching. Peace All right, everybody. What is going on? We're back for another episode of Making games don't know what the day is, but just finished a 12-hour shift.  I'm waiting for adidas and waiting for Nike.   I Need some like I need some light Tank tops for the gym and also for you know general day-to-day life, and that's exactly why I went to gym stays I know the fit. I know the quality. I Know the person behind it. I really really support this brand. I've supported Jim Steeves for probably about three years if not more and I've got four singlets, so we're gonna open them up. It ended up being that I ordered three tank tops and One hoodie. So first one is like an oatmeal color in Excel with the white panel on the front We've got a black With a white panel on the front once again in Excel. I Tend to go for Excel and things. I've found it's it's a lot better to be slightly bigger than slightly too small Because if I put something on and it's you know, it's skin tight.  It's fine But usually if it's skin tight around your arms, it's also skin tight around your body So you can't really win, but we've got those two tanks. We've got my third one, which is actually my favorite I've wanted this since it came out, which is just a plain plain white tank It's fun.   Like I said, I need something light So we're definitely gonna go with this to wear to the gym tonight That's what we're about to do is go and train. So I'll put this one on this one's actually in large Which I'm kind of nervous about because Like I said, I don't like things being too small, but I think large should be fine. I Was just a bit worried when on the cautious side So Yeah, I like that. That's pretty sick Definitely a good fit wouldn't want it to be any smaller But I probably wouldn't want it to be much bigger. So I don't know about these ones, but oh Well, I'm just gonna have to get bigger on I so about the three tanks And then my final purchase was this Jim's these hoodie, which I've always liked since I saw them They're running out of stock. This was one of the last ones and it was in my size XL Which was fantastic. It was meant to be and so I got it and Obviously around Alice brings at the moment. It's about 40 to 42 degrees every day So I definitely won't be wearing this At the moment, but I can't wait to wear it. In fact, when I go down to Melbourne, I'm definitely going to wear it And it's got it's it's a plain black hoodie with Jim's knees down both arms. So I really like that design Nice and plain simple. That's what Jim's knees is all about. It's just got nice good colors and just a simple You know logo or brand and obviously I followed freeze ma It's not his real name, but yeah, I followed freeze ma who is the founder and the creator of Jim's these Created it back in 2012. So we're in 2017 and I followed him since he created it So, you know, it's probably a good four years. I've been following this brand and Yeah, I'm a loyal customer. What can I say? I support New Zealand and Australian Brands and people that you know, entrepreneur entrepreneurial people People that share my vision And that's sort of how I came across freeze ma and Jim's knees. But with that said We've got one other thing I want to show you which I bought today I've been ironing these up in the shoe store. There's this like number one shoe warehouse or whatever it's called Say it's been less shoes. I think this and I've got these fake obviously rip like knockoff Yeezy's So I don't know what's actually missing from the original ones I think the original might have something down there or maybe that's just the 350 ones I really don't know honestly, but these look the part honestly.  I'm so stoked It's even got the same ribbing along the sole as what you'd expect and um I'm going to put these on for the gym. So we've got the Yeezy's the $40 Yeezy's We've got the Jim C's tank. We've got the shorts And we're going to go make some gains. So I'll see you guys back here Bright and early in the morning.  I'm home I'm looking forward to the gym tonight And I'm looking forward to a nice sleep and a sleep in And so I'm actually in a really good positive headspace right now, which is perfect for me to go to the gym There's nothing worse than heading down to the gym With things on your mind if you're dwelling on things if you're You know negative In a negative headspace The gym is quite challenging. So But in saying that, you know, it can be people's sort of Way of getting through those kind of things. So You know, I've never really seen the gym as therapy, you know, how people talk about that, you know, the hardcore You know getting through breakups and things.  Um, so I haven't had to get over any girls So, you know, I haven't used the gym for that but all it is for me is is to You know, give me a bit of a bit of an escape from the rest of the world for an hour a day It's the time when I listen to music, which is another reason I really look forward to it Chuck my headphones on I listen to my favorite music, which puts me in a good mood And I make games and honestly like I see fucking 10 15 people that I know every single time I go down there So it's you know, it's like a social occasion too, which is it's cool as long as I don't talk too much I'll talk before I start training.  I'll tell you that much So I'll see you here in the in the morning. We've got some cool stuff to to run through I've done two whole weeks of tracking macros every single thing that's gone in my mouth. I've tracked it Um, so we're gonna do a weigh in tonight Which I'll show you guys and then tomorrow morning. I'll talk through my diet and how things have been going So I hope you guys enjoyed the first part of this video We're gonna go and train I'll see you in the morning. Peace


All right, everyone. Thank you for coming to my session here for Krutui Khan Lab research seminars. Today we're gonna be going over a time stepping attack that was found right before the proof of work to Ethereum, proof of stake, merged in August and September of this past year. And I wanna shout out to the team at Hebrew University of Jerusalem for being able to find this and find such an impactful attack for proof of work chains because not only is Ethereum a major L1 that was in proof of work, but there are many L1s including Filecoin and other ecosystems that are using similarities of proof of work chains. So we will get into it. What we're going to cover today is the problem, the attack and the lessons learned. So generally around this time, proof of stake was a big deal in the crypto ecosystem. We wanted to be able to move to proof of stake for a number of reasons within Ethereum for a single energy consumption, being able to make it more cost effective for, or sorry, to make it where the mining, needing to mine isn't the only way to get into Ethereum. They wanted to create ultrasound money so that people could be able to utilize Ethereum for financial and global economics. And at this time there was many motivations to want to move to proof of stake. But in proof of work, there were a lot of complexities within the chain and within the consensus mechanism. One of the common misconceptions within there is can protocol manipulation happen in Ethereum for proof of work? There were a lot of people in the research community that said, no, there's no attack vectors that could actually be possible to be able to do this at the consensus mechanism level. And so another question was, can Ethereum blocks actually give evidence of consensus level attacks? That's probably this can happen. And can miners attack the consensus layer of major cryptocurrencies like Ethereum and other proof of work chains? They use things like timestamps and block rewards, et cetera. Well, this team actually, a Hebrew University of Jerusalem went to find out. So what their actual problem was, and I love this image that they created on their medium. It's spectacular. It's spectacular. We want to go over the mining difficulty in Ethereum. So just real quickly, in Ethereum with difficulty of mining, the current block changes on the fly and decreases the longer the time that has passed without anyone mining a new or valid block. Just to make sure that you have a certain amount of difficulty or certain amount of overhead to actually make sure the block has been proposed that it's well and good. And now this is done to ensure that interblock times will not be too high in expectation. So what could actually go wrong there? What can go wrong is within the timestamping of that. So between blocks in the mining difficulty, it is determined by block timestamps. The problem with this is that miners have the freedom when setting them. They can create false timestamps. They don't always have to provide honest and truthful timestamps in this example. So in my example here, a miner can start mining a block now but set the block's timestamp to be five seconds in the past or 10 seconds in the future. As long as the timestamp is within a certain bound, the block will be considered valid. Now, these same consensus laws say that in cases of ties, there's like tie breakers in this case, between blocks of the same height, the block with a higher total mining difficulty should be picked to the parent of the currently mined block while the other ones should be produced to the uncle. And this is where the uncle maker attack comes into play. So a miner who wishes to replace that last block on the blockchain can do so by mining a new block of its own which has a timestamp, which is low enough to increase the block's mining difficulty. The last block has high paying transactions or in order to double spend a transaction contained within that block. So long story short is with any Ethereum, you didn't, there weren't actually ideas of how to be able to attack this block, and there's some gaps in between the times. So there was never a specific block that will be mined to actually nine seconds specifically. They would have a gap in between eight and then to 10, but never right on nine. So this uncle maker was able to find the specific difference in there. And so this paper in particular described the uncle maker attack and analyzed the potential strategies, showing that executing the attack in a specific way does not entail any behavior which has a non-zero probability of earning less than mining honestly. And it attacks the honest mining strategy that is held in proof of work blockchains. Now on the right here, you see an honest miner always mines a block with the longest chain. That's a common ecosystem or consensus layer fact. They always publish a block as soon as the block is produced. And in ETH, the honest miner reference refers to uncle blocks that can be produced as many as they can, but no more than two. And so an honest miner will always mine the blocks that are proposed to them. Here though in the attack, this group created an uncle making attack in the wild. So although mining pools produce relatively inconspicuous looking blocks, the F2 pool specifically, the one I'm saying that doesn't have the nine or the 18 or the 27 that are divisible by nine, they definitely do not do this in this pool. And people create different pools within mining environments because in proof of work, specifically the rewards are very fluctuating. You get one reward that's like a hundred acts one time and you'll get one that's maybe like one acts another time. So people will create specific or people, users and miners will create pools to try and level out their rewards equally as much as possible over time. Now specifically whenever a block should have a timestamp difference from its parent, which is divisible by nine, precisely the time at which mining difficulty decreases, that is when the F2 pool hangs around. And F2 pool, nevermind blocks with timestamps which are divisible by nine, instead of falsely setting their timestamps to be one second earlier. This was the main fact and critical knowledge and paper. Other pools, for example, within Ethereum, they actually have more equal out distributions within the time. So they don't actually only at nine seconds pause and then move on to the next one. And people actually within the Ethereum community and different chats and forums came out and said, well, of course we pause it at nine. That's how we actually make money. And that's how we solve so that people don't take advantage of the network. And so it was a really big research that was found in September. So some of the lessons learned are don't just trust, verify these different consistent mechanisms and chains when being able to evaluate and make sure that your pool is actually taking and proving honestly. You always wanna take time to all these different attack vectors. I know like proof of stake was rushed or everyone thought that it was delayed, delayed, delayed. But a lot of the research groups were examining and testing out so many different attack vectors to make sure things like this were not possible. And all in any L1s are not bulletproof. There are plenty of issues and things that people can get to when examining these different L1s. And one thing I wanted to go over before I finished is some of the different attacks that this group went over. The UMPLEMAKER attack was the one that checked all the boxes when it came to being able to picking funds within the Ethereum proof of war chain. These other ones just didn't meet the mark in some of the other strategies that they were able to produce as well. But yeah, I think this paper was really fascinating. Sorry, I can't really go into deep details economically and technically of how and why this came to be. But I found this to be super interesting and something that anyone that's working and developing in the L1 should be very mindful of. So thank you very much. That's pretty awesome. And yeah, to augment David's comment, yeah, super sneaky. Super sneaky. Super sneaky. And it could happen in other ecosystems too. We've got to be mindful. You said that they were from the Hebrew University of? Jerusalem, yeah, Aviv. Aviv Yai, like I believe is his name, is the. OK, no, because I know Guy from the crypto. Because this is left, she asked her. He works at that university. No, he did his PhD there, but I don't remember if it was at the Hebrew University of Jerusalem or at the Technion. Yeah, maybe maybe he might have some if he did it on the group that he might be related, familiar to the group that this does work. Awesome.


Here in the last few days, I've spent a lot of time working on DTOS, adding a lot of new features. I've tried to fix a lot of bugs that had kind of creeped into DTOS here recently, and today what I wanted to do is I wanted to run through a quick installation of DTOS on ArcoLinux. And the reason I'm choosing ArcoLinux is because Arco is inline with Mainline Arch as far as their repositories. Right now, Manjaro, you can't install DTOS correctly on Manjaro right now because the version of Xmonad that Manjaro is on, it's incompatible with the DTOS Xmonad package. So I've already grabbed an ISO of ArcoLinux B with the awesome window manager, and some of the new features that you will notice when I run through the installation is now I have included the option to install multiple window managers, not just Xmonad. Now you're going to have the option right now of installing either Qtile or awesome along with it. Eventually I'm going to add DWM, and maybe down the road I might add EXWM as well. So I've spun up a virtual machine here. Again, this is ArcoLinux B, this is the awesome window manager addition. And let me go ahead and fix the screen resolution. So to fix the screen resolution inside a virtual machine, if you're using Xorg, you can use the XRender command. If you do XRender without any arguments, you will see the listing of all the available screen resolutions. And then once you have that, you can do XRender space dash s for set, and then pick any of these available resolutions. And I'm going to do 1920 by 1080. And now that we've got a better screen resolution, I'm going to clear the screen and I'm going to zoom in. If I can, I've got to figure out what key binding they're using to zoom. And let's go ahead and download the DTOS installation script. So to get the DTOS installation script, you need to get clone the DTOS repository. So run get clone and then HTTPS colon slash slash get lab dot com slash DTOS slash DTOS dot get. And then we just cloned the DTOS repository. If I did it LS, we're in my home directory here. You see, I now have a folder called DTOS. Let's go ahead and CD into that directory. If I do it LS in that directory, you will see there is this DTOS script and it's colored green here. That means it's executable. So now let's run through the installation. So let's run the script. So you do dot slash and then name of script to execute a bash script. And then we get this screen here. Now it says the script that you will install is what I sarcastically called DTOS. Yada, yada, yada. It explains exactly what DTOS is. Just hit OK on this screen. The next screen is a warning message basically warning you that while the script works on all arch-based distros, some distros choose to package certain things that we DTOS also package. Please look at the package list and remove conflicts manually. Are you sure you want to continue? So that's just letting you know if the installation fails is because the arch-based distribution you're running probably packages some of the same stuff that I also package in the DTOS core repository. And there's a conflict that has to be resolved typically what you'll do. And let's imagine that you have a conflict what you'll want to do. Let me exit out of this. If I do it LS, there is this file here package list. So if I open with film package list dot txt, this is just a list of all the packages that Pac-Man will use during the installation. So for example I know for example for a while Endeavor OS package their own version of YAD. I think it was called EOS-YAD or maybe it was YAD-EOS. I forget which one. But it conflicts with the YAD I was trying to install. And the only way to get around that is to actually go into this package list, find YAD, and delete it if you were trying to install this on Endeavor. I don't know if that conflict still exists. But that's what you would have to do. So let's run the script again. And this time let's really run it. I won't cancel it this time. So I'm going to hit OK on this first screen. The warning about ArchBase distros packaging things that could conflict. I'm going to continue. And now we get an important warning here that we can't actually bypass. This warning says your locals have not been set. Please check that both the lang and the lc underscore c type variables are set to the appropriate locale and slash etsy slash locale.com. Okay. And then it gives you a link to an ArchWiki page about setting locales. So now there's nothing you can do here. It's a pit ender hit OK and it exits out and it prints the warning to the terminal as well as terminal output. Because in case you didn't get everything from the dialog box, I tell you exactly the variables again the lang and the lc underscore c type variables. I tell you what file they should go in. And then I tell you the terminal commands to generate the locale. And this is very, very easy. This sounds complicated. But all you need to do is with pseudo privileges open with any text editor you like. I'm going to open this with film slash etsy slash locale.com. And this is what this file should look like. It should have some things in it. One of the most important ones, of course, is the very first one laying. And typically most people will have that set, especially if you installed this through an arch based distribution that uses a graphical installer, they probably made you choose a locale somewhere during the installation and they probably set the lang variable. But the one they didn't set and it's important for DTOS is the lc underscore c type variable. Just set that to the exact same thing you set the lang variable to. Then write and quit. And then I tell you again, the output in the terminal, the command to run sudo locale dash gen. So sudo locale dash gen. And then you need to reboot the computer for that locale change to take effect. So we have to reboot. And then once it reboots, we're going to rerun the script and everything should work. We should get no warnings. And I'm back inside the awesome window manager here. Let me open the terminal and once again, zoom in. And let me CD back into the DTOS directory. LS again, you see our script is still there. Let's go ahead and run the DTOS installation script. And now we get the welcome screen. We get the warning if you're using an arch based distro. And now it no longer warns us about the locale. So we get a different warning message this time that says the DT installation script is currently in public beta testing. So really, if you want to try this on like a main production machine, you've been warned it's beta software.  So let's begin the installation. So it added the DTOS core repository to our pacman.com that also downloaded my keys from the key server. And then what is asking the very first question you will notice this is new. Do you wish to install Xmonad? Why for yes. And then of course it's going to install some stuff Xmonad, Xmonbar and various Haskell libraries. And then it finishes installing Xmonad and those related packages. Now we get another question. Do you want to install awesome? And yes, I'm actually going to choose yes for all the window manager options. But if you choose no, that's fine. It'll just skip that one and move to the next one. So awesome really doesn't have any extra dependencies here because I'm already using awesome window manager. It's already installed on Arco Linux awesome edition. And now it's asking, do you want to install Qtile? And once again, why for yes. Qtile has just a few Python dependencies that are not already present on the system. And then after it installs that it's going to install everything and the package list dot txt file that I showed you earlier, which is programs that are kind of used regardless of window manager is going to install the alacrity terminal and all the shells is going to install some other various utilities. And it finished installing everything from Pacman. And now what it's doing, it's doing a installation of doom Emacs, which runs a get clone of the doom Emacs repository. And then it has to build some packages for Emacs. And this actually takes the longest part of the DTOS installation. Usually it takes about 10 minutes or so for doom Emacs to finish building. And it's finished installing doom Emacs. Now it's asking for a sudo password for something. And that sudo password looks like it was going to recompile xmonad for us. It's also running the change shell command. So what do you want your users default shield to be now an arch and arch based distros, the default system shield is always bash, I suggest always leaving the default system shell set to bash. That's kind of the de facto standard on Linux, but your user shell, you can use anything for your user shell. I like fish. So I'm going to choose one. And then I'm going to hit enter. Then it's going to ask, do you want to reboot to get your DTOS? So let's reboot the machine. And of course, the DTOS installation looks like it completed just fine because this is my SDDM login manager theme. And let's see if we have all of our login managers. So we have awesome, which we were already using Arco Linux awesome. But now this will be using my awesome window manager config. We also have Qtile. We also have Qtile Wayland. Now make sure if you're on Xorg and almost everybody probably will be on Xorg to always choose Qtile. Don't choose Qtile Wayland because if you're not really using Wayland, you're just going to get a black screen and it's going to be locked up and you're going to have to hard reboot your computer. So we also have, of course, Xmonad. So let's see if they actually work. So let's start with awesome. We'll go in alphabetical order. And we get my login sound. It looks like Arco Linux still has some stuff set to auto start, but we can clean that out. What I would do is in DTOS, super shift enter brings up D menu. And then I installed PC man FM for our file manager. Let me go ahead and right click and choose show hidden files. And in your dot config directory, you should have a auto start directory. And in here, this is everything that is set to auto start. I really don't want the welcome application starting anymore. I also don't want whatever this cocky thing is to start up anymore, because I've got my own cockies that are going to start up with each of these window managers super shift C to close windows here in DTOS, but everything looks fine with the awesome window manager, right? The terminal malacrity looks good. Let's go ahead and launch do me max for the very first time. Typically, when you launch it for the very first time, it's going to ask you about installing some extra emojis and some extra fonts, which you really need. So choose yes for this. And then once it installs those fonts, if I close do me max now, it's going to ask for confirmation to close. And now when I relaunch it, hopefully it will look like my doom emacs with all my fonts. We don't get the dashboard or anything because the emacs statement is not running. It will run by default the next time we do this. It's just the very first time we run this. It doesn't start by default. Let me actually exit out of the awesome window manager. So super shift Q to quit. You'll get this D menu script. What do we want to do? We want to log out and use for confirmation. I'm just going to log right back in. We get the welcome screen, the terminal and everything opens just fine, closes just fine. Now super E followed by E. That's a key cord should launch doom emacs as an emacs client because now the daemon is running in the background. So that is really cool. Again, everything here inside awesome looks like it's working just fine. I wanted to change the layout. Yeah, we could super tab to change all the layouts. Now I still got a lot of work to do with the awesome config. I've already packaged it up and I went ahead and added it to DTOS as an option, mainly just because if I waited until everything was perfect, I would have never gotten it packaged up and ready. So just know awesome. It's not as fleshed out as X moon at is just yet. There could be some bugs with it, but let's go ahead and log out and let's go ahead and try out the Qtile session here. So let me choose Qtile, not Qtile Waylon, but just Qtile. Already I can see that Qtile has a bug because this is conky, but for some reason it's a floating window when obviously that's not what it should be. So let's kill the conky. So I will fix that when I'm done here. I'll make a note of that. Yeah, that's strange that that conky is like that. We're getting an error that desktop manager is not active. And that desktop manager should be LX Session. And we definitely don't have a desktop manager because they don't have a SysTray or our SysTray applets. So let me go ahead and just open some terminals. Everything looks good here. Doom Emacs. Again, Super E followed by E opens the dashboard. Close that Super E followed by D. We'll open up Dear Ed, the file manager inside Doom Emacs. Super E S will open up the E shell if I wanted to do something with the E shell. Again, Qtile, I've got some work to do on it too. Obviously, we already spotted one error with that conky. So just know even though they're packaged up and they are an option for you right now inside DTOS, I've got some bugs to work out. Super shift Q to quit. And we don't get a D menu script. I should fix that. That just kills it right away. No confirmation. I should make that the DM-Logout script. Let me go ahead and choose Xmonad. I know Xmonad should work because this is the one obviously we spend the most time on. I have spent the most time on making work. And yeah, everything works in D menu and the terminals. And we get a little sound every time you open up D menu. Super E followed by E will open up Emacs and all the other Emacs related bindings. So yeah, everything seems to be working. So that was just a very quick installation of DTOS on top of Arco Linux. Again, still got some bugs to work out. I still am calling it beta software, but I really wanted to go ahead and at least get the awesome window manager and Qtile packaged up and available as far as the installation. And even though they're buggy, I don't mind people going ahead and installing them and discovering bugs. I hope you guys file bug reports over on my GitLab or for those of you that can immediately spot what the bugs are, if they're simple enough to fix. Yeah, go ahead and make a merge request and guys, help me fix the bugs, right? I'd be happy to take any help I can get. Now, before I go, I need to thank a few special people. I need to thank the producers of this episode, Dustin Gabe James, Matt, Maxim, Michael Mitchell, Paul West, why you ball homie, Alan Hormor Dragon, Chuck Commander, Larry Diocchi, Dylan Marsh, Drum, Larry Allen, Alexander Peace, Argentine Dora, Polydead Reality, for Les Red Prophet, Stephen Whaley, Tools Debbler. Okay, these guys, they're my high-steered patrons over on Patreon without these guys. This quick installation of DTOS on Arco Linux would not have been possible. The show is also brought to you by each and every one of these fine ladies and gentlemen. These are the A through Ks and on this screen, we're going to do the L through Zs. These are all my patrons over on Patreon because I don't have any corporate sponsors. You guys know I'm dependent on you guys, right? If you want to support my work, please subscribe to DistroTube over on Patreon. Alright guys, peace. I squash one bug and two more up here.


I would like to congratulate and thank everybody for making this con happen. Guys, congratulations. Thank you for volunteering and making this con happen. And everybody who has travelled thousands of miles from some other countries, welcome to India. And I am Meethu Morwani, currently working as a developer at Acquia. And I'll be talking about features and CMI in Drupalate. And the name of my session is Features vs CMI, the Barber for Drupalate. So guys, every once in a while, a revolutionary and a phenomenal product comes in the market. And this time it is our very own Drupalate, coupled with super awesome and fantastic features. So guys, before I start with the technical and all the geeky talks, I would like to know how many of you have used Features module in Drupal 7 before? Oh, we have quite a room for now. And how many of you have explored Drupal 8 of it? I have super smart audience. Okay, so can anybody come up with the usage of Features module? Anybody? Can you come up with something about Features module? Yeah. Okay. Anybody else? There will be nodes on Drupal 1 in all the countries. Okay. Anybody else? Yeah. Exporting configuration between different environments. Any kind of configuration. Yeah, awesome. Yes, so I would summarize what everybody has said. So Features module is used for moving the motivation from one server environment to another. So we use Features module for deployment purpose. Now, we all have the same thing. I think we can start. Everybody knows what Features module is all about. I think we can start about the main talk. So yesterday, I was just going around the campus and I came across a few students. And that made my memory of my school and college days. I remember my teachers. I remember my mentors. I remember my friends. I remember the fun times I've had. And the last thing I remember is the video lessons which I learned through some video capsules. So guys, everything we learned via video capsules leaves an imprint on our heart. So I would be glad if you guys remember what we learned in the session. So from there, just start with a video. So guys, this is a very funny video. Nothing technical here. The message here. Anybody got the message? What this video was all about. I'm not expecting you to say that guy loves the girl. No, I'm expecting a meaningful message to guys who got some of this. You should bundle up the things. Yes. Unless you go for a single item when you read it. Yes. So there are certain things which are meant for bundling. And what if we do not bundle them? As you just saw, we end up in situations which we do not want to be in there. So in order to avoid certain situations, let's start bundling up things. We learn about contribution management and features module. And what are the adjustments made in features module in Drupal 8? And what are the differences? Then how Drupal 8 code is awesome, super awesome with feature module. Then Drupal 8 was still in the development phase. There was a lot of fuss about CMI. Is anybody aware of what is CMI? Yes. And what is the end result of contribution management initiative? Yeah. So CMI stands for contribution management initiative. And as an end result of CMI, we have developed a contribution management system that is used for moving the contribution from one environment to another. So there were certain pain points which every Drupal 7 developer has been grappling with and contribution management helped their developers to solve those pain points. It also facilitates the ease movement of contribution from one server environment to another. And as I just said that there are certain pain points which every Drupal 7 developer has been grappling with to see what pain points have been resolved now by contribution management system. Consistence management system has a consistent approach for storing the contribution. Now once again, everybody come up with the ways, the number of ways in which the contribution was stored in Drupal 7. Where were we storing the contribution in Drupal 7? Yes. In database. But what else? What in database? What? There were certain tables. Yes. Was there any other way a path from a variable stable? Setting dot php. Setting dot php again saved the entire contribution variable stable. In the case? You dollar contribution. Yes. Correct. Yes. So there were multiple ways of storing the contribution in Drupal 7. So every module has to come up with their own way of storing the contribution. There were modules who made their own tables. And there were modules who stored contribution in the variable stable. And there were contributions in suit, sito's, exported by a feature. So there were multiple ways of storing the contribution in Drupal 7. So wherever I was, I would just share my experience. Wherever I was made to work on a new project, it was a pain for me to see where the configuration actually resides. Because there was not a single way. I had to check the variable stable. I had to check the other tables module was provided. So there were multiple ways. Now the configuration management, what configuration management has done? We just have one way to store the configuration. And that is YAML files. Now does anybody aware what is YAML file? Yes. Anybody else? Yeah. And what is the full form of YAML? Yet another mark of language. Yes. So YAML is a format of files. And it is human readable. And the configuration is stored in keyware format in YAML files. And it is human readable. You can just read the YAML file and you will see what the configuration is all about, what it stores. So yes, in the case of configuration management, there is only one way to store the configuration. And that is YAML files. The next. So this is the one screenshot of YAML file. I hope it is visible. It says that name large. So this is a YAML file of our image style. As you can see it has a name. It has a dimension. So just having a look at the YAML file you can clearly find out what the configuration is all about. What it has. So now everything is YAML. Tables, C tools, variable tables. Everything is YAML file now. In Drupal 8. So the next problem which was there in Drupal 7 is just imagine. You have gone with the code freeze. And there are certain things, there are certain changes that you have made. But you cannot push anything on the other deployment environments. How do you take the code there? Is there any way to make your changes there on the environment? To take the local changes on the other environments, development environments, staging environment. Is there a way? But you have hit the code freeze. What else? I am not lying. I do not want any code to go on the environment now. Is there any way? You have to do things manually. But is it easier to do things manually on several environments? It is not easier. Right? But we have better staging of, better configuration staging management system in Drupal 8 now. You have hit the code, you have hit the code freeze. There are certain things that you want to move from one environment to another. You can just export the files from one environment and you can just import them on the other environment. Now I can see so many confusing faces here. Guys, don't worry. We will see a demo here. Whatever I am speaking, we will see everything in the demo. How we can export YAML files from one configuration environment to another environment. After talking a lot about configuration management, what are the pros of configuration management, let's discuss how does this work. So has anybody seen the setting for PHP 5 of a Drupal 8 environment? Anybody guys? So did you know it's a variable there called the configuration management? What is there? What does that variable contain? Anybody? It points to the directory which contains the configuration management. Yes. Yes. So my audience knows everything. Okay. So there is a variable called configuration directory and it stores the path where my entire configuration is stored in the form of YAML files. If I have to take the configuration from one environment to another, another environment will scan that directory and import the configuration from that directory. So it has the path to the direct configuration directory. And just to make the things more easy, we develop and believe in making things simpler, easier. So just rename the directory. You can also rename the directory. In my case, I have just renamed it to same directory so that it makes more sense. Initially it is something called an underscore hash but I have just renamed it to same and have created a directory in the path and it picks up everything from there. Okay. So let's see the demo here. What am I doing here? So the environment is a development environment and I'm just changing the site name here. Change off the lights please. Can I see from back here? Yes. Sorry. Change off the lights. You cannot see from back here. Okay. So we can just put the lights on now. I'll just brief you about what is there in the video. So I'm just changing the site name and the slogan of my current one environment, demo environment. And I will be exporting the configuration and I will be importing that configuration on the other environment and you will see the changes being reflected on the next environment. I have updated the site name on the configuration and the synchronization page. I export the file here. As I can see, system.site.vile if I will have all the configuration related to my site. And just copy the code. The one is the demo of local as you can see. I go on the next environment and this is my site name which is there. This is where configuration management is site. The site is under development tab. I just go there. Just because I'm importing a single file, I'll simply call a single item there. I've pasted my configuration there. There is a batch process that starts while importing the configuration. Once we have all the configuration, we see, yeah. So we successfully imported the configuration and let's see the difference in the site name. Oh, so I have my new site name and slogan there. So yes. So guys, what we just saw in the video is that I exported the file from one environment and imported on the second environment. And all the configuration changes which were there on the first environment are there in the second environment. Now, you just saw in the demo that I just, yeah. So how do you do all the multi-site environment? Multi-site environment. So basically what is multi-site environment? You have everything in sites folder. So over there, you can just import the configuration in under several domains. Every site will have a different layout. Every site is a different database, right? So you just go on a different domain name, import the configuration there and it will pick up everything from the scene directly. What is there in the scene directly? So if you are making a change and if you are just popping that scene directly under all the multi-site category and you are importing it, then all multi-sites will have what is there in the scene directly. So the scene directly is the important key aspect here. Everything which is there in the scene directly will be copied to the database. Yes. Sir, if you have all the common data in the site. Yeah. So we can have a common data result. I couldn't see anything enough. Give you a site so I can open it. Yeah. I can't choose any site. Yeah, so this is what is there in the code. And probably Jeff, can we, I think we can do something custom here to make this more expandable. Yeah, so this is, she's on one site. So if there were multiple sites. Yeah. She's still only importing configurations in one of the sites. So you can import it to each individual site. If you have different configurations to import into different multi-site sites. Can I be automatic? If there are like 100 sites, is there something in code or some particular? No. So for now we do not have anything in code. But I think there will be some constitutive modules as this is a very common requirement to have a multi-site configuration. So this is just what is there. What is Drupal 8 provide out of the box. But yes, there will be constitutive modules which will put your requirement as well. Yeah. Something for that. Yeah. Yeah. So when Drupal 8 development was one second. When Drupal 8 development was in progress, there was an issue which everybody was working on. And the issue is that I want my default configuration to be stored in files. Right. But then we decided that we will be saving the configuration in the database. But yes, just making a change in the settings of creation file. You can say that I want to make my default configuration stored in the form of YAML files. So yes, you can do that. Yes. Yes. Yes. Yes. Yes. We will see that. I have a next slide. So yes. These are just the screenshots. What I did from the export tab. As you can see full archive and single icon there. We can export the entire configuration directory and import it on some other environment. We also have an option to export just a single file which we just did. We have a screenshot for importing. Again, same thing goes here. We can import the full configuration directory. Now what is the result of exporting the full configuration directory? When you do the full archive export, what do you get? What is the end result? You get the cloud of gg file which you get as the end result. It has the configuration YAML files. You place it in the same directory and you are good to go. And the good thing is that this directory can also be version controlled. And I hope, I made this assumption that everybody is aware of this since we cannot just take the configuration from one server environment together without just version controlling it. But I am just repeating it again and just telling it that yes, we can version and process directory and I will get to any version control system that you guys use. And the next tab is the synchronized tab, the one, the question that you are. Over here, you will see all the differences. So there are certain things which exist in the database and there are certain things which exist in the code. So you will see a list of everything there and you can just check the items that you want to import. What are the things that are removed? What are the things that have been added? What are the things that have been changed? So you can see everything and you can make the choice and you can import them. So this synchronized tab will let you see what is the difference? What are the new files that you have imported? And what are the new files that have gone as a result of liquidating the latest code? So what is there? What is there in the whole bunch of imported? It is there in the database. You cannot hold that. You have to do the changes again. So you could also use that to go back to the previous one. Yeah, so everything is version controlled. Yeah. So everything is possible with Git but Drupal. Then when we are talking about Drupal 8.4, once the changes are there in the database, you have to make those changes again. So now everybody is aware of the benefits of confirmation management. Now everybody knows how it works. But still you may end up getting yourself disappointed. And the reason for your disappointment can be the UUID. So guys, do you know what UUID is? Anybody? Yeah. Unique Identifier. Yeah, universally unique identifier. Okay, and this is the perform of UUID. But what is the significance of UUID? Every site has a unique identifier. Yeah, so thank you. So whenever you do a site install, there is a fresh UUID which is associated with the site, which identifies that site. Now when I said that you can move the configuration from one server environment to another, what did I mean? I meant that the second environment should be the clone of the first environment. The UUID should be same, right? So yes, and so we can see if the UUID of the destination site is equal to the UUID of the source site. See environment work, otherwise it will fail. So yes, as we just let's step back a bit and remember what you all guys said, what we all came up with the definition of features. We said that features is used for moving configuration from one server environment to another. But was it intended to do that? Was it built for moving the configuration from one server environment to another? No, it wasn't. Yeah, so we'll talk about features as well. But guys, there is one more thing which you should all cheer about. We have a drug support for this as well, for configuration management. Now, do you consider how many of you believe in better user experience? Everybody believes in better user experience, right? Now, do you consider this as a good approach? I export the configuration, I get the tar dot gz5, I unzip the tar dot gz5, I then manually copy and paste it in the single directory. It is too much of a pain, right? And we believe in making things faster, better. We have a drug support as well. Let's see what I just did here. Probably this is a long video, but I'll just make it faster. This video has everything, how you can version control the board, how you can export the board, how you can import the board. This has everything. So I'll just fast forward it since I'm just changing the configuration, I'm just changing the name of the file. As you can see the environment. I've been asking about automating this. So, trash can be used for automation. We can also make custom trash commands. Yeah, you can make custom trash commands, but why would we make it when they're already available, right? Yeah, but right there are a number of sites that have to write a script. You can, yeah. Yes. So, I have added a new field to a content type. The reason why I did this, because you will see new YAML files, which will be added. So I've changed the site name, slogan, added a new field to a content type. The field is there, the field is the even date field. Is it not clearly visible? Let me try. I think this is the full screen. Okay, I can just say what am I doing here. I'm saving the configuration. And I've added a new field in the content type. I can just repeat everything what is happening there in the video. I see that my article content type has a new field. And what I did here, I did trash-config export, which will export entire configuration into the same directory. I will do the git status now. So this is trash-config export. As you can see, there are new files added and there are files modified. The one in the git are the new files added. Now, does anybody know why the new files got added? Yeah, because I added a new field, right? And every field has two YAML files in Drupal A. So the new files got added. I'm adding them under git. So as you can see, the git status. The other remaining files, which are on track are useless. I'll probably just add the two files. The one that I'm highlighting here. Under git, I've added those two files. I can see the new files and I can see the modified files under the git dip. I've committed the code and I'm pushing the code so that I can pull the code on the next environment. So this is my next environment. I've got the configuration management screen. And I can see the differences here. What are the differences? But I don't want to use the UI. I want to use the brush command again for importing things here. Can I repeat the question? Yes. Yeah. In your environment, is there a brush that you've seen? I don't think so. I'm aware of only two commands, just export and brush config import. You mean to say that if I just want to see the differences? What do you mean by sync here? Same thing. When you create a new field, you have a new configuration. You want to list the stages. So you do crash config sync, the audio server. I am not aware of this. I'm sorry. I'm sorry. I have never seen this. There are two commands which are aware of. One is for exporting and one is for importing. You do not want to do this again and again. We'll just make a default configuration to be stored in ML file. Whatever changes you are doing, it will be there in your ML file. Export that one. Yeah. It's the same one. So let's say you haven't made one and then you want to change it as a text. Can you repeat? I have one field. I created one field. Okay. At the beginning, you have to say you both are on one side. One of them will be created as a part field with a different type. With a different type? Yeah. The same field with a different type? I don't think so that you can do that. If there is a field which is associated with a content type and you want to reuse that field, the entire configuration will be the same because you are reusing the field there. Yeah. No. I don't think you can change the type of the field since the data is already there in the field. Yeah. It works so happily. Yes. So in case if we change the label of that particular field, will it be able to move the changes? Yeah. Label is something that you can change. There is one field which is associated with a content type and you want to reuse the field. We do change the labels. Label is something that you can change but what you cannot change is the type because there are certain values. There may be some values exist in the field and I don't want to lose my data. These are working on the same thing but you have to find the code. So will it be able to see from the interface that all the things whatever the changes one thing is doing and the other thing is working on that. So can it be possible to check what all the things have been done by the second particular? If everything is undergird, I think you can just check out on that submit ID. Not from the perspective of each one of these. No. There is no as such functionality in configuration management. So where you can see what the other team is doing. Probably we can just build a custom code for this. Okay. What are the differences between the other teams? What? I am not sure how are you comparing with installation profile with configuration management system because what is the use of installation profile? Installation profile is just a profile. We have standard and minimal profiles which mean that there are certain set of models which will be installed while you do the site install. And configuration management is entirely a different concept. You know configuration management has all the configurations. Whether it's your content type, whether it's your variables, by the way, we no longer have variables under 2.0. We have configuration. So any configuration which exists on your site, you can take it from one environment to another using configuration management system. So I am not only talking about just one type of configuration, all the configuration which is there on your site. And in Drupal 8, configuration no longer belongs to user, configuration belongs to the site. So all the configuration which is there you can take from one environment to another and it can be controlled and managed by configuration management system. So when you do the site install, you see that there are two options. One is standard and one is minimal. So those two are the installation profiles. And what is specified in the installation profile is the number of modules. So this installation profile will have X number of modules. This installation profile will have Y number of modules. And that is what the installation profile is all about. But probably the recommended way of configuration management... I think this is the solution. So there are 100 ways of doing a thing, but there is only one either way of achieving it correctly. And if we do not want a project to be in less, let's go with the ideal solution, right? Yeah, actually I am a newbie to Drupal 8. So what do you ideal for one configuration site to another copying that when we are exporting or importing the configuration? So if we are having two environments and we are having the same UUID for both of them, then are we using the configuration of what environment? No. So if you are having two environments of a size, it is a mandatory thing that the UUIDs will be safe and you cannot lose the configuration. If you are making a change, you are making that change under git, you are taking that change into the second environment, you are importing it there, there is no way of losing the configuration. If that is something which is intentional, for example, I changed my site name. So if you mean that my previous site name will be lost, but it is not losing it, it is something that I want, it is my requirement, right? So that answers your question. Yeah, Samah. Okay. Items to be imported. So in such case, is there any option? So there are two ways, either you can export the file's single item, right? And there was one more way, which is that full archive. You can take the full archive dump of the configuration which is there in the site. So in that way, all the configuration which is there in your site will be wrapped. Guys, let's speed up a bit. I think it's 12.10 and I have to complete this by 12.30. Can we please come up with the questions at the end of the session? Yeah. Okay, so we have last five minutes or ten minutes for this Q&A. So here, I was just talking about the Rust support that we can export and import the configuration with the Rust as well. So guys, yes.   Now, you guys are all pro of configuration management system. Why do you think that I'm still standing here and talking to you? Yes. Although we have had a lot of discussion about features, but yes, we'll talk more about features. Okay, so we adopted features based deployment workflow in Drupal when we were working with Drupal 7, right, in the Drupal 7 sites. But as I just said that, it was never meant for deploying things. It was never meant for taking configuration from one server environment to another. If we just go back to the history, how many of you know that what was features developed for and what was the requirement? Why it was initially developed? Anybody? Yes. Yeah, it was. But what was the requirement of the client and which client it was? So if we just go back to the history, when we were working on, yes, Gulab? Yes.  So it was basically for bundling things, which you also said. But it was mainly developed for open atrium distribution. Then there was a requirement that we have to bundle up things and we have to take things from one project to another. When I say project, I mean totally a different site and not being one environment, I mean a different project. So yes, it was mainly developed for open atrium distribution and in Drupal 6 days. So yes, we still need features in Drupal 8. Since we will be using features for bundling things now, we will not be using features for deployment. So how many of you have faced problems with features module? Oh my God, everybody. And the result of it can be seen on Drupal.org of the long issue Q of features module. Yes, so can anybody come up with a bug which is there in the features module? But it is not actually a bug, it can be used to face a problem. Anybody? A problem. If you add one view on a particular feature, then you cannot add that particular view into another feature. Then it will create a context that you have to resolve the context. Okay, anything better? Yeah, so probably I will just say one problem which I think everybody might have faced and we considered it as a bug so there is a content type with a feature and the content type is featureized. Now the requirement is there are number of views in that content type. Now the requirement is that I do not need a field anymore. I delete that field. The next step is I update the feature. My updated feature code goes on the next environment. I reward the feature so that I have the code which is there in the features. The database is in sync with the code. What is there in the code? Now what do you think? What is the end result of rewarding the feature? The data will be in the database. The field will be in the database. The field will still be in the database. Yes, the field will be there in the database. And how many of you thought that it is a bug when you started working on features modules in the initial days? Yes. Even I myself thought of it as a bug but it is not a bug since feature assumes that there is a data in that field and it will not delete that field. It was mainly not intended for deployments. It was made for bundling. And since we people of community started using for deployment purpose we ended up being in situation where it took long hours in resolving things and unforeseen situations. So I have a requirement to create a photo gallery. What all things do I need in a photo gallery? Yes, I need a content type and that content type needs an image field. I have the content now since after the content type I have the content now to display all the images I need a view but still my site does not look good. What is still missing? Probably I need a slider. To slide show. Still I do not find it interesting enough. I will create a image style so that all the images are of a desired dimension. So we can add many things and this requirement may go on. So it was features intended for bundling things. You bundle content type, view image style everything in a feature and you just make a feature out of it. There is one project you take that what is the end result of a feature? When I say that a creator needs to create a feature what is the end result of it? We have a module, right? And there are various modules on v.o we can just download and use them on any of the projects it is not a dependent thing which will be a project specific thing, right? So we have a module, we have a feature module which we can just enable on some other site and we will have content type with the image field view everything there. So this was what feature was indented to. Now since we all are aware of what feature indented to do it was used for bundling things what are enhancements and duplicate features? Is anybody aware of where feature module resides? Where is the UI of features module in duplicate? Anybody? Okay. So initially there was one more tab under the configuration management screen but now it is updated it just got updated recently previously it was in configuration management and now it is admin configuration development features we have a new menu link under development tab which is the result of features module So let's just talk about the enhancements quickly, what are the enhancement features in modules? So yes in Drupal 7 when I enabled features module, were there any pre-made features? Were there any pre-made features guys? No. But in Drupal 8 the features are pre-made and you can also configure it So whenever you install a module there will be features like article, page So what is happening in the back end is features is detecting on base of configuration what the content types are there number of content types and all its related configuration will be there in a feature So yes we have pre-made features in Drupal 8 now You no longer have to create a new feature which will have article content type or a basic content type you already have those The next thing is bundles How many of you are aware of the categorization which happens in features module? There are features in one feature I have all the views I can configure it There is a left tab which says views which will have all the features related to views There is one more left thing I can create one more group of content type it will have all the features with content type although it is never a recommended approach to keep all the views in a feature but I am just taking this as an example so that things are clear now The concept of bundles is saying as it was in Drupal 7 of categorization Yes we have the concept of namespaces Now how many of you know that what is the concept of namespace Why do we use namespace Anybody? Yes Yes Anybody else? Yes, so I will make it more clear There is a module named ABC There is one more module Now what if I want to create one more module with the same name ABC Will I be able to do that in Drupal 7? No But you can do that in Drupal 8 We have the concept of namespaces So whenever I associate a namespace with a module that module is categorized under that namespace So I can have one more module with the same name but in the different namespace So namespace prevents the collisions of the modules and of the names So I have created a feature and I want to let's say I have created a feature and I have a bundle called album All the features which are related to album this photo-calibre functionality will be under that feature So if the name of the feature was ABC Now after making it under one method it will be bundlename for ABC So yes namespace is prefixed before the features name This is one of the best things of features module Drupal 8 that production and stage sites need not have the features module You just need features module on one environment when you are creating features your production environment your staging environment or any other environment where you want the configuration to go I have a module there just burning the site, no You just need features on your first environment The last and the most important thing is module UI What if I do not want my site builder to access any of my features I do not want to give my site builder any permission to access features I just want my developer to have access over all the features but not the site builder We have a module of features, UI which I can just turn it off if I do not want anybody to access that UI So yes As I told you before we got one more tab under configuration management screen of features but it is no longer there it is now moved to admin configuration development but previously it was under the configuration management system So the reason is that it shows the conflict I have created a new feature and I have included the YAML files which belong to article content type and as a result of it I get conflict Was there any occurrence when we got the constant root of 7 features Yes Yes When I tried including the configuration which is already there in some other features into my new feature So same thing happened here All the articles and basic page related configuration are there in the female feature and I tried including there in my new feature and as a result of which I got this conflict So this is just a snapshot of how my feature module will look like It is the bundle It is all the collection of YAML files All the configurations are now YAML, everything is under YAML files and there will be 2 directories, instant and optional which will have YAML files Again this is something which feature module will do for you It will categorize few of the YAML files under optional and few of the YAML files under install directory Guys this is the last slide and this is just a way to show that how Drupal 8 is super awesome how it is fantabulous and how it manages to solve Drupal 7 core did not do So Drupal 7 core had a lot of the box support but with the help of feature module yes, we were able to accomplish certain things There were only certain things which we were not able to accomplish with feature module in Drupal 7 which was track configuration changes to inside We were not able to track all the configuration with feature module There were certain things which were not For example we can track variables with the help of stronger but there are certain things which feature no longer supports which feature had no support out so yes and Drupal 8 has all the configuration you can track all the configuration which is there in the site the only thing which Drupal 8 4 is not able and cannot handle its packaging configuration and for that we have features module so Drupal 8 core plus features and your good tool you can track all the configuration track selected configuration you can do everything if you want to collaborate on the same project yes we were able to collaborate on the same project with the help of configuration management system what if you want to collaborate on different projects you can do them with the help of features so yes you can do everything with Drupal 8 core and features and the last slide guys things were bundled up next time thank you guys we learned something from this session and if there are any questions you can follow me up on twitter I have a website you can get in touch with me on email and I have my details written here guys I would be glad to solve your problems thank you do you think that Drupal 8 can import and export on different PHP versions yes in a PHP have you tried importing those Drupal configuration on different PHP versions no I haven't tried this because if I have one environment if I have second environment they will be on a single PHP version because there are chances that my site may break on some other PHP version but in case you have two servers they can be on different PHP versions but there are chances of the site being break right there are chances of site being broken but at least the minimum requirement for Drupal 8 is greater than 5.5.9 you have the greater version so it shouldn't be problem but it can be that in that case we have to look mainly but with the possibility of only the two versions are deprecated it's different than Drupal 7 where with Drupal 7 you were exporting PHP and Drupal 8 you're exporting YAML yes thank you guys for answering the question thank you everybody yeah since you just saw the snapshot what a visual module has you just have YAML in mind you enable a module it is just a module you enable the module you will have other modifications thank you


At the end of six and a half innings of play it's time for the seventh inning stretch at the stadium But we'll stay right where we are as the Yankees lead 3-1 and we honor America in the Bronx Will you please rise and remove your caps? Performing God bless America tonight from the cast of Broadway's Chicago the oldest grandchild of George and Joanne Steinbreder Haley Squindle


was just feeling really good. Hey what's up guys it's Josh here today I want to do a little review on this Atomic Ormus by Suspended Solutions and this is the this is the red Hawaiian variants. I don't know if you guys have been watching my channel for very long but I've done several videos on Ormus. It is a supplement that I take pretty much every day and I just absolutely love it. There's a lot of different ways you can make it. There are ways you can make it at home. There's different kinds of salts that you can use. This one uses the red Hawaiian as you can see so this is from Hawaiian salt and from my understanding it is basically there's like a thick form of white magnesium and you put these minerals in there and then you spin them and blend them in basically the best possible way that you can kind of mimicking how it would be done in nature and basically just kind of supercharges these minerals that's basically the my understanding of Ormus and there's a lot of people who know more about it. There's a lot of extra stuff you can look at online so feel free to do it. Ormus also claims I've said this in my other videos but they claim that you can like levitate and that you have like telepathy. Basically just like you're like superhuman and like all this kind of stuff so it's where they claim all these benefits. It does really sharpen up your brain and your instincts are very good so sometimes you could see somebody and you could kind of read them very very well so I guess that would be not really telepathy but you just have better instincts I see what they're saying so that's basically my basic synopsis of what Ormus is. My favorite brand of Ormus has always been suspended solutions. If I can see how many times I've bought it on Amazon thing I will put it up there. I feel like I've purchased this at least 30 times. It is pretty expensive for you know what you could get for other supplements. I think it's about 30 $35 for four ounces and I think it's supposed to get you 48 servings but I usually get around 30 when I use a higher dose. My go-to doses for this one we have this new pumper now I'm gonna go over the pumper in the pros and the cons because I actually think it is a pro but we have this pumper now so I've been going about two pumps right in the mouth.  Two pumps of Ormus in the mouth and then you let it dissolve under your tongue at least for about 30 seconds to a minute that's kind of like my go-to and it's a very very similar to taste to Ormus. I was gonna wonder if like oh it's gonna have a specific kind of taste. It is very very very similar to the other kinds of Ormus. I do want to say that I am trying out his pink Himalayan right now and that one seems taste a little more salty. That just could be like I don't know. I could be wrong on that what if I retest this one maybe this one's just a salty but from my initial taste of the pink Himalayan that one was salty as well. So anyways guys let's jump into the pros of this supplement. The pros is all the typical qualities of suspended solutions. Now suspended solutions is pretty much a brand that almost has no flaws. Everything that they make is kind of like a superfood and then on top of that they have their own way of like maximizing it and I know that they I'm pretty sure they use like a Kangan water filter. It's like a $12,000 water filter so any of their products I would assume is gonna be made with that so they just go above and beyond. I actually follow the founder on Instagram and stuff so I see him in day-to-day stuff. Very very high quality. I trust them pretty much as high as I could possibly trust anybody. You get all the typical quality here especially this bag which is supposed to stop the radiation as well. I always try to keep it in the bag as much as I can. Well actually I do pretty much all the time. The pump nozzle now this was an absolutely ingenious solution. I don't know if you've seen my original suspended solutions or Miss review but my bag was all just white and destroyed and like even when I would try to make it not messy the old droppers and the old ways that I would use or miss it would just get really messy. This is just absolutely ingenious. It is so simple and it is so mess free. I absolutely love this little pump nozzle. I think they went through a few iterations of droppers and this one is the best for sure. The great or Miss feel so when I first started taking this I did feel pretty good but I was kind of like some of the but a normal level good and I was going to be up to be honest with you guys like yeah I do feel good but I don't feel anything like super or extra but once I got somewhere around the two week mark of taking this maybe around the 10 day mark I was noticing like I was just feeling really good you know I would go out and I would just do things like wow I feel so connected so much energy just so in the zone so good everything's flowing like what did I do and I did a couple other things like yeah I'm out skating or you know maybe I had a little caffeine but there was just like an extra level of satisfaction and just appreciation and like connection with everything that I absolutely enjoyed and I noticed that several times it wasn't just once with this so they also say that it kind of builds up in your system so the more you take it the more effective it is so that makes sense and then also one time I was taking this I know this is really weird but this kind of goes along with that being able to read people I don't want to say who it is but I was in this large group and there was like a leader of this group and he was coming and he was very nice and kind of checking on everybody but it was weird like I could look at him and I could tell that there was like a sadness there and like so much so that I could like if I got him alone I almost wanted to ask him like hey are you alright because like I know there's something bothering you and it's weird how he could say whatever he wanted to say like I know that something's bothering him and it's just I kind of felt that way before but with this was it was almost like I don't even have a problem calling it out like I know something's wrong with you you know so it just kind of goes along with that great feeling that great kind of connection with you and everyone else and being able to connect with other people is absolutely amazing people say the quality of your communication equals how much money you get in the real world so if you communicate better to people then you can get more in the world so that helps me quite a bit with you know understanding and being on the same level as other people if I were to jump into cons warmest in general is pretty expensive well suspended solutions isn't really more expensive than any of the other brands they're all about $30 for a very similar style product I think they all have four ounces but it is pretty expensive like if you were to go get like some bulk ginger or some bulk grape seed extract or you know some collagen all this stuff it would be very very effective and so much more affordable you also have the option to make your own or miss too so if you're somebody who's like a man I don't want to keep paying this money then you have the option to like make your own so you could try this if you like it you know you could pinpoint down how to make it on your own but it is somewhat expensive but like I said guys I bought this maybe 30 times and I'm a little bit stingy with my money like I try to get the mess the best bang for my book but there's no real shortcut around or miss in my opinion so the only negative is really it's somewhat expensive and it doesn't really have too much proven benefits like and also another con I think this is with all or miss is that it can vary quite a bit batch to batch there's times I've got suspended solutions and it'll be a little bit more salty or it'll be a little bit more thick or a little bit a little bit more thin and same with all the other brands there's somebody actually making this so the consistency can change quite a bit so if you're somebody who's like I want a specific feeling every time I want it to be the same product every time it's not really what it's going to be but again you have the option to make it on your own so anyways guys that's been my review of suspended solutions of red Hawaiian or miss I'm absolutely loving it I am trying the pink Himalayan right now so I will be doing a review on that one and then I'm also trying another version of I am joy or miss that actually seems more like this than the other version of or miss that I tried from them so I'll be very interested to see down below but anyways guys we're on the road of 50,000 subscribers and I couldn't do without any of you guys help you guys are the best I'm having a great day out here hopefully having a great day at home see you all in the next video peace