Mālam Mele Kiari says the Nigerian National Petroleum Company Limited NMPCL can never declare loss again as he assured that our country found we will begin production by the end of March. I am Bola Oba Anfis. It's plus politics. The Nigerian National Petroleum Company Limited NMPCL will never declare loss again according to the group chief executive officer, Mālam Mele Kiari. He gave the promise in Abuja at a book launch. Kiari also assured that the Pothack or Refinery would begin production by the end of March. He gave the assurance after a meeting with the Senate ad hoc committee investigating the various tone-around maintenance projects of Niger refineries. In the next two weeks production will start. We did mechanical completion of Pothack or that was what we said in December 2023. On the warrior refinery, Kiari said mechanical works had been completed adding that the facility was undergoing the regulatory compliance processes. He however said Cardinal would not be ready until December. Kiari said all the good lines were active adding that over 450,000 barrels had been delivered into the Pothack or Refinery. This topic is Naurangazespa Nekagule. Also joining us is an economist Belong Olajede and a lawyer Arredo Tu. Ladies and gentlemen, welcome to plus politics. Welcome to plus politics. How are you, Nick? How are you? Fantastic. I was thinking maybe your device was muted. How would you want to, what would be your initial response to the remarks by Malamele Kiari? Okay, thank you very much. The news that the CEO of NMPC Limited has passed to us, I will say is good news. Good news in the sense that we have been expecting them to come back again with a start date for production. You will recall that last year, towards the end of last year, they came with the news that the protocol refinery had achieved mechanical completion. And we said that mechanical completion does not mean the refinery is now ready. That they were going to go through electrical and instrumentation completion and then test the refinery before getting it ready. I have predicted on a program on this channel, on a different program we should be looking at the first quarter of 2024 to see the first products come off the puhaka refinery. And that is coming to be the case based on this announcement that we have had. And this is because even now I believe that testing is still being carried out at the refinery and whether the date that we have received now, which is the end of March, is going to be feasible, we depend on the result of the testing. The good thing is that they already got a stock of crude oil based on the report issued by the group CEO of NMPC Limited. They have about 450,000 barrels of crude oil in stock. So that will at least take them for about, if they are going at full production of 60,000 barrels, that is going to take them about nine days of production. So it is good news but all fingers crossed. Let us see if this milestone will be achieved. Okay, let me go to your colleague. What would be your initial response to the group chief executive officer of NMPCL stating that one puhaka refinery would be full-fledged operational end of this month and that Nigeria would never resort to importing fuel today? Well, it is a good woman. It is going to bring about the expected production output that will serve the needs of Nigerians who are really yearning for price reduction in fuel because whatever and however this is going to come up with the end product, the end means of all Nigerians, what Nigerians are expecting of is the price reduction and we believe that with the lookup production, the whole number of chains of production will be cut off from lifting to demolition and all that importation will be off and that on its own should be able to have a kind of a more about solution to the expectation of power. And now for these issues, end up to become more political. They become more political statements. If care is not taken, it becomes more political statements because before now we have gotten a news report that puhaka refinery is already working. Now puhaka refinery is to work at the end of March. There is no need to make space. Let me quickly interject. There was no time they said puhaka refinery was working. They said as of December 2023 that they completed the mechanical production system of puhaka refinery and they tested it. And it was also in the news that there were other areas of the system to be done and that until say the end of the first quarter of 2024 puhaka refinery production would not be starting. And I guess at this juncture there seems to be a degree, a dint of consistency but it's not over until it's over until I see full production. I can say they fulfilled all righteousness. But there seems to be a degree of consistency from what was said in December to what is said now. Yes, yes. It's to get the information right. The fact that the puhaka refinery mechanically is due to work at full capacity by March what we are saying is that Nigerians who are so high and we cannot be running on these projections all we want to see is that by tomorrow the day we are run. Okay, I can feel you. I really can understand where you are coming from. Mr. Ali Jede, are you on? Yeah, good evening. Good evening Mr. Ali Jede. It's just fair to you to let you at least give us your initial response to the claims and I'm using S after claim here. To the claims by the group Chief Executive Officer of NNPCL that in the next two weeks a puhaka refinery would be running at full operational capacity and that it believes that soon enough Nigeria would not have to import petroleum products anymore. Your response sir? Well, two weeks will come anyway. They promise two weeks. The problem in my opinion has been the communications regarding the two of the people that the refinery is reproducing in Nigeria. Without the mechanical conditions and the entire time we have to work on this and when it was time to operate it has become disgraceful. We need a little bit of criticism that has shifted and that has shifted and that has shifted. I think this is disgraceful. Someone has to get away about why exactly this refinery Mr. Lahiri, you know what I guess from your opinion and your opinion of the gentleman who spoke before you it is obvious to me that beyond the organic or personal problem that NNPCL has NNPCL may also be battling some public communications problem because if maybe because we function from the newsroom many of the things that are making you people to be disillusioned many of those things were quite well understood by somebody like me in December they said and the gentleman who started one of the guests one of your colleagues who started this show was also very particular about the fact that in December they only said they were going to do mechanical completion but from your remark now and the gentleman before you it does seem to me that NNPCL needs to help its public communications game because if educated and enlightened people like you don't quite understand them well I guess that is instructing the disillusionment or the distrub that you seem to be expressing and the gentleman too expressed how would you respond to that? Yeah, the communication needs to improve I wasn't knowing like that at all so it is easy kind of completion of mechanical production I don't know about that the same the communication needs to improve it needs to present itself as transfer as needed otherwise everything called creativity will be totally lost in the future so in the future that is what you want to know okay, let me go to let me go to one of your colleagues I'll come back to you I'll come back to you okay yeah, I will too okay it doesn't seem it doesn't seem that yeah, it doesn't seem that I can hear you from the street the three of you are not particularly impressed even when you were starting you said in so much as there may seem at least deducing from your remarks that in so much as there may seem to be consistency what they said in December and the date they have given for full operational this thing but you still want to wait so the element of doubt that didn't of you know the famous the famous predisposition is still there until I see the mark in his hand I'm not going to buy the story so what is this protein that if I may ask well, you know we have to look at the nucleus issues surrounding NMPC you know not that we ought to be on the level we are now as a fifth largest so either we don't know the rating that we had the moment because we are just producing nations without capacity for local production that is very because for the past 15 years on now for the past 15 years on now the NMPC was deliberately killed all are for refinery whereby there were payment for turnaround maintenance for this same investment that budget have been amount for yearly and there are payment for staff yearly so for the past 10 to 15 years this same structure that the new administration is trying to make sure that it works it's not that maybe we are to clap for them even if it works because they made us so far long before now it was a deliberate ploy in order to make NMPC a more important internal structure and encourage importation importation was a decoy for corruption so if we are not now going to be leaving that I don't think those that are coming from that I'll come back to you but I want you whilst I'm taking the opinions of your two other colleagues I want you to also be thinking around the fact that NMPC may also be a victim of the institutionalization of corruption in our political system because that's very honest of ourselves NMPC I will come back to you because NMPC NMPC is basically maybe a worst case scenario but NMPC is basically suffering what we see in proto bars in Brazil and in the Mexican oil company these oil companies especially state-owned oil companies may be buying Saudi Alamco today Saudi Alamco declared the profit of 1.2 billion US dollars which was reported to be more than the cumulative the cumulative profits of the four major western oil companies the shelves of this world the the shelves of this world so are we now in a situation where we are just suffering what state-owned oil companies essentially buying Saudi Alamco what they normally manifest ne kabune thank you very much I think there is also a big misconception by Nigerians about the status of the NMPC even the NMPC itself carries itself as if they are a regulator of the oil industry so a lot of Nigerians actually think that the NMPC is a regulator of the oil industry and you find the NMPC making industry wide statements like the last time the chairman of the NMPC was talking about producing 2 million barrels which is actually Nigerian's production the truth of the matter is that like you have said the NMPC is a business the NMPC is a business just like child run is a business share is a business total is a business in the oil sector and this business is owned by the government and unfortunately in Nigeria institutions are very weak and because institutions are very weak government enterprises don't do well is not only NMPC we have seen it before Niter was never doing well until the MTS and Co came in the steep plants are all dead there is no one steep plant owned by the government that is working today the same thing with electricity the transmission company of Nigeria owned by the government is about to make in the electricity sector it is just the case that when government enterprises in Nigeria are being badly managed that is a reflection of what they are because in Nigeria it is a successful business first you need to ensure that recruitment into that business is by merit in Nigeria nobody knows how people are recruited into the NMPC so recruitment in the NMPC is by patronage even the leadership of the NMPC is by patronage and the NMPC knows that as a government business they can afford to keep the refunds to be dead for like my colleague said they can still be paying salaries all family workers and nothing will happen you know that kind of thing will never happen in Shell it will never happen in Total or IG or mobile and also we will compare NMPC to the likes of Saudi and Ramco the world's number one oil company Petrobras in Brazil Petronas in Malaysia and all of that we are not comparing the same systems because in those nations the institutions are strong leadership is strong when they have a business they run the business based on business ethics in Nigeria anything government is anything that goes you know so the NMPC if president Nipu actually wants to have a solution the NMPC is to privatize the company I know Nick I cannot fault the logic of your submission but even like that look at in Brazil the case of Navajato the car wash this thing that ultimately culminated in the incumbent president of Brazil spending about 2 years clause in jail after his first after his first tenure look at the rate at which PetroMex in Mexico punching below his weight when it comes when the basic parameters of measuring efficiency are used unlike what we stated even now that they have just changed the nomenclature of NMPC to NMPC limited we all know that is a state-owned enterprise and a state-owned enterprise still be holding to the political class and the political class from the legislators in the national assembly even in the days of the military it was worse but you know now on that democratic dispensation from the legislators in the national assembly to the president and the presidency like we already stated people in NMPC are beholding to these political politicals so how do we expect efficiencies in such circumstance I'm just thinking aloud in view of your very very resoundingly convincing submission how would you respond to well I want to draw our viewers attention to the fact that it's not about government ownership alone the NLNG that is the Nigerian liquefied natural gas company in Boney it's also government-owned the difference between NLNG government-owned and NNPC with the limited avada that has changed nothing which is also government-owned the management so here are two government-owned enterprises the NLNG is managed by the private sector who also have part ownership the NNPC is managed by the government and you can see the results the NLNG is delivering humongous dividends running into billions of dollars to government office every year the NNPC has constituted a dream pipe on government revenues and the NNPC is taking a share of joint venture crude oil production on behalf of government selling it, spending it and then it is what is left they will now go and put in the federation account what kind of business is that a business that has allowed its families to die is not producing much oil is not depending on crude oil that is produced on behalf of the federal government of Nigeria to pay in safe salaries and they are paying for salaries let me go to one of your colleagues Mr. Lajadeh Mr. Lajadeh are you still on? okay let me go back to Ale are there two yes there are two as it is how would you want to respond to the submissions of your colleagues who believe that the political partnership that defines the the composition of the hierarchy of NNPC the political partnership that defines the operational methodology of NNPC relating to another local example perfect example, LMNG look what do you expect of such an institution how would you want to respond to the view of your last opinion before I am not totally aligning on the premise of privatizing NNPC at the end of the day we will come back to lay our dreams the genco and the power sector have not been a kind of fixed with issues the major problem we have is the fact that we deliberately made our institution unworkable we believe that since corruption is habitat in every organization of government definitely government must not work that ideology will not make a country go even if we bring the best of the best privatized private company to manage our oil and gas sector if care is not properly taken we end up in the belly of the lion so I wouldn't want this to be done what I am appealing is the fact that let it in as much as NNPC has been incorporated like a private organization not necessarily a regulator now is now selling and buying just like every other oil and gas firm in the country just like chef is operational so the the unfortunate thing is the fact that the structure arrangement the internal administrative structure arrangement is confusing in NNPC a structure that relies mainly on the entire staff base are being paid by government and you want to pretend to rule that you are a private firm there is something missing somewhere there will be lack of accountability and transparency if the government was NNPC let them they still need for regulatory body to look into how this is about current management we need a total of all of the current management I am not still yet comfortable considering the corruption of the present management of NNPC you can never get anything out of the nagarate of this out of NNPC NNPC NNPC gave a very very practical example that cannot be discounted is just a post NNPC a state-owned enterprise with RNG which is another state-owned enterprise but because of the I percent of the private sector partners in the management and the operational operational machinery of NNNG NNNG gives Nigeria billions of dollars every year while for so many years NNPC was just a shell entity that was that was a property Nigeria's return from the services provided by the private entity that were instructive all from Nigeria and all the operations were NNPC how to be adding value they were not adding value and they were paying operatives they were paying people years after years they were producing nothing in the refineries how would you want to respond to that in view of your last submission well I still want to reiterate that even at NNNG the way NNNG production base was managed was as a result of the of the capacity of the management structure itself the same management structure of joint venture with private sector analysis that NNPC is currently having but because there were other fragmentation that is expecting the success of NNPC which is purely deliberate and for the correct management to still be here you need we have good minds in Nigeria don't everything that maybe there cannot be any good thing coming out of NNPC but for the correct management which are still to provide the records of the financial audited report for the past 10-15 years and you expect them to deliver a new refinery by March and you still want that to give the best of services to Nigeria there is a lot hidden that the president needs to let us understand I am not totally I am not fighting a NNPC but I believe is management ought to be investigated now I will come to that I will come to you again for that I really want to at least respond to the fact that Darla is not very enthusiastic about the idea of NNPC being fully operationally privatized so there are a couple of things that need to set the record straight first of all I really my co-panelist says the same joint venture management structure that the NLNG has is the same that is in the NNPC that is not correct the joint venture arrangement which the NNPC has with the international oil companies is different so I can give you an example practically the NNPC joint venture is owned 60% by the government and 40% by the joint USA but it is the joint that is managing that joint venture so those who are running that joint venture are joint employees and by the way they are agility mostly so it is not about we will be here because these are agility with private sector background they are running the joint venture differently and that is the same way the arrangement will share with total removal runs the international oil companies are running the joint ventures the NNPC is being owned by Nigerians who are appointed by government they are not private sector driven Melek Kari who is the group CEO of the NNPC is appointed by the government government does not appoint the MD of share or the MD of Chevron or the MD of NLNG so I think that is the where my co-panelist got his facts mistop and secondly we are not talking about the management to foreigners the managing director of share in Nigeria is a Nigerian the managing director of NNPC I mean NLNG is a Nigerian in fact the previous managing director the immediate partner is my very good friend we work together in share the game is that the the NNPC the NNPC are currently constituted is not going to deliver any results is the same way that NLNG never deliver any results is the same way that the steep plants all the steep plants in Nigeria today are not delivery results this is not about the NNPC is about the fact that government is in charge just like government is managing every other thing that same attitude of government we translate into what these companies are all about now I also want to make another point here you know the oil industry is made up of upstream and downstream these refineries that we are talking about now is the downstream side of of the oil industry have we asked the question about what is happening in the upstream the upstream is very friendly in the hands of the private sector friendly they also are producing oil for Nigeria and private sector and because they are private sector we have never heard that we think back to 1950 when we discovered oil till 2024 has there been any day where we say Nigeria's kudoa production is zero that means we didn't produce a barrel of kudoa per day answer is no and what is the reason for that the management of the upstream is in the hands of the private sector and what we say private sector we are not talking about has to be with people Nigerians have developed the capacity now and they are running this thing so if we continue hoping that an NNPC that is being controlled by a national assembly that you saw the way they were behaving as school children the other day a government that is more interested in foreign trips and all of that that NNPC is going to do well we could have a swear to have been hoping that night tail was going to give us phones until the MTS came to rescue us ok let me go back to aree for the wealth of the butter aree this is not supposed to be is not supposed to be a contestation of ideas between you and your colleague but you seem the two of you seem to be proceeding different ideas about how NNPC could be could be revamped and be made to serve Nigerians properly or to contribute is rightful this thing to the Nigerian coffers I would want to respond to Nick's submission is aree there ok we seem to have lost aree oh Nick Nick those watching this evening are with the general to this position of Nigerians ideologically the general abhorrence that Nigerians have to when you mention the word or the phrase private sector when you mention the phrase or the word privatization when you mention commercialization and I think Nigerian believes it's not going to be a it's going to be a speculative against the Nigerian interest and ironically just as you are methodically itemized the things and the entities that are working to add value to us to our quality of life our institutions that are mainly run by private sectors how would you want to respond to the fact that the Nigerians listening to you today may be because it's not a position it may be one of those that they may they may headhunt to come around MFPC if caught are to be taken out of the composition of his management and his staffing just thinking aloud now you are actually very correct that Nigerians are always apprehensive about privatization about private sector running things and things like that you can even tell you that private sector are capitalists and they will come and they will come and cheat us they will do this and they will not give us value but I like to draw Nigerians attention to telecoms it's a very good example Nigerians who were old enough to know what happened during 90 days you discover that there was no phone there was simply no phones so because there was short supply of phones there was also to racketeering with phones 90 would give you a line to your house they would divert that line to a business center and the business center will be making calls and collecting money from people and the government solution to that was they will set up tax policies on business centers headed by young majors they will carry soldiers and they will be shutting down business centers Nigerians who were old enough will remember this and I tell people one thing that I married my wife my wife was in Abuja when I married her and I was working for the oil industry in worry so when she relocated to worry to meet me my wife had a not nine not which was 90s what you call mobile phone of today my wife will have not nine not worry I, Nika Gule returned my wife's not nine not to Abuja and sold it for 150,000 Naira more than 20 years ago 150,000 and the person I sold it to was a middle man he was going to sell it on for 250,000 which was money that will buy you five to combo cars as at that time that is government providing something for you that is government providing government providing something for you that is not there how much is for now but Nik the most common example that the anti capitalist idea looks the most common examples that they use now the discos and the discos and the jemcos the jemcos are even performing but unfortunately the discos are not the best pure pure this thing for privatization in the power generation power distribution industry given the example of what about the discos can address that very shortly knowing that probably we don't have the time I mean we can have another session to talk about the electricity sector why is not working why the privatization is not working because as our viewers we know electricity is in three stages there is generation there is transmission which carries the electricity from the point of which is still at the end of the government exactly and then there is distribution now the reason why the electricity privatization is not working is because generation is largely okay generation was sold to serious minded business people the Tony Lumelous and the Thedolas of this world they have the capital and the expertise to expand capacity but the transmission which is the one that carries the electricity is in the hands of government and the government is in on it government does not have the money to expand the capacity and look generation cannot generate what transmission cannot carry and distribution cannot distribute what transmission has not given them I cannot show you that if president Thinibu takes the wise decision of leasing that transmission out even if it is not ultra privatization leasing it out to the private sector who will come and expand the capacity the electricity sector in Nigeria will start booming because it is a bottleneck transmission is a bottleneck and then and then distribution was not done right when people compared the discourse with what is happening in telecoms I tell them it is not correct you know why MTN AT Salat all of these companies that got licenses for telecoms were already telecoms companies operating elsewhere they had the experience, they had the expertise they had the money they had the technology tell me one company in the distribution one disco there was already an existing power sector operator before they got a disco license none absolutely none of them no it was it was the party party arrangement exactly the discourse were giving to politically exposed persons majority of them missed out on the privatization of the telecoms and they thought the discourse was where they were not coming on the bazaar you know they don't have the money to expand the capacity even ordinary meters they cannot even have money to buy the meters so you know where the problem is now let me tell Nigeria what the problem is before the privatization or the so called privatization of electricity there was only one NEPA in Nigeria one NEPA that was doing everything that NEPA had a single managing director and had a single set of executives they were distributing about four to five thousand megawatts of electricity now after privatization we have about 10, 12 or more companies in the generation with 12, 13 managing directors transmission as a managing director then we have about nine or so discourse each of them we managing director executive directors offices and all of that how much power are all these companies generating and supplying 3,000 megawatts so the cost is rising as to nomically the output is not rising the output is falling and that is why the unit cost that is being forced down the throat of Nigeria let me quickly pop over to your colleague he is back on now he is around I think I think we may still be having a situation with Alex Alex connection Nick yes go ahead to wrap up your point and we make it a day to go ahead and report my points for the fans are you back Alex yes yes you must have been listening to your colleague he seems to to be taking a diametrically a post position to your anti privatization anti commercialization how do you want to respond to some of the points he has made you know you have said it all the discos and gencos are a bad to privatization and I want to reiterate that we can not affect the energy so that we don't lose the meat of our matter is the fact that the the sharing formula between the private sector that's on the offshore and on the onshore but be that may go and look at the analysis that we brought out maybe during one of our press conferences it goes there over multi trillion dollars have gone down the drain and that is what I am now saying there is no way anyhow that you are going to bring private sector coming no matter how damaged you are during this thing if you still you still going to rest on government policy because the government generated revenue from the private sector so the government cannot wheel off his power whatever is going to be part of it because you are taking example of telecommunication telecommunication is different from all like that we are talking about what telecommunication energy driven generated if if if if if if Saudi could privatize some of his some of his share will get why would somebody like you find the idea of letting organic privatization in some respect happen to NNPC even when we have a a paper privatization NNPC ironically or paradoxically is now NNPC limited and a limited limited ability company to the best of my understanding is ostensibly a private company but you seem to be you seem to be happy with the Kimura the Kimura that NNPC is now on the one hand is claiming to be a private a private animal but on the other hand we know we know that NNPC is just like a power starter of the government and all the political technologies all the inanities the corruption such entities are very manifest in his operation how would you respond to that sir yes you know I will still retrace the fact that you know is a mixed breed of corruption between the NNPC and the Kimura who pursues this see as I did that NNPC is still an issue if you are the fact that NNPC is intending to bring up the worker worker refinery worker refinery all this out to the simultaneously due together but I don't just want to be don't lose the myth of the matter that by the end of March we will see what NNPC will manifest my own agitation is a fact that let there be total overhaul if it is incorporated NNPC is more or less a private entity that is a relation we are talking about NNPC have ruled agar stand presently let's get up I'll come back to you to Nick Nick how would you want to so that's where we have to just talk about about how it deals with privatization my extinguish that about how we wrapped it up let's give Nick the opportunity to Nick how would you want to to close it at least for this episode okay so to close it I just want to say before I close to say that privatization does not make government to lose its power actually that is the way it's supposed to be government is meant to be the regulator why businesses are to run business so the regulating power of government is still there now NNPC that is the power of government to regulate the industry it doesn't mean that government will lose any power at all instead we are going to see efficiency minister of communication told Nigeria that telephone was not for the poor and that was because government was mismanaging telecoms through night care now we can't say that again that telephone is not for the poor everybody has a GSM in their hand now to close it on the oil industry I want to to set the expectations of Nigeria's right protocol refinery this protocol refinery is the oldest one is the old one it is 60,000 barrels of kudo e per day is the smallest of the NNPC refineries the one that is next door to it in protocol there is 150,000 60,000 barrels can produce only about 1 million liters of petrol maximum 2 million liters Nigeria is currently talking about 30, 35, 40 million liters of consumption per day depending on whose figures you are listening to so this thing is not going to change anything much so the euphoria that is gritting this thing I want Nigeria to manage the expectation we will continue to import petrol because 1.2 million barrels I mean liters per day is not going to change the game Nick we have to go at least on one point you and I seem to have agreed and that is the disillusionment about the projection of NNPC that they would they would be fully operational not that you don't believe them but you want to wait and see and I guess the two of you have also agreed in some respects that at least the cost would be marginally lower not tangibly not something that would be substantially felt at the at the pump price yet when I want to say thank you for your contributions you have been wonderful value adders we respect your seemingly ideological differences but you have enriched the show today thank you thank you very much and good night to our viewers and we will see you again thank you very much this is where we wrap it for today I am Bola Oba have a good evening


