Okay, let's let's get started Welcome my name is Alistair, and I work at a company in Toronto called Neulogy and It's a great place to work. I've been working there for about five years on a code base. That's about 12 years old It's a really large code base. I think it's about with tested something like 500,000 lines of Ruby on Rails code 300 models like it's a very large code base and when you work in such a large code base names are very important and I think when you're programming in the small You can get away with perhaps poor names But as your program gets larger and larger obviously you have more and more names and you need some kind of system for Generating the names, so we're going to talk a little bit about that today So it's kind of unbelievable to me, but I actually wrote my first program in 1974 and it was in high school and My math teacher decided that we should start having a I think he called it the computer science club or something and We started writing programs and because he was a math teacher. We mostly did mathematical problems and I was in grade 11 and the program that I was probably most happy with was actually solved this It was called the simplex method of solving a system of linear equations represented as a matrix And so we'd we'd sketch out our solutions on the blackboard and then we'd transfer our Program to graph paper and we'd check it fairly carefully and then we transfer it to these cards We didn't have a key punch So we'd use we'd use a pencil and we'd fill out our cards carefully transferring them from the graph paper Put them in an elastic, you know, put an elastic band around them and we put them in a box And the box would go downstairs to the office and at some point There'd be some kind of inter or inter school email system And they would be taken to the administrative building where there was a large mainframe in the basement At some point after that someone would take my cards out of the box and they'd run them through the They'd run as a batch job There'd be some kind of printout because otherwise you couldn't tell what your program did the paper would get wrapped around your Cards Elastic would be wrapped around that be put in the box. It would be sent back to the school board and we'd get it So the compile cycle was about three days so So it's kind of unbelievable how much things have changed since then and I would you know in those days you'd be very careful about you know a small typo or anything like that Right, you'd read your code over many times before you would actually submit it Obviously you couldn't make very much code You know these days I can make much more code. So for myself I Eventually learned professional programming in C and then I switched to C++ and that was a really nice advance and then I switched to Java and These days I do I use Ruby and rails in Postgres are the main tools that I use every day been using those for about five years Now I wanted to mention Postgres Because what's really interesting is that I learned sequel, you know 30 years ago You know it was developed in academia in the 60s and it was first commercialized in the 70s I mean Larry Ellison owes his fortune to really bringing the first relational database into into the commercial world So sequels being something that has been valuable to learn and it's lasted kind of 30 years Whereas my you know my knowledge of Fortran. I don't use anything from that these days I don't really you see C++ job. I don't use any of those So what I what I found over my career is that the the half life of my knowledge is something like five years Meaning every five years about half of what you know is no longer valuable and you're gonna have to replace it with something else however along the way there are those things which I Found a picture of some gold nuggets. I think little nuggets of things that actually have long lasting life And if you can find those you can you don't have to kind of rebuild your knowledge quite so often So that's really what I wanted to talk about today a particular nugget that I think is like super valuable And it's this idea that naming is really very very deeply connected with designing and Also that the opposite is true Designing is very deeply connected with naming and really the two go hand-in-hand And so what I wanted to do today is take you through and a particular example that happened on a project that I worked on about a year ago And I want to take you through all the different steps that I took to improving the design and improving the names Then after we get through the example We'll sort of circle back and talk about some of the theory and some of the practice that you could use on your own program to do something similar so the program is called qCloud and It's used by people on a On an iPad typically and they'd be wandering around a factory doing quality control That's where the Q comes from quality control QC qCloud It's quite a simple application because what happens is people design a form and then people fill out the form And we call that a sheet and the sheet might have several inspections and today. We're going to talk about sheets if you you know if you're on the highway somewhere and you you stop off at a Restaurant and you go into the washroom you might see like a piece of paper on the back of the door in the washroom And it'll have signatures and people's name on it, right? That'll be that's like a that's like a sheet with inspections happening Here's a here's an inspection from This is like a real example from one of the Customers inspections. So there's one inspection. It's the color of the of the tamper strip so The person would be Taking a sample of some product that would have been created and they look at the little tamper strip and say yeah, it is red So that inspection passes There's and there was one company who's processing cheese And they're they're making sliced cheese. I guess out of big giant blocks of cheese and The first inspection they have is called does it smell? Apparently that's one of the ways in which they inspect their product to make sure it's fine The other thing is that you're gonna have to capture a name So we want to know who actually submitted the inspection Who actually did that inspection? So that's a problem. We're gonna try and solve this is the database table for a sheet and It's representing the sheet on the right One thing that's very interesting is when you look at this table you go hmm. There's like a little pattern going on in here There's four columns and there's another four columns that have some kind of repetition So often one of the first places you want to start when you're naming things or looking for design and improving your abstractions Is to notice this kind of pattern of duplication? So here we see some duplication so there's something going on and we want to try and solve this duplication So this is the starting point of our example and we're just gonna kind of work through it And this is really what happened on this project as well So when I joined the team, I noticed hmm. This is seems weird We're missing some kind of concept when you get this kind of repetitive naming You can see the reviewed reviewed reviewed submitted submitted so there's whoever made those column names is basically telling us that they're somehow related But it's not very strongly represented in the application at the moment now What I would say is I would say that the sheet is composed of a reviewed and is submitted something or other It doesn't have a name at this point, right? So we would like to give it a name. So what should we call it? How should we how should we approach this problem? Well, it turns out that in rails there's a composed of Class macro that we can use to actually express the concept of one object being contained with another object When an object is contained inside, it's either zero or one like it's not you could put them You could put it in a separate table, but oftentimes it makes more sense to just have it inside the table The canonical example that they always use and they use it on in the rails guides to is an address Typically an address is composed of multiple fields, but you think of like one address being as part of a bill Or perhaps for your cable bill There's a billing address plus a shipping address something like that and both of those addresses over the same type And you never have you either have no address or one address. So you don't actually need to put it in a separate table so composed of It's for representing a little small object that's sort of hiding out inside another table so this is my My active model object that represents the sheet and this is what I would have to say if I wanted to tell active model that these four Fields are actually the fields of a single object and I would use this composed of Macro and I have to do it twice right because we've got two of these little objects hiding inside The sheet object so you can see the connection between the columns in the database and The value object that I've created here. You can see the class name says attribution event So it turned out that that's what we decided to name this little collection of four parameters We decided to name it an attribution event When the whole project kicked off it was originally called Enable well the product people came up with this name with the rest of the team and we called it enable attributability workflows and As soon as we had the word attributability we realized it's not a very good word, right? It's not a great name Nobody could say it nobody could spell it, but it was going you know it was seeping into our code everywhere So we decided no no let's just call it an attribution event because we're attributing the review or we're attributing the submission to a particular person And so this is how we can say it so we've actually we've actually we've actually got some abstraction now instead of just four Columns by themselves you now got we've grouped them together into a little value object called an attribution event So this is sort of the typical flow of how you improve your code You notice some duplication and you decide to abstract it and as soon as you abstract it you realize you need now need a name So we coined the name attribution event Now attribution event is just a little value object. That's what it looks like We just have to specify how the four columns are going to map into attributes on this little value object And we do that through the constructor So previously this I would argue that this little object was kind of hanging out hiding before right this type was hiding inside The table the fact that we always had those same four columns duplicated meant that whoever wrote this code kind of understood That there was a type hiding out So we've actually made an accomplishment here We've taken these four things and we've actually given these four columns that are associated We've now come up with a name for them So now now on the team we can talk about a sheet being composed of a reviewed and a submitted attribution event Now what is an attribution event? Well once you look at it you could sort of say well it identifies a user and there's a timestamp Nice So there's the user identification We could just keep the user ID But we decided to make a copy of the email and a copy of the name in case that changed right Sometimes when you're sort of capturing things to make a recording you have to actually copy the attributes as opposed to just having a reference So we copy over the email and we copy over the the name and keep it over the user ID in case it changes right And this is the timestamp now I think you know on the team we realized we had this increased understanding We've got now got an attribution event Which is a user and a timestamp But if you look at the way this code is written you can't really the the user concept is not really quite as Pulled out as it could be So we're going to improve that in a moment Here's what we had before If you wanted to create one of these attribution events before you would assign all four Attributes one at a time made a small improvement where now we can do this We can assign the attributes all at once after creating one of these little tiny attribution events And depending on whether we assign it to the submitted attribution event or the reviewed attribution event the same type goes into different columns However as soon as you do this and you look at it you go, hmm We've got inspector inspector inspector. We got a little we got some more duplication happening here So once again, we need to do something to make the code a little bit more abstract So you just want to be really sensitive to seeing these kinds of bits of duplication How do we solve the duplication problem? Well because we've got a little object We can actually put a nice little constructing method in it So we can make a nice little factory method and we can just pass in the user and we can default the current time One of the great things about starting to create these little kind of tiny little value objects is they start to attract other methods So we had before and now we're making an improvement, right? I can just pass in the inspector and from that inspector, which is a user I can get all the user attributes that I want And because I'm mostly capturing events now, I don't actually have to pass it and I can make that a default parameter So it's just starting to get easier to work with this code There's another important benefit of making the code go this way is there's actually some errors that previously Were possible that are no longer possible So here you actually just forget to set the email And with our new design, we can't actually make that we can't actually make that mistake anymore Here's another kind of mistake you can make Well, you actually put in you know a different user's email Like these kind of mistakes could have gotten into the code base And now they can't get into the code base anymore because we're got more abstract kind of code So there's a lot of benefits to finding names Noticing do well noticing duplication making abstraction Coming up for a name for that and then typically as you make these moves you'll you'll You'll get to a new point in your code where once again you can notice more more duplication or more abstraction possibilities So here's where we got to Here's what we have in our main class now we've written quite a bit of code And you would have to write this code anyways, but now we've made it We were using you know the rails composed of feature to make it clearer as to what we're doing But if you look at this code, you can see ah duplication again We've got this kind we've got this reviewed reviewed reviewed and submitted submitted submitted So once we spot this kind of duplication we can think oh we've got a missing abstraction So what I would prefer to do Is to write something like this I'd rather just be able to declare my attribution events rather than having to do the whole composed of piece So this is a class macro which you can add to your code And it's really valuable once you start getting stuff more abstract because now you can do things like this It turned out that a little while later we actually had to add a discarded event And it became very easy to add it to the code base because we just declare another attribution event The other thing is that if you were to like search through the code base looking for attribution events They just kind of pop out now right you can find them all over the place Whereas previously they were just there was a it was kind of a hidden concept So how do you do this in rails? How do you how do you how do you make these new kind of class macros that you can use? You can do it in pure ruby, but it's it's it's really easier to do using a concern So this is an example of how we can use a concern Concerns are a custom design for being able to write these kind of class macros and they're basically mechanisms for hiding complexity Some people don't like that. Some people like that Your mileage will your mileage will vary you have to decide whether you think it's worth it In this particular case, we chose to use the fairly complex mechanism of a concern. So what does the concern look like? Um, this is what it would look like Now that's the code that we were just writing by hand a moment ago So what we're going to do is we're going to make we're we're we're writing a class macro We're writing a function that will write that code for us And there's how we remove the duplication right because we had remember before we had reviewed reviewed reviewed submitted submitted So now the abstraction the duplication has gone away because we've got a variable here We've introduced this new method now called attribution event. We pass in a type and then Because we're going to include the concern this this class macro will be made available to us And when the class first gets read and the class macro will be invoked and it will basically build the little composed of code for us There's a certain amount of ceremony you have to use to make the concern You just have to say oh, I want this to be a class method It's it's a lot of uh, well, I don't know it's it's a lot of ceremony here But that's to allow the calling code to be low ceremony So that's what we had before and this is what we get now So we just have to include this new concern that we've made and now we can declare attribution events And we don't have all the duplication that we used to have before So that's using concerns So what have you done? How we said an attribution event identifies a user identifies a time stamp We realize that there's different kinds of attribution events So now this is what our this is what our code is starting to look like now We can just include our concern for attribution events and then we can declare attribution events And then we have a couple of ways of creating attribution events We have that nice little factory method that nice little creation method build Which kind of abstracts away the fact that we're taking three components from a user now this kind of kind of Separation of concerns also makes your code much more valuable in the future Let's suppose that there's another attribute of users that we would like to capture in the future We're just going to have to change that in one place in our code I mean we're going to have to create the database columns But once we've created the database columns, we want to pull some I don't know a phone number off the user and store that it's very easy because it's all going to be inside the actual None of the calling code will change right they just pass a user and if you want to grab another attribute It's fine. We just store it. Everything will work fine So we've come quite a lot and way from just having database columns We've now got this much more stronger more powerful kind of concept The next thing that came up was we were having debates on the team about what does it mean to Log capture assign save or record an attribution event So we played around with record for a while But it turns out that we're doing all this work in the context of a compliance project And the thing that we're actually recording is is called a record So we realized that's not a very good name, right? Can't tell whether it's pronounced record or record. So that's not a good name Log seems it doesn't really seem like a log We started using assign because that's our that's our current technique, right? We have to just assign the value object So we tried playing around with different sort of things in the code And tried different playing trying different verbs And in the end we decided that capture was the right the right name to use So this is the kind of thing this is kind of thing I often try when I tell people that I don't really know what the name is I try to let the code kind of decide So I kind of kind of try using different names in the code to see Which names make sense So I noticed even when I'm giving this presentation I always talk about capturing attribution events now, but for a while we weren't really sure how we were doing that So what I'd like to do is I'd like to do this instead of doing instead of doing the assignment I'd like to be able to write this code Luckily we have our concern and so we can actually just in because we've built this concern We can start to include instance methods as well as clash macros So we can make this nice little method called capture attribution events And you can see the type concept is kind of sneaking in again, right? And so when we include the mat when we include the concern it writes these clash macros for us and it writes this little instance method for us So now you can do this so before I used to have to assign four separate Attributes in order to capture an attribution event whereas now I can just say oh capture the attribution event It's a submitted one and here's the user Now under the covers, you know exactly the same code is executing It's kind of interesting in some ways that we haven't actually made any change to the database scheme at this point So all the code that depends on that existing scheme is just working fine We just got a more expressive way of sticking those values into the database and also getting them out, right? the nice thing about the The composed of macros that when I read a sheet out of the database, I'm going to get references to these little attribution event objects, right? So that's my example from qcloud And the two mechanisms that we used were composed of and concerns So that's the only example So now what I'm going to do is to kind of revisit the example and talk about some of the Resources that you can go to find out more about how to do this kind of stuff And I want to talk about one particular Diagram that really made a big difference for me and it talks about what the interaction between naming and designing So this is the words that we eventually like came to right? And I don't know for me. I don't know for you But for me, I would have I would have had a hard time kind of deriving these words from just the four database columns It wouldn't have been clear to me that this was really what the code was doing But now the code actually says pretty much the english, right? So when I talk to the product people about capturing attribution events and what are the fields in an attribution event We're all talking the same language now so that's kind of that's kind of where we started and that's where we ended up and I don't know. I I I hope you got some kind of sense of this kind of thing where the naming actually contributes very much to our design And Once we start designing and we make abstractions we have to give them names. So designing is very connected to naming So these are two books that I would say you want to start with Eric Evans wrote this great book called domain driven design Where he introduced this practice called ubiquitous language And Kent Beck wrote this book extreme program where we introduced the practice called simple design So we're going to talk about those Eric Evans believes that this was his you know a significant contribution to the world of software And I think he's right He kind of synthesized a lot of object oriented design principles, but he actually coined this phrase of a ubiquitous language And ubiquitous language means that everybody on the team Uses the same language for everything So you would expect to So for example in in the qCloud application, there's a setting which says enable attribution workflows And so that turns on the attribution workflows So that the terminology just sort of gets everywhere One of the things that's tricky about this is that after six months on a project If you decide that you'd now like to refer to a concept with a different name If you practice domain driven design, you're obligated to go into your code base and change all the names to the new name It's tremendously powerful if you can do it though On the project that I currently work on which is another project at my company We have a it's a supply chain application and people are making products Which are finished goods and they're using sub components and the users think of these things as items But in the code it's called skew And we never got around to renaming it but every time we have conversations with the product people we go We're going to make a new item in the item master and we go oh you mean skew and they go no an item Anyway, it just it just causes a lot of friction and a lot of translations So ideally you want to try to minimize the frictions when you're talking to your product people And it's kind of amazing when you have if you get all your ubiquitous design And you get it all lined up correctly then when you're talking about the code you're actually talking about the product and vice versa So you can see that on qCloud. We tried to do these things and we have sheets and we have inspections And we have forms and so there's actually models called form sheet and inspection Anyway, it's a great book. There's been a couple of books that have been published since then I think there's a there's a freely downloadable copy on info q which is kind of just a summary of this book This book I think came out in 2004 It's a great book So simple design xp came out in 1999 Second edition simple design is these four these four practices So the idea is that your your design would be simple to the degree to which it passes its tests reveals intention No duplication and fewest elements So I would say you can pretty much just use these two concepts and you'll get you know, you get 95 percent of simple design Now i'm assuming you're also doing tdd. So you're if you're doing tdd You're already writing all your tests and all your tests are passing anyway, so you don't need to include that as part of simple design But really what you're really trying to do is you're trying to remove duplication in other words to reveal intention Primarily by removing duplication again that gets you most of the benefits of of making your code more understandable And also you want to improve names Now at one point people are always wondering like what's the priority? Is it more important to improve names or is it more important to remove duplication and different people would argue about it and turned out turned out that uh Someone called jb reinsberger also known as j brains. I guess because that's his uh his handle he he wrote this really great diagram And really what I hope is that you will be able to use this diagram To improve your code He basically says look it doesn't matter which one you can start with either one So let's start let's start on the left with the green start here So we're going to remove some well, let's yeah, that's I guess that's where we started remove duplication We know we noticed that there was some duplication in the names of the columns So you can see some structure structure needs names and we made we know we made attribution event We came up with that name And oftentimes when you're improving names new abstractions emerge And so you have to you get a higher order kind of duplication. Do you remember when we first created the um The attribution event we were passing in three separate user fields and then we realized oh that's kind of that's kind of a form of duplication Right, why don't we just pass in the user so we made the little build method So he calls this the simple design dynamo. I don't I think he's just joking about the trademark But anyway, he calls it that so but I mean I don't know it's really like How to really be an influence on how I program because it means I don't have to get the names right initially I don't really have to get the design right initially. I can just make all these like small moves So like the in the example from qCloud. I showed you like I had none of us had any idea that that's where we were going to wind up We just started making small moves We're just a little bit of duplication make some abstractions more duplication make some names Like it wasn't a matter of like thinking really hard to come up with where we got to it's a matter of just going around this cycle a bunch of times So the other thing too is you you can stop whenever you want to and then you can come back and pick it up later right Just make these nice incremental improvements So extreme programming Explained has this concept of simple design. It's one of the core practices sort of in the inner loop of what developers do every day Did you test your own development? They do refactoring? They do simple design and you do pairing if you're doing xp So it's really fundamental design practice JB has some nice Articles about this as well I don't have references in my slides, but when I publish them I'll make sure there's references So this is where we started We just noticed That there were some duplication missing concept We made we took advantage of this little composed of macro to basically call out the fact that we had these little objects which we named attribution event So that's kind of like one cycle around the dynamic design dynamite Made this nice little value object getting some improvements Hmm notice some duplication with the inspector name made this little build method more abstraction Huh, lots more duplication here missing concept introduced this nice. Uh, well, I don't know if it's nice anyway introduce introduce this concern to sort of Put that complexity out of the way So we started here and we got to here So now we can just declare attribution events and we can capture attribution events of different types When I when I when I declare the attribution event reviewed I'm really declaring a kind of little reviewed type which I can then use when I go to capture it Just go around this circle a bunch of times so I guess my My uh, I guess my hope Is that you don't settle for poor names Because if you do you're missing chances to add more abstraction, so I guess I don't know pretty please something like that It makes a big difference on your project if you really if you really obsess about names I think what was really liberating for me about the dynamic design dynamo is I don't have to obsess So, you know, I don't have to obsess and worry about getting them wrong improve them The code will change its shape. I can now look at the code and the code will help me like kind of get You know get me some more insight Build an abstraction need a name go round and round and round naming is very important, right? Like this is this is a really fun tweet anyway, so naming things is super important and I think that I really got to I I know for myself that I understood the value once I realized Oh, it's not really just naming. It's naming plus design And that naming really is very very deeply connected with design And so when I'm improving my names, I'm really thinking more about just improving the design It's not just substituting one name for another name Anyway, thanks right so so the question really was If you're going to use a metaprogramming kinds of techniques, are you creating a barrier to you know some people on your team? Is that a fair? I mean I mean in some sense you're really asking, you know, you're really revealing the main complaints or concern that people have with rails in general, right?  It's a really difficult question. I mean, I think I think The way we do it on our team I guess is when new members come in we just kind of take them through all this stuff and we you know We show them through it and we develop these features as a team rather than having some Part of the team just go off and do this kind of metaprogramming and then come back to it I mean, I I I share the same concerns, right? I I I mean, I know for myself. I feel it's taken me Four years or more of doing ruby on rails to really be comfortable Starting to do this kind of stuff Because I feel like it's another design skill to actually learn when it's appropriate to add To use metaprogram to do this kind of stuff. It's much more straightforward to you know Just use the framework as is if you want to do your own frameworky kind of stuff Then you actually have to become good at building framework kind of stuff I I don't know I wish I had answered your question, but there's no answer really Yeah So the question is when you when you have these little composed objects Why not just put them in a separate table? So we considered that we considered that And it's a perfectly reasonable design So instead of having these little Four column objects inside Single, you know the sheet database sheet Table we could all put them we could put the reviewed the submitted all out in a separate table I Just made a choice. I don't think there's a huge difference I mean I I like this choice because it's like a stronger representation because you're you're saying that the The multiplicity can only be zero or one When you put it in a separate database table, you have to you have to enforce Uniqueness by reviewed type or I mean you have to do something else It's not it's not you're not exactly expressing structurally the constraint that can either be Zero attributions or one attribution event That was part of that that was part of the thinking behind it But um, you know, we we consider going both ways You could go either way. I think to me. It's just natural to say that rather than Um a sheet being associated with an attribution event. I sort of think of as a sheet has an attribution event Like it really does have an attribution event right inside I think there's really not a lot at stake I don't know. I feel like I don't know why I'm so agreeable today or something I probably really argue news you're on my team, so Okay, I guess that's it. Thanks


