My name is Russ Serencioni. This video is not for the establishment. I'm a progressive Democrat running for Congress. As a working class American, I waited tables to put myself through college. Now I'm a public servant. And as a government housing attorney, I fight for what I believe in. Two years ago, my son was born. My life was changed forever. I promised him that I would do whatever it takes to build a better future. But our future is at stake. By 2035, New Jersey homes will be underwater. We'll lose billions in property value. Heat waves, drought, mass extinctions, tornadoes. The climate crisis is here. The way forward is to invest in our future. We can create millions of high-paying jobs to usher in a modern age of renewable technology, rebuild our infrastructure, and create the greatest middle-class America has ever seen with the Green New Deal. I believe Americans should have the right to breathe clean air, drink pure water, and to enjoy a healthy environment. Most Americans live paycheck to paycheck. We work longer hours, but our wages stay the same. The cost of healthcare keeps rising, but covers less. Millions of people have no health insurance. Every year, people die because they can't afford it. That's why I support Medicare for All, because it will save money and save lives. Running for Congress wasn't in my plan. When our representatives said no to the Green New Deal and no to Medicare for All, that's when I knew now is the time to fight. Politicians that take big money from oil and gas lobbyists will never solve the climate crisis. Politicians that take big money from health insurance and pharma lobbies will never give us Medicare for All. We win when we elect people that reject big money. That's why I've pledged to take no fossil fuel, corporate PAC, or lobbyist money to stay true to working-class Americans. We must eliminate corruption in politics, and we won't stop there. We can have opportunity for All with free public college and student loan debt cancellation, and we can have a federal jobs guarantee with a living wage. We can invest in our families with universal child care and paid family leave. New Jersey deserves a leader who puts our working-class families first. My name is Russ Syrensione, and I'm fighting for justice. Together, we'll create an America that works for all of us. Hello, everyone. I'm here with Russ Syrensione running in New Jersey's sixth congressional district against Frank Palone, an infamous corporate Democrat who is known as the enforcer for Nancy Pelosi, and he's here to tell us why Frank Palone's got to go and why he would actually be a voice of change in the Democratic Party. Russ, thank you so much for coming on the program. It's my pleasure, Mike. Thanks for having me. I love your show, so this is really surreal for me being here. That's awesome. Thank you so much. That means so much. Well, look, I've been following your campaign for a while, and I am thoroughly impressed. You pretty much check all of the boxes. You say Medicare for all, but you specify single-payer Medicare for all. No type of, you know, compromise Medicare choice, Medicare for all who want it. It's Medicare for all single-payer.  You're a government housing attorney, so you're fighting against basically landlords who are taking advantage of tenants, and now you're running for Congress. So what made you want to run? Well, a lot of things, but most importantly in February when the Green New Deal was announced as the House resolution, you know, for most of our generation, we're very concerned with the climate crisis, and the Green New Deal really gives us hope. We can get, we can clean up our environment and transition to renewable energy because that's what we have to do based on the UN reports. And as soon as it came out, my representative said things like it's not politically possible. It's not technologically possible. And in my mind, that is the most absurd statement I've ever heard because we have the technology and also we have the research and development and works that we could fully go 100% renewable by 2030. We could do it as soon as possible. And when he said that, it just became very frustrating for me because I have a two-year-old son, and my son's future is shaped by how we deal with the climate crisis today. His life in 10 years is going to be, is directly related by what we do today. If we can't end the fossil fuel age and switch and clean up our environment, I just don't want him to be faced with dystopia. So at the time, Frank Poulon said no to the Green New Deal. He became one of the biggest threats to my family. And then the final nail in the call for really in June, a fossil fuel company tried to put a pipeline through our township in New Jersey and Old Bridge, a fracked gas, a natural gas pipeline that would cut through Jersey, provide no economic benefit and go to the Raritan Bay, disrupt the wildlife. They tried to put it within a few miles of my house, and that was the final straw. The fossil fuel company came after my family, came after my son's, the air that my son breathes threatened him with asthma, threatened him with lung conditions. And at that very moment, I decided that there's nothing that can stop me from doing everything I can to switch to renewable energy, to fight for the Green New Deal, to fight for my son's future. And that's really the main reason I'm in this, because my son's everything to me and my wife.  The billionaires really influence our elections so much that we become an oligarchy, where our Congress only responds to the donors. And a popular opinion has very little effect on what actually it's done in Congress. So that's really upsetting to me, because as you mentioned, I'm a government attorney, so I fight for housing justice. We have ethical rules of loyalty to the state agency that we work for. I want to bring these ethical rules of loyalty to the people in New Jersey's sixth district and in our entire Congress. So that's what I'll be fighting as well, anti-corruption provisions. And we'll be calling out every single politician that does take money from the billionaires and the corporate PACs and the lobbyists. So we take no corporate cash, because we can only control what I do right now. And in the future, hopefully we'll see a corruption-free government. Yeah, well, thankfully, candidates like you, you're really trying to set a new standard for the way that you run campaigns. And even if you disadvantage yourself in a sense by not taking that corporate PAC money, you really demonstrate to the people that you're going to remain principled. You're not going to sell out. You're not going to accept money from fossil fuel industries that have a financial interest in ruining the planet, ruining, you know, your own hometown. So I think it's really important. And one thing that I noticed about you is you really do put this strong emphasis on getting money out of politics, which is something that we need to talk more about. I mean, we're always focused on the issues, but the root cause to pretty much everything, like all the issues is the justification of the electoral process, like money and politics. It's making every other issue that much more difficult to have some type of political solution because everyone takes money from the industry. So they're too afraid to stand up to that industry. And even if you're not necessarily corrupted by an industry in Congress, you know that they can oppose you by being rolling a future opponent. So nobody's brave enough to really stand up. So it's really important that candidates such as yourself run for Congress. And that's what you're doing. So I wanted you to talk a little bit about your experience of fighting for tenant rights because you shared a couple of really interesting anecdotes on your website about what you went through and who you represented. And I found it absolutely not just fascinating, but really wild because it just really goes to show you how important tenant rights are and why we really need to be talking, I think, more clearly about housing fraud. So can you share a couple of personal stories? So I spend a lot of time I spent a lot of time in housing court and you know when tenants homes are on the line it's just a psychologically damaging thing to tenants. And I've seen a lot of tenants being frustrated and like usually when somebody has a problem with their housing it's because of some other economic problem, right? So like they lose their jobs sometimes and then they can't pay rent. So I don't see how I want to see more housing justice in our entire country. I want to see broader tenants protections for even especially people in the Midwest that have very few tenant protections. New York City is actually very good with protecting its tenants and my experience is with enforcing the rent stabilization law that's what our agency does. We try to keep a affordable housing stock there's about one and a half million apartments that are subject to the law and so I guess a couple of personal stories so we deal with harassment issues when a landlord will harass a tenant and the particular story that I talk about on the website is a landlord was allowing a dog to run free in the hallways and the tenant was actually you know attacked by the dog, chased into her apartment and she complained about the situation and instead of fixing you know like keeping the dog in the house or in the apartment the landlord just retaliated against the tenant which makes no sense all he had to do was keep the dog in his home instead of running free in the apartment building and he knocked up, he knocked her door and he showed up right in front of her and he threatened her life he threatened to kill her. He actually shoved a pistol in her face and said how dare you complain about this condition and so what we did the police got involved and we made sure the tenant had the proper protections against this landlord so we remedied the situation by getting help there to get restraining orders and also enforcing the rent law so we reduced her rent for a while as well because she had to deal with these psychological damages but really what the entire goal of a housing program in our country should be protecting affordable housing we need to overturn the draconian rules that are in place now that doesn't allow the federal government to invest in construction of new affordable housing and instead of just repairing this really outdated housing stock we have to start investing in affordable housing actually doing the work and building it so that's what's central to my platform as well if we want to end homelessness we can we really can and we can do it by building affordable housing for everybody I'm really glad that you shared that because you I think better than most people know about that power imbalance between landlords and tenants and you know we need to make sure that we are empowering people and we're talking about housing for all and I'm so glad that so many candidates running in 2020 are actually bringing up this issue elevating it and Bernie Sanders thankfully released a phenomenal plan that is a housing for all plan that could potentially end homelessness so it's really nice to really see this issue take front and center in the election and it's so important but I mean it's not it's not the only issue that you're running on you have a pretty robust platform and what's really remarkable to me is that so many candidates running for congress their platforms are more comprehensive than most presidential candidates which is mind-blowing but it kind of just goes to show that like you guys running for congress you care more about policy than most politicians who are just career minded you know who want to advance their own career so talk about some of the other things that are at the top of your list in terms of what you think you'd be able to accomplish or what you'd fight for in that first year in the event you're elected so we we went over Medicare for all single payer in New Jersey we pay the fifth highest in the country for health insurance it'll see the average New Jersey in around three thousand dollars a year you know the Green New Deal is top part of our platform because we have to beat the climate crisis like we have enemies at our doorsteps trying to invade and destroy our homes and anti-corruption provisions which an American Anti-Corruption Act which could be passed through congress and actually end the stranglehold of lobbyists I want to end hunger we can end hunger by feeding people I want to create thousands of indoor hydroponic or aquaponic vertical farms that will produce organic food we have to really rethink our food bill our farm bill and for New Jersey in particular it's about a billion dollar a year industry where the top producers of different fruits and vegetables here we have almost a million acres of farmland and so to me what we really have to do is invest in sustainable organic farming our current food bill actually subsidizes corn and cotton and I don't know when the last time anybody cotton was but it does not belong in a food bill you know we actually do not subsidize organic farming it counts for less than 1% of our farm bill and our investments there and we have to change that because you know organic farming is pesticide free and to reduce the costs indoor vertical farming essentially allows you to use no pesticides because it's an indoor contained environment and if we construct fees across the country they can be communally owned create thousands of community jobs so we can feed the people who need it the most and we can also provide low cost organic food for everybody so everybody wins so that's another part of our platform there's so many things like we have to spend disability rights we have to fight for digital privacy rights I believe in regulating cryptocurrencies and clarifying tax issues there you know and also free public college of course we need that and canceling student loan debt because if we want to be competitive on a world stage we have to have a well educated workforce and to really in debt like 50 million Americans and tie them to this like sometimes 6 figure student loan debts is unacceptable to me I mean personally I have student loans as well my wife and I have them and you know we're really lucky that we were able to we're able to afford like a lot of things of modern life but I just think that it's a drain on the economy and if we unlock that economic potential by forgiving the student loan debt and canceling it fully then we'll have an insanely an insane economic boost in the next few years which pays for itself over a decade yeah that's really encouraging to hear I totally agree with the student loan thing I have student loan debt that if it were canceled I can guarantee I would stimulate the economy and I think a lot of millennials would agree with that so it's an economic stimulus that we desperately need and just to allow millennials like our generation to have that economic mobility or start at like just less burden even I mean that in and of itself would be remarkable so you are running against someone who I think is a political behemoth Frank Pallone he's really one of the worst I think a lot of people know about Frank Pallone who watch this show but if they don't tell us why you think Frank Pallone needs to be primaried I think that you have a lot of things to go off of but like in your mind what's like the top reasons why you think he should be primaried and I love that in your ad you hit him for all the financial contributions that he takes but what do you think it is about Frank Pallone that makes him unable to represent his constituents adequately so honestly in my opinion our election our primary is probably in the top four or five most important elections in the country and that's because Frank Pallone chairs the energy and commerce committee in the house so he's the chairman and a lot of people don't really understand what powers a chairman of a committee has so anyone can introduce a bill to the house floor but then it's assigned to a specific committee with jurisdiction the energy and commerce committee has jurisdiction of about 60% of all the legislation that passes through the house of representatives so bills like Medicare for All and the Green New Deal they both wind up in his committee and he has been actively blocking those bills he had a hearing on health insurance in June and did not even bring the Medicare for All bill H.R. 1384 you know the Jayapal proposal he did not even bring that to the hearing he did not bring it to the committee and it's essentially going to be stopped there forever he took $1 million from the pharmaceutical industry and the health insurance lobbies last cycle alone and they're still funding his elections he will never ever pass Medicare for All and he will be the person in power that can effectively stop it even if we have Bernie Sanders in the White House he can stop Medicare for All through his committee he could stop the Green New Deal from his committee as well he has actually I think he might have the sole jurisdiction over the Green New Deal bill if we propose one and he actually has proposed his own essentially do nothing plan 100% carbon neutral by 2050 which we know will be about 20 years too late and it will allow for natural gas investments to continue for the next 30 years and that's not something that our planet can take that's not something that we can compromise on we have to end the investments in fossil fuels and he's taking a million dollars over the course of his career from the fossil fuel industry so fundamentally because he takes this money and because of his position he will never ever give any votes for the progressive ideals that we want to fight for and replacing him on the energy and commerce committee would be hugely instrumental to passing a progressive platform in 2020 and beyond and I honestly believe anyone who takes fossil fuel money deserves a primary challenge because they will not regulate the fossil fuel companies the way that we need to in the next few years and you know if we really care about these progressive ideals which we really do we have to replace the corporate democrats that will propose the ground do nothing half ass solutions and so that's really important to our district as well we have many miles like 30 miles of coastline in our district and the climate crisis is going to destroy our homes we literally have houses a few feet from the Atlantic Ocean we have houses a few feet from bay areas rising sea levels is very concerning for the people here and his recent town hall almost every single person asked him one of two questions will you support Medicare for all or will you support the Green New Deal and his answer was no a thousand times blaming it on the Republicans blaming it on his donors that are going to run ads against him he called Medicare for all socialism he is afraid of the very people that have run his campaign he is afraid of their campaign ads calling him a socialist for Medicare for all they called Obamacare socialism that argument doesn't hold any water when we have 45,000 people in our district alone without health insurance so we are fighting for Medicare for all the Green New Deal is the two most important issues for our district and we are going to replace him in June 2020 so I am excited that's great and I wanted to ask you because like anyone who is in that district there is no way that they enjoy putting up with him like this is a fairly blue district like you don't have to put up with someone who is this conservative this right wing quite frankly and everyone in the country they really have a vested interest in seeing you succeed because this is something that doesn't just affect that district that you are living in I mean it certainly affects you the most but I mean if he is a barrier to Medicare for all then absolutely we all have to coalesce around your campaign and get him out of office but what I wanted to ask you was what do you think it would take because you are not taking corporate cash and he is so he is going to have that monetary advantage what do you think it would take to make you viable in 2020 because I know you are knocking on a lot of doors but how much do you think you would have to raise in order to be competitive to be competitive if we raise $150,000 we will definitely be extremely competitive and if we go up to $300,000 then I think that we are going to win the election because we have a district that is pretty wide right so it traces the coastal shoreline very narrowly so it is geographically long but we do have urban areas we have very dense urban areas but we can win with really not much money and this is a safe democratic district the cook rating is like plus nine so there is really no reason for our representative to be taking this corporate cash especially because he wins against the Republicans every single year in like almost in five figures or six figures ahead in votes so yeah basically we don't need that much money but we definitely need a little bit we have campaign staff volunteers right now I am now on part time at my job to dedicate to at least four days a week plus every week night to our campaign so we are hitting the ground running though starting in right after this November 5th election which is just a few days away I kind of feel like every single primary challenger will win hands down if every voter knows about you because I think that the pitch that you are making it makes sense it is going to resonate with people it is just a matter of will people actually know who you are or will they just vote based on name recognition what is the response that you have gotten from constituents because I can't imagine that in a deep blue district like that they are too happy with Frank Pallone no so they are not every single person that I speak to are very excited about the Green New Deal how it is a jobs program how it is going to save our planet and also Medicare for all makes a lot of sense for most people who have dealt with health issues so people are very responsive here I think our district pulls extremely well with all of our progressive ideas and I mean this district deserves to be represented by somebody with bold policy platforms that will stand up to the billionaire class and that is what I am fighting for we have to stand up to those in power and demand equality and justice for everybody in our district there is so many people that work on the minimum wage here almost 100,000 people and that is why I believe in a loving wage raising the minimum wage to $20 an hour plus indexed to inflation because if we want to stimulate the economy that is the best way to do it which is really interesting I think just yesterday there has been a study on the New York City minimum wage increase to $15 an hour in the restaurant industry and they found that it is actually increased employment and increased restaurant spending so it is a boom on the economy if we raise the minimum wage our minimum wage in New Jersey is going up to $15 an hour in 2024 but I think that I don't even think that is enough for that time period and why are we waiting until 2024 which should just be happening now so yeah all of our issues are very popular so challenging incumbent the establishment people know them very well but I still have conversations with them and a lot of people that are even elected officials have shown like respect they are basically like they respect what we are doing because we deserve a primary we deserve options this is a democracy and the more options the better and so people everywhere have been responding well to our campaign so it is very challenging to hear let me ask you this because if you are elected we already know that you will be one of the main targets of Donald Trump of Fox News you will be a member of the squad a new member of the squad round 2 you will be deemed a socialist possibly a communist by Fox News what do you do to basically push through that noise and still fight for an agenda and on top of that how do you basically push back against internal fighting to try to get you to soften your stance on a number of issues so the internal infighting will be very interesting because that is what I am really worried about I think that we are going to win the presidency I think that democrats are going to win the senate and the house but I am really afraid of the centrist corporate democrats being the ones with the range of power and it is going to be another Obama rehash where we don't get much done where we pretty much stall and every single working populist platform is pretty much pretty much catapulted into non-existence really I mean we need to get the anti-corruption reform passed that is a very big priority and I actually intend on being very aggressive against republicans I want to be firing the first shots against them instead of being always on the defense I think that is very powerful with Donald Trump against Donald Trump and republicans because we have to put them on the back foot and really make them defend their positions because we have the popular platforms we are calling for good jobs we are calling for unions we are calling for saving the planet we are calling for healthcare for all what are they arguing for healthcare for less the right to work laws must be abolished I think so I am going to be one of the biggest anti-corruption democrats calling out even people in our own party who take that money especially when they won't vote for working class reforms like a higher minimum wage and I am going to be bringing the fight to republicans too on their doorsteps Bernie Sanders actually recently said that he is going to be holding rallies in other districts against whoever won't vote against the things we want to get done like the Green New Deal and I intend on doing a similar thing I will rally in somebody else's district working people and make sure they feel the public pressure I want to help organizing everywhere I don't want to just this is really about the movement this is not about us this is about our movement here we are building this movement in New Jersey because progressives have been really scattered across the state but we are actually really building coalitions across the board so that is important to do in our state we are going to start here first and then we are going to keep bringing it in empowering other people to organize I think is the most important thing that we can do because I believe in leading from behind I believe in I don't want the spotlight I want this to be people's movement and we have to empower each other and work together everywhere I love that answer because when I ask that question occasionally to candidates I am going to fight them I am going to fight Republicans I am going to fight Democrats I am going to call them out because advocating for policies that is incredibly important in and of itself but we need people who are going to get in there and crack schools so I always try to see if I can get that sense from a candidate and the fact that you affirm that you are winning hands down so I want you to make your pitch because basically this is about name recognition if people know about you in New Jersey 6th congressional district you win I think hands down it is just the matter of getting the name out there and unfortunately the reality is you need money to do that so tell us what we can do to help you where we can donate and how we can get involved with your campaign because I think anyone who is watching this will be convinced and they are going to want to help you out there is a really good website with all of our policies there it is Russ for us 2020.com R-U-S-S-F-O-R-U-S 2020.com there is a volunteer form there where we are looking for volunteers across the country we need help online organizing and also giving the message out more so definitely sign up there there is a donate link there we definitely appreciate any contributions because we are grassroots where people funded and so about me I have the experience as a legislator as well so we need a legislator we also need a public advocate so being like a public interest attorney fighting for the common good I have drafted laws in New York that have passed that protect tenants from manufactured homes so I have experience as a legislator and we definitely need more good guy attorneys in Congress good guy lawyers that have the back of the people I was a waiter for almost a decade through college and through law school working 40 hours a week so I have been there on the working struggle and the working class struggle I have worked alongside immigrants and other college students and moms and people of all types so that is really why I have a fundamental belief the fundamental beliefs that I have here where we need a working class movement we need unions, we need higher minimum wages and you know our movement is about continuing the work of the people here we are continuing the work that Bernie Sanders is doing we are linking up with everyone we are building power here and we appreciate any contribution of course but this moment in time is the most important ever because right now our future selves are watching us and we are going to ask ourselves when the Amazon was on fire when California was on fire when there were massive hurricanes everywhere what were we doing to stop it to fight it to bring a new movement to clean up our environment and now is the time to be involved it doesn't have to be very very dedicated if you can spare a few hours a week every campaign locally you can definitely use the help thank you so much for having me here and our campaign is super important nationally and we need all the help we can get because we are a small team right now we have raised about $15,000 but we are only about 10% of the way where we have to be so we are going to win Bernie Sanders is going to win progressive movements are going to win and it might as well be you right now in the next election you are watching this nose it's not even a debate you are hands down better than Frank Palone and I'm confident with all of these people I was telling Russ before we started that for the first time I actually feel a little bit optimistic just because there are so many great candidates running for congress so my cynical heart is starting to grow a little bit not too much but a little bit just seeing everyone get involved so let's help Russ help us let's get him elected and hopefully change the country Russ, thank you so much for coming on you're welcome Mike, thank you for having me and good night everybody