at its core high performance is focusing on being the best that you're capable of as consistently as you're capable of. And if I were to turn on the Warriors game tonight and watch Steph go crazy, he knocks down 12 threes, he scores 55 points, makes some unbelievable highlight moves. The average younger player wants to immediately go out to the court and emulate what they just saw Steph Curry do. The problem with that is they're skipping over in his case decades of practice that allowed him to be able to do it. They want to skip steps and jump right to his ability to dribble between his legs three times, shoot a fadeaway three pointer. What they don't understand is for the last 25 years of his life he is committed to mastery of the basic fundamentals during the unseen hours and he has progressively built upon that to the point that he can now make that shot. That's the other reason that I don't think people tend to believe that it's easy because they want that outcome right now. They don't want to wait. I have to work on my game for 20 years every day and make millions of shots in order to do that. I don't want to do all of that. I just want to be able to make that shot now. Everybody's heard that you have to work hard. We've all been taught that since we were really little and everybody knows that you need to work smart that you're doing the right things in the right way. But if you do those two things but you don't do them consistently, if you only do them when you feel like it or when it's convenient in your life, then you have very little chance of reaching high performance. So yeah, the consistency piece is undervalued and underrated. You need to consistently show up in every area of your life. The highest performers that I've been around, they didn't pick and choose when to be excellent or when to meet their standards. They did it in everything. So I know in my own life, I aim for high performance as a father. I aim for high performance as a speaker, as an author, as a business owner, as a friend, as a member of my community. It's not something that I aim to pick and choose. Repetition is the oldest and most effective form of learning on the planet and I don't think that's ever going to change. So the consistency comes into the fact that every single day presents us with opportunities to get in reps, to practice reps at whatever it is that we're trying to work at. And it's my assertion that Steph and Curry will go down in history as the greatest shooter the game has ever seen. And I'm here to tell you all it's not by luck, it's not by accident, it's not even because his dad played in the NBA, it's because he's willing to hold himself to an unparalleled standard. You don't need to come out of the gate with this unparalleled, almost unattainable standard.