Everybody Matt here for late and sports cards rip in 2022 tops diamond icons baseball hobby one box break number 23 random hits style 10 spots in the break 10 hits advertised in the box. Although we've been having 11 So I'm gonna open the box show all the hits Sean will enter the hits We'll do the random at the end and if there are more than 10 hits will combo the bottom hits to make an even 10 spots Here we go. Good luck everybody or you know, I'd be okay with like a bait cut I might lose my mind First up That is Raphael Devers shoe relic 10 of 10 Look at that. I think that's a thicky game used shoe relic a little bit of the Nike swoosh there preeminent pieces Or is that a shoe or is that it looks like a shoe right? There's lace. It looks like lace as well This is Aaron judge auto Five of ten. Yeah, it would have been a lot cooler if you were a cardinal Nice judge This is Reese Hoskins patch auto 10 of 25. That is right. That's Hoskins Ricky Henderson patch auto three of five nice Ricky. Who do you think has a meaner looking face? Ricky Henderson judge Judy or ice cube Judge Judy That is Dennis Eckersley silver ink auto 14 of 25 That is Ozzie Smith auto 12 of 25 This is Carlton Fisk red ink auto 10 of 25 and Nice one Mike Schmidt Auto 15 of 25 He strived to have the egg heron mustache. Yeah, I even if you actually grew it out I don't think that you'd probably be able to still pull off just the essence of his Like he had a lot of he had a lot of mustache there was there was a power thing, you know, there was like that whole Generation of the boys everybody was rocking this dash. Yeah, look at this beauty Mark McGuire Acetate auto 6 of 10 awesome hit. Good luck on that one Could you imagine if this were in a like random team style? The A's would have Ricky They'd have Dennis Eckersley and now Big Mac and on the back is Roger Clemens auto 10 of 10 that is red ink as a Toronto blue J Right solid box lots of legends and hall of famers in that one Oh There's an even 10. Yep. All right. So we had 10 hits in that one. So nothing to combo. Just I got confused on the fist All right, right 10 hits 10 names And all right All righty, here we go 10 names 10 hits and we are gonna randomize these lists 12 times. Good luck 1 2 3 4 5 6 7 8 9 10 11 and 12. We have Randall in down to Jason H those 12 times 12 on the hits Here we go 1 2 3 4 5 6 7 8 9 10 11 and 12 Dennis Eckersley auto down to Carlton Fisk auto Copy and paste these over how you paste. Let's try that again. All right.  Hey, that'll do it for the break. Thank you everyone Appreciate it. We have one more box number 24 is up next


