Yeah, there we go. Yeah. Can you hear me? Yes. Okay. All right. I just want to pick off on the subject you talked about The other day with supply chains and I wanted to take it a step further In terms of talking about inflation because it has major inflation implications So the classic example of inflation is Too much money chasing too few goods correct. Yep. All right So in here in this in this circumstance with these supply chains We're getting it from the other end. Not only do we have too much money chasing too few goods Now we got too few goods even fewer goods Right because a they're not getting there Because of transportation issues labor shortages Now we also have input costs Such as oil going through the roof So there's all these factors And all the misallocations you talked about I listened to your talk in terms of covid Misallocations of essentials versus non essential You know the constraints So what i'm trying to get at what i'm trying to figure i'm trying to figure out is this going to be inflation Like this sounds like it's going to be inflation on steroids It's like it's like a different type of inflation. It's not like I mean I'm looking at the history of inflationary periods the weimar republic than the 1970s when we when we got to 20 percent hyperinflation in argentina So, I mean i'm trying to understand this particular type We're the particular type of circumstances. We have what you talked about any implications Uh, because we're getting it from both ends. Not only are we getting it from the money supply We're getting it from the other end in terms of goods are not getting the market and goods Input costs of goods are going through the roof The real question is uh prices could go up, but the real question is is it Permanent is it is the inflation sustainable. So let's say Um, I don't know something happens the supply chains have broken There are too few goods people are demanding them. So there's They're bidding the prices up so prices go up But then as soon as the goods come in right as soon as the supply chains are fixed Prices will drop Right prices will adjust back down because now Uh, you you know, there's there's more supply and therefore supply and demand will meet and and and and prices prices will therefore come down That's what's meant by when the when the bite administration where many economists say They expect this inflation to be transitory. That is that it is Only going to be uh as a consequence of the shock to the system that it's not sustainable that it won't Keep going right now Even if it's transient, what does transient mean? Does that mean a few months? Does that mean a few years? Does that mean does it go up to 15% and then come down? Does it go up to 4% and then come down if we peaked? um, there is a ton of Questions associated with what the what is going on right now in the economy There's a ton of questions associated with whether we're going to have inflation how big of inflation it's going to be and for how long I've been trying to figure this out and I don't have an answer It well, is there a historical is there a historical president? Uh in terms of past You know, I gave you the five examples the Weimar Republic the uh the inflation of the 70s the argentinian hardware inflation Is there anything that mimics? Certainly similarities today There's certainly similarities to the 1970s, but the 1970s You know, there are also things that are different about the 1970s There is a big controversy about how much money Is actually being created by the fed whether there is a lot of money circulating or whether there isn't um, certain money measures Are not have not spiked But m3 for example has is m3 the right number other m m numbers the right number look In a sense the whole field of inflation And and the measures of money and control of money We've only been doing this for about 50 years In in the current form with a with a sophisticated Global financial market that is since since 1971 when we went off, uh, Bretton Woods and I think the economic knowledge is not quite there if you look at financial markets who are pretty smart people, right? They don't think there's inflation The the the inflation premium on inflation adjusted bonds It pegs long term long run inflation long run being the next few years at two point something It doesn't peg it very high now markets can be wrong Markets are often wrong indeed with regard to inflation markets are often wrong You know somebody like Peter Schiff thinks we're heading towards hyperinflation tomorrow um You know, this wouldn't be the first time that many economists Particularly libertarian economists think we're heading towards hyperinflation tomorrow, so You know, my answer is the one that is least media friendly I don't know I don't know You know, um, the world is screwed up The monetary system screwed up We've got screwed up supply chains. We've got mismatches With regard to supply and demand how that exactly Manifests itself in prices Over the long run because that's what we're talking about. We're talking about price inflation not monetary inflation We don't even have a good measure of monetary inflation. We don't know how to measure it um I don't know and I don't think and I and I now long term We're gonna have to have inflation because the government can't keep up with the debt But is that now? Is that in five years? Is that you know in 10 years? I you know I don't know it could be tomorrow. It could be now. This could be the big one This could be the the complete collapse of the dollar I don't think so But it could be You know and and you know These these supply chain issues are not Going to permanently raise prices because the supply chain issues are not permanent the ships out there They haven't sunk They're just not being efficiently um Yeah, but but they're coming from everywhere. We got chip shortages. So use cars or go not ship. They're no ship shortages Chips chip shortages Chips chips computer chips, but again, this is all an aspect of the distortions that happened During covid the chip shortages will be fixed At some point and at that point You know, uh at that point Prices of chips will come down and so will all the things that use chips Yes, but oil and copper Well, hold on because there are 20 miles of ships with an s at the beginning Yep, uh waiting to be unloaded around the port of los angeles Yes, and the reason for this is that one of trump's Attempts To get people to buy american was to institute Uh a host of regulations Against unloading imports in american ports And those regulations have not gone away Uh Widen somehow I don't know whether it's the influence of the unions whether um Biden's always been The democrats are not pro free trade, but look all those all those things exist Um, but that is not the problem right now. The problem is not import restrictions. Those exist They're gonna make it they're gonna make prices in the u.s. Higher not for monetary inflation reasons But just because uh when you when you tax american people and goods and when you make it more difficult to transport them And when you create barriers to entry that happens the the the long trail of ships outside of los angeles Is almost directly related To covet and to the restrictions and lockdowns and and mask regulations and all that It's not only in the u.s. Other countries have the same kind of um backlogs of of uh incoming and outgoing ships uh containers are in the wrong places Because there was a shortage of dry of truck drivers during covet because they wouldn't go out and drive So they didn't move the containers to the right places Uh there's just a mess created by government policy during covet That is going to take probably a year or two to clear And while trump's tariffs and trumps all the stuff that trump administration did Is a barrier to speeding that up It is not something that the market can't you know, the market will adjust and prices will be higher and you know, that's it And and our standard living will be marginally lower But the supply chain won't be hurt the supply chain will continue to function It'll just continue to function or whatever level these new prices will dictate That what we're seeing right now and the oil shortages All shortages are primarily a product of again policy and uh under European primarily administrations. There's no shortage of gas in the united states the shortages are all in europe And uh the the the the reason there's a shortage is regulation in the united states Not to export gas so we can't relieve the shortages overseas Even though we have a surplus because when our lateral or the big restrictions on export um and in addition which which the trump administration supported these restrictions um, but there's also It has to do with the fact that OPEC is not increasing supply It has to do with the fact that pipelines were never built It has to do with the fact that germany went off of nuclear It has to do with the fact that britain Uh is invested gazillions of dollars in windmills in the north sea And the wind the wind is not blowing when they want it to blow when they need electricity It only blows when it blows The fact that in germany and in the uk they've invested heavily in solar panels If anybody's ever been to the uk in germany knows that the sun never literally shines in these places ever You know Except one week, you know, you know last month when I was actually in london and the sunshine I mean these uh policy mistakes It has to do with the conflict or with russia and not enough gas and the fact that russia doesn't want to pump all this gas Voluntarily, they don't mind europe having a crisis right now And it's just mind about me. It's gonna be a very cold winter Well, unless unless suddenly and I wouldn't be surprised at all if this happens They discover that oh this was all exaggerated and actually plenty of natural gas Which I wouldn't be surprised because our media and everybody else tends to exaggerate these things until To turn everything into catastrophe And if you look at the us the us is not pumping any additional Natural gas because the natural gas companies don't have an incentive to do it if they do they'll be accused of taking advantage of a crisis And of polluting the air and they'd rather sit in their reserves and wait their time and buy their time You know prices are going up. You'd think they'd be more drilling. There isn't much again because People like black rock won't provide capital To drill more oil because it's anti esg and it's not socially responsible to actually drill for her She's got all these things overlaid one on top of the other all happening at once which are resulting in major global shortfalls and It's a problem and of course The whole world is and I think entering a period Of slow to no economic growth We just saw in numbers out of china Where the economic growth is very is way lower than it has been historically in china And if you this is if you believe the chinese numbers Generally china is doing everything in its power to slow economic growth And it might be on purpose because they might want to spend some time Redistributing wealth because they've decided that they want more wealth equality rather than allowing for wealth creation Who knows what's going on in those crazy dictators minds? Um But all I can all we can say is We're heading towards real economic turbulence. We're heading towards really economic bad times Um, there's the gold price is not indicating super inflation gold is not going through the roof right now um If you believe the bitcoiners then bitcoin is the ultimate hedge against inflation it is going up So maybe maybe that's the inflationary sign. I don't know. I don't get it. Um, but I think all we can say right now is the world's in a mess Economic growth is is going to be constrained Uh prices are probably going up in the short run how to tell what's going to happen in the long run and You know wages are also going up So most of the american people will not see a decline in the standard of living because wages are going up because the fact is There's a job shortage unions are emboldened Unions are going on strike not because of the bite administration, but because there's a labor shortage So unions feel like they have upper hand in terms of boggling power Caterpillar the america. What's the labor union that does auto? This is the first strike in like 35 years Uh at the caterpillar plants That's because they feel emboldened by the shortage of labor That is a direct result of of trumps And now biden's restrictions and immigration the fact that they're not enough immigrants coming in We've got massive shortage of labor across the entire country Uh, particularly in construction, but across all these industries And women in economic mess, but that shouldn't surprise anybody Uh, they're women economic mess at the uk Did brexit they got all excited about brexit. This is great. We'll set our own economic policy They got a free trade deal with canada new zealand in australia And they said great We are now uh independent free trade island. They didn't kind of free trade deal with anybody else They didn't lower tariff to zero as i recommended And then all the regulations that they considered a burden from the european union. They've imposed on themselves Right, so they just they just took all the regulations of european union they imposed on and then the conservative the conservative government of of the uk Wants to be more aggressive than the eu In achieving carbon neutrality, whatever the hell that means. I guess death for everybody is what it means So they are building more windmills in the north sea to provide even less electricity The world's insane. I mean and and the european union I mean is is a complete and utter disaster the only country in good shape in the european union as as strikingly Nutty as that may be is france because france produces 70 to 80 percent of its electricity from nuclear power and it is exporting power to the uk that's how that's how Nutty the world is that You know, it goes under the under the channel and and the uk is getting nuclear power from france But it's a mess. It's a mess but to I think one of the things that i've learned over many many years of trying to do this Is that macroeconomic prediction is a fool's game Now maybe somebody out there is good at it, but I haven't met them You know, if you cry wolf every year Sometimes you'll be right If you if you're an optimist every single year Mostly you'll be right. That's the amazing things right if you actually think that the stock market's going to go up every year And technology is going to be better and human life is going to be better almost always you're right because the stock market almost never goes down That's a reality So I you know, we'll have a day of reckoning I don't know how long it'll be.  I really admire Across the spectrum of kind of free market economists Some are predicting 15 inflation by the end of the year by the end of this year Others are saying now the the money supply is actually hasn't increased that much Maybe we'll get a small spike, but the Fed is actually doing a decent job at at increasing the money supply in in accordance with demand for money And I see everything in between and And then you've got people like you know people who say it's not going to just be 15 percent The dollar is going to be collapsed And the whole world is going to abandon the dollar as They as as the standard and and you know the era of the dollar is over I don't I don't think that's gonna happen anytime soon But in the spectrum of zero to 15 percent I doubt 15 percent. I doubt zero But I don't know where inflation is going to be and how long it's going to last And how many economists I still don't know so This is an evolving situation, but if you have any thoughts as this thing evolves with the I know that we've covered the supply chain. Let us Absolutely, I tend to update you on the state on the state of these things As they happen and try to figure out from you know, try to figure out if there's an economist out there, you know John Cochran who I have a huge amount of respect for and is Seems to be always level-minded and really really rational about these things and not I mean, he believes we're heading at some point towards 70s like inflation He believes that the government right now is behaving like the 70s government did That the Fed is behaving very similar to the government. So, you know, that's John Cochran I really respect him and by him, you know, and if you think about the 70s A lot, you know the inflation begun, but then the real kicker was the oil crisis the 73 The oil crisis in the 70s didn't cause inflation, but it kind of Accelerated trends that were already doing it. We've got a kind of crisis right now. The supply chain might be it Things that trigger inflation expectations Could really change things and and of course Markets didn't expect inflation back then either and if we got it. That's another thing John Cochran always says Bond markets never anticipated. It's always a surprise inflation always surprises people and it's a surprise because It's exposed. It's easy to see but while you're living it It's very difficult to identify the causes and the chain reaction that brings it about. I have thought We've had ridiculously low interest rates for 20 For 30 years basically Luckily, I didn't invest based on those that thought because if I had I would have lost my sugar, right? I wanted to short bonds in the mid 90s. God talk about a bad trade All right, Daniel who knows about trading. Yeah Thank you for listening or watching the Iran book show If you'd like to support the show We make it as easy as possible for you to trade with me. You get value from listening. You get value from watching Show your appreciation. You can do that by going to your own book show dot com slash support by going to patreon subscribe star locals and just making a appropriate contribution On any one of those any one of those channels also if you'd like to see the Iran book show grow Please consider sharing our content and of course subscribe Press that little bell button right down there on youtube so that you get an announcement when we go live And for you those of you who already subscribers and those of you who already supporters of the show Thank you. I very much appreciate it