First of all, the agitations are taking place in areas where they have not normally begun in the last decade or two. Usually this kind of unrest in Maharashtra has started out in Vidarbha or Marathwada. This time it's happened in the relatively more prosperous areas of Nashik and western Maharashtra. It's also interesting that whether you look at Madhya Pradesh or Maharashtra, both chief ministers began by saying they would not talk to these guys. Fadnavis said that he would only talk to genuine farmers, which is whoever agrees with him. And Shivraj Chavan, now on a fast after eight farmers have died in police firings and in injuries during the agitation, is now on a fast when he could simply take action against those who opened fire and killed so many people. But the trouble begins the morning on the third year of the Modi government, the newspapers are full of advertisements of this government's incredible achievements in agriculture. The same newspapers that carry the advertisements praising the achievements of the government in three years on agriculture, the front pages of those newspapers carry the news of five farmers shot dead in Mansoor in Madhya Pradesh. It's also interesting that when Mr Modi and Mr Jettli announced that they would double farmers incomes by 2022, they started a big chief ministerial, ministerial group to go into this. And the head of that group was Shivraj Chavan of Madhya Pradesh, now on fast. In the last few days, in refusing to speak to the farmers, there were a number of preventive detentions, illegal arrests. I was witness to some of these in Tassgaon area in Sangli and suddenly Mr Fadnavis finds that he can speak to these farmers. Maybe he figured out that the farmers are searching for a genuine CN and he's decided to speak to them. It isn't just about loan and loan, there are far more serious issues. Stifling Indian agriculture, there are far more serious problems.  Apparently the Maharashtra chief minister, Mr Fadnavis, will take a delegation of Maharashtra Khissans to Prime Minister Narendra Modi to ask him to implement his party's manifesto promise, which was implementation of that recommendation, cost of production plus 50%. It was a promise on the BJP's old manifesto. Having made that promise, immediately after coming to power, the government then submits an affidavit in the Supreme Court of India saying this cannot be done. But please, please, please, this is my appeal to you, do not try understanding the agrarian situation through events and episodic situations like the strike in Maharashtra, the Tamil Nadu farmers' event in Delhi or even the firing in Mansour. These are manifestations of the crisis, they are not the crisis. You really want to understand the crisis, try understanding it through their lives, not through bogus figures and numbers. Every government, every one of them allowed corporations to run amok with price gouging. So you're not talking about doubling the farmers' income in five years and that's another bit of a joke because Mr Jetli never clarifies for you whether he means nominal income or real income. The farmers don't seem to be feeling any improvement in their real income nor has there been one because the last three years show you that agriculture related income, not just the farmers but of that sector, have either stagnated or declined marginally. On the other hand, input prices have been relentlessly rising for two decades. So while the costs of cultivation have doubled, trebled, quadrupled, agricultural income and the farmers' income has stagnated. The average income of a farm household, roughly five people, was 6426 rupees a month. So you've got an astonishing skyrocketing, a gouging of the farmer in pricing by business and corporations and you've got a shrinking or stagnant income. The first loan waiver nationally was under Chaudhary Devi Lal for farmers. At about 10,000 rupees was the cutoff point for every farmer and that was in the 1980s. The next one was 2008. For the corporate sector, the government routinely writes of lakhs of crores of rupees every single year from 2006-2007 budget onwards. There used to be an annexure called statement of revenue foregone. The foregone revenue there includes, say, direct corporate income tax. In 2015, that was 73,000, 78,000 crores. Customs exemptions on gold diamonds in jewelry, 73,000 crores, all armed army items. Gold diamonds in jewelry. Having made all these concessions, these are concessions that largely benefit the top 1-5% of the population. In 2015, the amount was 5,34,000 crores for 1%-2% of the population as against the 56,000 crores of 2008 for 40 million families of farmers. The money is there. There was enough money to give Vijay Malia 9,000 crores of public money and he's living in a flat in Mayfair. The question is, who is getting the money? Minister after minister has said, Pranabda has said it, Chidambaram has said it, I don't know how many times. Mr. Jaitley will tell you that we have doubled agricultural credit, we have traveled agricultural credit. Oh, yes, they have. It's just that it doesn't go to the every culturalist. They've doubled farm credit, but not to the farmer. If you look at the loans that small farmers take, below 50,000, below 2 lakhs, Professor Ramakumar of TISS has done some brilliant work on this to show you from RBI data and he and Dr. Palavi Chauhan, showing you that the lower end of the loans have collapsed and loans about 1 crore, loans about 5 crores, loans about 10 crores have exploded. How many peasants do you know who are taking loans of 10 crore and above? Well, I could think of two or three names. I mean, one is Mukesh, the other is Anil, the third is Ramdev, but I'm sure there are many whom you know, there has been within the increase in agricultural credit, a tremendous diversion of credit from that small and marginal farmer to large businesses and corporations. I think it's a very explicit policy drive that you want to reduce. I mean, that you're trying to take people out of agriculture and put them God knows where because you haven't created a single option, a single option in industry. One jobs have been created in the last 25, 30 years to absorb those leaving agriculture. Today the mills are real estate owned by Godrej, Ambani, Statas and others and the peasants arriving from Raigad, Ratnagiri or Taligam or wherever, the options are to become somebody's domestic servant. So one, you are creating a gigantic pool of cheap labor without giving anyone a job. And secondly, of course you are pushing farmers out to the benefit of corporations. The dropout rate of farmers from agriculture is over 2000 per day. Take my home state of Andhra Pradesh, the unified state for which data exists. In 2011, there was a 1.3 million drop in the population of farmers and two columns away, there is a 3.4 million increase, 3.4 million increase in the population of agricultural farmers. So you know where they're going. Not only where farmers are, not only where dispossessed farmers are going, but dispossessed other sections of agrarian society that are dependent on agriculture. Of course they've been pushed up. And you've started these farmers, producers, organizations which are simply going to lead to farmers becoming laborers, serfs, agricultural workers on their own land working for corporations. So unless we're addressing the larger questions of water, of inequality in water use, you're not going to be able to do that. You're not going to be able to even begin to solve your problem. In Maharashtra, which has had a gigantic water crisis, RTIs done by Priyanka Karkutkar in the times of India show you that cities and towns get 400% more water than villages, though the water comes from rural areas, the Takmur drinking water. Most of Mumbai's water comes from five lakes in the Adivasi, basically Adivasi district of Karni, looks for pipe connections in the Adivasi households. You have a very serious mega crisis and a moral crisis, the way we use water, what we are using it for, what kind of cropping we're doing, what kind of agriculture we're doing. Let's have a 10-day parliament session on agriculture. Let's have a 10-day session where we discuss that. What are the things we can do? Can you make agriculture a public service? Can you ensure that there is a decent pension system for people remaining in the lowest wage sector of the economy? So yeah, there are lots of things that have happened elsewhere that can be done, and you have something very good happening in the state of Kerala. One of the least covered in the media is the movement called, women's movement called Kudubashi. I would say this, that this is one of the most positive things happening connected to agriculture that I have seen in 35 years. We could actually be thinking about how we can create Kudubashi's all around the country and in India. The rural ministries, rural departments of seven other states have asked Kudubashi from Assam to Bihar, have asked them to come there and set up similar Kudubashi right movements over there. Every single country invests in its agriculture. Now agriculture is the lowest paid sector. Wages are lowest, incomes are lowest, everything is lowest. So I would see where this country exists, where that economy exists, where agriculture is not supported by the state. My question is, should it be supporting the food production of the Indian people, or should it be supporting corporate profit? Who you give that money to is the question, not whether you will invest money in agriculture.