On behalf of the Ambassador of Mexico, Armando Alvarez, who is currently presented credentials in Papua, Nivini, let me talk very briefly about the Mexico's experience as first Mixta Coordinator. The foreign ministers of the Mixta countries met for the first time in 25th September 2013 in New York. Under the initiative of the Secretary of Foreign Affairs of Mexico, Jose Antonio Mied. As a first step, governments of these five countries agreed to review and update the institutional structure on which their political, economic, and cooperation relationship operates. The minister's stress that, as established democracies, they play a constructive role in their respective regions and represent open economies that promote free trade and foreign investment. The ministers of foreign affairs of Mixta met for the second time in April 2014, this time in Mexico City. The discussions revolve around global issues of common interests and strategies to promote their bilateral and multilateral relations. This included the situation in Syria, Ukraine, and the Korean Peninsula, as well as other global issues of common interests, such as the post-2015 development agenda, cyber space security, climate change, human rights, and migration. And the need to reform the United Nations Security Council. Furthermore, and with the objective to incorporate the academic sector in these activities, an academic network was created where prestigious universities and research centers of each country could participate, like today we are here. This commitment was materialized with the first Mixta academic seminar held in Mexico City in August 2014 at the Matias Romero Institute. During the event, academics from Mixta countries reflected on the potential of this platform to stand in cooperation and economic exchange, as well as discussing strategies for public diplomacy. The work of Mixta. Mixta has three specific objectives. The first one, to strengthen bilateral relations and political dialogue between its members. The second, to promote consultation and coordination on common interest multilateral issues, including the G20 and the United Nations, in order to contribute to find solutions to major global challenges. Third, foster joint cooperation projects. To achieve this, the foreign ministers of the five countries have decided to meet under the Mixta framework at least three times a year. The first meeting is held in the country coordinating the mechanism. Currently, the Republic of Korea. Previously, Mexico and the next year will be Turkey. The second is held under the framework of the General Assembly of the United Nations. And the third is at the end of the year during the G20 summit. The fact that those responsible for the foreign policy of these emerging countries, also known as constructive powers, meet steadily and follow up on the main issues of bilateral relations, helps to strengthen and increase the significance of these relations. As a first step, it has been proposed that the mechanism of political consultations take place at the ministerial level. In this sense, they have instructed their ambassador, ambassador especially in the G20 countries, to conduct joint activities with prestigious academic institutions as A&U. The foreign ministers have also decided to promote cultural exchanges by taking important art exhibitions to other Micta countries, such as the Diego Rivera exhibition, Pride of Mexico, that opened last month in Seoul. Additional forums on joint economic development have been planned with the participation of leading businessmen. The five foreign ministers have made joint declarations on the Korean Peninsula, the Downing of Flight MH17 of Malaysia Airlines, and Ebola and Global Health. To help foster cooperation projects, Micta has initiated exchange programs for diplomats and journalists who are gathered here today. Welcome. Furthermore, consider that young people are a key group, the development of human capital. Short state programs for young leaders has been established. As part of future plans, it's to increase the number of joint agreements scholarships have got and to possibly establish a Micta scholarship program. Micta might be a recent initiative, which is still under construction and close to development, but its first results are already perceptible. As the saying goes, if you want to go fast, walk alone. If you want to go far, walk together. And what better way to travel with these countries that decide to do so voluntarily with the strengthening the relationships and seek benefits for global governance? Thank you.