Oops, you caught me drinking, on the job. My name is Sam Vakny, rings a bell. Can you complete the following sentence, and I am the author of it? Yes, you got it right this time. Malignant self-love, narcissism, revisited. I'm also a professor of psychology in various universities, and I focus on the most amazing personality disorders ever, cluster B, dramatic or erratic personality disorders. Today, I'm going to focus on a much neglected topic, something that is confused and conflated by self-styled experts online, who shall remain unnamed? No, you're not going to drag me that law into the mud to name names. I'm going to tell you who these self-styled experts are, but they know, and also confused and conflated by academics and scholars in the literature. So, we will plunge right in, syndromes, symptoms, behaviors, which appear to be forms of pathological narcissism, even narcissistic personality disorder, but actually are not some behaviors, some psychodynamic processes. They look like artifacts of narcissism, gun or eye, adult narcissism, but they are not. And today I'll review four of these. I will start with serial idealizers and anxious people pleasers. And I will continue to addicts and borderline people with borderline personality disorders.  Let's start with serial idealizers. Serial idealizers are people who tend to idealize literally everyone.  These kind of people, the serial idealizer, instantly encounter factually idealize a date, a random stranger they had just met. They idealize by imputing to and imposing on the stranger of the date or the acquaintance or the colleague or a distant family member. They attribute to them the project on them a concoction, a cocktail of traits and behaviors, a legend traits and behaviors. You see the stranger or the first date or the distant relative or the neighbor, the new neighbor or whoever, they serve as a blank screen. And the serial idealizer projects a movie onto this blank screen. Sometimes the serial idealizer idealizes a group of people, several men all together, several women all together. And always the serial idealizer converts in his or her mind these perfect strangers into potential mates or future friends. Sometimes within minutes, from a chance encounter, serial idealizers construct a one-sided fantastic narrative. And not only do they construct a narrative in their mind, but they act in reality as though this narrative were 100% true and tried. So it's a very bizarre, very intricate, very intriguing process. The serial idealizer goes to a bar, goes to a club, goes to a workplace, moves into a new apartment and comes across new people, individuals or groups. And then the serial idealizer instantly on the first meeting of the encounter comes up with a story, a piece of fiction incorporating the serial idealizer and this new acquaintance.  And yes, within the first minute or two of the acquaintance. This is a shocking transition. Narcissists, for example, also create elaborate fantasies and incorporate in these fantasies other people. I have several videos dedicated to the issue of shared fantasy in narcissism, first described by Sander in 1989. But it takes a narcissist a few weeks, sometimes a few months, to construct the intricate and elaborate storyboard, the intricate and elaborate movie called the shared fantasy. While the serial idealizer does it in a few minutes. Both the narcissist and the serial idealizer behave as though the fantastic narrative is not fantastic and is not a narrative. Both of them behave and act as though the narrative or the fantasy are 100% reality. And in this sense, of course, both of them have impaired reality testing. But in the case of the serial ideal idealizer, the fantasy has several functions which are not typical of the narcissist.  So the serial idealizer doesn't feel comfortable with having sex with total strangers within one hour or two hours.  She doesn't feel comfortable being subjected to certain sex acts which are more typically associated with intimate partnership. And so she feels all in all, she feels bad. It's a bad experience. She feels ego-dystonic. She feels disconfident.  Legitimizes using or applying these behaviors to total strangers.  The second function of the fantasy of the serial idealizer is to make the serial idealizer feel good. Feel loved, feel accepted, feel wanted, feel liked by the stranger, by the acquaintance. So within the fantasy, the serial idealizer feels that he has some connection with a sexual partner, that he has some connection with a new acquaintance or the stranger or the new friend or the new neighbor, that it's a friendship, that it's a romantic relationship, that it's budding intimacy. And this of course feels good. So it creates ego-dystonic. That's the second function of the fantasy. It is a form of self-deception. I am sleeping with this stranger because he's actually my intimate partner. I'm doing this.  I am behaving this way or that way. I'm being dysregulated. I'm being unboundary without personal boundaries. I'm even committing crimes because I want to be wanted. I want to be accepted. I want to be long. I want to be liked. And the third function of the fantasy of the serial idealizer is to facilitate bonding and attachment should the fiction be reciprocated and become a shared fantasy. Once in a blue moon, the serial idealizer comes across a narcissist or comes across another serial idealizer. And then they jointly create a fantasy, which is of course a shared fantasy. The serial idealizer may attempt to compulsively recreate the experiences hoping for better outcomes with the same partners or with different ones. And this is of course known as repetition compulsion. Like the narcissist, the serial idealizer is interacting with an internal object, not with a real sex partner, not with a real interlocutor, not with a real date. The serial idealizer creates an introjects, creates an object, an avatar, a representation, a symbolic standing, internalizes it and continues the interaction with this internalized object. This way, she avoids the emotional costs of rejection. Serial idealizers will tell you, I couldn't care less what a stranger whom I will never see again thinks about me. I couldn't care less if this stranger with whom I'm going to spend only one night rejects me. So the internalization of the other party serves to create a feeling of control and the control ameliorates pain, rejection, humiliation and the pangs of abandonment and yearning. It is fantasy, internal object, control, pain aversion or pain avoidance. This is the chain. Inevitably and almost invariably, reality painfully diverges from the fantastic yarn. And this diverges, this disparity, this abyss between reality and fantasy. This justifies moving on with minimal heartbreak to the next target. It even justifies cheating if the serial idealizer is in a committed relationship. Let's move on to another group of people who closely imitate some types of narcissists. People-pleasing or people-pleasers. People-pleasing is sometimes a life strategy intended to ameliorate extreme generalized anxiety. The world is perceived as hostile or frustrating and the only defense is to be liked, to be loved, to be accepted by other people, potential enemies.  So people-pleasing is an attempt to reduce the anxiety of the unknown, to reduce anxiety, anticipatory anxiety, anxiety pertaining to bad things that people can do to you. The only protection against these bad things is to get people to like you, to please people. Anxiety-driven people-pleasers have no personal boundaries. They would do anything. They would agree to everything just in order to belong. They want to be treated in a way that will ameliorate their underlying anxiety. So they agreed to be treated as an objectified sex slave in one-on-one or in group settings. They agreed to be verbally abused, emotionally abused, physically abused. They let themselves be taken advantage of and exploited financially and otherwise. Anything goes. The anxious people-pleaser will accept any mistreatment, will go through any torture just to ascertain, just to make sure that people around her accept her, love her, like her. Because otherwise, she feels very afraid. She feels very anxious. She anticipates the worst.  Proof positive of having been inducted into a relationship, or into a fraternity, or into a sorority, or into a club, or into a group. So if you're abused, that's a test. That's a test of belonging. That's a test. If you pass this test, if you pass the exam, you are accepted. You're one of a gang, one of a group, one member of a relationship. Anxious people-pleasers place emphasis on material objects, or money precisely because of this reason. Money and material objects can be counted, can be enumerated. They are objective measures of affection, of sharing, of goodwill. Gifts are understood by people-pleasers, anxious people-pleasers. They understand gifts as signs of affiliation. And they are devastated when they are taken financial advantage of, or when they are stolen from. The very people whose favour they seek to carry, the very people they want to belong to, the very people they want to love them, the very people they want to like them, the very people they want to accept them. If these people abuse them financially, steal from them, take advantage of them, one way or another, it devastates the anxious people-pleasers because it provokes the anxiety full-scale. Let's move to another group of people. Addicts, alcoholics, junkies, gamblers, workaholics, all sorts of addicts. Addicts are easily confused with narcissists. Many addicts are narcissists, and most narcissists are addicts. But of course not all addicts are narcissists. Yet all addicts are confused with narcissists. They are taken to be narcissists even when they are not. There's a reason for that. All addicts share several important clinical features with both psychopaths and with narcissists. Number one, grandiosity. All addicts are grandiose. When you go to Alcoholics Anonymous to a 12-step program, the first step is to get rid of your grandiosity by submitting to what they call a higher power. So grandiosity. And grandiosity in addicts is partly the outcome of disinhibition. In alcoholics, this is called alcohol myopia. There's a sense of immunity to the consequences of one's actions. The addict feels immune. Nothing he does can ever have any impact on him, especially an adverse impact. He feels above the laws and rules and mores of society. This is grandiosity. The second feature that is common to addicts and to narcissists and to psychopaths is a low threshold of boredom. Addicts are bored all the time. There's a reduced tolerance for routines, for the pedestrian, for the mundane. And this intolerance of being bored, inability to be bored, leads to novelty seeking. Novelty seeking behaviors, it leads to recklessness. The third feature common to narcissists, psychopaths and addicts is defiance. Defiance and contubatiousness. A disdain for social mores, propriety and authority. And a defiance of expectations and rules. Number four, mentatiousness.  Attempts to cover up anti-social activities and misconduct. Or to resolve cognitive dissonances. Addicts lead double or parallel lives. Number five, deficient impulse control, impaired ability to delay gratification. So we see all these things, all these five features. They're common to addicts and narcissists and psychopaths. So everyone tends to confuse and conflate them. Addicts deceive themselves. Addicts tell themselves that they are in full control of their addictions, that they can pull out of the addiction any time they want. But of course it's nonsense. Addiction is often a dysfunctional attempt to reassert control over the addict's life by maintaining the illusion of choice, of the illusion of free will. When you talk to addicts, they will tell you, I choose to drink. It's a choice. I wanted the sex. I love to gamble. I adore shopping. Work matters to me. So they're going to justify the addiction in terms of decisions, choices, free will, and general freedom and liberty. The same psychodynamic characterizes eating disorders. Though in eating disorders we have body dysmorphia. Body dysmorphia is rarely an integral part of addictions. But still, it's the same thing. It's taking control over a limited area of life in lieu of, as a substitute for, taking control of your life. The addict abrogates. Addict gives up any attempt to control her life.  She has an external locus of control. The addict believes that there's nothing he can do with his life anymore. It's gone too far. And so because of that, the addict focuses on a tiny, highly specific behavior and controls that behavior. And this restores a sense of internal locus of control, fallaciously, of course. And finally, let's talk about people with borderline personality disorder. Borderline personality disorder. These people suffer from two core issues. One, they feel much safer with strangers. Even when these new acquaintances are abusive or unpleasant or contemptuous, they feel much better with these strangers than with their intimate partners. The more loving the intimate partner, the more adoring, supportive, caring the mate is, the intimate partner is, the worse the borderline reacts. Borderline feels much more in control, much better, much more egocentronic with a total stranger.  This is because in narcissists and borderlines, being loved, being the subject of love, someone else's love, provokes a cascade of negative consequences, emotional and cognitive. Number one, when the borderline is loved by another person, she develops instantly pain aversion. She catastrophizes. She anticipates rejection, humiliation and abandonment. She foresees ultimate heartbreak. And so she develops aversion to this anticipated outcome, to this predicted outcome. And this aversion affects her present. The anticipation of the future ruins for her her present and becomes a self-fulfilling prophecy. She destroys her relationships in order not to experience heartbreak and abandonment. But of course, this brings brings about the very abandonment and heartbreak that she was trying to avoid. Number two, paranoid ideation. This is common in narcissists and psychopaths as well. Paranoid ideation regarding the manipulative, manipulative hidden agenda of the loving partner. What is it really that he wants? Why is he so nice to me? What's going to come next? Is it going to become abusive? Is it part of an pattern of intermittent reinforcement? Intermittent reinforcement and bullying are the norm in the borderline's life or at least mental life. And so she expects the worst. The better the treatment, the worse outcome she expects. So there's a lot of paranoia. And this leads, of course, to avoidant behaviors. She approaches the intimate partner and then flees, runs away. It's kind of flight of fight response. So there's a lot of avoidant behaviors and there's a lot of passive aggression. When the borderline is loved, having anticipated the negative outcomes and the bullying, she reacts with passive aggression. She undermines the relationships, sabotages them, procrastinates. This is all because the borderline has a duality. On the one hand, she's terrified of abandonment. On the other hand, she fears engulfment. She's afraid to be consumed by her mate, by her spouse, by her intimate partner. She equates love with leverage. For her, love means power. So her partner has power over her. At where there is power, there is abuse of power. He's going to abuse this power. He's going to swallow her alive. He's going to digest her whole. And she's terrified of this. And so faced with these stressors, when she is loved, actually, the borderline acts out violently or recklessly. And some borderlines cheat. They cheat in order to preempt intolerable abandonment and undermine the intimacy. And cheating also upholds their view of themselves as bad, corrupt, hopeless, a whore. Such misbehavior is often coupled with substance abuse. The borderline associates alcohol or drugs with sex. It is a conditioned response. Sexual desire, sexual arousal, lead to the consumption of alcohol or drugs intended to disinhibit the borderline and to allow her to carry on her unsavory, socially unacceptable, immoral designs. And the above two core issues result in compulsive cheating and extremely dysregulated and unboundary sex with strangers. The borderline targets strangers in her decompensated peregrinations. Ironically, the narcissist's grandiosity of defenses is a fantasy defense, of course. But his grandiosity is less rigid than the grandiosity of either the borderline or the psychopath. The narcissist is subjected to a barrage of narcissistic injuries and narcissistic modifications. And these challenges remold modify his grandiosity or even sometimes entirely suspend the false self, which is the residence, the locus of the grandiosity. Grandiosity or self-perception of the narcissist is amenable to environmental factors and to changing circumstances. Psychopaths and borderlines are different. They do not experience any undermining of their variants of self-aggrandizement and grandiosity. Nothing touches the psychopath's grandiosity. Nothing can touch the borderline's grandiosity. And consequently, the grandiosity of the borderline and the psychopath is immutable, unchangeable, not amenable to any process of learning or modification or treatment via intrusions from harsh reality or a harsh therapist. Nothing touches this inner core of the borderline and the psychopath. The narcissist reconstructs his grandiosity after modification and injury, but it does fluctuate while the psychopaths and borderline's grandiosity is flat-lined, it's stable at a certain level. And you see, many syndromes, many symptoms, many behaviors, many choices, masquerade as pathological narcissism, but they're not. And we should never confuse grandiosity with narcissism. They are not the same. Grandiosity is one element of many in pathological narcissism. And it's also common in numerous other mental health disorders, psychotic disorders, in bipolar disorder, this phase called mania, which is grandiose, in schizophrenia, in antisocial personality disorders, including psychopathy, in borderline personality disorder, in other forms of emotional dysregulation.  Grandiosity is everywhere, not only in narcissism, and yet when you go online and when you watch videos by the afore-non-mentioned self-imputed experts, they confuse, they confuse grandiosity with narcissism, and they mislead you and lead you astray. Don't let them.