Good afternoon, I promise I'll try to keep you awake, it's post-lunch session, so to keep you awake I'm just going to code all that all along, yeah. So we're starting with this particular piece of code, it's a regular Java code, yeah. And essentially what it does is just to give you a brief overview, there is an authenticator The first thing that the user does is logs in using the system login and password, yeah. And if that fails, user tries to log in using Gmail login, yeah. And if that fails, then user is redirected back to the login page, yeah. The standard web workflow scenario that we have. In case if logging and using system login succeeds, right, what happens is user goes to the step two, which is a two-factor authentication, yeah. And then if that is successful, user is going to get returned, get transferred to dashboard. Fair enough? So if I just run this happy path, I'm just kind of configured to run the happy path. This code is going in system login inside two-factor, and then eventually it kind of goes to redirection, which is the dashboard target page, yeah. So let me just kind of give you a brief overview of code which I have. This is a simple dispatcher, just doing a redirect. And this is the authenticator, yeah. Let's try to fail the system login, yeah. It should go to Gmail login and then go to two-factor. Fair enough? So that's the kind of overall workflow that I have here in case of system login failure. Let's see if Gmail login also fails, yeah. If system login and Gmail login both fail, you are redirected to the login page, yeah. Let's say Gmail login passes, yeah. What do we expect? We expect the user to see the dashboard. Fair enough? Yeah. And in case if two-factor fails in now, we have to redirect back to the login page. So that's what this code is essentially doing, yeah. And we see this kind of code in our day-to-day life. User is just a normal Java bean, yeah, which we see all the time. So this is this bit of code here, right, which is there. And we write this code kind of, we have seen the code in our daily work, right. How many of you have seen this type of code? Some form or the other, almost all of us, right. All right. Now just to kind of go back and forth between the two. So if you see, I've just kind of copy pasted the code here in the slide. And if you look at this code closely, inside the first try block, you know, I have to declare the user variable outside, right, because it's outside the local block of the scope of the local block of tri-catch. So we declare the user outside, right. And then if we get the user back from the system login, we assign it there. In case if it fails, we assign it using the Gmail login. Fair enough. The interesting part is this user gets transferred just to the two-factor authentication right there, right, after initialization, correct. And if you look at the target URL, target URL gets assigned in one of the success try blocks. And in case of failure, it gets assigned to login page, yeah. And then eventually in the last step, there is this redirection that's happening, yeah.  We're not mutating that, not doing anything fancy with that data, right. So I'll just kind of, if you were to look at the happy path, we have this, then we have this, and then finally we have this, right. So I'll go back to code now and over here, let's try to visualize the code as if we did not have the try catch blocks, yeah. And I'll just pick up the essential elements out of this, right, to convey the idea what I want to show. What did I do? Oops, sorry. Did it run? Just pick up the essential elements. This is really my happy path, correct. Can I not rewrite this in this fashion? Get rid of this, yeah. Can I not rewrite this in this fashion and get rid of this? So this is the real essence. I've chained functions together to really create the entire happy path flow, yeah. So ideally our goal is, I want to kind of do this so that I can compose and if I can declaratively see this in my code, then I know that this is the entire flow without having my way to sift through all those try catch blocks, yeah. So this is probably where we need to go in terms of chaining the functions together and bring up the entire flow, yeah. But essentially if you see, can I just, if I'm just running it here, I'll just kind of bring it to the happy path where we return the user and there we go, okay. Now, all these things are wrapped in the try catch block, right. That's the repetition that's happening for all the cases. So the first attempt that I want to do take is boil away the boilerplate, yeah. So if I were to boil away the boilerplate, I will have to approach this in baby steps. I'll take one step at a time and let's say if I were to take this particular try catch block, yeah, and just put it in here, right. I'm not bothered about this particular try catch block because it's a nested try catch. We'll deal with this a little later, right. Now, essentially if this is a try catch block and if I wanted to essentially run any code block, yeah, from within a try, because what I'm trying to do is I'm trying to boil away the try catch try block, right. So at this point, what is this particular function doing? It's consuming two final user ID and password, right, and these are constants. So for all purposes of constants, I'm not going to, I'm going to ignore because they are finals. So for now, and it returns what a user, right. So I'm going to ignore for now just what it consumes and say it doesn't consume anything but returns your user, right. And I'm going to say if I want to generify it returns a type T, fair enough. Now, if I have to take this in Java 8, what is the, what is this functional interface which gives me this notation, which gives me this from nothing to type T producer, it's called supplier, right. So if I have to wrap this whole thing, yeah, in a method, right. I don't have a method name, but I have the, I'm slowly building the signature. It has to produce T will work out the method name and it needs to be passed in a code block. Fair enough, which is of the type what supplier of T, right. So far, so good. We'll just take one step at a time. Now I'm slowly moving on. Let's, let's create this as a static method in this particular class. Yeah, which returns a T. And essentially what is this? This is actually a try. We're trying this out. So I'll just kind of give the method name at this point as try with. Yeah, just to convey intention revealing name is what I'm trying to get. And what do I do here? Instead of this line, now I will have return code block dot get. Fair enough. Let's try to compile and see what's happening. Cannot find symbol supplier. Oh, yes, obviously. I just need to import Java.util.function.star and let's see if it compiles. Missing return statement line 52. I guess at this point, I, I don't know what should I be doing. So I'll just kind of rewrap this exception into a runtime. Yeah, code works, compiles. Now I want to use this particular method at all places where I have this particular thing. Yeah. So I would say this is test dot try with and wrap this guy in a lambda. Yeah, it says, and I try to compile and run it says exception must be caught or declared to be thrown. Why is it saying this? It's very simple because this particular method is throwing a check exception. And how many of you feel the pain of working with checked exceptions in lambda? All of us. Yeah, that's, that's the real issue which is out here. Right. So what do we do? We have two options before us. Yeah, either wrap it in a runtime exception and bubble it up or deal with it. Yeah, just two options. Or what we could do, so I will go for the first option where I'll wrap it up. Yeah, I already have created a wrapper which is try with, but this regular supplier won't work because regular supplier signature is what? Get T get me the T pretty much. So I need to create a interface, right? A functional interface or an exceptional Sam is as it's called. And I call this as supplier throws exception. Yeah, fair enough. And all I have to do now is kind of wrap this guy and say this is E where E is and I run the code. Yeah, it works. So now I have replaced a regular supplier. Yeah, with a supplier that throws exception, which matches the signature. Right. And at this point, I have, I've been able to run this code. Can I not do the same for the remaining piece of code which is out here? Yeah. So let's just do that. Wrap this in a lambda. Let's run this super code works. Do the same thing here. Right. And before I do this, I would have to do a little bit of. So first I want to wrap this guy. Yeah, and here I want to put this guy inside a function. Yeah. And say test.try width. And this is going to be the wrapped lambda. And this would be as target equal to an instead of from here assigning it. I'll say return dashboard. Make sense. Let's run this code. It says now we have another error. Local variables reference from lambda expression must be final or effectively final. How many of you come across this as well? We deal with that all the time. What's really happening here behind the scenes? The thing that is really happening is that when you, when you have a lambda expression and if it stands on its own two feet, by that I mean just consumes the variables which are passed to it. Then it's a, it's a lambda which just depends on its local variables. But if the lambda closes over to some other, then it becomes a closure to another variable in the next scope. Yeah. In this case, if you notice this lambda, I mean this particular variable user. Right. Is not final. If you look user ID dashboard login page passwords are. Finals. But user is not final. What the compiler tries to do. It tries to determine whether is user going to be final. But what it finds instead is user being, is being reassigned here is being reassigned here. Right. And it's being used from within this lambda. Yeah. So that's why the compiler shouts and says, you know what? This must be final or effectively final. And many times I see Java developers what they do. Hmm. Let me try to be smarter than the compiler and run the code. How many of you've done that? Never ever do this. This is a hack. Yeah. We don't want to do this dirty work because essentially what you have done if there are two threads or if the lambda is lazily evaluated, you will face issues. Yeah. So never ever, ever, ever do this. This is an opportunity for you to refactor your own code base. Yeah. So I think it's now time to pause and reflect what can we do when you hit this kind of problem? What can you really do? Now I'll go back to the essence of the happy path here. Once again, I am going to take help of this. I am going to take this piece of code and put it in here. Yeah. What is the return type of this user? What is the return type of this URL? Yeah. And finally it's being fed to this chap who does the redirection. Yeah. Now instead of reaching outside to fetch the user, if you notice users just being passed around implicitly, there's no modification to the user. Instead of this, what if I can create a container in which the user is housed? Yeah. And create a container in which URL is housed. Yeah. Now imagine if this test was a container which contain the success value of this execution. Now this execution can result in two outcomes, right? Success or failure. So it could either host the success value or could host the exception itself. Yeah. Now if it's a container and on that container somehow, somehow magically. Yeah. If I'm able to pass the value to this next block, will I need a local variable user to hold it? No. Agreed? Yeah. So let's try to create this container, right?  Yeah. I'm going to say that this particular container in which this user will be packaged. Yeah. I'm going to call this as try because this signifies, moment I look at this type, it tells me, oh, there is some computation which is going to be tried. It could succeed or it could result in a failure. So just to kind of move back here, what we are, we are attempting is we're going to create a contri-container. These are the inputs. This is your computation which could result in success. If it's success, it hosts the value. If it's failure, it hosts the exception. Fair enough? Yeah. For that I have to do a little bit of refactoring now again. Yeah. So what I'm going to do, we're going to go towards this one step at a time. Yeah. Okay. So first steps, I'll have to move this method out of this because this naturally does not belong here. Right? So I'm going to create a class called try of T and just move this guy from here to excuse me, here. And let me call this as, because now if I have to invoke this method, it will be try.tryWidth. It's an eyesore. I'm going to just call it width. Yeah. So it's going to be tryWidth. So first things first, need to replace all the references with this. Yeah. Okay. Let's see if it runs. It has run because now we are back to the same error. It says local variables reference from the lambda expression must be final or only final. So just kind of move this method from test to a try class. Right? Now if I have to ponder for a while, will any longer returning T help me here? It won't. Right? Essentially what do I have to do? I have to return a container. Right? And I'm going to call this container the same name which we are in the same class. Fair enough? Now if I have to return a T this, there is a, this signature is what? Returning T. But I need to return what? A try of T. Whereas here it just throws an exception. Right? Fair enough. I'm just deleting that exception line. So if you notice this is what? The success path. So what I end up doing is I'll create two polymorphic variants, one to represent the success and wrap the success in here. Yeah? And the other to wrap the exception. Fair enough? So now I have two polymorphic variants of try itself. One catering to the success flow and the other catering to the failure flow. So let me end up creating those classes. Right? Success of T extends try of T. Right? What's going to, what is it going to have? Just hold the value. Right? Success. Fair enough? Oh yeah. Thank you. Thank you. Which one? No, because I'm going to have exception itself. Yeah? So I'm just going to put exception without thinking too much. So now I have the two polymorphic variants which are available to me. Let's see what happens now. I'm just going to get rid of this. And now we have real issue here. If you notice it says try of T confirms to URL exists. I mean, sorry. What does it say confirms to? No instance type variable T exists. So the try of T confirms to user, to user. Right? Because if you look, this is user. It should be try of user. Right? Next, we have the same issue here. We cannot any longer use URL. We'll have to make it try of URL. Now if I run this, it says what? Try of user cannot be converted to user. Correct? Because absolutely because this is, this is what now a try of user. And in the two factor authentication, this is user. Now at least I've taken broad steps where I have user encapsulated. I mean wrapped in the container at this point. Right? So now if I go ahead and look at this particular code right here. So I'll just kind of get rid of this and just look at it very closely. Now this is return type is try of user. And the return type of this is try of user. Now this is where we want to chain. We started with this that how can I change this? Right? So interestingly, both are the same types now. One is try with the other is also try both are containers. Can I create a method? Yeah, somehow I create a method. I don't know the name of it yet. Right?  Such that because the earlier try is going to hold the user within itself. Right? How about passing the user as a lambda to the next try? Make sense? Yeah. For lack of better name, let's call chain because we have been calling chain. Yeah, all along. So what I'm going to do is try with authenticator login and then chain. The user to the next try. Will that solve the local try variable problem that we were facing for not being final? Yeah, it will. Isn't it? Because now it's become just variable which is, you know, the parameter to the lambda. Fair enough? Now let's try to work out what is the signature of this chain going to be looking like? Yeah, signature of chain is going to look like its user. Yeah, to another try. What does it return URL? Yeah, what is this in Java? A function that takes in a user and returns a try of URL with me so far. Generically speaking, what is this function that takes in T and returns a try of U? Fair enough? Hey, losing me or just let me know. We just taking baby steps here. So chain will look something like chain taking in a function F and what does it return? What's the return type? Try of URL set its return type is try of U. Yeah, fair enough. So that's my signature.  Well, we have two polymorphic variants, isn't it? Failure as well as success, right? And you would want to do this in case of failure because if login fails, I want to use this. So first place where I'll put this is out here and look at the implementation. Then we'll have to go in success as well because these are polymorphic variants anyway, and we'll kind of triangulate and reach up to try. What do I do here? Evaluate F. Apply. Oh, sorry. Sorry, my mistake. This has to go in success because it's not about failure. It's about success. Sorry, because I was about to pass and I have the value already. I'll just pass the value and this is what I need to return. Simplest implementation of chain. Now it's quite possible that this application of this function may also cause an explosion. So I'll kind of just wrap this also in a tri-exception E and then what do I do here? Return, failure, except that the failure will be now of U and pass the E. Fair enough, in failure if I have chain what do I do? I've already failed, return this because I'm already in failure. So I'll return this. We could also create, so I'll just kind of find for now just cast it to try a few. Just cast it. And because this is present in success and failure, I'll need to put it out here so as to be available in the base class for polymorphism to work. And I can no longer call it, I can no longer have any implementation. I'll call this abstract and for that reason this class will also become abstract. Let's see this in action now. What I'm going to do is let's take this, put it in here. I'll try to comment this whole block out if it's kind of, and let's get it out of the way. All the comments out of the way and this is going to be now, try of URL, illegal start-up expression, try of URL. What is, oh, oh yeah, thank you. Wow, cannot find, oh yeah, so U is missing, so this is again Java generics. I just have to make sure that Java generics, now it says reuse a variable already defined. Oh yeah, I don't need it any longer because I'm chaining it. Now it says finally try of URL cannot be converted to URL. Right, so we've solved the chaining problem. Now try of URL, obviously the type of this is URL whereas the type of this is try of URL. So for now I just want to kind of get the value out of it and make it work. Yeah, because we've been staying red bar for a long time, though there are no tests.  So this is simple implementation. Right, so in success if I have to get, what will get be? T get, return the value. Yes, failure, what is failure? Failure never returns, right? So I'll just kind of throw exception. When somebody tries get on failure, I'll throw a runtime exception. Yeah, pretty much failure cannot return. And obviously I need to shove this in here as well. All right, so far this is working. Yeah, we will take care of cases one at a time. Where is this evolve this piece of code slowly? Now that is the failure recovery part is what really you are referring to. Right, so we have. Why am I not saying going to? Why is this message not coming? Maybe not sure. Let me try this. Yeah, somehow the last line is getting clipped. Yes, I just put in done. So if you see, we have returned back to our normal flow, right? The happy path. We've been able to change the functions together, right? And this is what the code now looks like. Now let's take care of, as you said, the unhappy path, right? Somebody said, what about Gmail login, right? If you look at this particular code, right from here to here. Essentially, if I treat this as a function block, right? Catches and catches and this is the code body that I really want to execute. And if this is a function block, what is the input to this exception, right? And it returns what another try block, right? And that to returns what a try of URL. So this is the signature of this would be what try of you. And in Java 8, this is a function that consumes an exception and returns a try of you. And why do we throw from exceptions? Why do we throw exceptions in first place? In a hope or in an expectation that the client can recover from it. That's the real essence of exceptions. But all, I mean, I'm a lot of code bases that we see. People just wrap it and put it in the log or just eat the exception, right? So we, this is what essentially recovering from failure. And if I were to come up with a method name for this, let's call this as recover with, yeah? With another function, yeah? And what does it return? What's the return type of this? It's a try block to try of you. So that is the signature of this particular block. If I take this and this is mind you happening inside failure. So first thing I'll go ahead and do is implement this method inside the failure. Yeah. Just make sure it complies with Java generics. What do I do here now? Return f dot apply. I already have the exception because that's yeah. Hey, with me so far. Just putting in exception. The earlier case was putting in a success value to the to chain it to the next block. Now we are recovering from exception. So we are going to just do this, right? Instead of the input being a value, it's now exception. Fair enough. Now again, like the earlier case, when applying this particular recovery procedure, there could be an exception. Yeah. What do I do? Wrap this in a try and now do what? Return failure of you and pass this exception. Fair enough. Same signature. If I am in success, do I need to recover from success? No. What do I do? I just pass it as it is. I'll say return this and all I have to do is cast this again to a try of you. And obviously these two methods are in the polymorphic variants. I go ahead and put it in the abstract class. And where do I now apply this? So this is before chaining. Yes. And after logging in because if this login failed, I would like to recover with Gmail login. And if that succeeded, I would go ahead and then do the two factor authentication. Makes sense. We cover with an exception comes in E. And I want to now say grab this particular piece of code. Yeah. Grab this piece of code from here. And obviously I need to wrap this in a try because this is also going to throw an exception. So this is how it's going to look like. So I'm just going to comment back all this. And let's try to run this piece of code. Let me throw an exception at this point so that we know we are heading down the recovery path. So I go to the authenticator and throw the exception here and run this code. Yeah. Inside system login. Now it's failing. It's recovering with Gmail login and then it's going inside the two factor. Yeah. Fair enough. I hope I'm not losing anybody. Okay. All right. Now let's focus on the next one. What do we do? We have, yeah, let's look at if Gmail login fails. What do we do? We have to go to login page. And if you notice this particular thing is really the same over here as well. If two factor fails, we have to go to the login page. So in essence, if you view this as a chain of computations and if any of the fails default, go to login page. That's the default handler. It's like the chain of responsibility pattern. Yeah. Where the final guy kind of says, all right. That's the default value now. Yeah. So how do I do this? All I have to do is kind of introduce or else if everything fails or else do this. And if you notice here, login page is a URL which is being constructed and dashboard page is also a URL being constructed in Java. URL construction throws exception. And that's why that kind of shows up here and rears its ugly face in here at the main. Yeah. You don't want to do that. So at this point, I have, I have two options before me. I could inline these variables, right? So in other words, what is this? If I were to talk about or else or else go to login page, right? Make sense or else go to login page. But this login also throws what an exception. So what do I do? Wrap this chap as well in a try with excellent. And that's my supplier. Yeah. Now that I've wrapped this guy in try with essentially what I've done. I've evolved the signature of or else. What's the signature of or else? Or else just takes in another try. That's the signature of or else, right? I take this out. Yeah. And we need that only in failure. And what's the simplest implementation? Return other. Yeah. Take this signature because this is a polymorphic variant. What do I do? Do nothing. Return this again or just kind of cast it to try new. Yeah. And because these are polymorphic variants, I'll go ahead abstract. Yeah. And let's try to get rid of the code which was originally comment back the code. Yeah. And let's try this out. Cannot find symbol. Oh, this is Java generics again coming in the way. I just need to do this new. And yeah, it works. Right. So now let's kind of reflect back what you've really done here. You know, if I look at this code essentially, how are we doing time? 40 minutes remaining. Okay. Okay. Thanks. All this code has now kind of turned into, I'll just reduce the font a little bit to see it here in this fashion. Yeah. So we are saying here essentially try with the sort of time we're done to 15. Sorry. So then what we can do is we are almost through. But just to wrap this up very quickly, we can take questions and we can go to unconference. And yeah. Sure. Okay. So just to, we have evolved to a monad without actually talking about the m word. Yeah. And the two functions that really define monad is chain. Yeah. And if you notice how declarative we've become log in, recover with Gmail log in, chain it to the next function for two factor or else you just have regular log in. Yeah. That's pretty much it. So I want to kind of, I wanted to show you guys how it's, you know, visualizing in terms of pipe, but the slide is up there. But if you see essentially what we have done is we have created these things. Right. We have trying with system log in, we change the next computation, we get the URL. If there is a problem, the red pipe pushes the exceptions across. So that was chaining and then chaining with recovering. I mean, chaining and recovering. And then finally, you know, we have the or else. This is a kind of complex piping or the plumbing that we've done. Yeah. So two minutes monad is just chain plus inject this notion of getting into the monad. Yeah. And then being inside the monad and just doing things. Right. But we, we didn't have time to evolve and get, you know, the get was a side effect that I, I would want to continue. But those of you who are interested can join in the unconference and I can demo that and we can take this further down. Yeah. So questions quickly while I unplug. Yeah. Simplest rate to get rid of. Oh, that's just Java syntax. Can't, can't do much here. You have to change the language. Go to another language. Yeah. So the quest. Okay. Right. So essentially his question is that while I am inside, while I'm declaratively going, I can easily visualize the happy flow. So essentially what is try of tea? It's taking care of all the exceptions and other dirty work that you would have to do. Right. Otherwise, and houses it in the context of try of tea and you have to just declare. Okay. If this happens, do this. If this happens, do that. So essentially you're just focusing on the business. Whereas the side effecting part of catching the exceptions happens within the monad. Yeah. Any other questions? All right. So we can head off and anybody who's interested can join there and I can complete this. Yeah. Thank you.