Great, let's get started. If I don't make eye contact during this presentation, it's because I'm staring into this light, so nothing personal. I'm gonna take a picture, so either y'all know if you don't want me to, or duck your head down if you don't wanna be in a picture. Signing DrupalCon presentation for me, hopefully for you. Okay, this is Drupal 8 Module Development, mad with power. So my name's Ted Bowman. I work at the office of the CTO at Acquia. I'm Ted Bow on Twitter and Drupal.org. Probably best way to get in touch with me. Drupal related stuff or otherwise. I'm a core developer, so Acquia pays me to work on the API First Initiative for Drupal 8 and UX initiatives. I'm the maintainer of the Settings Tray Module. Mostly work with core rest and core serialization. I'm also working on a new distribution called Reservoir, which is decoupled distribution, which if anybody is interested, can ask me about afterwards. So who are you guys? Who are module developers? Okay. Who is new to Drupal 8? So a lot of people. Who's new to Drupal altogether? Some people. Who's coming from Symphony? I've got a Symphony experience outside of Drupal. A few people. Who's new to object-oriented programming? Okay, cool. Just trying to get a kind of idea. So this is not really like an intro to Drupal 8 Module Programming. This is kind of, so Drupal 8 is pretty different from Drupal 7. I come from a Java background, so I really like a lot of this stuff because there's a lot of stuff in Drupal 7, or actually I came to Drupal in Drupal 5 and there was a lot of stuff that was like, what's going on?  Why do I have to name this function exactly the same way? And so now in Drupal 8, I got used to it and then Drupal 8 came around and I was like, oh yeah, this is getting rid of all the stuff I hated about Drupal that I forgot I hated. So for me, it's really nice. It's a big change, but I think I'm mostly for the better. So today's examples are going to be, I think, powerful, sort of new things that you either couldn't do in Drupal 8, sorry, Drupal 7, or were kind of hard to do or hard to figure out. I think they're cool. I think they're hard to figure out. A lot of these things took me a while to figure out. So I'm not gonna go through how to make routes and stuff like that. There's a lot of tutorials for that. There's hopefully some basic Drupal 8 sessions here this week. So there's a Git repo. You could probably just Google GitHub, Tedbo and find it, but it's github.com, Tedbo, Drupal 8 Power and so all of the modules that I'm presenting are in this one repo just so it's easier for presentation. So if you want to look at them, you could look at them now or but if you want to see them, don't worry if I go through the code. Am I just the wrong height or something? Just really bad. So if I go through the code, example's too fast. I mean, definitely ask me questions, but also realize you'll be able to see all these code later. So today we're gonna go over the importance of object-oriented programming, importance of having an IDE. And I think some people I've talked to after this talk when I've done it other times if I get no other message across to you that Drupal 8 is much, much easier if you're using an IDE, so an integrated development environment. I use PHP Storm, but there's other really good ones also. I'm sure I used to use Eclipse, it was good. Gonna talk about base classes, base fields, extending classes, creating condition plugins, and then just to emphasize again, importance of an IDE. An IDE and object-oriented programming. So Drupal 8 is object-oriented. It is more complicated, but it's more encapsulated. I feel like it's more self-documenting. You can look at the code and kind of figure out what's going on more than I could in Drupal 7. I think especially if you're not coming from Drupal 7, if you're coming from other frameworks, you might find it a lot easier. Because it's self-documenting, I find it a lot easier to learn. And again, all of these things, the whole self-documenting and being easier to learn kind of depends on you using an IDE. So we're gonna have examples of each module sort of talk about if they're object-oriented, how an IDE helps us, and they're gonna stop and demo. Okay, so first concept I wanna talk about is base fields. And base fields are not the fields that you see on the managed fields page. These are fields that Drupal has made for you, either core or another module. So these aren't fields typically that you can add or remove just from the UI. So examples on the node, entity type, we have author, created date, the change date, and the content type itself of a particular node. These are all base fields. On the user, we have the name, mail, password, and roles are all base fields. So these are things in Drupal 7 that weren't, they were called properties in Drupal 7, but in Drupal 8, it's all using the same field system, which we're gonna see, we get a lot of advantage of that. So base fields use field widgets and field formatters much like the fields that you add do. Some of them are configurable, some of them aren't configurable. You can actually add new base fields through codes and you can alter existing base fields. So base fields examples is the node author field, is an entity reference to the user, so we see it down here. It is form configurable, meaning you can change instead of say auto-complete, you could actually change it to a dropdown, though if you have more than five users on your site, I probably wouldn't recommend that. So it can use the entity reference widget. So any widget that you can use on, say, the tags field you could potentially use on the author field. It is not display configurable, so you're not gonna see it here display the author or not. I think I'm sure there's probably a module to do that. It, yeah, so it's not view configurable, so you won't see it on the manage display tab. So another base field is user roles. So in Drupal 7, I guess this was a property, but this is actually an entity reference to a role, which is a configuration entity. So in Drupal 8, you have the concept of content entities, which is usually stuff that you're going to somehow enter through the UI. Well, configuration entities you would enter through the UI also, but configuration entities you would export through configuration. Usually the main difference is, or one way to tell, so if you have a lot of them, they're usually content entities. So the user roles is a configuration an entity to, any reference to a role configuration entity. So you can use a lot of the same formatters, but not all, you can use widgets. It's not configurable by the form by default, so you can't say, well, I want to change the, I think it's a checkbox by default, I want to change this to an autocomplete.  And it's not view configurable, so you can't say, I want to display the roles and I want to display them as links to roles or whatever. So let's look at an example module. This module is called real author. So it tracks who really wrote the content. So often you'll have a site where people are signing in and they're filling out content, but they're filling it on behalf of another user, or maybe somebody who's actually only represented by content on your site. So if you maybe run a blog for a famous author, maybe they don't even sign in. So it separates the Drupal user from the author. So an example would be we have the node entity type, we have the author, which is a user entity reference field, and this is what core provides. Oh, all right, all right. Let me know if that happens again because I probably won't see it. And then our module, the real author, would actually create another field that's also a user entity reference field, and this would, we'd call it real author, but same thing, it's basically sort of on the same level. So real author removes, this module's actually gonna remove editing configuration from the author field, so if we're gonna track who's the real author by having somebody enter in another user, we want to use the core field to just say, whoever signed in is automatically just the core author. So the author's always gonna be the signed in user. So we're gonna do this by implementing one hook, entity base field info alter, and we're gonna add a new field, and we're gonna use another hook, entity base field info alter, and we're gonna remove access to the author field. So that is gonna give us on the manage forms page another field that is real author, and we can change to whatever auto complete or drop down whatever we want. And we're not gonna see this on the manage fields page again, so even though we're adding this through our module, it's like core's author field, we can't take it away via the UI. One of the real big benefits of this is it actually shows up on the table, I think it's called no data table, but basically where all of the other, what would have been properties in Drupal 7 are on the table, so they're not connected by a field table where you have to do a join, it actually is on the base node data table itself. So we have our real author right next to the node ID, right next to the type or the UID, which is the core author. And of course this would have a lot of performance implications because you're not doing a SQL join. So is it object oriented? So not exactly in the fact that we're using an old school like Drupal 7 hook, but it does benefit from Drupal 8 classes and let's take a look at how that works. So before this little clip to avoid me doing all live demos, but so if we see this up at the top, it's we're implementing hook entity base field info. So basically this is where we can add new fields if we want to. We're basically checking to see if it's a node entity type and if it is, we're creating a new base field that's an entity reference and we're going to build other author. I guess I left to put this twice. We're gonna create the real author field and then once we start to create a new field, once we start typing because I'm using an IDE and it knows what real author is, it actually can tell me all the methods that are available and easily lets me fill them in. So I did label, description, cardinality, meaning only one of these fields. You could have two obviously if you want two authors. I type is required which is wrong because that's telling me if it's required. I want to set that it's required. Again in IDE, you'll see that pops up and tells me hey, it's expecting a Boolean here. And then I want to set display configurable on the view. I want to say yes, it's displayable on the basically managed display tab. If I wanted to know what it is, I can just sort of look in here and because I'm using an IDE, I can go to the help and it can say oh, it's expecting either viewer form and then a Boolean field. So in Drupal 7, instead of actually methods on an object, how would you do something like this usually? An array, a big array probably. So in Drupal 8, we did have hooks so it's similar in that we have hooks but I don't have to send back a big array of like configuration for the field. I actually forgot what the hook was in Drupal 7 for this but you can pretty much be a safe bet that somehow in Drupal 7 it would have evolved a big nested array. So I like this way better because, one, I don't have to memorize what the keys for the array and the values are. The fact that when I start typing my IDE can say hey, you can set the label here. And then if I didn't know, say for set display configurable what that actually means, it's gonna easily pop up help and tell me what it might mean. Whereas in Drupal 7, I was always going to the API pages on Drupal.org to say, what am I supposed to put in this big array? So there's still some big arrays so don't worry, especially in the render system. The other code in, let me just look at this in my IDE. Try to make this much bigger. Real, oh, wrong place. So this is basically what we've set here. The other one that we are doing here is the hook entity base info alter. And here, again, I'm looking to see if it's the node entity type. And I grab the UID field and here I want to display configurable. And I want to say by default you can configure on the form. The, you can actually change the author from say auto complete to a dropdown. I want to actually take it away from the form, the managed forms place page all together. And then I also want to set the display options none, meaning it's never going to show up on the form. So I'm basically taking away the regular author field. So how that sort of looks, what I showed in that video is because my IDE knows this is a field, then as soon as I type the arrow here it's going to tell me all of the things. So I don't know. Does anybody prefer big arrays over this? Okay. And the other thing, nice thing about this is if I hit in my case F1, I can see if I didn't know what display configurable was. I could do that. Also, it's really easy to jump to the actual where this is defined if I wanted to see what's going on. I really recommend also in Drupal 7, but in Drupal 8 especially when you're sort of calling these functions if you have time, just click on them, open them up and see what they're doing. I think learning from Core and other modules is a really great way to learn sort of how Drupal works, but also really good code examples. Check my time, 12.15, doing great. Okay. All right. Okay. So other ideas for base fields. You could use a term reference for your main site categories. So instead of adding a field, a term reference field, you could actually have it in code so when you turned on a module, nodes just got a term reference field directly on their node table. That would provide better performance and also you wouldn't have to configure it each site. Another idea for a way to use base fields and modules is you could potentially put a entity reference to a user on the term entity type so you could actually implement a sort of authorship type for terms. So for date time base fields, Drupal has created and changed timestamps but not a first publish date. So you could actually add a base fields that's first published. Of course, you'd actually have to write implementations to say, okay, once I've created this field, I want, when it's first published, I'll save the date. The other one is a user block date. So if you block users, maybe you want to have an idea how long they've been blocked for. So but there's not a field on the user for that. So you could actually add it via the base field to be on the base table and say, okay, this user's been blocked for one year. Maybe I should just kick him off or maybe that's long enough to block him. You could do an original import ID on any entity type so you're migrating them in. You could actually add a base field that says, hey, for this legacy system that we brought it in, I want to always remember no matter what the ID. And maybe you don't want that to be display configurable or form configurable. For safety, you just want to have it for whatever reason. So remove access to the published date. So you can maybe take that away so people actually can't configure on the form. You could take away the form widget altogether for in just published date would always be the default value, which is when it's actually published or created, I guess in this case. You could make the roles widget configurable if you have tons of roles on your site instead of the checkboxes, you could do an autocomplete because again, roles is just an entity reference. So any of the widgets you can use on any reference, you could use that. So the next module I want to talk about is the show user fields module. So this basically makes hidden base fields viewable and configurable. So if we look at the user type, we have fields roles, last login, last access. And these roles, these fields, you don't actually see them on the form where you can configure them. And we're gonna implement the hook entity base field info alter and we're gonna change the fields to be display configurable. So you can actually display them in the managed display and say, okay, this person has XYZ role so everybody can see it or this person last access the site on June 23rd. Is it object-oriented? So in the same way as the previous module, it's not object-oriented in the sense that we're using hooks. But it does benefit from Drupal 8 classes. So let's take a look at that. So again, in this module, we're still only gonna have a .module file because we're just implementing hooks and we're going to, that's not the help hook. So we are gonna implement hook entity base field info alter. And again, we're gonna check to see the entity type as user, then we're gonna have a list of fields and we're gonna say, for these fields, we want to loop around and do something with them. So we're gonna make sure that it's actually there, make sure some other module didn't remove it. And then we're going to set the, then we're going to set the display configurable to true. So this by default is false. So basically, when you go to the managed display page for users, you don't see the ability to say, show me when this user was last accessed the site so everybody could see it. One thing I do want to show about tonight, this is PHPStorm but I'm pretty sure other IDEs use this. Right now, if I take this field, I again can have all the information about all the methods. But by default, if I actually messed up this line before, now the ID has no idea like what field is. So it's basically saying, I don't know what this is. You can invoke methods but I'm not gonna help you here. So what's happening here is in the previous example, the module actually was, the field was a return value of a function of a method that the ID knew about. So it knew like, oh, you're returning it from this method. I can look at this method. I know it returns a field definition. So I'm gonna give you all the information about it. But in this case, I'm just grabbing it from an array. So it doesn't actually know what's stored in that array. So it's gonna say, well, you know, it's something but I have no idea what it is. You can give your IDE hints. So I'm saying, hey, the variable field is of this particular class here. So as soon as I do that, and I start typing, it's gonna say, hey, I know what, actually I see what it is. It's a base field definition. So it's gonna say, I know exactly the methods that are on a base field definition.  You could var dump it to see what it actually is. I do step debugging. So you might not know right out of the back that that's a base field definition, but you could say get class, print it out the screen, and then update your code like that. The other thing that's really nice about me doing that is it's gonna tell me, hey, DF is not a function here. It's not a method on this object. And presumably if you've heard of the policy from, upgrade policy from Drupal 8 to Drupal 9, we're gonna remove deprecated functions. If something like set display, or set description here, was deprecated in Drupal 9, the IDE would tell me like, hey, you're using deprecated functions. So I could use the inspection to look at all of my custom code base and say, telling me all the deprecated functions I'm using. Drupal 9's coming someday, so it'll help you out. But we're adding features to Drupal 8, so it's not that important. Okay, all right. So we set display configurable. Let's go back to the PowerPoint. So again, it's not object going in in the way that you've heard about plugins for Drupal 8 in their classes, but it still benefits from the fact that we're using object oriented in Drupal 8 and benefits from a really good IDE. This is the code I just showed you. And then here, last on them, I can actually display last access, last log in. I can display also the roles here. And they show up on the managed display like any other field. So I mean, sort of the main, sort of get the takeaway from the last two modules is base fields are in a lot of ways just like other fields. It's just you have to implement them through code, either adding your own or taking stuff, taking away or changing existing ones. So the next module is the no access entity reference label. It's a very succinctly named module, I think. So this allows reference entity labels to view the labels without actually having entity view access. So basically where I got this idea is if you look at a node and you see the author but you don't actually have permissions to view profiles, you still see the name of the author, but there's no link to click, right? But that's not true if for other entity reference. So again, the author on a node is just an entity reference. So if I have another entity reference that is to content, by default, it's not going to show me what the labels are. Again, the label for a node is the same as the label for a user, it's the same concept, because I don't have access to see it. So I want a field formatter for entity references that show me the title but only show me the link if I actually have access to it. So it makes these, the viewable entities will actually be links. So again, it acts like the author label for other references. And this one actually implements no hooks. So, this is an example here. We have linked content which is an entity reference field. We have this art2a node which is a link and then we have another node that's called you cannot view me and we still can see the label but it is not a link. So is it object-oriented program? Yes, it's object-oriented, we have a class. We're gonna create a new plugin and it's called the no access entity reference label formatter and it extends the entity reference label formatter and we're just gonna override two methods. So let's take a look. So I don't know if I can, I can't zoom in here but so we have the folder name, no access reference label. There's no .module file in here so Drupal 8 modules don't need .module files if you're not implementing hooks. We have a source directory and then under that source directory or SRC directory we have plugin, field, and field formatter. So all your plugins generally are under the plugin folder and then the particular type. We have the directory here. So if we look at this class, okay. Right here we have an annotation. So basically when you have a plugin in Drupal 8 we use these annotations in the comments. Ooh, that's not indented correctly. We have these annotations in the comments that actually mean something. And this is, if you're familiar with Drupal 7 this often replaces an info hook. So I think there was like hook, field, info or something like that in Drupal or this would be hook, formatter, info something like that in Drupal 7 where you basically again would return a big array. This may be not so much better in that yeah, we're just creating an array except in an annotation. But it's better performance the way it scans this. So I'm saying hey, this annotation is for field formatter. I'm telling you my ID, telling you a label, description and I'm saying hey, it can be used on entity reference fields. And again, I am extending the entity reference label formatter. So if I really wanted to know what that did I could go here and I'd say okay, I can see all the code in here. So basically making this mileage I looked at what the original formatter did and I said okay, I only wanna change like one or two things so I'm only gonna override one or two methods. So the methods that we're gonna override are make sure I get this right. Get any views. Are view elements. So basically like what happens when you're viewing those labels and by default again, the regular any reference is gonna say hey, if you don't have access to view the actual entity I'm not gonna show you the label at all. We don't want that to happen. And the other thing that I'm gonna override is the get entities to view because basically that is what's gonna determine which entities we view. So I'm not gonna go exactly to what it does but those are the two ones that I have to implement in order to override. So basically a lot of times when you're either creating a new field type or a field formatter or a widget, a good way to start is if you see something in core or contribute and you need something like that but a little more custom is to take that class for that formatter, that field type or that widget and say I'm gonna extend this and I'm going to only override maybe the view or the access or something like that. Okay. So usually yeah, when you're trying to implement a plugin potentially you could overwrite a particular plugin so find one that's similar. So if you have a field formatter like in my case the regular entity reference formatter or label formatter did everything I wanted except for the small thing. And then I would try to extend it. If I couldn't extend it if I looked at the entity reference label formatter and said you know this I would just end up wiping out everything in there. I want it to be different. I would look up to its parent and if it's parent which is like a sort of generic entity reference formatter I could then start from there. So if I look let's just sort of crawl down see how that would look. So if I started off with the entity reference formatter you know I would look here and I'd say oh you know this use basically displays a label for an entity reference. If that's not what I wanted I would actually click up here to the formatter base. So now I'm at the entity reference formatter base. This is an abstract class meaning I can never actually use this. This is not gonna provide a formatter but it's gonna be the parent for all my other entity reference formatters. So if I look here and now I highlight this and I go to navigate type hierarchy it's gonna tell me all the other formatters that go from there. So the way core does this is we have this formatter base which is for all fields. Little more specific is the entity reference formatter base and then underneath there is all of the ones that core provides. We have the entity reference entity formatter meaning I want to display the whole entity the whole node or the whole user or the label formatter. I just want to display the label. And then we have one here entity reference taxonomy term RSS formatter. You can guess what that does. I've actually never used it. Then we have the ones that I implemented myself here which is the entity reference. Oh so if we look at the entity reference label formatter we could go down further and see oh okay here's the one that I actually made myself. So that's sort of a good way if you're looking at a particular plugin and you want to see what it does or what other ones similar like it would do I would go up the chain then look back down see what's there. If I want to go even more general just keep going up the chain then look at its children and then dive back down. So yeah this is just sort of saying actually this is sort of saying how the ID would actually help me find a plugin. So if I knew like hey there's any reference on the site and I know I can see them and I know there's the concept of formatters I could just do this in this case it's a shift command but basically I would say I want an entity and then I know it's a reference and then I know it's a formatter and now it's sort of narrated down to all the formatters for entity references. So that's sort of one of the things I really like about Drupal eight versus Drupal seven is this encapsulating it into separate files makes it really easy for me to find the things. So it doesn't in Drupal seven say if I wanted to find all of the formatters that work for entity reference fields I would actually have to look at all the hooks for fields and then look at what they returned did they return something that work with entity reference. So the fact that they're all in their separate classes and I can easily search their classes by name for me really helps it be a lot simpler. So in some ways the complexity of having more files because they all have separate responsibilities actually makes it easier for me to learn ID for the win that's sort of the whole one of the whole things about this presentation. Other ideas for extending field plugins actually that's usually the question when it's a smaller group but we can talk about that in the question answer. So now the other concept I'd like to talk about is condition plugins. So condition plugins are unified system that really just simply evaluate to true or false. In core they're used to determine block visibility. So when you go to add a block and it says hey show this block at a particular path or show this block for a particular content type that is a condition plugin. That's how they're used in core but in contrib and Drupal 8 stuff like panels I think context is now ported to Drupal 8 I have a module block visibility groups, rules they all use the same condition plugins. So in Drupal 7 basically we had a bunch of sort of conditional systems in core and contrib but none of them used actually the same thing. So if you had a condition on rules that you thought oh this would be a really cool thing to use on panels, you couldn't do it unless you install this module that had sort of rule access control for panels which then gave you a lot of complications. So the fact that we're using sort of the same condition system all across core and contrib has a lot of advantages. So the example module and look at is author conditions. So the condition is a node author has certain roles and we're gonna say so usually the roles condition in Drupal core is actually like who's looking at this? Like I will show this block to people who are administrators but we're gonna create a condition plugin that says show this block if the main node on the page the author is an administrator. So maybe or maybe probably more reasonable example is if this is a premium member show this extra information in a block. So this is gonna extend the core user role condition and again no hooks.  What did I say it was called? Author condition, author role condition. Okay, okay. So again we have a module that has no dot module file it has a SRC directory again with a plugin directory but this time we have a condition folder so we're saying this module implements or this plugin is of the condition type. And again if we look here we have the author role condition and it's going to extend the user role condition so I've actually want to see tabs for the win. Okay so if I want to see what the actual role condition does I could look through here. And again plugins have these annotations so I have to say hey I'm annotating something that is a condition. I have to do a few things for Drupal to pick it up I have to put it in the right folder structure I have to use the right namespace and then I have to tell it hey this is a condition so I'm going to give you information again in the comment. And if I don't get this right Drupal will I think when I clear cache it will show me an error hopefully the errors got better it used to be not so helpful when it was parsing a condition and it got it wrong. The other thing here I'm telling is I'm saying hey this condition has a context so this is not context like the context module again this is a nice sort of unification thing in Drupal 8 is this context is the same thing that panels in Drupal 8 is going to the same concept that it's going to use to determine when to display certain panels but I'm going to say hey I need an entity that is a node and it is a required context so basically if I'm not displaying a node on the main page then this condition should not be evaluated. Again I have to just implement this function called evaluate and so let's actually see if I didn't know what I needed to do if I just had the user role here and I know that user role condition does a whole bunch of things and I want to change certain things so what I would do is so I would say I want to override the methods and it's going to tell me okay here's all the methods that you can override I probably don't want to go down like way down here to object but I do see the user role and I know that how I'm going to evaluate whether a block should show up should be different from the core user role because that's basically saying if the user who's looking this role I want to say the user who is the author of the node is going to say yeah I want to evaluate author so I've actually already done it up here so I'll delete that one I would get configuration here so basically we're going to have a configuration form for these condition plugins the other thing that you will notice here is that I actually don't have anything in this class that does the configuration form the reason I can get away with that is because even though my functionality is different from user roles as far as how it's evaluated my form is exactly the same because I just want to show a bunch of roles that you can click checkboxes so one of the benefits of me extending that class is all the functionality from the base class that I don't want to override then I don't have to put in my class so if core found a bug with how the checkboxes are made for roles I would automatically get that so I have my configuration so if I say if I don't have any roles checked then just return true basically meaning if you didn't check anything in this condition then just don't worry about it otherwise I'm going to get the context of node and again because we're using classes if I didn't know like how do I how do I get that node that I told it I need I can just start typing I know it's a context so I'll just start typing context and then it's going to tell me a bunch of things so cache context no that's not what I want get context is probably what I want so I could confirm that it's what I want by looking at the help but I happen to know it's what I want the other thing here is I'm saying get context of node so at this point Drupal actually doesn't know that it's a node or my ID doesn't know that it's a node so again I'm using this comment here to say hey by the way this is a node so that allows me to do let me get this right wrong node okay yeah so this allows me now to grab a bunch of things I think author might be one get revision author get yeah that would actually give me it so I could say hey get me the author and because that's going to return it knows it returns a user so I could actually do I would actually have to get UID say on here so again your ID is going to know what type of object certain methods return and then you can get more stuff from there but I'm basically going to say hey get me the author entity if the roles for the author entity intersect somehow with the roles that are checked then return true I had to change the cache context but if you look at the github you can see the explanation for that I won't get into that right now and I think that is the last module I had to show I talked about that no hooks so questions yeah I think you spoke good Mike so that the recording can hear it yeah I think you maybe have to go out there in the hi in the first example where you create a new base fields for the node that base update for the creation of the yes on clear I think it would we have to write as in Drupal 7 no because it's saying that the hook user fields will actually add that field because you're telling it hey this is a new base field in the entity type and a lot of Drupal 8 is abstracting the database away from you so you're not actually saying actually it's even sort of extracting the idea of the schema away from you you're saying this is a field and Drupal should handle however it handles fields you could potentially have a different type of database and it would create that too any other questions yep that was quite valuable session and quite beneficial I'm a beginner for Drupal 8 and I'm still learning but what happens is most of the times I see a module who's doing something very similar to my requirements but it doesn't exactly do what I want yeah so at that time how can I like find what point at which function or class I should extend or like modify to get the things done my way so yeah so like one way that I use when I have no idea where something is coming from I often look for a string in the user interface so if we look at let me see if I can find an example but if we look at the structure content types these are articles managed fields actually let me do it on the node add page so if I was adding an article and I thought let's say this was I don't have any contrab on the site but let's say I wanted to say where is this authoring information coming from like how is it making that I mean usually what I would do is I would copy that I would look in my IDE I would search all of Drupal core but if you just installed a module you would work look in that module folder I don't want it to be case sensitive authoring information so actually at this point there's only four instances of that string in Drupal core so it's actually on the node form page and potentially I would look for when it wasn't a node but you'd see similar cases if it was like a field formatter and there was a special label on that field formatter and I wanted to know where that class comes from I mean obviously like learning the general principles about plugins and stuff like that but if you're completely lost oftentimes taking something out of the UI and searching say the module you knew it came from that string look at the class there and then sort of go up from there any other questions so the evaluation I forgot to put a slide but if you go to the session there's an evaluation link for the survey and definitely let them know how I did any other questions all crystal clear is there a threshold for using base fields compared to performance impacts? I wouldn't use them all the time and I mean most of the time if you're not worried, like you're not crazy worried about performance I wouldn't use them I more often find that I'm altering them than adding them all together because oftentimes there's a base field that's not viewable or it's configurable in the form that you want it to be configurable so I would say a base field is really only if you're really worried about performance or if you want to change the fundamental functionality of a certain entity type that's often provided by contrib and it doesn't make sense to ask for that feature in contrib because what you are doing is very different from how most people would use that module then I would consider adding a base field I did some base fields earlier and notice when I changed them and had already existing entities entity update didn't work anymore because it's given notice that there are entities with values are there good examples of update hooks or I was sort of talking about stuff at the beginning I'm trying to think I know there's a field or two that's been added to core I don't think what they are right now but I would look at the core change law maybe the node module I think the node module may have something I know there's something in d8 that was added afterwards and they had to do an update thank you very much do you have any recommendations for creating the whole skeleton you need to find the right namespace you have to write the correct annotations etc you can have a lot of titles do I use templates what do you use for debugging I use xdebug but for a skeleton if you don't know how to make a plugin Drupal console is really good for that you can go through and say I forget the exact commands I want to make a new plugin what type of plugin do you want what's the label the other thing is sort of copying files and then just renaming the namespace sort of looking at a plugin that maybe doesn't do what you want but is in the same type just sort of copy it over and change namespace and stuff like that what's the question about more the question what happens what do I do if it doesn't work maybe I have a type or something yeah I think I think whatever effort it takes you to get step debugging to work how many tutorials it takes you to get to run through it will be worth it if you're planning on being in Drupal for any length of time or any object during the programming it's like you have to learn for me I personally had to learn step debugging I learned it in Drupal 7 but it was much more user friendly in Drupal 8 and sort of setting breakpoints to actually get here that's what I've done you can var dump stuff out there I think the plugin managers there's a concept of plugin managers in Drupal 8 and those are actually really interesting to look at so if you can actually if you have a field type if you have say a plugin that's a field type and yours is never showing up you can actually put a breakpoint in the plugin manager for fields and say hey stop here and then I'm just going to get through and see why my plugin is not loading you actually learn a lot about Drupal 8 that way I mean it'll take a while but you learn a lot about Drupal 8 and you figure out sort of why it's not loading often it's not loading because of annotation purposes and that again I think is you know an IDE that's aware of the concept of PHP annotations is really helpful because it'll give you even though it's not code per se it does give you warnings say hey you didn't close this properly or whatever so it's really really easy and mistake to make is because it's not code you don't get as you're not necessarily going to get a hard failure in your annotations you're not going to get a white screen of death if it's not there it just won't be picked up okay thank you any other questions alright great thanks so don't forget about the survey it's really helpful to me it's also really helpful for DrupalCon in general as far as selecting sessions and you know good or bad surveys are good good is good but bad is helpful also


