and welcome back to another video and also happy Thanksgiving! I hope you guys are having a great day whether or not you celebrate Thanksgiving but because here in the States we do celebrate Thanksgiving at this time I will be doing the Thanksgiving tag. Woo how appropriate right? I know so I'm excited I've never done this tag before. I think it's gonna be a lot of fun so let's get into it. The only thing I'm gonna quick say is that I just know that this tag is gonna make me super hungry and it's it's gonna be great. I'm already hungry. So the first prompt is bread and that is what is purely fluff and has no real plotline and for this one I chose thousandth floor by Katherine McGee. I chose this one because back when I read it this summer I was like oh my word there is no point to this book other than just pure gossip and pure gossip to me doesn't feel like a plotline because there wasn't a goal or objective that people were trying to reach it was just like this person said this thing so then this happened because they said that and you know it was like there was no plot it was all like fluffy drama gossip like kind of thing like that and so this is what I'm saying for bread it's about these people who live in a tower and the higher in the tower you are the higher your social status is and the more rich you are and that's all I can say I mean it just follows a group of friends who are mostly near the top of the tower and they're dumb and they don't communicate with each other thus creating a bunch of drama and thus that's what the book is so there's no real plot that is really prominent that I could find when reading this so this is bread. The next question is turkey what is a book that made you almost fall asleep or want to fall asleep and for this one I chose the secret garden by Francis Hudson Brinnett I chose this one because I kept wanting to fall asleep because it was very I don't know if it was like slow because it didn't seem that slow and this was not my first time reading it however it was my first time finishing it and I don't know it just was like calm and cold the entire time alright at least that's what it felt like to me which just was a great way to pull me to sleep so this is my turkey I guess for the main part of the meal I'm just kind of like it so the third question is gravy what book makes the whole series worth reading and I'm kind of I feel like this question is asking for a book that's not the first book in a series however for me I always tend to enjoy the first book and I haven't finished as many series as I've started but I will do I will do a book that I've read the entire series for however I only own the first one and that's Ugly's by Scott Westfield I loved this series I think pretty's was probably my favorite like I loved Ugly's but I also just really enjoyed pretty's and then after that I felt like the series was still good but it just wasn't like as good but I so I only have the first one I only have Ugly's which is why I'm showing it but I think pretty's was my favorite and that makes a whole series worth reading and this it takes place in a dystopian society where you are considered ugly until you go through the operation to make you pretty and once you're pretty you go off to a place and you just be happy and party and live your good life all the time and as you can tell with most dystopians someone's always like nah this is not right I am losing friends this is not how life is supposed to be I'm gonna run away find people who agree with me and rise up against societal norms so that's the ugly series and I think this can be a great commentary on where our society is at in terms of prioritizing people have attractive features or you know just like stuff like that where it's like come on people everyone's beautiful in their own way why can't we all just agree to that so I would say the second book in the series pretty's is my gravy then if I am slightly displaced it's cuz I had to stand up to get this next book and that's not my favorite thing to do but the next question the next question is stuffing and that is what book is stuffed full of action scenes loved that pun thank you very much and for this I chose criminal by Tara Ellen Mcvoy Mcvoy I say that I read this book quite a while ago like years ago but it's basically this girl is dating this guy who she loves and then he kind of drags her into a crime and which may or may not end in murder and so when she is put on trial she's like I love him too much I'm not going to testify or anything but then she starts to learn things about her boyfriend that makes her kind of go hmm maybe this was not the best idea for me and so I enjoyed this book quite a bit and I definitely it definitely fits the prompt of stuffing cuz it you know you start off with crime and then go into the court and like it's just jammed full of action scenes and very important scenes and it's only it's a pretty short book too so like it's jam packed in here so this is my stuffing the next one are the mashed potatoes what book looked good but then wasn't what are you trying to say about mashed potatoes here people but the book I chose for that is the winners curse and this is by Marie Ruth up Ruth Koski I can never say her name I'm so sorry this book looked so good I loved the cover I thought the premise was kind of interesting and then it just really fell flat it is the first in a series and I did end up reading the second book and I can't remember if I read the third book but I know I didn't finish the series and I know I'm not going to because I tried I tried so hard and it just couldn't do it for me whether it was the romance just refusing to work or be like a decent thing or just the whole world of like there are the slaves and the people who conquered them to make them slaves and now the daughter of the general ends up being like the key I don't it was so weird just because she found a slave who she liked and then fell in love with and then he started an uprising and then they're like I love you but I can't be with you because we're on opposite sides but then she's like but I'm the representative of the slaves to many people and then she reviews is it's like girl what are you doing main character what are you doing stop it's very frustrating for me because she couldn't choose or make any decisions and then she made all the wrong decisions and I was she had no spine she's too much like me she has no spine so this is my mashed potatoes where I thought it looked good and then I read it and I was like hmm which I would disagree with with mashed potatoes in real life my poppy makes the best staying mashed potatoes you will ever eat and I will stay true to that moving on to cranberries what book had the sweetest romance and if you've been following my channel you know I'm not a fan of romances like at all but there is one romance that I read in February when I was challenging myself to read all romance that I actually loved I adored I fell in love with it I loved this romance and so I'm going to talk about it yet again red white and royal blue yep I absolutely adored this but the the romance is great the situation is great basically the first the the son of the female president of the United States falls in love with the Prince of Wales and it's adorable but it's kind of an enemies to lovers because he starts off being like oh I don't like that guy he's like such a prim proper like and then they are the cutest couple and I love it very much so that would definitely have to be my cranberries it's the sweetest romance because it's the romance that I read this year that I actually enjoyed surprise surprise right I know like who would think that the romance I actually enjoyed would fit the prompt of what romance did you enjoy we're doing great this Thanksgiving aren't we I'm so hungry now next up is corn what is the corniest book you read again I love these Thanksgiving puns here this is absolutely amazing and my answer to this one would be actually an entire series and that is the Wolves of Mercy Falls series again I read this in February because it is very heavily romance I think my problem is that I read it at the exact same time I read Twilight like I literally went back and forth on the books I read Twilight and then the first of the Wolves of Mercy Falls and then I read the second book of Wolves of Mercy Falls and they were like the exact same plot line literally the only difference was that in Twilight there is you know that class the everyone knows the love triangle between like Bella and Edward and Jacob and so there are vampires and werewolves in Mercy Falls so it's really just werewolves and there wasn't as much of a love triangle but like everything else was the same everything else was the same she's got her wolf she can't tell anyone and everyone's like what's going on with you and she's like you don't know I'm in love with a werewolf and it's just it's so corny so it fits this front perfectly because it was so corny at least I found it to be but that's also because I find Twilight I admire Twilight for what it is for shaping like the romance genre and like being such a huge impact on people and I can appreciate other people liking it but I didn't like it and so then when I read another series that was exactly like it that just made it corny instead of made it making it go to like turning a corner on a genre like Twilight did it was corny instead because it wasn't very original so let's move on to the next question now green bean what book is too long and needs to be shortened awesome for that I would say kill the Queen by Jennifer Estep I felt like this was a very good book but it was pretty long for what all happened in the book like it definitely could have gone faster and I started the next book in the series Crush the Prince and I put it down because it was too slow and I felt like it could be shortened yeah so basically she's like 26th or something in line something crazy like that until people murder everyone else in her family and then next thing she knows she's in line to be Queen of the kingdom however it is not safe and she really doesn't know what she's doing so she runs away to join a gladiator troop until she's ready to reclaim her spot on the throne yeah apparently there's this thing between like winter Queens and summer Queens and how their rules are gonna be different and I felt like that was such a fascinating concept that we just never got to because this book was so long and so now we're gonna have to explore in the next book which I don't feel like reading because it looks too long for how slow it was going at the beginning so I would like to continue with the series I just when I tried I was very unmotivated to and I don't know if it was just the wrong time or what but this book I think would definitely be a lot better if it was shortened and taken out quite a bit of just like random fluff so green beans now we're moving on to pumpkin pie which side note I love pumpkin pie and the prompt for that one is what book do you read to get out of a reading slump this one is a hard one for me because I kind of don't have a book to get me out of a reading slump I prefer just reading a book that I'm interested in like I don't generally like rereading and so there isn't like a book per se but at the same time if I want to read something familiar or get out of a reading slump I'm most likely to choose wither by Lauren de Stefano first in the chemical garden trilogy however I never read the full book that's why I'm not even pulling it off my shelf right there because I never read the full book I read like the first two chapters and I'm fine and then I move on to a different book like it's I don't get into a slump where I need to read something that I know I'll enjoy it's I need to move on to a book that I think I'll enjoy more and so I'm always looking for new books and that's how I get out of my reading slumps is when I finally find the book that I am going to enjoy a lot that'll get me out because reading something I've already read will not get me out of a slump because I've already read it I I apparently am so picky that I need something new in order to get me out of a reading slump and so it better be good otherwise I'm gonna be stuck there for a while so kind of hard to answer this one when that's who I am the last question on this tag is actually dog or cat and it is basically like what's your favorite Thanksgiving food that you would steal from the table personally I adore the green bean casserole that has been my favorite so for so many years but I don't want to say that Kill the Queen the book that I associated with green bean casserole would be my favorite book so I decided what I'm gonna do is that my other favorite food in Thanksgiving is actually another dessert that I make sure my family makes every year we call them angel cloud cookies but really they're just like French meringues they're not like flavored in any fancy way we don't add like nuts or chocolate chips or anything it's really just egg whites beaten stiff put on a tray cooked in the oven the end they're so crumbly so sweet I could eat all of them I could eat them until I get sick and then I eat some more and so I decided that even though green bean casserole is my favorite dish I'm gonna go with this dessert which again I don't know why my family calls them angel cloud cookies like we're French why don't we call them French meringues but no they're angel cloud cookies and so because they are very light and fluffy I decided to choose a book to represent this dessert even it wasn't quite the problem twisting it just a little bit and I'm going with the tea dragon society by Katie O'Neill it's a very light and fluffy book that just makes you smile it's about this girl who finds out how to or like she kind of becomes an apprentice for making tea off of the leaves on the dragons on their their horns and their bodies and so you just make tea with them and then she meets another girl and they kind of have like a cute little crushy thing but like it's still very wholesome but like it's also LGBTQIA plus community friendly which is super cool so yeah it's just like a light fluffy little read to go with my light and fluffy angel cloud cookies so there it is thank you so much for watching this video this video was originally created by Becca and Erica over at fangirl city so I will link their original video down below so you can go and watch it because it is a tag I did not get tagged I just felt like doing it because it's Thanksgiving but if you want to do it feel free to do it consider this me tagging you but if you like the video make sure you give it a thumbs up subscribe I will be posting videos every Thursday even on holidays such as Thanksgiving and I believe Christmas Eve is on a Thursday this year so there will definitely be videos then to say I post every Thursday subscribe hit the bell to get the notification of when I post on Thursdays and leave a comment down below with like what's your favorite Thanksgiving book or what book makes you think of Thanksgiving or even answering some of these prompts that would be really fun to just kind of read through and give book recommendations so until next time I will see you guys later and I wish you all a happy reading