Hi everyone, Joe for jazzy's casebreaks.com coming at you with that second half of that that tops museum collection baseball case That we popped open not too long ago. This is six box Pick your team number 14 a lot of great stuff here in museum collection You saw Jason in the last video mark this five. I think that was the dice roll, but this is for Pick your team 14 very big. Thanks to everybody here to the handful of you who got their team straight up And pick your team 14 I appreciate it Tim You got last bond mojo before we pulled the remaining teams out for those two random number block randomizers Which we all did in separate videos But here are the results of the New York Yankees raise blah blah blah number block And at the end of the video will randomize Everybody's names to see who gets the non numbered cards for those teams mostly base Some non-numbered inserts and then there was another one with a different set of teams This was the Pirates one Pittsburgh one featuring all those teams Those are the numbers right here All right Six boxes here. We go. Good luck the big baseball news that broke last night Carlos Korea signing with the Giants They had they had Aaron judge money laying around did not land Aaron judge, but then they landed uh Landed a Carlos Korea what on a how many how many years plus ten plus years 13 year three hundred and fifty million dollar deal according to According to sources. This is according to ESPN. That's a lot 13 and 350. I mean I'm sure I Get the DH helps BH being in the NL certainly helps um, and I guess if the Giants win a World Series in the You know in the better parts of that deal, I suppose it's supposed to be worth it You know Yeah, that was a little bit of news there for the Dodgers. They're they picked up They're signing Noah Cinder guard to a one-year deal classic Dodgers move. They've got a good coaching staff Got a good pitching coach and Mark Pryor And that's just and actually Cinder guard actually had a decent Stretch with the with the Phillies. All right, there's Mike Piazza 92 out of 99 So I'm sure the Dodgers can get a little more out of him as well, especially with with the way they've been able to Work with guys like Tyler Anderson last year Andrew Heaney last year and kind of puts a little Puts a solid pitcher into that into that rotation. I guess he liked something the Southern California area. Where is he from Oliver? Do you have any idea? He's only 30 There's Cody Belanger With the Cubs now So the uniform change Won't look too different Sylvia in a blue palette there Cubs are a number block team part of that Pittsburgh group So that's 83 out of 99. So if you're not familiar with it, we go by that digit right there Not that one that one 83 out of 99 or Dodgers 3 sorry. Oh dogs are not a number block team. That's for Ed. Sorry. It's still Dodgers edition here Ed P with the Dodgers Sometimes we can we can see the actual sketch card itself. Not the route not just the reproduction. There's Ken Griffey, Jr Nice two color patch 33 out of 35 Daniel D low with the Ems Justin what's going on? How are you? behind Blake Snell is Byron Buxton 45 out of 50 Twins that's for Oliver Mark what's going on? How are you? Good evening behind Xander Bogarts is Josh Donaldson? That's a nice looking patch 8 out of 15 Yankees are a number block group part of the Yankees raise Royals etc etc a number block route so like I was saying before we go by That digit right there So that's 8 out of 15 Yankees 8 will be for Ed P and That's our first box next box I Was looking at Cindergarten apparently it's one year 13 million with 1.5 million dollars in incentive Yeah, he was healthy enough to make 24 starts. I'll take that Looked a little bit better in the In a Philly's uniform This fastballs down for him, but still still mid 90s The ERA not not so good But I think he went deep enough into games to still get still get decisions It's kind of all it's kind of all you really need from a guy you want in your mid to back into the rotation this is just Haven't just gobble up some innings maybe get some W's again very similar to the Tyler Anderson Andrew Heaney kind of deals And and both of them went on to get paid I think Carlos Rodone still looking for a Look for like a six seven-year deal. I think I mean someone's gonna give it to him, right? There's Anthony Rizzo 47 out of 150. He's back with the Yankees Razor I guess Dodger's acquiring a JP fire Sian fair Sian You're gonna get a minor league pitcher back after you It'll just be I think he's still controllable through arbitration Gonna put him on the IL That's sort of a longer play And he's not gonna pitch much this season, but it should be a bit of a reclamation project there All right Shane Bos Reveals an Ian Hap dual relic and autograph 267 out of 399 so Cubs 7 Part of the Pittsburgh group Cubs 7 is Barry Roberts last spot mojo Quad relic Alex Gordon 32 out of 99 Royals 2 it's part of the Yankees group on the other side over here Brian Crouch Jacob de Grom and a Buster Posey relic 2 out of 50 That's for the Giants. That's part of the Pittsburgh number block group. So Giants 2 Chris parent with the relic Behind George Kirby is hollow Neil 112 out of 125 archival autographs. So Yankees 2 Brian Brian Crouch with that one you have on TV here ESPN nicks at bowls Nixer up 21 13 Five minutes left in the first quarter Lou J's ended up with Kevin crime there, huh? So now Dan's me Swanson remains the last shortstop on the market I mean if all if these other short stops are getting this kind of money, what's what's he gonna get? Cardinals are one of the many teams to be connected to lefty Carl's for Done But reports that it's unlikely the card is gonna shell out the money in the years The last report on his asking price apparently he's looking for over 200 million dollars Guaranteed on a deal of seven years or longer Spencer Torvalson 98 out of 99 It'll be for the Tigers part of the number block group Yankees number block group Detroit 8 It's gonna be for Ed Pete. All right behind the babe is Griffin Jacks 16 out of 25 nice three-color patch some meaningful material For Oliver and the twins Jack Flaherty 45 out of 125 archival autograph News flash might have Dan's be Swanson signing with the Dodgers or with the Jaspies the Jaspies for five million dollars in break credit That's a nice and excellent deal. That's an excellent deal Cardinals part of the Yankees number block group. So they'll go to st. Louis 5 That'll be for John John H Behind Chris Bryant is another Cardinal Triple relic and autograph. That's pretty cool. He's of his lumber right there as well Got the Cardinals cream color and the Cardinals powder blue Nolan Aronato's autograph nice looking one 20 out of 199 so that goes to st. Louis zero And that will be for That'll be for Mark Mark L behind Nolan is JT real Muto 3 out of 99 Quad relic for Ed P and the Phillies. I'd got the Phillies straight up in this one Justin's like I don't know how how I'd spend five million dollars in break credit and just buy like anything anything NT related and then cases of cases of a Bowman and Bowman draft And then just sit on those those draft picks for years Yeah, splat some eminence in there too, especially like eminence hoops Some of those RPAs out of eminence hoops Pretty nice Bobby with junior in there numbered There's a Willie Mays numbered card 67 out of 150 that'll go to Pittsburgh 7 It's gonna go to Barry and The Bobby with junior is going to go to Kansas City 3 It's on the other side It's Jason K. Nice and a base Torkelson. All right behind Juan Soto is Garrett Anderson 138 out of 299 mark s with the Angels and we've got Kessen here two out of 50 Milwaukee part of the Pittsburgh group. It'll be for Chris parent With Milwaukee to get a piece of Kessen here is Jersey non-numbered out of the way All right behind Piazza Is a hunter doger Piece of his lumber piece of his jersey and his auto For the Royals can city a number block team So that goes to Kansas City for Bobby with the number four last spot mojo in that number block All right, and the last one here is a Quartet of Brewers Christian Yelts Josh Hader Corbin burns and Kessen here at 46 out of 75 Milwaukee 6 It's for Joe Joe Simone with Milwaukee 6 Milwaukee came out and said they're not moving Might be just GM gamesmanship, but they said they're not moving Corbin burns or will ya Dennis as had been rumored Giant signing Ross triple Did I do a dimension Matt Boyd Tigers? Minor moves here, but royal signing Ryan Yarbrough Guardians sign Mike Zunino pirate sign Vince Alaska's So looks like aside from Rodone and Dan's be like for the two bigger free agent names that are left I still could get 150 200 150 million plus type contracts. I think everyone else now all the other sort of Fringe free agents being snapped up on those short inexpensive deals, and then I would think that the There's the frame Nice I don't think that the trade market might heat up a little bit I would think that my daughters will be involved a little bit more in the trade market that says Suzuki 61 out of 150 cubs one is For is for Joe and there's a wander Franco rookie card here as well for the raise We'll be part of that non numbered randomizer All right behind Joe Ryan is Brandon low Brandon Lau Nate low Brandon Lau Derek low dual relic and autograph for the rays Rays are part of the New York Yankees number block group. So I go to 10 that'll go to 10 base 0 That is on that side that'll be for mark mark L Then a Jose L2 base 79 added 99 quad relic for the Astros Ed P Picked up the Astros straight up behind the big hurt is Blake Snell 5 out of 10 three color patch meaningful material Padres Picked up straight up by Andrew and the frame behind Johnny Bench is Gold ink autograph three out of ten future Dodger show hey, oh Tani Wow And then mark s that's for mark s picked up the angels straight up looking for stuff like this Nice low number gold ink autograph nice gold frame Real sharp very nice All right final box That's the case it to one what usually one gold Gold frame auto her case on average what a beaut right looking real good looking real nice We've got the TV TV out there with the with the stream on our one of our TVs and People are like oh joy Here the whispers out there. All right final box Hey, if you're liking this museum collection, guess what we just loaded up another half case break Pick your team from a fresh case So go to jasky's case breaks calm right now and pick your teams no fillers yet Miggie Miguel Cabrera 98 out of 99 tigers eight Ed P final set of hits Got a Griffin Jacks 32 out of 35 for Oliver and the twins a nice color in there Pops, you haven't seen a one of these and like an actual sketch card in a while Let's see another one of those there's Austin Barnes archival autographs 88 out of 299 Ed and the Dodgers And we got another hunter Dozier lumber and Jersey 44 out of 50 that's going to go to Royals for And that's for Bobby The the other hunter Dozier was also for number four So Bobby's getting his hunter Dozier PC going whether he intended to or not and the last one Miguel Cabrera 19 out of 75. I think he's hanging it up after the 2023 season But definitely first bout career Tigers nine part of the Yankees group Detroit nine for Alex There you go Alex and there you go everybody really nice break now. Let's see who's gonna get those non numbered cards So let's flip back to round on org. This is for the For that Yankees group That's what Bobby would last spot mojo and then the other one is the Pittsburgh group with Barry would last spot mojo So you can tell the difference One dice roll for both lists name on top gets those non numbered cards for their respective teams snake eyes easy two times One and two There you go Bobby last spot mojo strikes again got some hits And you're gonna get those that stack of non numbered cards for those teams Snake eyes two times for the other list one and two Joe up there Joe Simone you'll get those non numbered base cards for your Team group right there. There you go gang. I'm Joe for jazby's case breaks calm Thanks for watching. Thanks for breaking with us, and I'll see you next time for the next baseball break. Bye. Bye