So, I will continue our discussions on the C plus plus features, but now we will start looking at details with a little more rigor, we will try to understand the exact rules which we will need to follow. Remember what I told you that when you write programs in a programming language which is an artificial language and not natural language and every language has defined rules of syntax that is grammar rules, punctuation rules, etcetera and any time you write any instruction in a program you have to strictly follow those rules. The semantics or the meaning of every instruction is very unique, so there is no scope for any ambiguity that is the nature of programming languages. In this context we shall first see the general program structure of a C plus plus program and then we will discuss the rules of computing. Specifically, we will look at naming conventions, we will look at how different data is represented internally in the sense of we will not be using, we will be referring to binary locations or bytes in terms of understanding how many bytes are allocated to each data type and so on. But we understand that the internal representation will be binary as far as we are concerned, we will be using decimal notation and last we will consider evaluation of expressions, we will take some programming examples at the end. So is the first rule, generally all statements in a program have to be written as per the rules of syntax and the entire program that we write is usually kept inside a single file. All of you are familiar with the notion of a file and file name. So here are some examples, p1.cpp made underscore sem underscore marks underscore analysis dot cpp. These are actually names of the files, these are not C plus plus names. Please understand that the file name of the file which contains the C plus plus program, the program will be read by my C plus plus compiler but the file name will be read by operating system. So you remember when you say C plus plus at the dollar symbol, you say C plus plus some name. You are actually telling the operating system dumbo to invoke a compiler and give that compiler my program which is contained in this file. So there is a small difference between the names that we use for the files and the names that we use within our programs. Now we have seen this but we will understand this better. Every C plus plus program contains some directives. These are instructions meant for the C plus plus compiler. These are not program statements which will solve any part of our problem that we solve but these are mandatory because these permit the compiler to know the context in which your program is to be translated to internal machine language. One statement we saw was hash include IO stream. You have seen this statement without understanding it. We will try to explain a bit about this statement. Again full understanding is not important at this stage but just the rudimentary facts about this. So this actually is a statement which tells the C plus plus compiler that in my program I am going to use input output instructions and when those instructions are executed, I will be typing in some values on my keyboard. You will have to take those bytes in which are ASCII code, convert them into internal format and vice versa on output. So actually the input that we give in this form or the output which comes out is in the form of a stream of bytes. One after another the bytes flow in or bytes flow out and this stream input output handling capability is already built into C plus plus in terms of some pre-written programs. We have not written them. Somebody has written them. Usually it is called C plus plus library. Now we may write programs which may not require anything from that library but we may on the other hand mostly write programs which will invoke those input output capabilities. It is this compiler directive which must be included in my program. Incidentally most compiler directives are required to be included at the beginning of the program file. So before you start writing your program all compiler directives should come there. So when you give this directive it effectively tells, you can see the name IO stream. Now you will probably understand that there is an input stream and an output stream and in that stream ASCII course will be flowing here and there and we want the capability to convert these ASCII bytes into appropriate internal representation or vice versa. That capability is available in the form of pre-written programs which are kept somewhere else inside the operating system, inside the C plus plus package. And when you give these directive C plus plus compiler on one hand will translate all of our instructions written in the program and on the other hand it will additionally include all the pre-written instructions at the appropriate places. Effectively the see in and see out statements that you have seen they work because of this. If you omit this you will suddenly start getting error messages like see in not defined in the scope, see out not defined in the scope. So what do you mean by that? Well you have not defined see in and see out. That definition as well as its long form instructions are all because of this compiler directive. So this is a bit further explanation. Remember that whatever we give are ASCII values and they have to be converted to internal binary form. Similarly C plus plus will convert internal binary values integer or floating point into byte stream which it will give it back to us. So see in and see out work because of this compiler directive. Are there different libraries available? Do I have to always say IO stream? We will get the answers to these questions as we proceed further in the course and we examine all other libraries which C plus plus provides. As we progress we will use some of them but this will be more or less a mandatory compiler directive in every program that we write. So here is an example on my keyboard. Let us say I type a value 238. So what goes from this is a stream first the byte 2 goes then this is followed by byte 3 this is followed by byte 8 and this is followed by either a blank or a new line character. That is how you will give input value. Now these 3 bytes represent 3 different symbols and all of them have to be typically converted into an internal format. Let us say this happens to be value of m. We have said somewhere int m and we have said C in greater, greater m. So what it means is that this stream of bytes which comes in will have to be ultimately convert and then put inside the location for m. So if m is a 4 byte location then you know that this value 238 will be converted into an internal binary format and appropriate bits will occupy this place. So that is the objective of the I O stream library and that is how C in C out will work. C out will work exactly opposite direction. Here is another directive using name space STD. This is slightly more complex. You have seen in the sample programs that we use names we say int i j m and float x y. We are familiar with these names. We had seen in a simplistic model that these are the names which Dumbo uses to tag to those memory locations. Roughly same thing will happen when C++ compiler translates our program. Now we are looking at very small programs which we write and keep them in a single file. In real life when you write large programs towards the end of this course a program may consist of say 5000 lines and it may be possible that that program has not been written by a single individual. Four or five different people have written pieces of that problem. Now it is possible that you are using some name say x to mean something and I am using some name x to mean something else. Now there should not be any confusion when I put all of these together. So if I want a single compilation run for the entire program segment written by you segment written by me there might be some method of distinguishing that this is part of say x and that is somebody else's x. Typically what is done in such large programs is there is a notion of namespace. So you can consider namespace to be a group of names and that entire group is given a namespace. There can be large number of namespaces that can exist. For example if suppose I have chosen a namespace called x space arbitrary name and I have declared in that namespace certain variables say a and b which are integer objects in that namespace. Ordinarily C++ requires that whenever I refer to a name in any instruction I should qualify that name by the namespace to which that name belongs. So if I have declared a and b as integer objects I will have to write my instructions of this kind. X space colon colon a equal to 5. X space colon colon b equal to 4 into x space colon colon a. There is a mistake there. Can you spot the mistake? Sorry? Yes. This x is not correct. It should be capital X. Remember names are case sensitive. Anyway the point I am making is if I indeed choose such namespace options and if I keep qualifying the name every time it will be a burdensome thing to type all of these long things. I would rather type a equal to 5, b equal to 4 into a. That is much easier for me to write. This is feasible if either all the names in a program belong to the same namespace which may be x space or y space or more easily I write names which belong to some kind of a global namespace which is a default namespace. That namespace is called standard namespace. And when I give the compiler directive using namespace std this one then this directive tells the compiler that look Baba I am not defining any namespace of my own. All my names will belong to standard namespace. This statement does something more than that. The moment I say standard namespace then you remember I mentioned libraries and other things. There are so many other aspects which are part of such libraries and they all have names. All those names are belonging to standard namespace. Therefore when I say using namespace std it tells the c++ compiler that if in my program other than the names which I have defined if I use any names which belong to the standard namespace please compile them use them properly. So this is a very crude and simplified explanation of this directive. The directive has much more to it and as we progress further we will discuss this again. Suffice it to say at this stage that as far as we are concerned in our programs we will always write these two compiler directors at the beginning. Hash include iostream and using namespace std then there will be no confusion compiler will take care of things. Now we come to writing of the programs. For the time being you assume that there can be multiple namespaces which could be defined by different people. If we use any such namespace then we will have to write all the names that we use in our program pre-qualified by the name of that namespace. So the example that I gave is suppose there is a namespace called xpace and I have defined objects like a, b which are integer. Then ordinarily I write in my program a equal to 5, b equal to 2a such statements will not be valid. I will have to write xpace colon colon a equal to something that is the rule of sequence. Since that is burdensome we are saying why do we want to write this? So we want to tell the compiler that I am not using any of my own namespace use the standard namespace in which case I do not have to write qualifications. So when I give a directive like using namespace std then statements such as int a, b, a equal to 5, b equal to 4 multiplied by a become valid statements. So c++ compiler can understand that the names a and b which I am choosing do not belong to any individually named namespace they belong to the standard namespace is that ok? In any case because similar doubts may still exist in the minds of many people. So please take it at the moment that this statement is mandatory. Let us say we do not understand the full implications of this statement. But let us say that unless I write this statement my program may not work properly rule number 13b of c++ whatever we do not care. Remember what I said we have to follow rules which are defined by the specified language this is the c++ rule ok. Now we come to write so in a nutshell I repeat this again every program will begin with hash include IO stream and it will be followed by using namespace std. Now when we start writing our programs we write various statements c++ provides a feature which is called grouping of statements and making what is known as the statement block. Any number of statements that we write can be put together inside a pair of braces. Whenever you put multiple statements in a pair of braces the enclosing braces define a single block and whatever statements appear inside that block are logically treated as a single statement by c++. So it is possible for me to write for example there are two different statements but logically they become one statement. In the sense that it is guaranteed that whenever my control flow in the program execution reaches this point it will always execute this statement followed by this statement. Both of them will be executed the effect will be as if a single statement. Now this notion of blocks is extremely important and when we discuss conditional execution of statements or iterative algorithms we will see how this is vital this notion. More important that this juncture is the entire program that we write is considered to be a single block. The entire program in fact that we write is called the main program. So you remember now you remember this was the structure of the program. We write an opening brass we write an opening brass at the beginning after int main opening bracket closing bracket and we write the closing brass at the end. That makes the entire program as if it is a single statement. In actual practice this entire program is treated by the operating system as a function. What is the property of a function when we write a mathematical function say for example we write f of x is equal to 2 x square plus 3 x plus 5. So what it means is x is a parameter to this function and depending upon the value of x the value of the function will be equal to 2 x square plus 3 x plus 5. The function always evaluates to a single result value. Now actually all the programs that we write in C plus plus are called functions. We will see later how we can write multiple functions in our program. But the main function is the main program that we write. It is therefore mandatory that even when we have no other functions the program itself that we write should be written in the form of a function. The first line int main something something defines the beginning of that function starting with that opening brass and the closing brass indicates the end of that. Now you remember at the dollar symbol you write something like dot slash a dot out to execute a compiled program. You remember that? So actually what the operating system does this is the operating system. This is what is dealing with you you are interacting with operating system. When you say dot slash a dot out what the operating system understands is that oh you have a executable program which I will treat as a function and I will pass control to that function. Passing control means I will say Mr. Junior Dumbo execute yourself. Now that translated program which we hypothetically call Junior Dumbo executes all the instructions. When the last brass is reached before that you notice this statement that we write is return 0. That return word means go back to the operating system. The fact that it is actually treated as a function although we are not discussed functions in details we will do that later means that just as a function mathematically can have parameters my program itself can have parameters indeed if I don't write this int main opening bracket closing bracket just like that but I write something called p here. Right now we won't do that but later on we will see what that p means. If we write p here it means that my main program itself expects a parameter. Now this parameter is not something that will be handled by input output state. We expect that parameter to come when my program itself is invoked who is invoking the program operating system. Consequently in such situations we will expect p to be passed as parameter. It is not necessarily that the function should have only one parameter could have p 1, p 2, p 3 whatever and all of them will have to be written here. Again I emphasize for the time being we will never write any such parameters. I am just trying to explain what is likely to happen. Remember whenever multiple parameters are used by a function such as f x equal to this or f x comma y equal to something x square plus something y square whatever all of that returns a single value. Actually when you say return 0 you are telling the operating system I am returning you value 0. I can actually say return 1 return 5 can I say return 7.8 why as everybody followed why I can't say return 7.8 that type of value which I return is written by us at the beginning of our program. Int main that word int actually describe the type of value which will be written. Can I write float main of course I can I can define any kind of function. But as far as the operating system is concerned it has some intelligence built into it to understand what some of the return values would mean and that intelligence is based on a function returning integer value. 0 usually means that the junior number which was executing its program has run it properly. So 0 means successful completion. That is why whenever we reach the end of the program while executing if we have reached that end it means our program is executed correctly and therefore we will say returns 0. Later on we will see when we write large programs and if there is an error condition that comes up which we can notice during the program we can say return 1 return 2. And operating system actually is capable of initiating some other action if the value return is not 0. But all that is too complicated at this juncture. So again to conclude the simplified view that we take is that a pair of braces include all statements which are logically treated as 1. The entire program that we write is actually logically equivalent to one statement. It is treated as a function. The operating system passes control to that function at the beginning and when my program execution terminates it returns control to the operating system. Is that okay? So this is what is stated in words what I just explained that the operating system can pass one or more parameters to my function the main program and when my program completes it not only passes control back to the operating system but it can also pass a value and that is what involves using a return statement with a value. Of course okay we will just stick to this. Come back to the point that we are discussing structure of a C plus plus program. What we have seen so far in this structure is a we will have those mandatory compiler directives at the beginning. B the entire program is to be written as a single function called the main function and you have to begin the program by saying int main opening bracket closing bracket opening brace write all the statements and put closing brace at the end that is the structure of my program. Now we come to the components of our C plus plus program. So this will have several computational objects int A int B flow takes are all computational objects 13.75 a value which appears in one of the statements is a computational object it is called a constant object it is a value all these computational objects when we want locations to be assigned to them where the values can change they must be given names and all the names that we use must be declared the declaration of a name is required to be made before the first use of the name. Consider this for example I have C in X then I have Y is equal to 4.0 into X where is the input statement happening at this place somewhere before that I am required to say for example flow takes. So wherever X is first used before that I must define since I am not using Y in the first two statements I am using it only afterwards it is possible for me to write this as float Y. So this declaration can come however as a good programming practice we will always write this as float X comma Y and then write all the statement. So effectively while C plus plus program syntax only requires that the name should be defined before the name is first used we will add that we will group all the names together at the beginning and we will declare all the values. Any questions on this? Yesterday there was a good question so since nobody is asking let me ask you this. We had said that before the execution begins the C plus plus compiler reads the entire program and translates it right. We had a funny exercise where I had asked you to raise hands clap etcetera you all did and then the final instruction said don't do anything and we said then that the compiler doesn't do the stupidity it first reads the entire program. The question that I was asked is that if the compiler is going to read my entire program first then why can't it figure out it doesn't matter where I declare my names even if I declare my names at the end it is required to read the entire program anyway. Why can't it collect all these declarations and then start translating right? Is a reasonable question so what is your answer? Sorry one at a time please. Yeah anyone who is saying now because his answer is because the compiler executes the program line by line from the top. You have not understood the basic compiler will never execute a program. It's not compiler's job. Compiler merely translates the program into machine instruction. Execution begins for the entire set of translated instruction when we say dot slash a dot dot. So there is no question of execution. Compiler is supposed to translate the program and we had asserted earlier that the compiler will read the entire program when it translates. The question was if that fellow is going to read the entire program anyway and since my declarations like int something float something are very easily identifiable. It does not matter where I write them. After all in this first reading it should read all of them. Assign all whatever memory locations it wants and then translate the remaining instruction. So why the C++ compiler insists that we must declare a name before it is first used. So he is saying that if we don't declare it at the beginning for example if I don't say float x here it may get confused as to what is C and C in greater greater x whether it is a floating point integer or something. But the contention here why should it bother about what is C++? Initially it should read the entire program collect all the declarations interpret those declarations make up those allocations of the memory allocate memory and put those tags then it should read again and this time it should translate only the executable instruction. No when the execution begins at that point there is nothing like assignment of locations all that has been done while translating. Please understand that int a float y all these commands are not translated. There is nothing of these translated.  What is translated are my executable instructions C in greater greater x y is equal to only those instructions are translated. The point is before translating them if the compiler was to read the complete program first it can definitely find out what all names I am using. And then it should read the program again this time it should ignore those declarations because it has already read them.  So he made a rule. Rule number one all names must be declared before they are first used. The C++ compilers now have been written to implement this rule strictly. So if it ever finds a name that is not declared it will give you an error. Logically there is no reason why this rule should be there. But because you and I have not defined the rule somebody else has defined the rule we are required to follow it we follow. Effectively it makes the task of compiler a little bit easier. While reading the program in the first step itself it can do much more than just understanding what are the names declared etc. That's the problem. Such things will occur again and again and again. We may logically question and we should logically question why is this like that why is this like that. But ultimately we have to conclude that while there does not appear to be any logical reason for this rule just because we have not defined the language we cannot. Suppose we don't like this rule what do we have choice? Well we define a language called CS101 C++ and then we write a compiler for it. Some of you would be doing that job later. Okay. Not CS101 C++ but something else. No there is a mistake here. I don't know how this happened. This particular statement you see this statement. This statement does not belong to this line. It says comments can be inserted anywhere in a program. This should come in the next slide where it says ignored completely by the compiler. Obviously if a slide says ignored completely by the compiler we don't know what is ignored. So comments are ignored completely by the compiler. You remember how do we write comments? We can write slash slash program something or we can write slash start long comment. There are two different ways of writing comments. We have not seen one more alteration that is possible in the first type of comment. I can actually have a statement which says this statement is valid. That means on any line of my program towards the end strictly towards the end if I put slash slash anywhere compiler treats from that point onwards to the remainder of the line is a comment and it ignores that. So this way if you want to write a comment to explain the purpose of a particular instruction in your program you can do so. So this is a third variation that is possible. We are now ready to understand the organization of a C++ program. This looks familiar. You would have seen similar programs in your lab. You will see many more of course in the course of this semester. So we begin with a comment which doesn't matter. All comments are completely ignored by C++. Remember that. Hashtag include IO stream using namespace STD. No kajal on that. We have understood. What we have understood is even if we are not understood why those statements are there they have to be there. Otherwise our program is not there. Again some more comments now starts in to main. So this is the beginning of my program. Opening grass and this is the closing grass and before that they return zero statement. We now understand what these are. In between is our program. Within the program we see that I have left a few blanks at every line for all the lines which constitute the program itself. This is called indentation. So notice that the first few lines including comments start at a certain point here. When I come to writing my programs I am leaving one space, two space, three space like that. Observe that when I write my program like that it becomes slightly more readable because at a glance I can see this is the block of statements which constitute my program. Later on when we study the other control structures starting with this Friday lecture we will see how important is the indentation of this type when the program could become very long and complicated. We can understand. Usually a tab key is pressed. Tab is the old typewriter kind of notion. Whenever you press the tab key in a old typewriter the carriage will move eight spaces further. In computer tabs you can set the tab spacing by choosing appropriate option in your G edit word process, G edit text editor. So I set for example tab to three spaces because there will be multiple indentations that I may later on require. Every time you press a tab it will move three spaces further. It is merely a nice way of writing. Here are some explanations of the same program. First two are the compiler directives. Everybody follows that. The main program begins at Int men. Return zero effectively says stop program execution. So this is an executable instruction. It will be translated into machine instruction equivalent to go back to operating system. And in between are my statements in the program. Is this clear? No confusion in the names. Very simple indeed. Now we come to the names. Names are called identifiers. In fact names are galore in any program. There are certain names which are part of the programming language itself. Name space, using, return, see in. What are these? These are names. They mean something to C++ compiler. Such names are called keywords. What we are bothered about are the names that we use to denote some computational objects. The rules for that is a name must contain either alphabets a to z capital or small or digits<PHONE_NUMBER> or underscore character. These are the only three types of symbols which are permitted in a name. Additionally C++ says that a name must begin with either an alphabet or with an underscore. It cannot begin with a digit. Further name can be of any length. I can write 50 character name for a location where I want to store an integer number. Since large names are possible and in fact people are encouraged to write more meaningful names which will necessarily be large. C++ simply says if you go overboard and write all names which are 40 characters long, I will have difficulty in distinguishing them. So please make sure that the first 31 characters of any name are unique. So actually translators which follow this rule do a smart trick. You may use length any name. If a name is shorter, of course it would be considered in full. But if a name is longer, the compiler will simply take the first 31 character because that defines the name effectively. Keywords in C++ cannot be used as a name. So I cannot say int using, using cannot be a name of an integer location in my problem. And of course meaningful names must be chosen by us. Are these rules clear? Again why a name cannot begin with a digit? No. It is presumable to ensure that the names are English like which always become a verb. But then why a name can begin with an underscore? How would you like a name which is underscore, underscore, underscore, x, y? It is a valid name. Underscore, underscore, underscore is also a valid name. Obviously they are meaningless. By the way the convention in C++ and Unix programming in general is that the name starting with underscore are treated as internal systems name. And certain packages use names starting with underscore, underscore. This is to ensure that since ordinary mortals like us are unlikely to use such names they will never clash amongst themselves. That is the objective. So as a rule we will never start a name with underscore. But we will use underscore to distinguish different phrases of the name if there is a long one. Let's consider some examples. Role number of a student. I want to represent role number of a student. Can you suggest some names? One name. Any other name? R. Any other name? RL. Okay. RNO. We have written four or five names. What about a name? X. Well C++ compiler doesn't know that what we are storing is a role number. For it it is either an integer or a floating point value. The meaning of that name is only amongst the human being. C++ compiler doesn't care. So X is a perfectly valid, illegally valid name for even role number. However for human beings it won't make sense. Amongst the remaining names, which names do you think reflect the meaning that we have in mind more accurately? First and last. This is the reason why longer names are permitted and they are incorrect. The reason why we tend to use R, X, A, B for two reasons. One we are familiar with mathematical formulae expressions and almost all our algebraic expressions will be A plus B multiplied by X minus Y something. We use single digit symbols in algebra. So that habit carries on. The second reason is if I use long names, I'll have to do the Godagiri of typing those names everywhere. So why waste time doing that? After all compiler doesn't care. But we should remember that we should care because our programs will be read later by other people and they should understand what it says. Value of a temperature in degree centigrade we had used in our sample program, C. Perfectly finds a valid name. But can you suggest something? Temperature? Temp. Temp C. Any other name? T. I would suggest that the last two names are more meaningful. Particularly the last name is more meaningful because temp underscore temporary also technically signifies to a human reader something which is temporary. Temp is also a short form for temporary. It's not a good idea to use the word. Marks obtained in a quiz. Sorry, M. Marks, okay. Some odd name was suggested. Can you say it loudly? MKS, okay. Somebody suggested something very fancy. What was it? Mobile number. All of them are valid names. If in mobile number I stored marks at 24, 32 or 0 as my friend desires. It's all valid. Compiler doesn't care. But what is meaningful to us? How funny it would be if we say mobile number plus something, okay, is whatever. Consider you have said marks. Let us look at another example. Marks obtained in the semester end examination. Here again I could have said just marks. Marks underscore and underscore same. Would it not make sense then in the earlier context to say marks quiz are better still in our normal sense and same marks, quiz marks. Suppose I conduct five quizzes. A quiz mark is only one quiz. So you are suggesting quiz one marks, quiz two marks. If I conduct 100 quizzes then my program will really become complicated. If finally I want to calculate total marks imagine what would happen if I have 100 quizzes, two tests, one end same, one mid same. So I will have end same marks, mid same marks, test one marks, test two marks, quiz one marks, quiz two marks, quiz three marks, quiz four marks, quiz 99 marks, quiz 100 marks. Will that be a good problem? Later on in this class not much later within a couple of weeks we will learn the notion of arrays which permit us to give a single name to a collection of values. And we can identify individual elements in that collection just like we have an array elements. This is just to indicate that if we did not have such a feature it could be we could become miserable writing programs with such names. So we just conclude that names have to be meaningful. Names can be chosen by you. But when you write your programs never ever choose names which do not reflect at least some sense of the meaning of the real life problem entity that you are representing. Don't forget these names don't make any sense to the compiler. Compiler merely takes a name as long as it is unique. Ultimately it is going to push all these names as tags to the memory location. Internally memory locations are numbered 1, 2, 3, 4, 5, 6, 7, 8, 9. So it doesn't matter to the compiler. But to us who will read, modify programs, run them, again read these things matter. In C++ names are used to represent objects and values associated with names named objects can change common sense. So each object can have a value of a certain type. We also use constant values in our program 35 minus 7. These are also computational objects. But they are constant because their values don't change. If I have a name the value may change. What are the types of values? We have seen intent float so far roughly understanding what they are. There are many types. I have listed some here. Care, int, float, double, void. Void is a type which means value less. There is a name but it does not represent any value. Boole. We don't know what bool is. Boole. Have you heard of a mathematician called bool? Have you heard of Boolean algebra? You have heard of Boolean algebra but you have forgotten bool. Not very good. Bool was the scientist who actually enunciated Boolean algebra first. What is the characteristic of Boolean algebra? It deals with truth value, true or false. The bool type actually is used to represent true or false. It is internally designated as 0 or 1 but that is incident. We will not deal with that right. W care underscore t. Very funny type. Don't spend any time at all in trying to figure out what it is. We will not use it for the time being. Towards the very end of the course we will understand this and some other fancy type. But the fact is that C++ compiler does permit very specific data type which can be used. As we shall see later C++ is an object oriented language and it permits us to define our own types. These are called abstract data types which could be written as combination of some kind of the existing data. We shall see those things also later. For that time being we will concentrate on integer and fractional value, numerical value. And those numerical values are typically int and flow. Int represent integer values and flow type is used to represent fractional values including large values. Numerical values are written by us in our program or they are typed on the terminal or they are given back to us by the executable program when output statement is executed. All these values are written of this kind. 25 minus 7389 12400000. All these are valid values whenever we write them in our program. Very large and very small values can be written in exponential notation. We have already seen that. It is a standard exponential notation where we write a mantissa and we write an exponent. Now C++ permits us to write such constant values in our program and also accepts these as input. Declaration of objects – you see, C++ actually forms classification of objects. All objects of a certain class share the same character. Int is one such class. All objects of that class whether int x, y, int a, b, c, int abrakha, tabrakha all these names share one feature. They can store internally an integer value. They They can be operated upon by computational operations such as plus, minus, something. These are common characteristics. The compiler will use our declaration to allocate appropriate memory space. 1 byte, 2 byte, 4 bytes, 27 bytes, whatever. If we say int i comma j comma count comma number of tanks, we are actually defining four different objects. Each one of them will be given a 4 byte location. You understand byte? So i, for example, will have, which will be used to represent the number interval. There exists other qualifiers. It is possible, for example, to say, if I say short in s, I am telling the compiler that my values are not going to be very large. Don't allocate 4 bytes. Allocate only 2 bytes. Suppose I want to store very large integers. You remember 4 bytes actually represent the maximum capacity of 0 to 2 to the power 32 minus 1. And if those numbers are signed numbers, we lose one bit. And the capacity is hovered somewhere around 2 to the power 31. But if I have larger numbers to represent, I can say long int, let's say big. Then this fellow big will be given typically 8 bytes. 8 bytes means how many bits? 64 bits. So even if you leave aside 1 bit per side, your range increases very low. It is not necessary that these 2 bytes, 4 bytes, 8 bytes, which are explained in this example are valid for all C++ compilers. Because the number of bytes, sadly, is not a feature of C++ language. C++ language simply says integer numbers can be handled if you define them to be int. What should be the range of numbers, etc., is left to the individual compilers. Luckily, most of the compilers implement similarly. But when you examine, when you are running programs on a compiler, you should actually check what the short mean, what should long mean by giving values and checking what turns out to be computations. Integer values can be decimal numbers. They must begin with a non-zero digit. The reason is that an integer number which begins with 0 has a spatial meaning. I have drawn a line to indicate that there are notations available, which can be used while writing C++ programs, where the values which I give can be specified in octal or in hexadecimal base. Octal is base head, hexadecimal is base 60. If a number begins integer number, begins with 0, it is treated as an octal number. That is the reason why ordinary decimal numbers are not permitted to begin with 0. Not that they are not permitted, but if you write a number beginning with 0, C++ compiler assumes that the value is written in an octal form, and then it will convert appropriately. We will not be using octal and hexadecimal numbers in this course for quite some time. So please don't bother if you are worried about who is octal, who is hexadecimal. Just ignore everything that is stated in the last part of this slide. The first part is what is relevant. Floating point values. We have seen the notion of floating point. I will briefly explain the notion once again why it is called floating point. Effectively this type is used to represent fractional numbers or very small or very large numbers. Consider the first number here. If I were to write it in an exponential notation, I could write it as 0.00046E1. Is that correct? No, because E1 will mean 10 to the power 1, which is 10. So I can also write this as 0.00046E-1. I can also write it as 0.046E-2. I can write this as 0.46E-3. I can write this as 4.6E-4. Please note that mathematically all of these represent the same value. What it means is that whenever I write a value in an exponential notation, E notation as it is called, then there are multiple ways in which I can write the value depending upon where I decide to put the decimal point. I change the exponent appropriately, it represents the same value. That is the reason why this representation is called a floating point representation. You can write one of these representations. I can write another representation. The result will be same. Now, when such numbers are translated internally, you remember we said that internally all numbers are represented in binary form and four bytes are typically allocated to represent four of these numbers. What is done is this portion is used to represent mantisa and this portion is used to represent exponent. Some portion, it is not uncommon. This is a typical representation, 24 bits for exponent and 8 bits for mantisa. Sorry, 24 bits for mantisa and 8 bits for exponent. It is therefore mandatory that for the sanity of the translated instructions to work correctly, the representation of mantisa should be uniform for all numbers. What the compiler does is, the compiler puts the numbers such that the mantisa is normalized so that what is written inside the m part is an integer. For example, this will always be written as 46, but it will not be interpreted as 46. It will be interpreted to mean 0.46. Effectively, what the compiler does is that it assumes the decimal point to exist at the beginning of mantisa for any number that is written. It makes sense therefore to write the actual mantisa value, normalize such that the first digit is a non-zero digit. Otherwise, you will lose precision. That is why this is the format which is actually chosen and therefore this number will be minus. It is merely called floating point because in our representation on paper, I can float the point and write the same value differently. Internally, the number will always be translated such that the mantisa is assumed to have a decimal point at the beginning. The actual value of mantisa as written is always an integer value and the exponent also is an integer value. Of course, the mantisa and or exponent both can be positive or negative so the signed representation etc. can come into picture. I am explaining this just for you to try to understand what goes on inside. We will not bother with these at all. Please understand that in our programs if I write any one of these it is as valid as anything else. This is just to understand why it is called floating point. That is all. As far as we are concerned, we will take it to mean that the notation translates into something like this. The other part in which you represent these numbers is some very large numbers like this. Minus 1.29. What would this number mean? 1, 2, how many zeros? You sure? Large number. Can this number be stored? It is an integer number. When I try to store it as an integer value you will have a problem because the precision may not be sufficient. We shall see some of these examples when we look at the expression evaluation. The C++ language specifies the following but every compiler is free to independently implement the precision of mantissa and the range of exponent as it pleases. Minimum values are prescribed. It is the standard of the compiler that we want to represent as an exponent and mantissa. No, no. We have to assign it to a location which is declared as float. We will see that in a short while. We will see that when we look at the expression. So, these are the rules. Mantissa precision is 6 digits minimum. Exponent range is minus 37 to plus 30. Actual exponent range will be much more when you allocate 8 bits. Actual precision would be roughly around between 6 to 7 digits but these are matters of detail. Floating point objects are defined using the keyword float. So, when I say float x, y, val, radius, etc. They are all allocated 4 bytes and out of them some bits are reserved for mantissa some for exponent. This is the typical 24 bits and 8 bits for exponent but I may have need for higher precision in my mantissa in which case there is a version called double. Double is like bigger float number. So, if I say double large val then this large val will have 8 bytes allocated to it typical double the 4 bytes. Obviously the mantissa portion will be larger exponent could also be larger. These are independent things. I could have an implementation where exponent is still 8 bits and all the remaining bits are used to represent a larger precision mantissa. That is possible.