One way we can use this idea of division being performed by repeated subtraction is to do what's called division by partial quotients. And again, it's worth keeping in mind what we are presumed to understand at this point. The assumption is we know how to multiply. We know how to subtract. We don't necessarily know any division facts. We don't necessarily know the standard algorithm, but we do know that division is a matter of finding how many times a divisor will add to the dividend, and so we can answer it by finding how many times we can subtract the divisor. So one thing we can do to improve our process is to subtract large multiples. But unfortunately, identifying these multiples can be difficult. But one of the things we can do is we don't have to find the right multiple. We don't have to find the perfect multiple, but we can use what's called chunking to avoid a multiple that works. And this is the basis of our division by partial quotients. So for example, let's take the problem 3010 divided by 86. And again, part of the thing to keep in mind here is we're introducing this problem long before we introduce anything called the standard algorithm for division. And so how do you do this? Well, what is this? Well, I want to subtract 86. I want to figure out how many times I can subtract 86 from 3010. And so what I might not want to do is subtract 86 over and over and over again. But here's some easy multiples I can find. 86 times 10 is 860, and 86 times 100 is 1,600. Well, I obviously can't subtract this much. This is way too big. But I can certainly subtract 860. And so what I'm going to do is I'm going to keep track of how many 86s I've subtracted. So I have my initial dividend, and I'm going to subtract 860. That's 1086s, and I have this left. And well, how about that? I can subtract another 860, and that's another 10. Well, third time's a charm. I can subtract 861 more time, and I am left with 430. Now, at this point, I can't subtract 860, but that's OK. I can start by subtracting 86. Now, here's where it's useful to do things like remember how we can find subtractions. 86, well, I might say this is 100, subtract 100, and then return 14. Because from 86 to 100 is 14, so I'll subtract 100, add back 14. My next subtraction, I can still subtract 86, I'll subtract 100, and add back 14. And I can do those subtractions relatively quickly. And my quotient is just going to be how many 86s I've subtracted altogether. And that's going to be recorded in this column. So what is that? 10, 20, 30, 31, 32, 33, 34, 35, 86 is all together. And there's my quotient. Well, let's do a three-digit number. Again, we don't know yet at this point how to apply the standard algorithm. This is a four-digit dividend divided by a three-digit divisor. I don't know how to apply the standard algorithm. I haven't yet learned that at this point, but that's OK because I know that division is a repeated subtraction. So I'm just going to subtract 173, or better yet, multiples of 173. Now one thing I might start with here, I could make my process a little bit more efficient. I could construct a multiplication table. So I know 10 times 173. Well, that's easy. And maybe I know how to multiply. Well, if I double to get 20 173s, well, that's this many, well, I can definitely subtract that. Well, what if I double it again? Let's see. So again, doubling again, that's 40 of these. That's 69 20. Well, I could definitely subtract this many. And if I go up to 80, I get this, and that's too much. I can't subtract this many. So I can either ignore that particular entry, and the only values I need are going to be these entries here. So let's see. Well, I can definitely subtract 6920. So let's do that. Again, that's 40 173s. And now I have 865 leftover. Now something that's useful, once we've actually formed this multiplication table, let's go ahead and take advantage of it. These were 10 times, 20 times, and 40 times. Well, if I drop the zeros, I don't have the zeros there. That's one times, two times, and four times. And so I have all those same values. So I can either have the zeros and have the numbers there. Or if I don't have the zeros, I have the numbers there. More pragmatically, I might actually have started with this table and noted that if this is one times, then 10 times is 1730, 100 times 70,000, and so on. But let's see. Well, I definitely have enough to subtract 692, so let's do that. Oh, and good. I have enough to subtract 173 one more time. And altogether, I have subtracted 40, 44, 45, 173s. And so there's my quotient.