This post-hoc analysis evaluated the effectiveness of supplementing dichotomous efficacy outcomes with residual disease activity in patients with moderate to severe park psoriasis treated with Tildrachysumab 100 milligrams or placebo. The results showed that posi scores were more reliable than percentage posi improvement, and this may explain efficacy disparities between clinical trials and practice. Supplementing dichotomous posi improvement with posi scores and consideration of patient treatment goals could facilitate clinical decisions. This article was offered by K. B. Gordon, K. Rye, J. J. Crowley, and others.


Welcome to Digital Asset News, take a top story in Crypto Currents Digital Assets and break it down into bite-sized pieces. Today we've got some concerning news, but it does make a lot of sense. BlackRock sells dollar for Asian currencies into U.S. vote and what's going on here is they are essentially shorting the dollar and this isn't a big deal unless you consider that BlackRock has almost 8 trillion assets under management also. MasterCard CEO says Bitcoin makes people scared. I have to disagree. I think what makes people scared is comments like that. Kraken CEO Jesse Powell rings out the truth and says DeFi scams should take their losses and basically what he's saying is that they need to do the things to make them successful because over the last month or two we've seen a lot of DeFi projects not only fail but take a lot of people down with them. And we'll go over all that plus question of the day which comes from Jake which asks a pretty good question which is if everybody moves from gold to Bitcoin should I even really have any gold? So that's all coming up plus what's going on in the market but first I want to make two announcements. First up Voyager I had CEO Steve Erlich on last week and he had said that changes were coming and that they're working diligently to be able to have cryptocurrency and certain digital assets be taken off the platform and I just asked him when's there going to be Cardano and he said soon. And here we are today announcement that Cardano is now you are able to take Cardano off of Voyager platform. So this is just one of those things that he had said is going to happen and it did. Also he said that the airdrop for XRP for the spark token is also going to happen before the actual airdrop so we will see how that happens but he did say give me two or three weeks and this is just one thing so thank you Steve for actually doing what you said you were going to do. Also before the big presidential election here in the United States I'd like to get somebody from votes on. Votes is a topic that we had covered about a month ago or so and this is using blockchain to enable voting through your mobile app and I think it's a fantastic concept so I've already tweeted out to these guys to see if they would come on but if anybody knows anybody or knows something about them or just reach out to votes and say hey come on digital asset news because I'd really like to get them on here and see how that works with blockchain voting because I think it could be the future. All right so the market so today it is October 27th it is about 3 p.m. Texas time things are getting late but a lot of things going on just getting to this so what do we got well Bitcoin is doing fantastic it's a four and a half percent sixteen percent for seven day average and we're looking at 13.6 and the question that I had was is Bitcoin going to break through 14k I mean if it is that's that's like a real true bull run territory let's see if it actually happens I think it can but who knows let me know you're in the comments actually you think it actually happened before this weekends or do you think that all the traders in the whales are gonna take a bunch of profits and push it below 13 that'll be interesting Ethereum above 400 up 2.7% like that tether is that sitting around 16 billion market cap so that's great I suppose XRP at 25 cents market cap 11 3 Bitcoin cash is sliding into that number 5 spot at 1.7% up at 263 and if you notice something the 5 6 and 7 and even really the 8th spot I mean there's really a miniscule amount really separating them all they're all around that 4 billion market range so we'll see as that fluctuates throughout the week but everything's up everything's up today it's a good day what can I say I mean it here's a thing it's a good day for most people for me it's kind of a depressing day because this is one of those days while I was kind of open that yesterday we continue that downward slide so I can keep accumulating at great discounted prices but wasn't meant to be I mean I still gonna dollar cost average but you know I was kind of hoping to do less less price action but hey it is what it is so congratulations today for some people and other people like me is like man I because I know where this whole space is going so I'd like to buy it cheaply as I can I'm doing for the last you know three years so I guess at some point I'm gonna have to just give in the fact that we are gonna hit a pretty big bull run I know it's weird to hear that like oh we're in a bull run how awful is that but you know I just see where it's going I'd like to accumulate more but here's what it is and what else we got anything really have a killer uniswap up six and a half percent that's good I suppose 3.6 for Celsius again this is one of the ones I really want to pick up a lot of but I'll still pick it up but now I to pay 3.6 premium I guess we look at it like that 8.4% for compound so everything's you know fluctuating pretty well and you know we're seeing in the top 10 major green so I like to see that anyhow let's jump into today's top stories before I jump into it I just want to make mention that ledger is running a promotion right now so if you don't have a ledger or you want to pick up another ledger like I have for myself because I don't like to you know keep everything in one place I'm just weird like that but if you want to pick one up just enter in the promo code digital asset news and it'll give you 20% off do all you do is once you're checking out little discount code right here just type in digital asset news click apply and there you go 20% off so just want to let you know and you can pick one up for on the cheap alright let's jump in today's big story so BlackRock is short the dollar that's interesting and I'll tell you why this is the first report on Bloomberg and states the world's biggest money manager is shorting the dollar on expectations that unprecedented fiscal and monetary stimulus will prolong its losses regardless of who wins the US election this is true true true true people ask me well you know who thinks you know when and how is it going to affect the market crypto digital assets and you know I mean to a lesser extent the traditional market which I don't really care about and really you have to look at like this it doesn't matter who win who wins in the short term it's all about what's going to happen a long term and whoever wins that will not matter so really if you look at it if Donald Trump wins then it'll give a little bit of an artificial bump and it'll still go down if Biden wins there'll be a little bit of a sloth it like might come up a little bit but it will still go back down so it doesn't matter the short term I don't really care the long term you cannot keep quantitative easing you cannot keep printing money you cannot have a reduction in GDP you cannot have so many small businesses close and so many people out of work and then to a lesser extent the market to keep pushing forward there is a huge disconnect between the economy and the traditional markets but at some point the fiscal policy will eventually catch up and again so I don't care who really gets elected in the long grand scheme of things things are going to go down in the traditional sense and that's why it is a great time to be in crypto currencies digital assets because just like Shamath Ali Abattaya says he goes this is schmuck insurance this is when for the traditional market when it goes down it's to to be that hedge against all the chaos that is eventually going to happen so again doesn't matter who wins it's all gonna go the same way anyhow black rock ink holds a modest short in the green back against the likes of the Chinese Yuan Indian rupee an Indonesian rupee I think I said right said Neraj Seth head of an Asian credit in Singapore the three Asian nations are among those best positions to benefit from a weakening dollar as investors seek out higher yielding assets and growth you have to understand because they're showing a dollar doesn't mean they're gonna make a ton of money but however that might not be true because remember black rock they have almost a trillion assets under management 7.43 as of 2019 so maybe this year maybe they hit that 8 trillion so it's a lot of money a lot of smart money that could potentially be in there so there could be a windfall with with just the massiveness as far as investments go on Monday black rock strategist downgraded their views on treasuries surprise on growing likelihood of significant fiscal expansion under a unified democratic government so you have to understand it's not so much that they're shorting the dollar right here I mean that's that's just what what they're doing but what it is is it signals the rest of the massive institutional foundations to go look black rock is doing this so maybe they know a little bit something that we don't mean we always suspect that but they're really getting into it so maybe we should and then another institution says hey look what those are doing then we should never just becomes a reciprocating flywheel of information and they just start to really game a man and before you know it the dollar is really getting short or shorted which leads to consequences down the road so in my humble opinion this is great because the worse that the dollar does the better that Bitcoin cryptocurrencies and digital assets will do so if you have a huge entity such as black rock saying dollars going down we're gonna short it you can see other people do the same thing other corporations and then on and on we go so how long do you think it is before all those corporations that are sitting on a pile of money goes you know what just like micro strategy and just like Square did we should probably be getting to this game because we are sitting on as Michael Saylor calls it a melting iceberg so let me think of the comment section let's move on next up mastercard CEO says Bitcoin makes people scared and I mean if you're scared of making profits I suppose but in all honesty I have to say that I have to bring this up because these are the types of questions that people are going to ask you as time moves forward and we really get in that parabolic bull run I think we can all feel it right now there's a big momentum shift and I think 2021 is going to be one of those which is one of those years so you're gonna have to be one of those people that has to explain Bitcoin to your friends family and loved ones even after they ridiculed you for investing in the cryptocurrencies let's just be honest so let's dig in this article so mastercard CEO Ajay Banga that's a good name took a swipe at Bitcoin the world's largest cryptocurrency during the virtual Fortune Global Forum today or 2027 Banga prefers central bank digital currencies or CBDCs over Bitcoin surprise since he believes that they are better at improving financial inclusion around the globe and I was when I first read this I just did a live stream today on theta and I asked this question I said are CBDCs really that great for financial inclusion I mean they are stable let's be honest but the problem with CBDCs that I see is that you can confiscate them you can take them over you can freeze them and for governments that are out there that are doing this all the time this is a bad proposition for the people who are on bank now look it's better than being you know on bank to have something but in all honesty for censorship resistance CBDCs are awful and then it really all depends on what the CBDC is actually back with if it's the central bank of that government then sometimes the government themselves are bankrupt so what is that really being backed up against and then if it's backed up against the US dollar I mean we just saw a nice little story about shorting a dollar and then how I mean really the dollars be going to weaken so is that so good let me think of the comment section I just don't see it anyhow the CEO said the wild swings of cryptocurrency makes people very scared and sure I mean who wouldn't be scared when if you bought Bitcoin last month and you spent you know 11,000 and now it's almost 14,000 that's scary that's scary to make all those gains he says here can you imagine someone who is financially excluded trading in a way to get included through a currency that could cost the equivalent of two Coca-Cola bottles today and then 21 tomorrow that's not a way to get them included that's a way to make them scared of the financial system okay there's so there's two things first of all let's say we're in a third world country right and we have a charity set up and we give away 20 Satoshi whatever it is 100 Satoshi's it doesn't matter and then and we did this at the beginning of October and now now they have like 20 Satoshi's they got like 30 Satoshi's like wow I just didn't do anything and I just gained all this money this is fantastic now as opposed to like like a CBDC and then it's it's just stable maybe it's backed against a good currency that the government is kicking out maybe it's not so that's one of those things where it's like to increase that would be very scary no wouldn't be awesome however on the flip side it is very true we just saw what happened to Bitcoin during the coronavirus outbreak in March and we saw it go from robust nine to ten thousand all the way below four thousand so that is one of those problems I mean once you see is XRP that thing hasn't fluctuated at all it's been like a quarter I talk about all the time so that would be so bad but again as far as like censorship resistance you can censor a central bank digital currency they can freeze it they can stop it they can do whatever they want to Bitcoin does not allow that so I think that is the much superior option and then here's another thing and I actually got this from the theta livestream someone said the same thing with stocks you know if you want to be talking about how awful these financial instruments are stocks are the same way you buy for a dollar maybe it goes at 200 bucks or maybe it stays at a dollar goes a little bit down they're all financial instruments so want to just use the ones to the best of their abilities and you ought to finish up this wasn't the first time bank said this back in 2017 they said the exact same thing use that bottle analogy which I think is kind of weird but he says if I pay for a bottle of water in Bitcoin one day it's two bottles for a Bitcoin the other day it's 9,000 bottles this does not work any currency needs stability and transparency otherwise you will get the illegal activities in the world well we know I'm gonna say about that I mean if you want to look all illegal activities and what is being financed that it's the US dollar so don't give me that nonsense and the second thing is that over time Bitcoin has been a excellent store of value and look how much it has improved just this year alone so if you're going into an area third world country that is unbanked maybe Bitcoin isn't the the most fantastic idea as far as stability from day to day to day operations sort of value it's fantastic maybe there's something else I just don't believe that central bank digital currencies are gonna be the answer especially with censorship resistance let me know what you think in the comments section let's move on to our next article next up DeFi scams should take their losses Kraken CEO Jesse Powell states and this is a pretty good one it's like gangster move by Jesse here so Kraken CEO Jesse Powell lambasted or skewered we're gonna call it DeFi scams for rushing their rollout and then expecting exchanges to bail them out as soon as things go south Powell adds that these projects that fail to invest in insurance and audits have to take their losses in order to be enlightened and this is the comment that was put here I'm not gonna go to the Twitter one because it's a lot more colorful language so this is the basis of what he says he goes I will not accept your attempt at externalizing the cost of your hasty reckless rollouts invest in audits insurance and please do your research taking your losses is the only way to enlighten it and so here's the issue with with these DeFi projects Cronhey and the rest of those people who actually make up DeFi first of all I like DeFi things to be fantastic I just don't agree with rolling it out and out without testing it and allowing people to get into it and lose a bunch of money obviously you know freedom reigns if they want to go out there and do whatever they want but a lot of people got wrecked and they didn't really know what the heck they were doing so I guess it is a learning experience and that's why I will always be on this channel to tell you the exact same thing don't chase shiny objects that's it but this keeps happening again and again and again I can understand you know like okay first time all right for me once shame on me but in all honesty it's just getting a ridiculous I mean this is like I mean we just covered one yesterday another DeFi product I even forgot the name there's been so many that they were hacked for 24 million and the hacker returned 2.5 which is crazy but whatever so let's just do a little timeline dance so this is just a little history of failures so in early August yield farmers deposited more than 400 million to an unaudited protocol called the AM finance remember that gone I mean maybe it's still around I'm not for sure but lost a ton of money then then there was a unit swap fork sushi swap what happened there I think we all remember the master chef just took off with the money and I only know is sushi even the top 100 let's take a look let's see sushi 115 so that's quite a fall from where it was before let's just take a look real quick see where it's at hey 68 cents it's up 10% today it's pretty good so let's just see where it was before and this doesn't look caught so here was I think it's hide it was how much 11 bucks wow pretty good and then so here's the thing about DeFi you can make a lot of money but then you got a lot of people holding the bags so if you're into that that's cool I'm not but you can get a shot and then here's where it went to and then to say so down here so yeah so there's that so you swap and then they managed to outdo themselves by pouring millions of the eminence the untested protocol of your and finance founder and right Cronhey only be hit by a hack within the same day so it just it boggles my mind how people just keep buying into a buying into buying to and for what just so you can gamble and see if you can make money out of it and it's like playing musical chairs but a lot of people they get the chair pulled on underneath them and there's only so many people that can actually walk away with a profit and a lot of people don't so to Jesse here to Kraken I like Kraken a lot anyhow I mean they got that banking license in Wyoming so I'm really happy for them and good about that I like to see someone speak out about these projects because it's just ridiculous in all honesty it's actually if you think about it it's a lot let it's a lot better than those leverage trading platforms which do like 50 or 100x at least for the DeFi you only lose your money when you have leverage programs where you're trading at leveraged amounts 50x 75x whatever else it was a lot of money so I guess in that regards I can to me I think leverage is one of the worst but let me know what you think in the comment section let's move on to our last piece so last piece is Q the day and it's pretty good it's about gold and Bitcoin it was a great question by Jake so I thought I'd throw it in there because needs to be answered let's jump in the office I would be welcome back to the office it is a brisk cold day here in El Paso Texas it is actually snowing it's a very strange day so that's why I got this fantastic sweater on anyhow so this the Q the day it comes to us from Jake Jake looks like he's from the army welcome Jake and thanks for your service bedroom myself so let's see what he has here so Jake comes up it's pretty good question he says hey Dan I watch your channel every day and I get so much out of it great thanks for watching first of all my question is in reference to the statement that portfolios nowadays should consist of gold similar Bitcoin this is what I was talking about yesterday a couple days ago a couple weeks ago a month ago is that I think that everybody should have gold silver Bitcoin in their portfolio and he says is there any expectation that is Bitcoin goes up that gold holders will trade into Bitcoin and the gold price will fall and no longer remain a good store of value I'm trying to determine if I should be investing in gold and all or only cryptocurrency thanks for your time look forward to hearing from you so it's actually a great question and if my man Peter Schiff was here he would tell you of course that's Bitcoin and digital assets are just stupid so they even try it but thankfully he's not he's got his own problems and I will just say that for me I still believe that you should have a little gold silver Bitcoin not because I'm just not a fan of putting all your eggs into one basket if I just had one stream of revenue I think that would really hurt me especially with what's going on with the pandemic and everything else and a lot of people out there they only have one stream of revenue they have their J.O.B. which if you know what J.O.B. is it stands for just overbroke and I never like jobs I never like really working for somebody else and it just sucks but not to get off topic it's good to hedge your bet that's why I have a lot of digital assets and cryptocurrency so when I when he says well you know it's going to just kind of fall by the wayside and people would just get more into Bitcoin they will definitely they will but again I still think that you should put some of your money into gold now if you're a gold bug I'm gonna appeal to you too I think you're you're doing a mistake you are mistaken you should hedge your bet and I mean gold might go up let's be honest it might go up especially what's going on but you will never have the returns that you could potentially get in digital assets cryptocurrency and specifically if you want to you know name one Bitcoin so yes gold might go up to 2,500 4,000 I have no idea but Bitcoin could go up to if you watch yesterday's video go up to 500,000 and right now it's at 13,000 could it go up to only 20,000 yeah but I mean look if it only goes 20,000 you just gain $7,000 and you know let's say it was 26,000 you doubled your money I doubt you're gonna be able to do that with gold it's still a great source so the question is pretty good and then there's one more thing I was thinking about which was this if you have to look at what is going on behind the scenes who has all the wealth in the world and going away from the different theories there's a statistic out and it says that 60% as baby boomers age their percentage of total US wealth has increased from 20% to nearly 60% as far as the US wealth well I don't know what it is around the world but baby bloomers depending on what statistic you look at somewhere and they're you know 58 years old and up 62 and up I can't always remember how much this could I was get a little confused but the older generation has most of the wealth in the United States just how it is and they have been brought up on a principle which is gold is something that you need to have as a store of value so as time goes on yeah some will get it some will understand but some will not and they will just stick with gold so again I think you should put some in gold but do I think you should put all in the gold or a majority no I think it's an asymmetrical investment which is Bitcoin cryptocurrency is a last it so I would just go that route anyhow I hope that answers your question now I can't really give you a percentage wise because that's all that's up for you but for me I am heavily into cryptocurrency and also you know real estate and businesses so as far as a percentage it's all up to you for me me personally I think I would go a little bit higher on the crypto that's really all I can really tell you not a financial analyst or financial planner so anyhow hope that answers your question let's jump back all right so that's it so thanks for sticking with me two things first don't forget if you want that 20% offer ledger just use digital asset news when you check out get you know not a bad little discount there and then also since we're here at the end I want to give shout outs to people who signed for digital asset news really appreciate it and just some random stuff especially for the new ones so friends brawn hey buddy TV by Dan zoo Ignacio Mella Frankster or Maya Denise Chet Tom Cochran Sam Keith sergeant crypto he's got a YouTube channel you checked it out and then Johnny Bitcoin so thanks so much for signing up really appreciate it if you like those types of videos there's gonna be two months gonna pop up on your left and right I'll let YouTube do their magic and figure out which ones are best for you and that is it so thanks for watching appreciate it and see you in the next one