My name is Sam Bhatni, I am the author of Malignant Self-Lover, Narcissism Revisited. The perpetrators of the recent spate of financial frauds in the United States acted with callous disregard for their employees and shareholders, not to mention other stakeholders. Psychologists have often remote diagnosed them as Malignant Pathological Narcissists. This are driven by the need to uphold and maintain a false self, a co-coctored, grandiose and demanding psychological construct typical of the narcissistic personality disorder. A false self is projected to the world in order to garner narcissistic supply, adulation, admiration or even notoriety and infamy. Any kind of attention is usually deemed by narcissists to be preferable to being ignored or to obscurity. The false self is suffused with fantasies of perfection, grandeur, brilliance, infallibility, immunity, significance, omnipresence and omniscience. To be a narcissist is to be convinced of a great, inevitable personal destiny. The narcissist is preoccupied with ideal love, the construction of a brilliant revolutionary scientific theory, the compositional authoring or painting of the greatest work of art, the founding of a new school of thought, the attainment of fabulous wealth, the reshaping of a nation, a conglomerate of the entire world and so on. The narcissist never sets realistic goals to himself. He is forever preoccupied with fantasies of uniqueness, record-breaking or breathtaking achievements. His verbosity reflects this inner propensity. Reality is naturally quite different and this gives rise to what I call the grandiosity gap.  The narcissist's grandiosity and sense of entitlement are equally incommensurate with his achievements. To bridge this discrepancy between reality and fantasy, this grandiosity gap, the malignant pathological narcissist resorts to shortcuts, these very often lead to fraud. The narcissist cares only about appearances. What matters to the narcissist are the facade of wealth and its attendant social status and narcissistic supply. Witness the travesty extravagance of Tycho's Denis Koslovsky, for instance. Media attention only exacerbates the narcissist's addiction and makes it incumbent on him to go everwilder to everwilder extremes to secure uninterrupted supply from this source. The narcissist lacks empathy, the ability to put himself in other people's shoes. He does not recognize boundaries, personal, corporate or legal.  This makes the narcissist perniciously exploitative. He uses, abuses, devalues and discards even his nearest and dearest and he does it in the most chilling and off-handed manner. The narcissist is utility-driven, obsessed with his overwhelming need to reduce his anxiety and regulate his labile sense of self-worth, and this he does by securing the constant supply of his drug, attention. American executives acted without compunction when they raided their employees pension funds, as did Robert Maxwell, a generation earlier in Britain. The narcissist is convinced of his superiority, cerebral or physical. To his mind he is a giant, a gallivant, hamstrung by a horde of narrow-minded and envious lily-pushens, midgets, intellectual dwarfs. The dot-com new economy was infested with such visionaries with a contemptuous attitude towards the mundane, profits, business cycles, conservative economies, doubtful journalists, cautious analysts. Deep inside, the narcissist is painfully aware of his addiction to others, to their attention, applause, admiration and affirmation. He despises himself for being dependent upon other people. He hates people the same way a drug addict hates his pusher. He wishes to put them in their place, to humiliate them, to demonstrate to them how inadequate and imperfect they are in comparison to his rigor self and how little he craves or really needs them. The narcissist regards himself as one who would regard an expensive present, a gift to his company, to his family, to his neighbors, colleagues and to his country. This firm conviction of his own inflated importance makes the narcissist feel entitled to special treatment, special favors, special outcomes, concessions, subservience, immediate gratification of secrecy, obedience and lenience. It also makes him feel immune to mortal laws and somehow divinely protected and insulated from the inevitable consequences of his deeds and misdeeds. The self-destructive narcissist plays the role of the bad guy or bad girl, but even this is within the traditional social roles cartoonishly exaggerated by the narcissist to attract attention. Men are likely to emphasize the intellect, power, aggression, money or social status. Narcissistic women, on the other hand, are likely to emphasize body, looks, charm, sexuality, feminine traits, home-making, children, child rearing and so on. What about crime and punishment? Well, punishing the wayward narcissist is a veritable catch-22. A jail term is useless as a deterrent if it only serves to focus attention on the narcissist. Being infamous is second best to being famous and far preferable to being ignored, as we said. The only way to effectively punish a narcissist is to withhold narcissistic supply from him and thus to prevent him from becoming a notorious celebrity. Given the sufficient amount of media exposure, book contracts, talk shows, lectures and public attention, the narcissist may even consider the whole grisly affair to be emotionally rewarding. To the narcissist's freedom, wealth, social status, family and vocation are all means to an end. He is not invested in them emotionally. The end is attention. If he can secure attention by being the bad big wolf, the narcissist unhesitately transforms himself into one. Lord Archer, for instance, seems to be positively basking in the media circus, provoked by his prison diaries. The narcissist does not victimize, plunder, terrorize and abuse others in a cold, calculating manner. He does it, off-handedly, as a manifestation of his genuine character. To be truly guilty, one needs to intend to deliberate, to contemplate one's choices and then to choose one's acts. The narcissist does none of this. Thus, punishment breeds surprise.  The narcissist is stunned by society's insistence that he should be held accountable for his deeds and penalize accordingly. If he is wrong, baffled, victimized, injured, the victim of bias, discrimination and injustice, he rebels, he rages. Depending upon the pervasiveness of his magical thinking, the narcissist may feel besieged by overwhelming powers. False's cosmic and intrinsically ominous, he develops persecutory delusions. He may come up with compulsive rights to fend off his bed unwarranted persecutory inferences. The narcissist, very much the infantile outcome of stunted personal development, engages in magical thinking. He feels omnipotent, he feels that there is nothing he couldn't do or achieve if he only sets his mind to it. He feels omniscient, he rarely admits to ignorance and regards his intuitions and intellect as founts of objective data, not subjective ones. Thus, narcissists are hotly convinced that introspection is a more important and more efficient, not to mention easier to accomplish, method of obtaining knowledge, than the systematic study of outside sources of information in accordance with strict and tedious curricula. Narcissists are inspired, they despise hand-strung technocrats, they despise experts. They are divinely endowed with everything they ever need to know. To some extent, narcissists feel omnipresent because they are either famous or about to become famous and because their product is selling or being manufactured globally. Very immersed in their delusions of grandeur, narcissists firmly believe that their acts have or will have a great influence not only on their firm, but on their country or even on mankind. Having mastered the manipulation of their human environment, narcissists are convinced that they would always get away with it. They develop hubris and a false sense of immunity. Narcissistic immunity is the erroneous feeling harbored by the narcissists, that he is impervious to the consequences of his actions, that he will never be affected by the results of his own decisions, opinions, beliefs, deeds, misdeeds, acts, inaction, membership of certain groups, and that he is above reproach and punishment, that magically he is protected and will miraculously be saved the last moment, hence the audacity, simplicity and transparency of some of the fraud and corporate looting in the 1990s. Narcissists rarely bother to cover their tracks and traces, so this is because their disdain and conviction that they are above mortal laws and were withled, they are enormous, they are overpowering. What are the sources of this unrealistic appraisal of situation and events, even in men who are otherwise very practical? The source is the false self.  Abuse is not limited to sexual molestations or beatings, smothering, doting, pampering over indulgence, treating the child as an extension of a parent, not respecting the child's boundaries, burdening the child with excessive expectations, they are all forms of abuse. The child reacts by constructing a false self, that is possessed of everything the child needs in order to prevail. The false self is unlimited, instantaneously available, and has Harry Potter-like powers and wisdom. The false self, the Superman, is indifferent to abuse and punishment, and this way the child's true self is shielded from the toddler's harsh reality. This artificial, maladaptive separation between a vulnerable but not punishable true self and a punishable but invulnerable false self is an effective mechanism. It isolates the child from the unjust, capricious, arbitrary, emotionally dangerous and hostile world that he occupies. But at the same time it fosters in him a forced sense of nothing can happen to me because I'm not here, I'm not available to be punished, hence I'm immune to punishment. The comfort of false immunity is also yielded by the narcissist's sense of entitlement. In his grandiose delusions the narcissist is sui genics, a gift to humanity, precious, fragile object. Moreover the narcissist is convinced both that his uniqueness is immediately discernible and that it gives him special rights. The narcissist feels that he is protected by some cosmological law pertaining to endangered species. He is convinced that his future, contribution to others, to his firm country, humanity should and does exempt him from the mundane. He should not be burdened with daily chores, boring jobs, recurring tasks, personal exertion, orderly investment of resources and efforts, laws and regulations, social conventions and so on. They are all for other people. He has something much more important to do right now. He should be exempted. The narcissist is entitled to a special treatment. He expects high living standards, constant and immediate catering to his needs. The eradication of any friction with humdrum in the routine and all engulfing absolution of his scenes, fast-track privileges to higher education or in his encounter with bureaucracies or with medical doctors. Punishment, trusted narcissist, is for ordinary people, who are no great laws to humanity is involved. Surely it should not apply to him. Narcissists are possessed of inordinate abilities to charm, to convince, to seduce and persuade. Many of them are gifted orators and intellectually endowed. Many of them work in politics, the media, fashion, show business, the arts, medicine, business. Many of them serve as clergy, religious leaders. The virtue of their standing in the community, their charisma or their ability to find the willing scapegoats, they do get exempted many times. Having recurrently got away with it, they develop a theory of personal immunity, founded upon some kind of societal or even cosmic order in which certain people, they themselves included, are above punishment. But there is a fourth, simpler explanation. The narcissist lacks self-awareness, divorced from his true self, unable to empathize to understand what it is like to be someone else, unwilling to constrain his actions to cater to the feelings and needs of others, the narcissist is in a constant, dreamlike state of denial. To the narcissist, his life is unreal, it's like watching an autonomously unfolding movie. The narcissist is a mere spectator, mildly interested, greatly entertaining. He does not own his actions, and therefore cannot understand why he should be punished, and when he is, he feels grossly wronged. So convinces the narcissist that he is destined to great things, that he refuses to accept setbacks, failures and punishments. He regards them as temporary, as the outcome of someone else's errors, as part of a future mythology of his rise to power, brilliance, wealth, ideal love. Being punished is a diversion of his precious energy and resources from the all-important dusk of fulfilling his mission in life. The narcissist is pathologically envious of people, and he believes that they are equally envious of him. He is paranoid, on guard, ready to fend off an imminent attack. A punishment to the narcissist is a major surprise and a nuisance, but it also validates his suspicion that he is being singled out and persecuted. It proves to him that strong forces are arrayed against him. This tells himself that people envious of his achievements and humiliated by them are out to get him. He constitutes a threat to the accepted order. When required to pay for his misdeeds, narcissist is always disdainful and bitter, feels misunderstood by his inferiors. Cooked books, corporate fraud, bending the rules, sweeping problems under the carpet, pure promising, making grandiose claims, what used to be called the vision thing. They are all hallmarks of a narcissist in action. When social cues and norms encourage such behavior rather than inhibit it, in other words, when such behavior elicits abundant narcissistic supply, the pattern is reinforced and becomes entrenched and rigid. Even when circumstances change, the narcissist finds it difficult to adapt to shed his routines and to replace them with new ones. He is trapped in his past success. He becomes a swindler, a fraudster. But pathological narcissism is not an isolated phenomenon. It is embedded in our contemporary culture. The West is a narcissistic civilization. It upholds narcissistic values, penalizes alternative value systems. From an early age, children are taught to avoid self-criticism, to deceive themselves regarding their capacities and attainments, to feel entitled and to exploit others. As Lilian Katz observed in her important paper, Distinctions between Self-esteem and Narcissism Implications for Practice, published by the Educational Resource Information Center, well as Katz observed, the line between enhancing self-esteem and fostering narcissism is often blurred by educators and parents. With Christopher Lash in his book The Culture of Narcissism, a Theodore Millen in his book In His Tones about Personality Disorders, singled out American society is narcissistic. The teachessness may be the flip side of an inane sense of entitlement. Consumerism is built on this common and common lie of I can do anything I want and possess everything I desire if I only apply myself to it, and on the pathological envy that it fosters. Not surprisingly, narcissistic disorders are more common among men than among women. This may be because narcissism conforms to masculine social mores into the prevailing ethos of capitalism. Ambition, achievements, hierarchy, ruthlessness, drive are social values and narcissistic male traits. Social thinkers, like the aforementioned Lash, speculated that modern American culture self-centered one, increases the rate of incidence of narcissistic personality disorder. Otto Cernberg, an notable scholar of personality disorders, confirmed Lash's intuition. He said, society can make serious psychological abnormalities which already exist in some percentage of a population, seem to be at least superficially appropriate, in other words socially acceptable. In their book Personality Disorders in Modern Life, Theodore Millen and Roger Davis state as a matter of fact that pathological narcissism was once the preserve of the royal and the wealthy and that it seems to have gained prominence only in the late 20th century. Narcissism, according to them, may be associated with higher levels of muscle's hierarchy of needs. Individuals in less advantaged nations are so busy trying to survive that they cannot afford to be arrogant and grandiose. Millen and Davis, like Christopher Lash before them, attribute pathological narcissism to a society that stresses individualism and self-gratification at the expense of community, namely the United States. They assert that the disorder is more prevalent again among certain professions with star power or respect, and in the individualistic culture they say, the narcissist is God's gift to the world. In a collectiveist society, the narcissist is God's gift to the collective. Millen quotes Warren and Capone's The Role of Culture in the Development of Narcissistic Personality Disorder in America, Japan and Denmark. He says, individualistic narcissistic structures of self-regard in individualistic societies are rather self-contained and independent, but in collectiveist cultures, narcissistic configurations of the we-self denote self-esteem derived from strong identification with the reputation and honor of the family, groups and others in hierarchical relationships. In other words, narcissists in collective societies are more likely to be inverted narcissists. Still, there are malignant narcissists among subsistence farmers in Africa, nomads in the Sinai Desert, day laborers in East Europe and intellectuals and socialites in Manhattan. Malignant narcissism is all-pervasive and independent of culture and society. It is true, though, that the way pathological narcissism manifests in its experience is dependent on the particulars of societies and cultures. Some cultures it is encouraged, in others it is suppressed, in some societies it is channeled against minorities, in others it is tainted with paranoia. In collectiveist societies it may be projected onto the collective. In individualistic societies it is an individual's trait. Yet can families, organizations, ethnic groups, churches and even whole nations be safely described as narcissistic or pathologically self-absorbed? Can we talk about a corporate culture of narcissism? All collectives, states, firms, households, institutions, political parties, cliques, bands, gangs acquire a life and a character of their own. The longer the association or affiliation of the members, the more cohesive and conformist the inner dynamics of the group. The more persecutory of numerous, its enemies, competitors and adversaries. The more intensive the physical and emotional experience of the individuals it is comprised of, the stronger the bonds of the local, language and history, the more rigorous might an assertion of the common pathology be. Such an all-pervasive and extensive pathology manifests itself in the behavior and each and every member of the group. So if the group is pathological, its members are being pathologized by virtue of or into the pathology of the group. The pathology of a group defines, though often implicitly and in an underlying manner, a mental structure. It has explanatory and predictive powers. It is recurrent and invariable as a pattern of conduct, melding distorted cognition, anomic features and stunted emotions, and it is often vehemently denied on all levels, the group level and the individual level.