Hello and welcome to the rugged rockhound today. I am rockhounding with my dad He was off in the trees over there looking already And we are going to try and find some petrified palm wood today We're looking for palm trees that were petrified roughly a hundred million years ago. I actually don't know the exact date I'll look it up and when I figure that out. I'll go ahead and put it in the video here But yeah, we're looking for some petrified palm wood. It looks a little different from regular wood in that it'll have large It's a large vascular system where it pulled a lot of water up So it has large cylinders that go through it that are where it used to draw the water So we're gonna look for pieces of that It rained a lot this past week. So the hope is that maybe we can find something on the surface Traditionally, that's not a good way to look here because most of the surface has been picked over You kind of want to dig but we're gonna go ahead and take a look see if we can find anything on the surface hike around right here and If we don't find anything on the surface then hopefully we'll find something digging But mostly we're gonna try and just find a good spot to dig and maybe we'll get lucky and find a little bit of palm wood on the surface Okay, I I don't believe this. Okay. I we're just next to the fire pit here I assume this place been searched, but I think because of the water that's been running down through this I think it uncovered something right here If that's a piece of wood that is big That might be palm wood, let's dig it up and see Okay, I just dug around it and pried it up.  I've ever heard of coming out of here, and it's just sitting here It looks like it that that looks like the texture of wood I'm gonna try and get a part of it wet. Maybe and see if we can see the The pores that you expect to see in it so you can see We parked right there I've been here twice before first time. I was on that first hill The last time I was here, but I kind of followed the road all the way over there I just decided to park here because last time I was here Somebody else had parked here, and they were digging somewhere around here, and I was just wandering across it It's just right here And I really think this is Like I said, I'm gonna go get some water and wash it a little bit and see because if this is One heck of a find put a little bit of water on and you can really see the wood texture right there Very obvious That right there It's definitely the wood texture And I mean you can definitely see that texture right there. I Think my dad found his first piece that really looks like it You got that wooded texture on both sides, and it's a nice agate to color to good color to I went off in that direction and The layer kind of gets pinched off So what I think is going on is I think the layer is at an angle like this and here along this hillside Here and over that way It's more exposed and the layer I've been told is only about two feet thick so it's very thin So as you go this way start going up the hill and if it's angled like this then there's just this two-foot Thing that just kind of disappears So I think that's why most people search here is because this is Where it is much more exposed much better chance of actually finding something Anyway, I just found one right there, and it's a red one That See the wood texture in there Now of course at the end of the video I will take close-ups of these all washed off especially that big one.  It could be amazing So we were over there We found that red that red piece of wood came back over here to where I found that big piece Just to look right here. There's a lot of agate That's just in layers here, and I'm guessing this is how it got up to the layer to get the wood And then when I was looking right here I found this little piece right here just a little piece of the kind of white petrified wood So I'm gonna look around here a little bit more in detail Okay, I found that little white piece up there and right here. I think I found another one right there Yeah, that's wood It's definitely wood That's pretty nice too Well, I dug for a little bit and then I hit that hard layer of white ash And decided I wanted to look around a little bit more on the surface I came down here and right there popped it right out of the surface Another nice little piece of wood Yeah, I'm just gonna look on the surface for a while I decided to come back over here Where I found that red one Just right here in the grass Hold that one out. That's pretty nice looking That wood texture right on the bottom I was searching down here and a few little teeny pieces just basically shards My dad's taking a look digging there But I found this one right here on the surface That one nice Right here Probably should dig at the base of one of these trees I came back with the shovel My dad started over there. I didn't see much dug there Looks like stuff maybe people have already gone through And then here I hit the little layer and look at that I don't know if you can see that in this This is beautiful All kinds of reds and other colors going through it You'll see it better when I get it washed off Maybe better in the shade I don't know You can see how it looks like wood right there Oh nice one. I'm excited. We're gonna dig My dad was taking a turn digging and he pulled that one out right there Beautiful We'll get all these washed off so Come over here Kind of get a feel for it So this white layer of ash is what you're looking for And we know we're in the unit because we start seeing all this coming out right there Yep, we're seeing all the we're breaking this apart That's the ash layer So you're digging in the right spot if you see that ash Okay, we've cleared away a bit. You can see we got the soil horizon Where it turns to clay right here and then the very bottom is the ash layer we're digging into We are gonna dig into this See if we find anything Okay, we've been expanding digging along and that fell out right there.  So just below the pop soil just before you get down to the white Right in the clays where it came out Decided to take a break from digging And I thought maybe I'll come over to the road Because roads are places that get washed out pretty good See if any of the washout had anything So for having found much though I found one tiny piece up there and then another tiny one down here This one was nice in that you can really see the little dots in it that are System that brings up the water From the roots. I don't know if you can see it Maybe you can see it. Maybe you can't you might just have to take a picture afterward I was walking up the hill right here and right there. I found one That looks like it's been sitting there for quite a while. You can see how it's been oxidizing and I'll turn Yep little piece that's been there a while Maybe we can find a few more Back that way is where we're parked. I walked along the hill Ridge line just taking a look and still see that smoke everywhere Well, I'm gonna head back Not finding a whole lot over here All right, we're parked right over there And over there is where we were digging I walked over this way just to see how far it went because I figured if we've got three layers of it on each of the hills Then there's probably a fault in each of the valleys So if the fault goes up Then it might jump and sure enough the layer was over there and here it is again jumping after the Probably the fault going through the middle layer so I came over here looking around and Didn't see anything for a while, but then I saw this one So we got a little piece right there Not that great We'll look around a little bit more here See if there's anything more Yeah, this is definitely a place that's been dug in the past Looks like I found something over here A little piece right there Huh Not another one right there I think these are limbs because look how it's just got a solid hole going through the middle But if they're palm trees, then they'd be palm fronds I'd be surprised if they preserved that well Just picked up a piece there that I didn't think was a piece of wood It kind of looked like it, but I wasn't sure but sure enough look in there. You can see little holes the vesicles Whatever they're called Yeah, okay Look around here a little bit more That one has some interesting look to it. Looks interesting color. Pulled it out right there. No, we're there. So I'm interested in colors to it and some nice little pockets in it. It almost looks opalized Yeah, we'll get a better look at it at home Okay, we've Walked a lot found a lot dug a bit It's about time to get out of here. So we're gonna head back And I'll go ahead and show you what we found. I think I'll start with washing off those big pieces and We'll video washing those off though. It should be pretty cool Okay, we made it back it's time to wash this thing off I'm excited. That's a big one and I I'm pretty sure it's what it looks like. It's amazing That is absolutely petrified wood Oh, look at that lions going through it Some of this didn't want to come off the pressure washer Some of that stuff is really caked on there Definitely wood. You can see the rings of the of the tree And it's supposed to be palm wood because that's what's in this area is palm wood I'm not seeing the palm pores in it What if this is part of the base of the tree by the roots? That's beautiful though. That's definitely wood Yeah, I can see the grains of the wood in here Kind of looks just like regular petrified wood That's what I'm not sure It's palm Although the area is palm wood That's what people go there for Okay, we washed off the big one. These are the three smaller ones.  All right. Just finished cleaning all those bigger pieces off You saw that beautiful looking stuff. I'm gonna get better close-ups of all of those and I'll show you them here in just a minute And I'll clean off the smaller ones as well and show all those So I'm gonna go ahead and roll the montage of all the cool stuff. We just found All right, I hope you enjoyed all those beautiful specimens of wood One thing I didn't tell you is today is actually my birthday So the mountain gave me a present some beautiful pieces and a big one So I hope you really enjoyed this. It was a lot of fun. I found a lot of cool stuff and There is treasure everywhere. Remember that. I'll see you on the next video