So Manupal Hospitals in association with our Banguru, Traffic Police and the BBMP started a campaign on the World Heart Day to promote the healthiness of maintaining good health in good heart. So I saw that across 25 signals across Bangalore, wherever there was a red light, you could see a red heart symbol on all these red lights and along with this red heart signal there were QR codes everywhere available below the signal so as soon as anybody scanned the QR code it would directly go into the emergency number. So the turn down time between you calling and the emergency number being picked up was very low so Manupal Hospitals became a bridge and using technology today to decrease the time especially when it comes to the heart we know how the golden period is very important for us. So they have bridged the gap between that so I am very glad to have you know been associated with Manupal Hospital when they are coming up with such great projects and they are looking forward to making Banguru a heart smart city and also they have been awarded many many prestigious award so I wish all the best to Manupal Hospitals may they continue making such good groundbreaking work in the health care industry. Thank you.


Tapes up now, we're away. Dudek, Dudek's there, but Purely's got the better of the run. Round the outside as well, Dudek hugging the inside, it comes Purely down the outside. Oh, what a move from Leo Madsen! Where did he find that from? Dudek's gone wide, that leaves the door wide open. Three impresses, they complete the first lap. Stunning speedway once again. Madsen now out in front. Purely's got so much speed around the outside. It's between Madsen and the fence. Brilliant stuff, Dudek must be wondering what's going on. Absolutely beat up in that first lap. But Dan Purely means business here. He's going to move on to five points from his first two rides. And what a ride that was. Superb stuff. Tapes up, Lambert's made a smashing jump there. Rawled away there, Leon Madsen as well. He's got that tie-woffing and getting in the thick of the action. Coming through in the second place with Leon Madsen. Leon Madsen. Oh, Stunning move from Madsen down the inside. Went from third to first in one smooth move there. Lambert taken by surprise. So was tie-woffing them. But Leo Madsen, generating speed. Showing great speed here and encouraging signs for the world number two. After two disappointing Grand Prix. Winds in style. Three nights on. Tapes are up. Rawled away. Madsen made it again. Vasilyk not quite there. Just around the outside. Yanovsky's up the inside. A good first turn from him. Now Vasilyk just caught in traffic there. Had to come off the throttle down the back straight. But Leo Madsen made no mistake. Second time of asking. Absolutely flew away from the inside. Yanovsky repays a compliment down the back straight for the last time. Terrific racing for second and third. Leon Madsen cut through it out in front. And Madsen Yanovsky back in second place. The evening. Semifinal number two then. What a start from Madsen. Brilliant start from him. Robert Lambert's there out of turn. Gate number three. Oh, Smalsik and Lambert locked together. Lambert having to get best out of the back straight. Freddie Lingard locked in the back. Wow, that was tried out of the first corner. Last time, Smalsik's desperate. Leon Madsen's a country mile in front. He is comfortably through to the final. And Bartol Smalsik somehow. I don't know how. I just don't know how he's done that. Just sheer. Conclusion. Leon Madsen made a superb start. Leon Madsen tucks in the second place. Bartol Smalsik slipping back to fourth. Jack Holder coming through into third. Martin Vasilyk. Well, that gate number two has worked a treat for him. Here comes Holder into third. This could be Leon Madsen just coming on strong. One last chance through the last corner. But the nine is going to be looked at. Martin Vasilyk. What a victory that is.