So, you just started Blender and you're not too comfortable with the different modes or understand how they relate together. Not a problem. In the next 60 seconds, you'll not only understand how they work but how you can navigate through them. Alright, let's do this. Object mode is the default. In this mode, you can interact and change the size, rotation and position of your objects or your rig armature. Edit mode is where you can change the vertex information of a mesh or adjust the bones in your rig. Pose mode is where you can grab the bones in your rig to test animations. If you have a mesh selected in object mode, you'll then have access to the Sculpt, Vertex, Weight and Texture paint modes. Now, here is the important part. The modes you have access to depend on the last thing you clicked. What do I mean by that? Well, for example, if the last thing you clicked was your object mesh, the available modes will then be Object, Edit, Sculpt, Vertex, Weight and Texture. However, if the last thing that you clicked on was your armature rig, instead, then the available modes will then be Object, Edit and Pose. So why does this matter? Well, let's just say that you're in object mode and you hide your rig in order to mess with or fix some points. You'll soon learn that you cannot go to pose mode from object mode while you've hidden your rig. You have to unhide the rig first and then click on it and then go to pose mode. The opposite is true as well. If you have hidden your mesh in object mode, you cannot access weight paint mode until you've unhid your object and selected it. So remember, you can only access modes dependent on the last thing you clicked. And that's it. That is everything you need to know about navigating the different modes through Blender. Hope that helps. Thank you so much for watching. If you enjoyed this video, please don't forget to like and subscribe. Hope you have a fantastic day and I'll see you around.