The whole thing with Web3, Blockchain Gaming, I'm getting my feet wet and I kind of understand what's going on, but I have a lot to learn. When I have a lot to learn, I lean on experts and that's why I called my friend yet again, crypto stash. Stash, welcome back for your third visit. What's going on, man? Hey, you know, it's always really great to be here. I have a great time talking to you, man. There's a lot of people that ask me to come on shows to talk about this stuff and yours is one of my favorites. Yes, and you always say yes, so I appreciate you. And I don't, I only have to pay you 250,000 to get on here like Gallup. That's true. I'm cheap, man. I come cheap, but you know what? Hey, it's not just you, Rob. It's not just you. It's also, I like your community actually.  I appreciate that. Yeah, well, I mean, this is, well, great segue. So this is the questions. And of course, my group is just kind of getting into, we're talking about gaming. We know it's going to be big, but we know there's some pitfalls. So there's three questions for you today, young man, which I'm going to break it down to the investor, the individual and the skeptic. So the first one with the investor, I always talk about this, but I want to hear it from the horses now. Why is blockchain gaming going to lead the next crypto bull run? The next one's for the individual. Why should people play games in the first place?  The last one is a skeptic. What could actually derail blockchain gaming? And before we get into those sweet, beautiful questions that I just asked, just a little recap of what Stash is all about. First of all, I don't know if you're into gaming, but if you're into whiskey bourbon, this guy's got your number. Also, yes, exactly. Also, if you're into music, he's got his own band. This was the last little session that you guys did. Pretty packed audience on a beach, I might say, very slick. It's fun. And of course, he's does some things on YouTube. I do it all, man. Look, I run the gamut, man. If you can't find something to like about me, then you're just you're just a curmudgeoning old bastard. That's right. We've got plenty of those on my channel, baby.  So look, so look, you let's go in. Hey, call us fade to spade. So actually, I like this video you did on the top 10 free mobile games. This is Wreck League. I actually minted an NFT for that, the two boxes. And we got a bet. And once we play this game, whoever wins has to buy shots to the next Bitcoin convention. I don't know if I can afford something like sweet like this, but I'll get you. I'll get you if I do lose. I don't think I'm gonna lose. And then all right, game on. That's what's up. Also, you did a really good review of Cornucopia is built on Cardano. I reached out to Josh and Rob, and those guys love you. So this was a pretty good video. And then the last video we did, actually, one video a year ago, you know, we had 119,000 views. Yeah, I mean, if you know what it is, I attribute it to how ridiculously good looking I am and this amazing mustache. But I mean, you were there too. I was credit. You could call me the side action, but whatever. And actually, actually, you live in infamy in my 100% free website, Dan teaches crypto. You're right below Yatsu, the founder of Anamoka Brands. It's about where I belong. So, Stash, let's get to it. Talk to us, the people who are learning about blockchain gaming. Why is this gonna be the next next big thing in crypto? Because we heard a lot. And I have my thesis, but what do you got, man? Blockchain gaming being the big thing here in this bull run. Why is it going to be, why is it gonna lead the way? You're right, this is a great question. People ask this all the time because you see people talking about that and saying it all the time. But maybe they don't really explain it. I don't get it. But really what it comes down to is when you look at the technology and the way that it can interact with existing things that we like in our life, NFTs and blockchain technology are particularly aligned with gaming and game development. Number one, gamers are already familiar with digital assets. Most people, like that's one of the biggest ones, right? So when you talk about why, because most people today, they don't value digital anything. When you say digital something, they don't, there's no value to them. So you can say, oh, I have this digital one and they're like, that's just, there's no value there. No one cares. But you understand, but the gamers understand that digital items do have value and they can be valuable. And I think that that is one of the easiest ways to be able to transition people from what we have now, the systems we currently have into using blockchain technology and NFTs. And gaming is the most right for that. There's enough use cases there and enough we'll say user, the term, and as much as gamers right now are like, no, NFTs are a scam, they still understand that digital assets have value. You see these CSGO skins being traded for hundreds of thousands of dollars. And really, in NFT is not that much different. It's just the system that is tracking these things is more transparent, a little bit more open. And that is a system I think a lot of people can appreciate in gamers in particular. So that's that's number one. I would say that's the biggest thing is because gamers understand that digital assets have value. Okay, so with that one, I will say like this, this is this is a question that I posed in my community. And I said, we took a look at ownership. We take a look at physical ownership. And this is what I I got this idea from Yatsu from Mademouca Brands. We've been conditioned for so long for physical ownership, like movies, music and games, right? Remember those days when we have like VHS and DVD, you own that music tapes in my hand. It's in my hand. I own a games. And it was it was a foregone conclusion that you actually own that. But once we got into the digital part, it seems like it has kind of won away like movies. No one owns movies anymore. No one's got a big DVD collection music. It's all on Google Play and Apple. And then the games are, you know, you could be Fortnite, you could be Google Play, Apple Play, App Store, but that's like that's like the mobile game. So like when we talk about these things, as far as like what we just said, the actual digital version, we should be able to to have that ownership and do what we want. But I will say, and some of my brothers asked me, they go, but Robbie, you don't understand because like there's some things that we don't own. And it's just easier for us. Like some people say, I don't want to own a car. I want to lease a car because it's just easier to do that. And some people would say, you know what, I don't want to deal with like buying CDs or DVDs anymore. I can just stream it. That's a great point for those people. It works out great. But I think for other people who want to own things and having their possession and say, I want digital ownership. And it's what George Washington actually talked about. He said, without ownership, there is no freedoms. So like when you talk about these things, like I get it, but it's just hard for people to understand because for so long, digital property, we have no ownership of that. That's just for the centralized players. But shouldn't we have the option that should not have the option like, okay, okay, is it easier to have Spotify instead of curating your own like personal mp3 collection? Of course it can be easier. I actually appreciate doing that though. And so I want the option. I think we should have the option. We shouldn't say, okay, now that everything's digital, we're taking all that ownership back from you guys, you get nothing and you're going to love it. And I'm not a big fan of that. I'm not a big fan of that. So I mean, maybe some people are, a lot of people are, but I think the people who understand this technology can benefit them. And in gaming, I think that's a lot of those people, when they really understand the power that NFTs and blockchain technology can bring to game development, it's just another tool on top of what we already have, like great tools like Unreal Engine or Unity or what we're seeing right now with AI being incorporated into games like higher level AI, not just the basics we've been dealing with for many years here. Exactly. So like, so we're in agreement here, people can do what they want.  We can kind of dictate where things are going and then like say like like a DAO or a gaming guild and kind of move from that. You can take those NFTs, you can rent them out, you can sell them, you can push them out, you can stake them, whatever you want or not stake them, but you can actually do those things. I think that's the more important thing. So great. So we understand that this is potentially could lead it for the next piece. Now let's get into this part. Whoa, I had a number two for that one. Oh, I'm sorry. I'll make this one short. I'll make this one short. The second part of that. Keep going, Stash. Keep going, Stash. The second part of that, right, of why is gaming going to lead the next crypto bull run? It's because of timing and game development cycles, right? So in this last bull run, there were no games really at a point that were really good enough to say, oh man, this is an amazing game that people outside of web three outside of crypto would want to play, but we are fast approaching the day here when a bull run is going to return. And there are many, many games that have been developed for the last two, three, four years that are going to be launching around the time this next bull run hits in 2024, maybe going into early 2025, depending on where we see the cycle. And if we're going to see a little bit of a lag like we usually do after the happening about a year or so later, when we really, you know, traditionally see that run up, but you know, there'll be some hype cycle before the happening, of course, too. But that is the other one is the cycle, the timing of this is just, it's working out really perfect. Yeah. And you know what, that would be back to that Wreck League that we just took a look at. That's, that's coming out, I think in a three weeks, right? Two or three weeks. Yeah, the first iteration, yep, the very first playable, you know, iteration of that game is going to be out here in just a few weeks. Yeah. And another good thing I like about that is it's going to be free to play on a mobile, but if you want to do the NFT thing, so it's like the best of both worlds, it marries it. And then like, I see stuff like this, I saw you play this game, my pet hooligan, I asked you about this one. Yes, it's super fun and it's almost ready to go. And this is like, would you say this is like a AAA type game? Oh yeah, a hundred percent, man. I mean, when you talk about the level of graphics and gameplay and like, when you say, well, what is AAA? AMGI Studios, the developers of my pet hooligan are right there. I mean, these guys are doing next level stuff. They're not just developing a game. They're developing a whole IP. They have a movie that is they're working on right now to a full length feature film animated movie. You know, these guys are in Hollywood, man. These guys are not messing around. I've been to their motion capture studio. I've seen their entire operation. It's going to be fun. Everything they're doing is top tier, man. It really is. And to boot, it is a fun game that everybody can play. I mean, I could see, you know, young kids playing this too. You know, my 13, I could see her jumping in this. You know, I could see tons of younger kids playing this game too. So appeal to a white audience, which I love. I can see that. And everybody, I know everybody's like, what? Tell me more. I will link all these things that me and Stash are talking about. And of course, Stash's channel where if you're going to want to get some really good alpha for that type of stuff, go over to his channel and check it out. Okay, Stash, before I move on, did we miss anything on that piece before I move on to the individual? I think those are the two biggest things. When you really want to know why Crypto Gaming will lead the next bull run, I think those are the two biggest factors of why that it's going to lead.  So you talked about the 13 year old daughter and about people playing. So this would go to the individual because I personally believe that everybody should, if you're going to invest in something, you should know as much about it as you possibly can. 100%. So as far as the individual goes, people watching this video right now, besides what I saw, but why should people play games in the first place? Is there any other good reason besides just knowing it or you got something else? That's a great question, Rob. You know, I'm going to answer that in another two part. Number one, you know, should you play games?  Why not? I think a lot of people play games in one respect or another.  But the biggest one really is like, well, you know, why should they do it?  Do your own research. I'm sure you tell your people this all the time as much as it's great to listen to Rob's opinion into my opinion, talking about the coins, talking about what's going on in the industry. You still want to do your own research, right? Right. And if you're not, I'm sorry, but you should be. And so this is part of that, right? When you talk about doing research on an investment opportunity, if you were doing research on any other type of investment vehicle, you would be fully committed to doing that.  And so that gives you an advantage, right? You think about that.  So, you know, yeah. Okay. Perfect. So perfect.  Because if not, you're just going to say, Oh, well, someone said it, someone to buy it. And of course, like, where'd all my money go? And then the other big thing is like, like, you got kids, my kids are growing up when they were growing up, like, it's a way to connect with your kids. Now, honestly, a lot of so like a lot of people on my channel, statistically, you're looking at between 30 and 55 years old. So if you got kids or grandkids, and you're like, well, I want to play a way to connect, there's one reason. The second reason is, of course, the big reason what was that talked about other one is connection. The third thing is, like, just do it like, as far as like games go, my wife does it. She plays this game on pogo.com. It's 100% three. And there's other one called crazy games. 22 million users per month. Those guys are raking an end. And the reason is, is because it's just a way to be stressed. I don't know what about you stash, but I got a little stress in my life.  I'm right there with you, man.  But in general, I think most people enjoy games to, yeah, de-stress, have fun, not have to be inside their own headspace. You're thinking about the game and not thinking about all the crazy things going on around you. And so, yeah, I think that there's multiple great reasons. You know, when you split it out, yeah, it's like when it comes down to as the investor, right? Well, what's the reason? Well, it's because you're going to get that advantage as just an individual. Why should you do it? Yeah. I mean, I think you're right. Great connections with kids or friends too. You know, you can say, hey, maybe I haven't seen my buddy. He lives far. We can't hang out that often. But we could game together and hang out together and talk about those things. And I think that's a great way to. Yeah, see, and there's, and let me just preface it with this, there's a huge difference between the games that that stash is going to is going to rule and play. And like some games like I'm going to play. And that's what's great about this, this, this community, there's all different types of it. If you want to do casual, hyper casual, triple A ranked gains and like super stuff. It all depends on what you want to do. Or if you're looking for de-stress, just follow the stash and I'll tell you like the right things to drink. So the last thing, the last question then stash, I know you got to get out of here.  The skeptic. We talked about the good stuff. We talked about why and the what's last one. What could derail this? Because let's be honest, nothing's guaranteed. So what could derail blockchain gaming from really leading off into the next scripted bull run? All right, let me tell you something. Let me tell you something. You're wrong. Guaranteed. Guaranteed. All right, plan B. I mean, could something derail it, you know, possibly, but not for long. That's the thing, right?  You know, when you talk about the overall sentiment that traditional mainstream gaming has for NFTs is not very good. We got derailed by that, man. That was a big thing because, you know, once there's kind of a, in the gaming community, once there's kind of an idea established, a lot of people just kind of pick up on it. They don't care. They don't do research. You know, they're not like what we're doing. We're researching things. They just are gamers and they'll pick up on the same talking points and like, NFT bad. It's all a scam. And I'm like, yeah, you said that about free to play. You said that about subscription model. You said that about loot boxes. You said that, you know what I'm saying? I could keep going, man. Like, you know, and so they've said it every single time. So could we get derailed? Of course we could. I mean, I think one of the biggest ones is a pushback from retail investors, you know, mainstream, not investor, but retail gamers, yeah, mainstream, that pushback, right?  I think that's a very real, a very real setback that could be out there. Other than that, I really don't see, I mean, regulation obviously could be one, but I don't feel like regulators are really looking at this industry with that kind of magnifying glass at this point. They may be in the future, in particular when it comes to things like loot boxes, but we're already seeing, you know, this technology being accepted more and more every single day. There are chances it just, it won't derail for long. No. Well, it's just like crypto is inevitable. Crypto and blockchain is inevitable. And then just to speak on the last thing you just talked about, you know, as far as gaming, for there's a project that's going to be launching in the United States, and this will be September 12th. We already talked about this channel, but I talked to them, I'm not going to name them individually, but I said, are you guys sure you want to bring this to America? Because they launched it globally really well. Because with Gary Gensler, he goes, look, he goes, our legal counsel says like this, in 2024, 2025, we don't, we're not sure. We don't think that the current administration is going to be there. And even if they are, the SEC is looking at it like this, exchanges are up here, they're going to crack down on them. Then it's going to go to central as exchanges, and they got to go through all that stuff to get to the projects. And then our projects wait down here because it actually has utility. So for gaming, it's actually like utility tokens that actually do things as opposed to some of the other ones that I really can't speak for. So to me, I see you right on. Yeah. So the regulation, I think that's a far off thing. I mean, in general, their sweeping regulation for the entire industry is one thing. And we've seen a lot of tumultuous decisions being made here over the last year. I mean, it's just been nuts, man. It's been nuts. But gaming has been on phase. You look at some of the big winners here, even over the last month or a couple months here. Gaming also counter-trades a lot of times what's going on in the market. And I think we'll continue to see more of a decoupling of gaming projects from the general crypto narrative, where if something dumps, everything is done. We saw what was last week when they were like, hey, go on selling us Bitcoin and Evergrande, they're going under. And they dump everything. Even during that, we'll see gaming products maybe not dump as hard. But also, I think we could see a decorrelation there coming in the future too, man, just because of the fact that gamers don't care about a bear market in general. I mean, for the most part, gamers don't. The people who are gamers and financially focused, like myself and some others, that may be a factor. But for the most part, man, gamers just want to play and make games, hang out with their friends, play fun games. And that doesn't really, in particular, in down times, they probably actually game more. During COVID, we saw this a massive increase in gaming across the board globally. So I do think that where is there? There could be some pitfalls. I think that what we have set in motion here is big enough to weather those storms over time. Excellent response. See, Stash, this is why I have you on. Fantastic. I love it. So everybody, so as you know, you can find Stash. There's a link in the description. Check out his videos. There's a video for everybody about how to learn about Web3 blockchain gaming, the different games that are out there, and just the nuts and bolts behind it. So, Stash, I can't thank you enough. I appreciate you coming on. Always. Like I said, I love hanging out with you, taking some time to just really dive into the crypto gaming scene and give you a little bit of a taste of what I do. I do this every day. This is what I focus on every single day. So like Rob said, if you guys, whatever you're looking for, I got a little something there. For the people who are more gamers, I got more of that. We're hanging out. We're doing live streams. If you're looking for more technical stuff, I'm talking about the top coins that are going to be good. As a matter of fact, after I get back from vacation, I got a video coming out of my top 20 gaming focused tokens to be looking out for this next bull run that I think are going to be big. So that's going to be a hot one. Awesome. I will be watching that. So everybody, that's it for today. If you liked today's video, give it a thumbs up. Also consider subscribing. Everything that we and Stash talk about is time-sensitive. Well, that's it for today. We appreciate you and we'll see you guys on the next one.