And the left hand is the trouble, but there is also another lever by his or her left hand. And that is...


All right, so let's get this talk started here. You all are here to listen about cross-plane, so let's get the cross-plane maintainer track talk going. So my name is Jared. This is Philippe over here, and we are both very involved in the cross-plane project. So this is always an interesting talk because we try to have something for everybody. We try to have some intro material. We try to dive deeper into some topics. So we wanna have something for everybody. So quick show of hands, who has never used cross-plane before ever? Awesome, this slide is for you. What is cross-plane? So cross-plane is your cloud-native control plane. You can use it to manage all of your resources. You can compose those resources into higher level abstractions, and then offer those to your developers so that they can provision infrastructure when they need it. Kubernetes, awesome control plane, really, really good for containers, but cross-plane goes and teaches it how to manage everything else, basically. Control planes are not a new concept, right? Cloud providers have been using control planes for years, so it's not a new concept, but now it's your turn to build your own control plane using cross-plane. So we've been doing this for a bit. We've been around for a little bit over five years now, and we now have an official formal proposal to graduate with the CNCF. So one of the things that really hit me hard when we were pulling together the proposal is how many people have gotten involved in the project. So almost 2,000 people have contributed to the project in some way now, which is absolutely amazing. We're the top 10% of all CNCF projects for people that are writing code for it. Almost 700 people have written code for cross-plane, which just blows my mind, it's amazing. Almost 350 companies have contributed something to cross-plane, too. So this community is getting bigger. The project is mature. It's amazing to see this growth, and obviously lots of people are using it, right? So it's in use in production, at scale, by lots of companies that you may recognize as well. Okay, so back to the basics for folks. So managed resources, key concept in cross-plane. So every resource out there in the cloud, let's say AWS, there is a cross-plane resource to represent it. So all the 900, I don't know, more than that services AWS has, there's a cross-plane managed resource for basically all of them. So each managed resource is exposed in the Kubernetes API as an object. So we've got this S3 bucket here, and then it's got what you'd expect out of a Kubernetes object. It's got a spec, it's got config fields, it's got status, it's got events. So it's a well-behaved Kubernetes object, and it represents an external resource that's out there in the real world for your control plane to manage. So how does that work? Well, probably like you'd expect. So you take a Kubernetes cluster, you put cross-plane in there, you added some providers for cross-plane as well like the AWS provider. The AWS provider has a series of controllers that watch for events from the API server, and when you create an object with the Kubernetes API server, probably through like get-ops or something, it's like creating an S3 bucket, the API server tells the cross-plane controllers to go and reconcile that with the real world.  So providers are what makes cross-plane know about external resources and kind of extend it further. So there's some big provider news as of late. So up-hounds, we created a framework and tooling to basically take any Terraform provider out there and then just co-gen generate a cross-plane provider for it. So we've did that with a few of the popular providers, and then we've gone ahead and donated that's tooling the providers themselves, et cetera to the cross-plane community. So those are all part of the upstream cross-plane project and now along with that, there was an architecture change in those providers as well, which led to some fairly massive performance improvements. So we're talking like more than 90% improvements in CPU and memory usage, sometimes like a thousand X times a readiness improvements, which maybe says something about how slow it was to begin with, but still it's fast now. They have a lot of coverage of all the resources, the reliable, perform it ready for production, and they're part of the cross-plane community now. So there's some links there in the cross-plane contrib org to check out those providers, and I think those are definitely ready for folks to be using in production. Where can you find all the cross-plane extensions? There's configurations, there's providers, there's functions, there's all this stuff that teaches cross-plane more tricks, and the place to find them is in this cross-plane marketplace. So you can go there, you can find all the extensions to cross-plane, you can see their documentation, how to use them, examples, all that stuff. So marketplace.upbound.io, that's where to go find all the extensions to cross-plane. All right, so gotta go one level higher now. We talked about the managed resources, and now it's time to talk about assembling those resources into higher-level abstractions and basically building your own platform API. So a good example here is composing together as a platform engineer, composing together GKE, a node pool, network, subnet, all those things, and then offering that as a simple, higher-level cluster abstraction to your developers so that they have like a limited surface area of configurations, just a few configuration knobs that you expose for them, and they can get a cluster for their workloads when they need it. All the complexity about how the cloud providers work, the configuration it takes, the policy, all that stuff is below the API line, and then your developers get a very simple experience on top of that. So this is what it looks like. This is a really important model in cross-plane to visualize. So your developer on the left, your app team, they have a simple abstraction, a claim, and that's their interface to be able to get infrastructure. Behind the API line, you as the platform engineer have defined your platform API with the composite resource definition. That's the shape your API, what config knobs you wanna expose, all that stuff, and then you write compositions to say, this is the resources I want to bring together, this is how I'm going to compose them, this is how configuration values flow, all that sort of stuff. To make it more tangible, we as a platform engineer have created a Postgres abstraction, a database abstraction. So our engineer, she says, I want a small Postgres please, and then behind the API line, we, this composition that we've written for AWS, specifically, it could be GCP, it could be Azure, it could be gold, silver, cheap, expensive, whatever. We have an AWS composition here, and that happens to be for Postgres, an RDS instance, DB parameter group, security group, probably some networking stuff, et cetera. But to the developer, all they've asked for is one small Postgres please, and the complexity of all the infrastructure and what it takes to do that is, in your hands as a platform engineer, and exactly as you said it to happen, goes and happens in the real world. So this is what they look like. To define your own platform API, you use the composite resource definition in crossplane, and there's basically like two things you two high level areas need to do. You say this is the type, this is the API object that I want to expose to my developers, and then you define the schema for it. What configuration knobs do you want to expose? What is the shape of your platform API? Then you write at least one composition, maybe a couple of them, so you have options at runtime, and now this is something that has changed recently. So in mainstream, mainline crossplane right now, to compose resources together, what you use is a pipeline of functions. So there'll be a series of functions that execute, and those are what define how to compose the resources together, how to mutate their values, and how to end up at tangible resources in the real world. So let's talk more about functions. So we said it's a pipeline of simple functions to compose resources, that's true. Really important things to notice here is that they are written in your language of choice. If you want to write a function to capture your unique platform logic into one place, you can do that within your language of choice with your tools, all that stuff. And we're trying with the design here to find a sweet spot between all declarative, no code at all, and then building an entire controller, building, you know, all writing all the reconciliation, loop logic, all that stuff. We're trying to find a sweet spot in the middle, so you focus only on your platform's unique needs. So also really important, you don't have to write code to do this. You know, if you have unique needs and you want to write code to define your platform, great, write a function for it.  This is what it looks like to write code. This is Go, we're programmically, dynamically creating a bucket, an S3 bucket. We're assigning values to it. We can take an input, blah, blah. We can use code to build our infrastructure. You know, unit tests, linters, validators, all that stuff, great stuff. If you don't want to write code, then there's lots and lots of functions to use. So this one here is a template function. So in your composition, you can say, hey, run a function for templates. Here's my template, make it happen. Also you could do things like use Q-scripts if you wanted to. KCL, there's a bunch of different experiences that are popping up now with functions that mean you don't have to write the code yourself. You just get all these new experiences to define your platform in the way that you want to. All right, this is the thing I was most looking forward to in this talk. All the folks that raised their hand earlier that have not used crossplane, you won't understand this, but folks that have used crossplane, it can be challenging to use sometimes. We have taken that to heart and really trying to make crossplane easier to use and faster to use and all that stuff too. So two huge improvements here. One, crossplane is now more powerful and flexible than it's ever been before. You can literally do things that were impossible before in crossplane. A year ago, you could not do all this stuff. Now you can, and a whole world is opened up now. You can do it in your language, in your tools of choice, and there's more and more functions like every week, basically. So that ecosystem is growing. Lots of things you can do with crossplane now. And maybe more important is that you can, when you're building your control plane with crossplane, you can successfully get it running into production easier and faster than ever before also. Basically the concept is we took all this work that you have to do, shifted it left, so you can do it on your local laptop, rapidly iterate and get it correct before you ever touch a live control plane. So we're gonna see that in this demo in just a second with all this new crossplane tooling. This stuff did not exist like six months ago, basically. So there's all this tooling for the full lifecycle of your control plane, initializing a new crossplane project, testing it locally, when it's out there running in the real world, tracing through things, observability, all that stuff. These are all new tools that didn't exist like six, nine months ago or so. Okay, demo time. I am pumped on this demo. And let's see if it works well on this window here that is not very visible for me. All right, okay, okay, okay. So we are gonna go back in time a little bit and we are going to build a platform with crossplane the hard way. So a year ago or so, I am a platform engineer. I wanna expose database as a service to my engineers. So I've created this database abstraction for them. When they wanna create a database, they can say, cool, give me an Acme database and make it 100 gigabytes, please. That's the only config knob I've given them. Now under the covers, what I did as a platform engineer to make that happen is that I created a XRD that basically says that here's the platform API for databases, here's the shape of it. You can ignore most of this stuff, but the key part here is that I'm exposing this one storage knob that says how many gigabytes the developer wants. Then I write a composition and I basically say, okay, for this composition for a database, what that means here in my organization is it's a Cloud SQL database. It's gonna run Postgres and then the default will be 10 gigs for the disk, but that value that the engineer gave of the disk, how much storage they want, I'll patch that down into the Cloud SQL instance. So in the cloud, what the developer wanted will happen. Cool, so let's do that. Let's go ahead and as a platform engineer, like apply my definition, my composition. It's on my control plane now. Cool, I'm gonna test this, does it work? Let's see if it actually works or not. So I will K apply dash F pre claim. So I'll create an instance of that claim, which if I recall correctly was 100 gigs or so. Cool, 100 gigs, so I'm testing this. Did this, is this database coming up? Does it work? Is it 100 gigs? Well, let's see. All right, so what I'm gonna do now is, actually let's just look at stuff here. Throwing stuff in there. Yeah, okay, it's not ready yet. Here's the database object. That's like the real thing in Google Cloud right now. That's not ready yet. Is it like what we asked for it to be though? Did my logic in my composition work? Let's see, oh man, it did not work. That stinks, cause I wanted 100 gig database. I got a 10 gig one and I had to go to a live control plane and like spin up infrastructure in Google Cloud to test this thing. Can't there be an easier way to do this? Like a faster way to do this? This is too hard, I don't like this. Yes, there is a faster way to do this. It's 2024, crossway in B1.15 is out and we're gonna do this the easy way now. All right, so that old style patch and transform composition that had a bug in it. I don't know where I had to go to the real world to try it. Nah, I'm going to use new cross-plane tooling to convert. It's a little small. Let's say I make it a little bit bigger, sorry folks. All right, I am going to use this cross-plane tooling to convert that old composition to a new function-based one. So automatically migrated, cool, it's done, it's there, it's ready to try. Now I'm gonna use local tooling to test this all on my local laptop. I'm gonna say cross-plane, please render out that composition for me with these particular values. Let me know what happens. Cross-plane runs it, all of my local laptop here. Ah, here's the problem. My default of 10 gigs is there, but then this silly patch that I typoed is also there, D-I-S-C size instead of D-I-S-K size. Oh, there's the bug right there, found it. Okay, let's fix it. So we go to our composition that's based on functions and we go ahead and fix that now. So it's with the K, we save it, let's try it again. So we asked all of my local laptop here, I'm not touching the real world. We run it again, cool, 100 gigs, that looks like it works, that's awesome. Now, to my human eyes, this looks like the Cloud SQL database will work correctly, that's good, but let's do a little bit further validation of this. So let's also go ahead and one more command where we'll run the render on the local laptop, we'll test our composition function, we'll test our composition, we'll make sure it looks good and then we'll go ahead and pass it to more new tooling of the cross-plane validate command and then that will tell us that everything is all good. It's gonna look at the schemas for it, it's gonna make sure all the fields are correct, everything's all good. So on a local laptop instead of out there in the real world where that database probably is still spinning up now. Yeah, it's still not even ready yet. So we have made cross-plane way easier to use by basically shifting all this stuff left and you can do it all in your local laptop and cross-plane is easy to use now. So Philippe, your turn, my friend. Okay, so yeah, as Jared said earlier, composition functions are a way to teach cross-plane new tricks and we, composition functions were introduced in Alpha in the 1.11 version of cross-plane, but we actually completely reworked them and released the beta version in 1.14. So if you previously tried composition functions in 1.11, that's a value, you should definitely have a look at the version we shipped with 1.14 because that's completely different. And let's see a few additions we actually added recently. We added a Python SDK, which is actually a way to have a first-class citizen experience, developer experience to develop composition functions using Python. Previously, you could do that with Go, but now you can also do that with Python. And with that, we also released a template repository, which you can use from GitHub directly or also from, as Jared was mentioning earlier, using the init subcomment of cross-plane. About metrics, we added some nice things for the observability of composition functions, like exposing the number of calls and some statistics about the execution times of functions so that you can monitor your functions and see how they're behaving and if there is anything you should improve to get your composition times tighter. And then we also added a completely new feature to functions quite recently in 1.15, which is the capability to request additional extra resources. So functions can actually request back to cross-plane additional cluster-scoped resources, which usually are everything cross-plane handles and can use those as part of their composition. So it can actually, it's kind of essentially, it's a very flexible cross-resource reference. And obviously, functions can expose that with whatever API they want through the input as we saw that. So we're gonna see a bit more later. As I was saying, we revamped the completely composition functions in 1.14, which proved to be the right choice because we saw the ecosystem of functions actually thriving. Jared already showed a few ones, but we'll go rapidly through a few highlights of the available functions at the moment. Function KCL is another function that allows you to define your composition logics completely in KCL. KCL is a constraint-based language, which is actually a CNCF Sandbox project. And so you can actually write stuff like for loops and conditions, which obviously they seem obvious, but given the previous inter-implementation of composition in general, it's actually a pretty good achievement to have all these features and the whole power of KCL to be able to define your compositions. Similarly to that, we have Function Q, which allows you to define your composition logic in Q. Here we can see a part of a more complex composition function using Q, which is actually composing an S3 bucket and creating YAM policies for an S3 bucket if only if a base ERN is provided and also checking if there are additional ERNs to create additional policies for. And then we're gonna talk a little bit more in detail about this one later, but leveraging the extra resources functionality that what previously was possible to be done in three is now with environment conflicts and the composition environment functionality can now be completely reproduced by a function. And so we can obviously see how in the future we could have more generic composition functions doing more stuff also. Function cell filter, it's another kind of, it's a different kind of function. It's actually, while the previous ones we saw are actually kind of producer functions, so stuff you expect to use at the start of your pipeline and then maybe go through other function or the simpler functions that modify the result of that more complex functions. This one is exactly that. It's a simpler function whose only job is to filter out resources based on some expression you can define in cell. It's actually in this case, for example, the usual function patient transform is creating a bucket, but function patient transform doesn't expose any way to filter out or any easy way to filter out resources and to create resources only on conditions. And so we can filter out downstream this bucket and only create it if the spec export field of the compositor resources set to S3. So that's definitely useful. And then once again, function sequencer. This one is about defining dependencies between multiple resources. So you can define multiple sequences as you can see down there in the rules. In this case, for example, second resource and third resource depend on the core resource. And so only once the core resource is ready it's gonna be second resource and third resource are gonna be created. So that's pretty awesome too. Another one, function switcher. This one is about exposing, simply exposing some annotations at the compositor resource level and you can actually filter out or enable or disable resources based on whatever the upstream user is deciding. So that's a nice addition too. And obviously there is a lot of functions to be written. So feel free to reach out on the Crosplain Slack channel and we can definitely help you out. And it's super awesome to see so many contributions from the community. Let's talk now about composition environments. Composition environments are an alpha feature that we already spoke about the function environment configs so it's the original implementation of that, the entry implementation of that. That's still, as I said, an alpha feature but we were discussing about the promotion to beta and it's actually the initial implementation, the initial intent of environment configs was to have some kind of environment dependent as the name suggests. Some environment dependent data which you could pull in into your compositions like a glorified config map but it actually ended up being a lot of other things and being used in a lot of different ways. So it actually became a way to share information between compositions. It actually became a way to patch resources inside the usual standard resource based compositions. And obviously the API became extremely complex as a result of that. And it's obviously became a little bit difficult to maintain. So we think that the path forward for that is actually functions. And so let's have a little demo about function environment configs. So here, for example, you can see a composition using the old approach. Big enough, yes. That'd be good. This is an old style composition. As you can see here, we are defining an environment, environment configs, a list of selectors or references either by label or by name and the usual approaches. And then we can use that from either a pipeline or the usual patch and transform based compositions as we can see down there. But the usual approach to debug this would have been to actually deploy it again. Similarly to what Gerald showed earlier, it would have been to just deploy it in a real cluster with real environment configs. And so it would have been pretty hard to understand what's going on without having stuff actually running in production or running somewhere. And so we actually, there is no support for the convert tool, but we are working on that. So we can actually see it's actually just a matter of pushing down the exact same configuration, function environment configs main goal was to implement the same exact API as the interimplementation. And so we can actually see that we can just use yet another function, get all the resources, as I said, under the hood, it's using the extra resources functionality. And we can see that we can actually run that. So how do we run that? We saw cross-plane beta render earlier, but it's actually, we recently introduced some more flags to that. Two flags are the extra resources, as I was saying. So we can provide us a list of YAML manifest that are going to be used by the cross-plane beta render command to serve the resources to the function if and when they ask for them. And we can actually also include the context in the output so that we can see what it actually understood and what's putting into the context. So let's have a look at the actual result. Cross-plane, let's just wait. As you can see, cross-plane beta render include context. So we're gonna see the context and extra resources we passed the environment configs as a few YAML, no need to replicate the same logic as we would have had to do previously. We can see, for example, in this case, the composite resource is produced with a field in the status actually coming from the environment, from one of the environment configs we defined. And we can see it's actually the right field coming from the context. So in case of any issue, we could have had just run the same command. What's going on? What's the actual result in the context? Why the context is not updated? And that's the thing. And so let's go back to the slide with that. Let's go through a few other new features we introduced recently. Server-side applying, you might have heard about that. Usually controllers in Kubernetes are written by the control loop of controllers is usually getting resources, mutating them and then updating. It was the only way available when cross-plane was started, but actually this has its problems, as you might know. It's usually, it's complex to handle. It's mainly additive, let's say, so it can remove state field from an object. And on a raise it's hard to handle existing elements maybe put in by another controller. So the solution to that is server-side apply. The Kubernetes solution to that is server-side apply. So let the API server figure it out for you. And we already used the server-side apply between composite resources and composite resources for compositions using functions. And then now we also have that capability between claims, so composite resource claims and composite resources. And you can enable that with an alpha flag right now with enable SSA claims, but it's gonna be promoted probably really soon. Real-time compositions, it's usually compositions are re-executed and let's say composed resources are re-updated according to whatever is your composition logic on a schedule, let's say, on an interval. Or if the composite resource is updated, but we weren't watching composed resources, so the downstream resources that your composition is creating with this alpha feature behind the enable real-time composition flag, you can actually tell cross-plane to dynamically spin up watches for composition, compose the resources. And given that the API server is gonna send events on any change to those composed resources, reactively the cross-plane is gonna reconcile all the resources as needed. And so let me pass back the ball to Jared. All right, thanks Philippe. So as we saw in the, you know, when we're talking about getting ready for graduation, we've, you know, the official formal proposal out there, we would not be where we are as a project without this entire community working together and building this thing, right? So many, many ways to get involved. Probably the one thing to remember here is cross-plane.io. You can go there and find links for all this stuff for very, very active on Slack and GitHub and whatnot. Come chat with us and, you know, start getting involved in either building things for cross-plane or building your own functions. We can talk about all of it. And then final thing here. So, you know, it's always good to know more about the people that are using cross-plane. So if you wanna share your story with the public, you know, with the rest of the community about how you're successfully using cross-plane, just go to the adopters.md file in the cross-plane repo and share your story there. So we've got three minutes for questions, I believe, if I am doing my time right. There's a mic stand right there. Does anybody have a question that they wanna ask? You started walking towards that before I even said that.  So can we create dependencies in such a way that say before I create a Postgres database, I need to wait for a VPC to be created. Can we do that? Yeah, there's a couple of different ways to do that. One of the common ones is the, like if you need a field from that particular resource, then you can say like in the patching policy for it, you can say it's required field. So until I have that field, don't go any further. So that's one way to do it, depending on the use case. And then like some of the functions for the push showing off like function sequencer, you can in your function pipeline say this resource has got to get done before you even tried to start this next resource. So there's a couple of different ways to do something like that now. Another minute? Some more questions? Do you have a question? I'm gonna maybe repeat it for you. Outline. So the question is about like bootstrapping cross-lane. Yeah, like getting a cluster up and running, you know, having all the account information, like what do you use to do that first, right? Do you wanna take that flip or are you on? All right, yeah, yeah. Yeah, there is no actual, if I got the question completely correctly, it's left to the user to handle that. Obviously cross-lane runs in a Kubernetes cluster, so you need somewhere to be running the cross-lane controller. So yeah, the answer is no. But it's a similar issue you have with other similar tools that needs to spin up a kind cluster to run some stuff on that. And then you have to, you can create a cluster. Yeah, no, I've seen people do that before is like bootstrap a cluster with kind. And then there are managed services for cross-lane as well if you don't wanna spin up anything. So there's options for that too. 50 seconds, anybody else? Really good question because maybe a year and a half ago or so, you did have to install the whole thing and have 900 controllers running, which has a number of issues. One of them being that the Kubernetes API scaling thresholds did not handle CRDs scaling very well. So we essentially like tank the entire control plane when you did that. So what we did is separate them out into like families or groups of controllers. So you can install the S3 controller, the EC2 controller, the RDS controller, and have those specifically installed if you're gonna use those services and not all the other ones if you don't wanna use those. All right, we are officially out of time. So thank you, thank you so much. And I'll probably just go hang out the hallway for more questions. Thank you.