It seems that any laptop in 2023 is now available with discrete graphics thanks to NVIDIA making its 40 series offerings go as low as 40 watts of power. But what would happen if you put a 14-core Intel Core i9 CPU and an RTX 4070 inside an 18mm thick chassis? Let's find out together. Dell struck gold with the redesign of the XPS and Precision laptops. As since 2020, the laptops have looked phenomenal, to the point where even in 2023 the XPS 15 looks modern. It uses a mix of aluminum and carbon fiber, which keeps the laptop thin. We mentioned the 18mm profile, but the weight is impressive too. At 1.92 kg for the models with an IPS panel and 1.96 kg for the models with an OLED panel. Opening the lid is easy with one hand, exposing the thin bezels with an HD webcam and an IR sensor on top. The carbon base houses the keyboard, as well as two large speaker grilles on the sides. Typing on it is great, as the key travel is good and the feedback is super clicky. The size of the touchpad is impressive as well, and it's further complimented by a smooth surface and accurate tracking. The port selection isn't amazing, but still pretty good for the thickness of XPS 15. On the right side, you get a USB Type-C 3.2 Generation 2 port, a audio jack and full-sized SD card reader. Then, on the left, you get a two-thunderbolt 4 ports. We chose a configuration with a full HD IPS panel and a 16x10 aspect ratio. The viewing angles are excellent, and with a peak brightness of 564 nits, you can use the device even in direct sunlight. 60Hz is a bit disappointing for a high-end laptop today, but apart from that, the screen is pretty good. More importantly, it fully covers the sRGB gamut while also covering 90% of the DCI-P3 gamut. You can further enhance the colors of the display using our design and gaming profile, which lowers the Delta E value of the panel down to 1.4. Delta E is used to measure color accuracy, and any value below 2 is considered accurate. You can find our profiles linked down below. With a front-firing setup, the XPS 15 should certainly deliver good audio, right? Well, yeah, as there are two more units on the bottom. This makes for a great sounding setup with deep bass and no significant deviations across the entire frequency range. All in all, it's perfect for videos and movies. For processors, you've got three Alder Lake H series chips to pick from. For graphics, there's the Intel ARC A370M. However, we advise you to go with Nvidia and its 40 series, which is available as well. We tested a configuration with a Core i7-13700H and an RTX 4050. The processor does a good job outperforming the Core i7-12700H from last year while being behind the Core i9-13900H and the popular ZenBook Pro 14 from ASUS. The GPU of the XPS 15 is running at just 45 watts, so you can't expect the best performance from it. We still think the RTX 4050 performs well, especially when compared to the 3050 and 3050 Ti from last year. The cooling setup of the XPS 15 offers two heat pipes and two fans. Stress testing the Core i7 was pretty easy and the CPU did well, maintaining 85 watts for the first few seconds, dipping to 65 watts after 30 seconds. For longer periods of 10 minutes or more, the chip stays at its base 45 watts power limit. All in all, the laptop is impressive, albeit the temperatures on the CPU itself do get toasty. The graphics run a bit cooler, while the clock speeds are pretty high considering the 45 watts power limit. In terms of comfort, the laptop is quiet, however, the base gets very warm, approaching 50 degrees Celsius. On the other hand, the efficiency of the laptop is undisputed, as the 86 watt-hours unit lasts for 17 hours and 13 minutes of web browsing or 16 hours and 26 minutes of video playback. The upgradeability of the XPS 15 is great, with two Sautem slots for up to 64 GB of DDR5 memory and two M.2 PCIe slots for generation 4 SSDs. You can check out the full tear-down of the laptop in a video that's in the pop-up card up top or in the description below. With powerful hardware and a sleek chassis, there are not a lot of negatives to say about the Dell XPS 15. The only cons that might stop you are the higher temperatures and the minimalist input output. However, most of the time the laptop will remain cooler and calmer, as it's not every day you put your laptop through a tortuous stress test. Check out our full in-depth review on our website for benchmarks and more details. And let us know what you think about the XPS 15 in the comments. Don't forget to like and subscribe.