Hey survivors, in this video I am going to be talking about why we should avoid socialising with narcissists. Please like, comment, share and subscribe. Click the bell icon to receive notifications of my future videos. If you would like to donate, my PayPal link is in the video description. If you are interested in one-on-one coaching, you can email me at narxfathercoachingatgmail.com Check out the new merchandise in the Narx Five Store. We have new designs on our t-shirts, tank tops and mugs. The link to the Narx Five Store is in the video description. Avoid socialising with narcissists. Avoid interacting or engaging with narcissists. Avoid participating in social activities or mixing socially with them. Even having narcissistic friends or associates can be very detrimental to your life. The people that you do socialise or engage with should be at a similar level of development and awareness as you are. They should have an awareness and an understanding of narcissists and toxic people and they should be taking the proper measures to avoid these types of people. If you start engaging with people who do not have this awareness or understanding, you open yourself up to the risk of inviting more narcissists and toxic people into your life.  You will be unable to confide in them about what you have been through. Your experiences will be completely unrelatable, which will leave you feeling invalidated. There is also the possibility that this friend or associate may have narcissists or toxic people in their lives and if not now, then they may in the future. This is why it is very important for you to only socialise or engage with people who are at a similar level of development and awareness as you are. When you engage with people who are not at a similar level of development and awareness, they will be trying to manipulate or take something from you. You need to be driven by your purpose in life. This makes it difficult for narcissists and toxic people to get to you. Most of these people do not have a purpose. They are just looking to use or leech off other people. When you don't have a purpose in life, it gives them opportunities to take up your time, use you for whatever they are looking for and get you caught up in situations that may be unfavourable to you. These kinds of people do not have your best interest in mind. They are only looking to take something from you or use you for something or they could be envious of what you've got or what you've accomplished and they could be looking to destroy it. People can either build you up or break you down. They can either raise your vibration or bring you down to their level.  This is why it is so important for you to avoid socialising or engaging with people who are not at the same level of development or awareness as you are. Narcissists can be very convincing and persuasive. They can make you believe that they have something to offer or they can contribute or benefit you in some way. You need to observe the progress and achievements in their lives. If they haven't created or built anything of significant value in their lives, how could they do it for you? This is what you have to look for when you are socialising or engaging with new people. If they are not already satisfied or fulfilled in their lives, you will not be satisfied or fulfilled with them. You might be able to fool you in the beginning but soon enough the cracks will begin to show. These types of people are not whole or complete. They use things from the external environment to create the illusion that they are satisfied or fulfilled but it's never real because true satisfaction, true fulfilment comes from within. People who are always lucky to manipulate or take something from you are not whole or complete. They have no purpose in life. They have no motivation or drive towards anything significant or meaningful. When you associate more with people who do have a purpose and are making great efforts to achieve or obtain something, you are far more likely to progress and succeed You are far more likely to grow. You cannot grow when you are around people who are constantly manipulating you or trying to take something from you. These types of people will only hold you back. They will only prevent you from achieving the level of success that you are capable of. If you want to progress, you need to be around people who are more successful than you are or at least at the same level. This goes for anything in life.  They will get envious and take things from you.  Be conscious of the people you keep in your circle. Be conscious of the people around you. Family members, friends, associates, a person can either build you up or break you down. Remind yourself of your purpose. Remind yourself what you are working towards. And then identify whether these people are building you or hindering your progress. Thank you for watching. I hope this video resonated with you. Please like, comment, share and subscribe. Click the bell icon to receive notifications for my future videos. If you would like to donate, my PayPal link is in the video description. Coaching inquiries you can email me at Narcisfivecoaching at gmail.com. Check out the new merchandise in the Narcisfive store where you can purchase your own Narcisfive t-shirt, tank top or mug. The link is in the video description. Thank you for watching and I'll talk to you soon.