I wish I could say this was all sweat. No, been working all day in Arberg and it was decent. It was cloudy, kind of humid, but just as we were finishing up the last little bit it just started pouring. So at least it didn't pour the entire day but I got soaked right at the end. So good thing I brought along my extra sweater because I thought I might need it. It's nice to have a dry sweater. My pants are soaked but I'll be fine. I got a two hour drive back now. Just got a phone call the highway driver's work. Of course he is. Here I come. They haven't given the paperwork and I'm headed home for the weekend. Friday, and I took this route. You know what that means?  Just kidding, but totally forgot. Wasn't thinking about this around but it takes a lot longer to go around the other way. It shouldn't be too bad. I mean, we can, we'll figure it out. Just the scented intersection. Why it's about on both directions? I can't see the traffic coming that well. And I gotta get across here in a 75 foot unit and traffic's flying past in both directions at 100 kilometers an hour and you can't see them coming till it's pretty much too late. So here we go. Let the fun begin. Two four-wheelers in front of me. They won't have a problem getting across. Like it's not hard to get across in a car. It's in a 75 foot unit.  And I can't just cross one side and wait where that white car is there because then I'm blocking this traffic here and if people aren't paying attention like you know a lot of people aren't they can slam right into me. Mr. Forbes going for it. He's gonna wait in the middle there though. See I need both ways, both directions to be clear. We've made it. The grass has grown again. Needs a good cutting. It is looking pretty nice if you ask me. Oh, those bushes are already growing. Man, those things don't, they don't waste any time. Yes, I gotta get those roots pulled out of there. Oh, we gotta mow down again. Even moved the camper out of its spot there to mow underneath there. Only putting gravel or something underneath there soon. Gotta do it properly. So for now, just got it out of the way. What a beautiful day. Let's park her again and get headed home. Hey buddy, oh and Chevy. Sunday has turned out to be a be-gorgeous day that is beautiful and gorgeous at the exact same moment. A lot of cloud in the sky. There's a whole bunch of oxygen. Look at that. Trees are still standing. Obviously I have to mention that because I mentioned it quite a bit. Still there. So today is my day I have to mow this or it's my day to mow all of this and get it all looking good again. Look at these flowers back here though. I'm not much of a flower person myself but my wife really likes them and I like to see them. I like though how she makes the yard look all good. I'm just not very good at taking care of them and stuff but I like them. Look how big and fluffy these things are already. Is that the right word? Fluffy? There it is. Oh, I thought we had one here. I guess she moved it. Diesel, did you move it? It's probably on the front porch. All right, I need to go get some shoes on and pull out the old beast or push more. Get some stuff done. Dang, but who's got the green grass now? I don't know what happened over there but they cut it down real nice. It looks real good. Now you take really good care of it but the grass does seem to be greener on this side of the fence I'm just saying. And yes, that is an absolute challenge to my neighbor. Next on the list for this beautiful Sunday gotta wash the vehicles. Whoa, whoa, apparently somebody didn't roll the hose back up properly.  That's a pain, that's a pain. My weekend, it was a nice relaxing weekend. It was a hot weekend. It would have been a great weekend to have a motorcycle. You thought I could get through a whole vlog without talking about it. Ha, ha, don't underestimate me. I've got a one track mind. But jokes aside, we'll have it soon enough. Back in the truck, this is the next day so I don't wanna spoil it for you. You'll have to tune in tomorrow. We make a new video almost every day. Usually on Monday to Friday and something like this for the weekend if you're new here. Welcome everybody's welcome here. Hope you guys subscribe, stick around. Love to have you. I've been making videos every day like this for close to 10 years now. So we've been through a lot of things and a lot of changes and I'm excited to see what tomorrow brings. Every day is a gift. I'm starting to realize that. And a couple of our good friends this weekend, their dog passed away unexpectedly. It was tragic. It's a terrible situation. And you never know when the people or the pets that you love will be gone, right? So really, really try to make every day count as if it's your last because you never know. It just might be, we never know. So just make it count. Tomorrow's vlog, we'll be here back in the truck. We got a whole bunch of other things happening and I'll see you then. Take care and make the most of the day.


Come with me Long be unbroken Gift of old Bless the righteousness Guide my hand The important thing in life always be the people in this room Right here Right now There's still reason over yet There's still a page left