The Titans made their first five free agent deals official today. All five were at St. Thomas Sports Park. Come on, come on, what's up, man? Congratulations, man. What's up? Appreciate it. Are you excited or what, man? Man, I'm pumped. This is great. Breaking the energy. I'm breaking change, culture, everything. We coming. Feels good, man. Feels right. I'm just excited, man. Excited to join the squad, man. It's a great opportunity. I'm really appreciative of the opportunity that I've been given. And I know that I'm going to prove those guys right, and can't wait to be out there. Titans are adding another defensive back, though. Today, they agree to turn with corner Sean Murphy bunting. What's up, man? Tighten up, baby. Let's get it. Excited to be a Titan. I'm ready to work. I'm ready to cry with my brother's man and just be great. Y'all better Titan up. Sunday, Monday, Thursday. If it's a home game, we need you here. If it's a way, we need you there.


Thank you very much for braving the cold for free speech. In fact, free speech is rather warm. It's what gives civilization its great glow. And our friendly metaphor is blooming forth greatly in our support this afternoon. One of the reasons we're here, Stefan Moliner has a video on YouTube titled Why Free Speech Is All That Matters. In it, he argues that all the great moral advances of civilization, such as the abolition of slavery, were made possible only by the existence of free speech and vigorous debate of the matter at hand. Without a free marketplace of competing ideas, Stefan says, we'd be locked into stagnation and tyranny. Clearly, any man who could say such things as that is a racist and a bigot who should not be allowed into New Zealand.  And so, the Muslims, along with the mayor of Auckland, fill the fascist. And sundry Marxists, fascists of the left, have succeeded, maybe yet to be determined, partly why we're here, in having the pair banned. For the Muslims, one hazim Arafay says they were only coming to insult Muslims. And he says, I don't think insulting Muslims comes under free speech. Well, I hate to break it to him, but actually it does. Insulting Muslims does come under free speech. So too does insulting Christians or Buddhists or Rastafarians or Libertarians or atheists. Insults might not be the ultimate form of argumentation, but they are most assuredly allowed under free speech. Muslims should grow up and get over that fact. All criticism as insulting in the first place. This is New Zealand, not New Zealandistan. As Salman Rushdie himself the object of a Muslim, there is no such thing as the right action. Peace, in this instance being classic Orwellian double speak for violence, straight out of 1984. Peace action has threatened, if they come here, that's Stefan and Lauren, we will confront them on the streets. If they come, we will blockade entry to their speaking venues. Long suffering lovers of free speech across the political spectrum. This was the last straw. He might disagree on everything else, but on this we are united. The right to state our view is sacrosanct. The newly formed free speech coalition has founding members as diverse, don't you like that? As Rachel here, myself and my old socialist sparring partner, Chris Protta, who has fronted for the group. In our opening salvo he said, truth is not afraid of trigger words. Truth does not need a safe space. Truth is not a snowflake. Truth can take the heat and most certainly should not be forced to vacate the kitchen in the face of a couple of alt-right populists and a politically correct man. Bravo, Chris. Ladies and gentlemen, Article 14 of New Zealand's Bill of Rights says, everyone has the right to freedom of expression including the freedom to receive, seek and impart information and opinions of any kind in any form. This is the standard to which we must now repair and we must work for the repeal of any legislation that negates it. Under that, Section 61, it is a crime to insult someone on the grounds of colour, race, or ethnic or national origin. Fascism. You can't tell Irish jokes anymore. We must make sure New Zealand doesn't go the way of Britain, which is no longer great, no longer free, polluted by no-go zones and pockets of sharia law, where one can be jailed for one's opinions.  Spirit of Voltaire. I disagree with what you say, but defend to the death your right to say it. Stefan In.