Welcome to the session. Let us discuss the following question. The question says, integrate the following functions f dash a x plus b into f of a x plus b to the power n. Let's now begin with the solution. Let i is equal to integral of f dash a x plus b into f of a x plus b to the power n with respect to x. Now put of a x plus b as t. This implies f dash a x plus b into a is equal to dt by dx. This implies dash a x plus b into dx is equal to dt by a. So by substituting in place of f of a x plus b and dt by a in place of f dash a x plus b dx, we get i as integral of with respect to t into 1 by a. We know that integral of x to the power n with respect to x is equal to x to the power n plus 1 by n plus 1 plus c. So using this formula, integral of t to the power n with respect to t is equal to n plus 1 by n plus 1 plus c. Now t is equal to, this is equal to 1 by a into plus b to the power n by n plus 1 plus c. Be patient. Bye and take care.


So, in the last class, we talked about how to, we basically discussed the conditions that are transient and the recurrent states need to satisfy. So, basically we said that how to classify a irreducible discrete time Markov chain into positive recurrent, basically we said how to classify it as recurrent and transient. So, we basically said that if we have a Q matrix which is basically derived from transition probability matrix by eliminating one particular state and then we looked at equation of the form y equals to Q y and what would we say if the solution of this y equals to Q y such that if y is 0 then what would we say? So, if the solution then we said it is going to be recurrent, right. So, and also we had said that the y equals to Q y equation will have only two will be solution will be such that the y will be either all 0 vector or it will be such that supremum over yi will be equals to 1. So, these two solutions are possible when I look at y equals to Q y, but among the two solutions if I get y equals to 0 as the solution then I said we said that my reducible DTMC is recurrent otherwise it is transient. And when I know it recurrent I know further how to classify it as positive recurrent or null recurrent, right. How I do that? I look for a solution of the form pi equals to pi p if I can find a solution which is a probability vector and it has all stick positive values in it then I know it is going to be a positive recurrent otherwise it is it has to be null recurrent. So, today we are going to apply these results on a simple queuing model. So, let us consider a Q and let us say I have this periodic times here T0, T1, T2 like that and Tn. So, in each of this time slot let us assume that there is arrives a one customer with certain probability and also when a customer arrives if there are already multiple guys in this queue is just going to join the queue and when there are multiple people in the queue the guy who is in the front is going to get served. And when we will assume that in each slot one guy is going to get served and going to leave the queue. So, let us say that in each round n one guy arrive with probability lambda and there is no guy with probability and similarly I am going to say that dn equals to 1 with probability mu and 0 probability 1 plus mu. So, I am saying that. So, if you are in round Tn one going to arrive in this round is going to be probabilistic one guy arrives with probability 1, one guy arrives with probability lambda otherwise no guy arrives. Similarly, let us say there are already some guys in round del n one guy will be getting served in the server. He will complete his service and leave in the nth round with probability mu. Naturally, if there is no guys in the queue then the server is not going to serve anybody. So, we are going to assume there is a guy departing the queue only when somebody is being served or when the queue is going to be non-empty. So, in a way this is going to capture our arrival. So, this lambda is going to capture our arrival rate. So, this lambda n basically defines our arrival process in a way and then this mu i capture our. So, it is basically service, but I am adding the word virtual because if there is nobody in the queue I am going to assume there is no need to serve anybody only when there is somebody then I need to serve. So, I am just to account for this fact I am just going to call it as virtual service rate as mu. This is basically arrivals in round n this alpha n characterizes whether there is going to be arrival or not. We are going to say this is the arrival in random variable. So, arrivals are random and how that is defined? It is defined like this. It is going to arrive with probability lambda or otherwise no. So, the sequence of alpha n basically defines your arrival process. Similarly, alpha n defines your sequence of virtual service process. So, if you are going to take one slot let us say between t 1 here, we are going to say that whatever that happens the arrival here and departure in this we are going to take it as this is going to be characterized like this. So, we will try to make it more precise when we are going to write the state diagrams here. At any time slot t n we are going to denote xn as number of customers in queue. So, suppose let us say you are interested in this slot tn at the beginning of tn I am going to make it actually tn plus here. What does this mean? Just at the start of tn how many customers are there in the system you are going to denote it as xn here. Now, let us come back to this. So, one guy can arrive in this with probability alpha n. Next guy can arrive in this with probability alpha n like this. So, if and this is going to be with the same probability this lambdas are constant. The probability that a person arrives in a one slot is going to be fixed that is going to happen with probability lambda. Now, this is a Bernoulli random variable in each round somebody arriving and the entire process is like a Bernoulli process. Now, if I am interested in arrival between two customers let us take any instant when a customer arrived and the next instance or the number of slots after which the next customer arrives. How that is going to be distributed? Exponentially it is going to be what? Suppose let us say at some point one guy has come in the next slot one more guy can come with probability lambda or he may not come with 1 minus lambda. After that if he does not come he may come in the slot following that with probability lambda. If he does not come he may come in the two slots after that. So, if I am going to say that if I want let us say if I am going to denote capital T as a random variable that denotes arrival time between two customers how that T will be distributed as? It is going to be geometric distributed with what probability with what parameter? It is going to be still lambda and what about if I am going to say let us say now let us say T is the time slot between departure of two customers from my queue. How that T is going to be distributed as? Again geometric with what parameter? It is going to be distributed with mu, right? Let us say at the beginning of just at the start of Tn plus this is denotes how many customers are there in my queue and then how can I write this process now? I can write this process as Xn plus. So, one thing is definitely depends on how many people are there in the previous slot, right? And in this if the next slot if our guy is departing then I am going to remove one from this but I am going to add a plus here plus alpha n plus 1. So, if suppose let us say at any point my Xn is 0 that means there are no waiting there are no customers in the queue. Then even though I have written delta as the probability that somebody leaves with probability mu then actually there is nobody living there, right? Even if it is one living somebody then 0 minus 1 is minus 1 I will just by plus will make it 0. So, it will basically take the positive when it will any negative value it will truncate to 0, okay? So, only when this Xn is going to be get at least one then somebody can depart and then this can become 0, right? So, that is the meaning of when I said virtual because I can only serve somebody when there is somebody in the, right? Delta n plus 1 is 0 by our interpretation but the way we have written it. So, when I wrote this delta n process I did not care about whether there were some people in the queue or not I just thought about like when somebody going from this is going to happen this but somebody there is there somebody really to account for that I have to add this part only when this where it can be a departure that is defined by this process only when Xn is at least one, okay? So, the way to think about this is normally Xn, okay? If this quantity happens to be negative then I will just take it as a 0, okay? Okay, fine. So, what is this is saying in the n plus 1th round whatever if whatever I have in the Xnth round if somebody is going to leave then I will be reduced and if something is arriving then I am going to get increased. So, this is what captures the dynamics of this number of customers in the queue, is this fine? Now the question is if I have a sequence of random variables like this which have defined in this fashion does this sequence forms a DTMC? So, if I tell you what is already Xn you know what is the value possible values Xn plus 1 is taking, right? Suppose let us say Xn at any point n is i what are the possible value of Xn plus 1? So, it can be go one below let us assume this i is strictly at least one there is some one guy at least in the queue then it is going to be i minus 1, right? And can you calculate is it possible for you to calculate what is the probability that it will go to i minus 1 and or i or i plus 1, right? It can be computed based on the values of this lambda and mu. And when this i equals to 0 here what is the possible values of Xn plus 1? It can be either 0 or 1, right? So, it cannot go negative here it cannot be minus 1 that is the reason we have put plus 1 here to account for that case, okay? So, okay let us take when I said Xn plus 1, right? This is at the beginning of this instance and now how I am counting whatever Xn plus 1 whatever the value I had here and this delta n plus 1 this is the arrival that has happened in the n plus 1th round, right? That can happen anywhere here in the n plus 1th round and what about this delta n plus 1 where this departure I am actually counting? This is now our convention basically I can just take it this departure all that that departure happened just before Pn plus 1 because this we have to this we can take as our convention. So, this alpha n plus 1 can happen anywhere here but I can take this departure that has happened just before I started my this lot here, okay? Okay then I do not worry about what is the departure happening in this lot I will just take all the departure that has happened before just beginning of my Tn plus 1 slot here, okay? Okay now let us try to understand how does the states of this Markov chain look like? So, what are the possible states of this Markov chain? So, suppose let us say at this point I have Xn now when I go to this point I can take into account all the departures and arrivals that has happened in the entire interval, right? So, and that I want to get affected when I am going to count it at Xn plus 1. So, if I want to get counted, okay the way we have defined delta n plus 1 this is just all the departure as that has happened just before this that departure we have taken into account in Xn plus 1 but what about okay let us see if I do that then only it gets captured when I measured at the just beginning of Tn plus 1, right? Okay so let us write this then so Tn plus 1 is a arrival between and I am going to write it as alpha n plus 1. So, this is a departure, right? And also this is going to be arrival again this is going to be between Tn and I have excluded Tn plus 1 slot in that, okay? So, now X my state space S is going to be 0, 1, 2, all the way up to this. Now what is going to be the transition probability matrix of this Markov chain? How it is going to look like? So, instead of transition probability matrix let us try to draw transition diagram. So, my states are 0, 1, 2 let us say n and n plus 1 and then it continues. From state 0 what all the possible states I can jump to? I can go here and I can remain here. What are these probabilities? So, when I am 0 I can remain at 0 if no arrival happens, right? What is the probability of no arrival? 1 minus lambda and this is going to be lambda here. And now when I am at state 1 what are the possible transitions? What is the probability I go from 1 to 2? So, it should be the case that a new arrival happens and nobody departures, right? And then what is the probability that I go from 1 to 0 there is a departure and no arrival. And is it possible I can stay in the state 1 itself and what is that probability? So, similarly you can fill all these, okay? So, just to complete what is this going to be? So, let us take it what are the pros? So, from n minus 1 I can come to n what is this probability is going to be? It is going to be lambda into 1 minus mu and what is this going to be? Mu into 1 minus lambda and this self-loop probability is going to be again going to be this. So, we have this description, we have we know it is a Markov chain, it has this transition diagram. Now we want to see whether it is irreducible and in that case what type of class it is? Is this an irreducible Markov chain? So, can you can you reach any state from any state? Okay irreducible Markov. Now what about can you say anything about whether it is a positive recurrent, null recurrent or transient now? So, if you want to claim it is positive recurrent, how you are going to do that? So, one possibility is if your initial interest is just want to see whether it is a transient or recurrent, one thing you can do is you can pick up a state i and try to see if f i i equals to 1 or strictly less than 1. Is that f i i's are easy to compute in this case? Okay let us instead of taking that I mean of course you can compute f i i always but with lot of taking into account all the possible combinations of how I can reach i again after certain number of rounds but instead of that let us try to use our results that we have stated and proved. So, if you want to argue that irreducible DTMC is going to be positive recurrent, what is you need to verify? So, you want to check whether so check for positive recurrence okay you want to check whether there exist pi equals to pi p such that summation of pi equals to 1 and pi i equals to 0 okay. Let us verify whether this I can find such a pi for this transition matrix P the P is given by this transition diagram here okay. So, this P is given by the transition diagram now let us try to see whether I can compute this pi here and then check whether it satisfies this property. So, this pi equals to pi p means we have many equations here right let us try to write each of those equations. So, let us write the first in this what is pi 0 is going to be? So, what is the first equation is going to be? So, if you look into this what will the first row consist of? The first row will be 1 minus lambda and lambda right. So, what is then you expect this to be into lambda now what is your P is going to look like let us write it for something. So, 0 to 0 is 1 minus lambda and all 0s right and then what will be second row is going to look like okay. So, this complicated thing right let us call me I am just writing that complicated things by dash dash and what is the next thing lambda into? So, what will be the first equation when I am going to write? So, pi 0 is going to be my pi vector multiplied by this column vector right. So, what is that in that case it is going to be pi 0 into this and pi 1 into this quantity right. I have this relation which I will going to write it and after simplification you can see that if I do like this I get it as pi 0 into 1 minus mu into lambda by mu into 1 minus mu divided by 1 minus lambda just verify I have just whatever that equation there I have simplified it okay. Now, let us write the relation for pi 1. So, what is the pi 1 relation is going to look like? The pi 1 relation is now going to multiply the second column here right. So, that is going to be at least lambda into pi 0 plus that the whole thing 1 minus mu into 1 minus lambda minus lambda into 1 minus mu to pi 1 and what is this term here can anybody say is this mu into 1 minus lambda. So, what is this I want to go from second state to first state right second state to first state this is going to be lambda 1 minus mu oh sorry I want to go this one quantity right mu into 1 minus and I know after this it is all going to be 0. So, this is going to be pi 2 into mu into 1 minus lambda okay. Now, I want to plug in whatever the quantity I have for pi 1 here and write the expression for pi 2 okay I can do that right like you can again verify that after simplifying I am going to get it as pi 2 as pi 1 into lambda by mu into 1 minus mu 1 minus lambda here and as you continue to do this you will see that pi n can be written as pi n minus 1 times lambda minus mu and 1 minus mu 1 minus lambda okay. I have just simplified that you can verify all these things okay. So, now good I have this then I will do a recursion on pi n minus 1 like that I can do like this and then actually after doing this what I can get everything in terms of pi 0 into lambda by n to the power n and 1 minus mu 1 minus lambda to the power n. Is this fine? So, now actually this is going to be n minus 1 here and after this is n, but what I will exactly get is I will have 1 other 1 minus mu here because of this guy 1 minus mu here okay. So, if you just do this recursion you have this pi naught which is in this format okay pi n for all n I have written in terms of pi 0. So, I will get this equation for all n greater than or equals to 1 right. Now, I will look for this I also need to see whether. So, to find this here my pi naught is my free variable right. Once I know my pi naught I will get all the pi n's for n greater than or equals to 1 right. So, to get this pi naught what I can do I know this summation pi of n is going to be 0 right. So, this is starting from 0 right. So, now I have pi 0 plus all these quantities. So, n equals to 1 to infinity I am going to pull this pi naught out this is going to be 1 minus mu times lambda n to the power n into 1 minus mu 1 minus lambda to the power n I will just simplify the things and this I want this is equals to 1 okay. Now, let us if you simplify this quantities what you find is pi naught plus 1 upon 1 minus mu. So, if you this whole quantity if you are going to.  So, why I did so here notice that n was running from n 1 to infinity right. Now, I have letting n go from 0 to infinity for n equals to 0 I have got 1. So, to eradicate that I have subtracted minus 1 from here okay. Is this clear how did I do this just like manipulation you can work out yourself okay. Now, let us see I want this to be equals to 1 when I can find a when I can find when the solution here makes sense for pi naught okay. Let us see suppose now right now I have taken lambda mu to be something some probabilities right which are between 0 and 1. Now, let us assume that lambda is strictly less than mu okay. So, if lambda is strictly less than mu lambda by mu is going to be less than 1 right and also 1 minus mu 1 minus lambda is also going to be less than 1. So, this product is going to be less than 1 okay. So, I have now I have a geometric series where the ratio is less than 1 right strictly less than 1. So, this guy converge right. So, for this case I can write this after simplification as. So, this simplifies a lot and just turns out to be 1 upon mu minus lambda equals to 1 because I started from n equals to 0 right. So, I have this if you just going to simplify this what you are going to get you get pi naught equals to this lambda. So, you are going to get mu mu divided by mu minus lambda. So, what you are going to get is 1 minus lambda by mu. So, suppose if that is the case lambda is less than mu you will end up with a solution pi naught which is equals to this. Now, we have a complete solution under this assumption pi naught lambda by mu is going to be less than 1. So, this is a pi naught is a quantity which is less than 1 and also positive and now if you go back and plug this pi naught here I will have all the pi n's which are strictly positive and I have ensured that those pi n's add up to 1 right. So, when this lambda is less than mu I have been able to find a relation pi equals to pi p which satisfies this condition. So, now can I claim that when lambda is going to be less than mu my irreducible DTMC is a positive recurrent right that is what my theorem said. Now, let us take the case when lambda is going to be greater than or equals to mu. When lambda is going to be greater than or equals to mu what happens to this quantity? So, lambda by mu is going to be greater than 1 this ratio is also going to be greater than 1. So, this whole quantity diverges. So, because of this the only possible solution for pi naught is going to be 0 and if you plug in this 0 all my pi n's are going to be 0. So, I will not end up with a solution here. So, the solution in that case happens to be pi equals to pi p happens to be 0 in this case right when I have lambda. So, somebody other day I was asking right when is it possible the only possible solution to pi equals to pi p can be 0. So, here you have a situation when lambda happens to be greater than mu I will end up with this. So, in that case it is not going to be positive recurrent right. So, so, now recall that the our result says that it is positive recurrent if and only if this condition happens in the case where lambda is greater than or equals to mu this condition does not happen. So, it cannot be positive recurrent. So, so maybe when lambda is going to be greater than or equals to mu either it has to be transient or null recurrent right. Now, how to verify that it is transient or null recurrent?


Alright, well welcome everyone to this panel talk here and the title is trends in enterprise open source and you know we've already heard a lot in the keynotes about you know some of the things we're seeing in enterprise open source specifically around security and angles like that and I think here we're going to broaden more on an IT infrastructure aspect and seeing how we're seeing some of the interactions there especially as that is evolving and continues to evolve and we got a great set of panelists here that are going to kind of help talk about this from a number of different perspectives. I want to start off first in the middle here with just because that's the way it's in the slides I should honor it. With Misty Decker of Microfocus, Misty I don't know if you can introduce yourself. Yes my name is Misty and I am prone to singing. So I work at Microfocus and I am the director of product marketing. I've been there for not quite two years after spending 30 years at IBM all in mainframes. So a lot of what I do for my day job overlaps with what I do with the Linux Foundation and that is advocating for mainframe modernization both by modernizing on the mainframe and modernizing by moving applications off. And I do that in my role as chair of the mainframe modernization working group at the open mainframe project. And I'm also lucky enough to serve on the board for the open mainframe project. Awesome. Thank you Misty. Next, right next to me here, Len Santoluccia of ViCom Infinity. Hello everyone, Len Santoluccia. I'm the CTO and business development manager at ViCom Infinity. We are a converged company as of a year ago. And we are focused on the IBM mainframe ever since the inception of ViCom Infinity. I like Misty was a former IBM-er myself. I worked at IBM right here in New York on the Wall Street area for little over 31 years. And then when I retired in 2008 from IBM I came to work here. I've been here ever since. And next year I'll be celebrating my 50th year in the business of the mainframe. Awesome. Thank you, Len. And last certainly not least, Alex Kim of IBM. So we have two former IBM-ers and a current IBM-er. Yeah, that tells something, right? Hi everyone. My name is Alex Kim from IBM Research. I support many open source projects from IBM Research. Currently doing business development and also open source advocate. And partially I lead a small incubation project for open mainframe project called Zebra under Zoe. And I serve the financial sector clients about 15 years so far. And I was a chip designer in the beginning of my career and a mainframe crypto chip and then serve the large systems in financial sector. And right now there are many, you know, aspect of open source in the enterprise space that, you know, our research colleagues contribute and as part of the open mainframe project that we can have some interactions, very interesting interactions with our team and as well as, you know, mainframe foundation, open mainframe project. Awesome. Thank you. So the theme that we kind of really want to hit on is if you look at enterprise computing over the past few decades, it's sort of has transformed where an enterprise was looking for software and services. They wouldn't found a vendor. That vendor gave them this is all the things that we provide. You kind of signed on with that vendor.  That's sort of where some of the famous sayings of you don't get fired for filling the blank companies are probably came from.  Different business units come together, you know, some of the decision making changes in different areas and you all of a sudden end up with this sort of one might look at it as a spaghetti code of infrastructure, but another kind of looks at it as, you know, hybrid and, you know, different pieces of legacy infrastructure that one might be inheriting. And back, you know, not too long ago, people would look at that and say, oh, geez, well, that's just kind of, you know, the cost of doing business. You inherit all these pieces. You inherit all these old systems. You inherit all these different approaches and you kind of have to, you know, figure out how to weave them together. But one trend that I think I know I personally have seen and I think a lot of these folks in this panel have seen is no longer is that kind of that cost of doing business, but instead that's a competitive advantage because forward thinking enterprises sit back and think, you know, if I want to be just as good in an IT customer engagement aspect as my competitors, I would call up my fill in the blank vendor rep and have them fill in and give me exactly what's off the shelf. But my ability to uniquely engage my customer, you know, not only is just me from a business standpoint, but me from an IT standpoint and the systems and tooling that I built up, that's a competitive advantage to me. And what that means is enterprises are more and more, you know, hybrid. They probably all along have been very hybrid, but now it's sort of coming to the forefront is, you know, we've seen cloud take off and we also see edge take off and all sorts of different computing infrastructure. So I want to throw this sort of first question to the group here. Oops, I skipped too many ahead. Why do you all see enterprises embracing hybrid? Whoever wants to jump on that one first? Go for it. Okay. Hybrid is becoming popular because, first of all, it helps them protect the investment that they already have made for many, many years with their legacy, traditional systems they have in place, and then leverage them with the newer technologies that are available in public and private clouds. And hence that produces what we all know now today as a hybrid environment. One of the things that I've noticed over the last 50 years is history has a tendency to repeat itself. And if you look at the many times of things trying to replace mainframes over the years, PCs, sun systems, 86 clusters, you know, things like that over time, they all still seem to have the need for the legacy mainframe systems to hang around because that's where a lot of the data resides that they need. So the people that have gotten smart at this now are those that have gone by way of hybrid. The blending of the different worlds leveraging each other's strength instead of trying to play them against each other. And it's really been working out quite well. That's kind of things I've been seeing. I'd like to add to that, if I may. Go for it. I've developed a new pet peeve. There's a word that I've come to hate and the word is the, T-H-E, the, because so often people talk about the best way, the way, the best platform. And I don't think there is one best way. Hybrid is becoming popular among a range of options. There is modernizing on the mainframe. That's one way. Modernizing by moving everything off of the mainframe. That's another way. And there's also modernizing by having a hybrid approach. So I struggle with this implication when people say the that there's only one way. And a lot of what I've been trying to advocate for is step back away from that innate desire to find the best because there isn't the best. We don't need to have that philosophical debate about, is it the mainframe or is it cloud or is it hybrid? It's irrelevant. The debate is what's best for that application. What is best for that business? It also, it also helps that the hybrid does not roll very well off the tongue. So go ahead, Alex. I think it means they had a great point where putting things where it makes sense where it does the best, right? I used it though, but different different aspect, right? So everybody in financial sector here probably, you know, been living in multi-vendor, multi-solutions, not only one vendor, right? You always have a backup plan.   And hybrid is just format of those infrastructure being in the right place, I think, and take advantage of the, you know, being agile and being, you know, taking advantage of, you know, putting the best solution out there and such as like, you know, using the right API for your banking solutions and exchanging the data with other partners, you always come to the right place to choose right solution. And with this modern, you know, computing world, we always have, you know, best platform to put the right workload.  And other, you know, places can make more sense to put other, you know, upfront transactions services, too. So one of the kind of, and as you can see, we are here, we have a crowd that definitely has a lot of experience in the mainframe industry. And one of, I guess you could say the dirty words in mainframe is called modernization. And it's often because it's such a loaded term, you know, one might even consider it a cover term for, you know, for moving things, you know, away from that architecture. And to be honest, I think it's also one that kind of, you know, prevails to any sort of legacy technology, you know, let's move away from, you know, this data center we maintain to a cloud, you know, let's move away from, you know, what we might have been doing before computing to maybe edge computing, you know, let's move away from, you know, a Windows-based system to Linux, all those things. Modernization kind of has always had that sort of veil of rip and replace. But that's not really necessarily the case. And Misty, I think you'd mentioned modernization as a big passion of yours. I know I've hit a nerve there. So start talking. Modernization is my favorite word. So if you talk to a mainframe company like IBM, they'll use modernization to mean updating in place on your mainframe. And let's say you're changing your development process to DevOps on the mainframe. If you talk to a non-mainframe company, a company that's not making money in the mainframe, like a cloud vendor, they use that term to mean moving off the mainframe. And I did a Google search and I found fully 50% of the articles assume you understand that modernization means in place. And 50% of the articles assume that you know modernization means moving off. That's a lot of confusion. So I am on a mission to redefine that word across the industry. So I'm building a coalition of these very different points of view, bringing everybody to the table through the open mainframe project, a brand new working group called the modernization working group. And we're going to create a single definition that's agreed to across the industry. And it will probably be an outcomes oriented definition instead of a technology oriented definition because that word modernization when you apply it to technology kind of implies new, right, new modern technology. But what really matters is that you're meeting the modern needs of the business. So we're going to define modernization in terms of outcomes. And we're going to build a repository of thought leadership materials, contributed by this wide range of vendors. So side by side, you will have a white paper that says why you need to do your DevOps off of the mainframe, and you will have a white paper that says why you need to do your DevOps on the mainframe. And you can read both side by side and make your own conclusion, completely agnostic. And the reason I'm so passionate about it. I love this mainframe. The war has bothered me my whole career. The war, you know what I'm talking about, right? The war mainframe versus everything else. That mainframe team in your organizations, I see some head nods. They're very insular, and they just hold on to everything as tight as they possibly can. And then every other part of the company either ignores that mainframe team and ignores those mainframe assets. It's fine. We're just going to ignore it. We're going to do all the innovation over here. Or they're actively attacking them during to get rid of them, right? We have and the reason I love my new company is because we do all of that modernization. We don't pick a side. And we have a brand new customer case study where AG insurance did modernization in a way that acknowledged the mainframe people and the non mainframe people and drove a cultural transformation through the technology transformation. So that's what I'm hoping. I know small goals. I'm going to stop a war. And I'm going to bring very different vendors all together to the table into one big happy family. But that is that is what we're trying to do. Seems almost too simple, right? I don't know if you either have anything bad briefly quick to that. I'll just make it quick. So I know missy is very passionate about modernization. So I can understand. So the question, you know, what does it mean? Right? I think modernization is something that you want to sustain. It's about sustainability. Yeah, how do you maintain your software, you know, for 10, 20, 30 more years, right? All the software that written for Microsoft Windows 3.0, like 30 years ago, it's not running the same way today. They have been modified, modernized, and different languages, different platforms, same thing. Same thing goes to every platform and every industry sectors, right? You want to make it more sustainable. And you want to make it more innovative. So choosing right platform that support from hardware to all the software stack to innovate and then sustainable, I think that's the modernization. Yeah. So I know you all came to an open source conference and we've kind of won a big detour here in the mainframe, but I want to kind of pull back a little bit and say, Okay, well, how does open source fit into all of this? And what we see is, is it's that connective thread? And if you think about it in any technology that's out there, open source has been that connective thread and it pulls so much together. And I want to kind of throw that at you, because we need to get to you on the last question here. You know, you've seen it as you're working with your customers. Tell us about how you're seeing open source become that connective thread. Well, you know, when you're dealing with enterprise customers that that are heavily oriented towards the mainframe, open source not too long ago was kind of a dirty word, you know, and now what we're seeing is that open source is actually something that connects them to a lot of different things that they never would have thought of connecting with before, especially in and around this topic of modernization. And you know, when we were acquired by this converge company, we were acquisition number 21, I think, at in October of last year. So a year ago. Now, there are over 35 companies that have been acquired as of this October. And what this has done is that we are there, we are converges mainframe practice because we are a mainframe company, but being associated with all these other companies, we now are finding that we can bring this tech these insights from all these different things in and around open source and other things that never were thought of before. And now these were actually ending up being kind of the glue to bring it back to this what really modernization should be as misty defined it very well, as as well as what we were talking about before with hybrid. And it's really kind of becoming that glue that's bringing all these different pieces together, in my humble opinion. Now that's that's really interesting insight, you're just seeing it, you know, from a company standpoint, but then, you know, you're bringing different parts of your customers in, you know, that might have been in siloed areas. And now you have this common language of open source and open technologies that are yanking it together. And that's the thread. I don't know if either you want to add or you want to add something other Alex. Yeah, yeah, I think connection to connecting to other side of the companies as well as communities is a great benefit of open source community. I've been with this open mainframe project from the beginning about eight years ago. Throughout the time, there were very interesting points of life going through these communities, communities, starting with a very small team of, let's say, 20 people.   So meaning, you know, cobalt, programmers are needed for supporting those, you know, the programs that the New Jersey state government wanted. They were looking for people. And as a community, we could actually get our people together. And then, you know, means to be, you know, cobalt experts here to play a big role that providing support or answering questions, finding people. And those are the really, really great value that, you know, the open source community can bring together. In our open mainframe project, you know, there are many different generations from even middle school kids to high school college kids. And then there are people who have been in industry for over 50 years that who still maintain the software they wrote 50 years ago. You wouldn't believe it. We still have people who wrote in tape library or tape, even not library tape as a tape, still supporting those code that that doesn't work. That that is the amazing part of being open in community in this organization. I think it's amazing. Yeah, I have a fun party trick for all of you. Well, it's not a party trick. It's a fun thing to do at work. Go find you're all here because you're fans of open source. Obviously, I'm just going to assume that. Go find your CTO, your open source teams, even go to your mainframe teams and say, did you know there's open source for the mainframe and then watch their face? Yeah, yeah, it's it'll be really fun. You'll just shock the heck out of them. Yeah, and it's a great segue in here, because a lot of those were driving here. And if you look at some of these projects up here, you know, yes, we've had projects have been driven for more than 50 years. It's the one interesting thing that if you go talk to your folks who have been around for quite a while, the first thing that they'll say to you, if you talk about any new technology, they'll say, oh, geez, we did that 30 years ago on the mainframe. Why are you like bringing this up? But what we're seeing is so much of the innovation now is focused on those glue parts of connecting things together. And here's a sampling of projects on even the cobalt, but that's kind of more in the form of a programming course, which is actually teaching cobalt using VS code, not a 3270 terminal, and using sort of modern technologies and techniques there. But Zoe pulling together ZOS back with the rest of your enterprise with REST APIs and command line interfaces and GUI tools and Feilong that's making it so that you can deploy out, just in the same way you deploy out an application over OpenStack to an x86 or cloud server, you hit it the same way out to a Linux on Z machine there. So yeah, that's interesting talk technologies that are starting to form here. And I don't know if any of you guys want to make any comments on any of those. Yeah, it's definitely Alex. So I'm part of the Zoe community that develops all those modern interface to mainframe. And we have been getting lots of lots of clones and downloads over the past three, four years. And I think it changes not only the users of open source, but traditional application users and developers, they get to see what the benefit of open source community can be. And so the keynote just before that how to start becoming a member of open source community, we actually experiencing with Zoe and also fell on and also cobalm. The people come from, you know, non mainframe space and trying to understand through what they know already about from, you know, their experience and becoming on expert on mainframe. And the other why the mainframe experts that doesn't know about open source, they know how to contribute how to become a community member through this effort. That was a major experience. Yeah, and that's kind of an interesting thing is, you know, as many of you come from an open source space, maybe not so much a mainframe space and Missy sort of talked about a little bit of that tension that happens there. That's kind of a way to sort of cross that bridge a little bit is say, Hey, you know what, I see you're the mainframe. There's some cool open source being driven there. How can we collaborate? How can I kind of help you learn the ropes there? And at the same time, you're learning that technology and making a connection. So it's it's kind of a fabulous thing that it's doing on a lot of different levels. I know we don't have a ton of times. I want to get to one real quick one here, and then we'll have maybe a couple of minutes for any questions from the audience. In a brief second, what do you all see that's next out of this this growth of open source that's happening in enterprise and bringing together, especially around the mainframe? Well, I obviously care about modernization in the working group and building a repository of thought leadership. What I'd really like to do is bridge mainframe modernization with modernization of non mainframe things and stop dividing everything even from a thought leadership point of view. So we're starting this working group in the open mainframe project, but we do have plans to bridge it to other Linux foundation projects and broaden the topic and broaden the repository of thought leadership. Yeah. I want to see also crossing the bridges that innovation doesn't have a boundaries, right? There are so many interesting projects that started from outside of our open mainframe project, such as IBM researchers at Tresl compliance tool for security that landed in a Linux one machine that utilizes open source packages. And then there are some modernization tools like conveyor that can come to our community and play a role. I want to invite all of this of today's Athena's opens source financial forum projects, try to see what they can do with our community. We want to invite everybody to see what can we do together. And to add to what Missy and Alex have said.  No matter what the attribute is of the application, whether it's IO intensive, numerically intensive or data in memory type of intensity, once you understand the attributes, what three of those it may or may not have of your application. Now, you have this big thing in the sky. It should be decided by the effort to see. It's kind of getting their hybrids helped out a lot.  And there is not one single solution. It's a combination. And I'm hoping to see that as I move on to some other things in the future. It's a great world, hopefully moving forward. And one thing that we're trying to, that the open mainframe project is trying to do is to make sure that, you know, there's a place for this innovation can happen. And, you know, if you're familiar with Linux Foundation projects, you know, just that vendor neutrality in the area to have this open collaboration is one half of it. One thing I'm always asked about is, hey, John, if you say this mainframe is so great, how can I get access to one? That's a real hard thing to do. Well, this is something that we're solving. We have a mainframe that we're working to get online here in 2023. That's the actual mainframe sitting in a box all wrapped up. And this is something that we are making to make available to any open source project that wants to get their heart, get their project supported on it. This is something you'll have access to. And this is more of this to come here. But this is sort of the commitments we have of trying to help bridge the enterprise because enterprise can't support these applications unless you know, these communities have the tools to do it. And so that's what we're looking there to provide. So I want to go into Marist College, a board meeting was just yesterday. And I'm on that board. And they are very excited about this. They showed a picture of it during the board meeting.  As John well knows that donation from Broadcom and Marist is hosting it. They're up in Poughkeepsie. And they're very excited about it because now they can actually have their students get involved with this. And they already are making plans for this as we speak. They mentioned that during the session yesterday. If you ever get excited looking into Raspberry Pi, right? And you should be really excited to get into mainframe access. It's cool hardware. It's cool hardware. Well, I know we're right at time here, but we're going to be around here. But if we do, maybe you have a quick minute, we can take any questions that anybody might have from the audience right up front there. Yes. Yeah. Yes, there is. Yep. If you ever go to Ivan Cloud, there is a bell metal that you can access to mainframe Linux. Yes, go ahead. Well, I mean, I will just say from my perspective, I think when we've seen technology shifts, they happen slowly over time. And I think the first one we're starting to see here is the deeper use of open source on this architecture. And that's sort of the first move. We saw Linux come to the architecture line was a part of that back in the late 90s. What the future holds, it's going to be always interesting to see for sure. I will say that there is this is an architecture here that is once to the test of time. But I think two has always been built with design principles in mind. And I think that's sort of a fascinating thing here. And how that continues to evolve in the future, who knows, but really the focus here at this point, let's get this to be a place where enterprises can deploy the same software that they're doing in other places. And let's open this up so that other people can try this out. And it's not this sort of hidden thing at the back of a data center that nobody has any idea about or how to use. Let's get this in the hands of more people. Ravi, I want to challenge you and everyone else to re look at how you think about the mainframe because I find that people conflate mainframe applications with the mainframe hardware. Those applications can run anywhere. I mean, that's that's literally half of our businesses taking those applications off the mainframe and running them in the cloud in AWS and Azure on X86. Those applications can be modernized on that mainframe. It's it's the applications that are really important. It's what those do for your business. And going back to Len's point, his view of the future, where the server underneath is just a server. And in fact, it is the only reason we keep thinking we have to get rid of the mainframe is because we've got issues with those applications. That's why modernization is so important to me. Modernization is not about the server. Modernization is about the applications and what they do for your business, whether it's on the hardware or off. It goes the same way to I'm sorry, just one quick to the other way. Their application from non mainframe goes to mainframe and financials inclined over here in New York recently deployed like thousands of MongoDB on mainframe just because the architecture support better on that, you know, the hardware. Well, we are we are way over time here, but I'll get the question.  Go ahead. Good question. Yeah. Yeah, OK, this one's mine because this is kind of what we do. So if you wanted to move that code, there's one of the things that people sell is is automatic translation into another programming language. I personally think that's too risky because how often does Google translate translate English into another language and kind of mess it up, right? So there's that there's moving it with something like we offer, which is enterprise server, which lets it run just like it's on a mainframe, but it's actually in the cloud and you can actually run it cloud native with that underneath. So so you can move those applications wholesale. Just it's exactly the same thing. But what I want to argue here is moving the application in and of itself is not modernization, right? It might be part of your strategy of how you're going to modernize that application, but modernization is doing something with that application, whether it's on the cloud or on the mainframe, it's adding an API, so it's breaking it into micro services. It's all of those things. That is what modernization really is. I don't know if you watched the opening keynote with the chat GPT joke. AI going to play a big role in that part as well. If you go, you know, check out IBM Research, the AI for Code Project, we are working very hard to help clients with the old legacy code to convert to eventually will be very, it will be very, very key too. All right, we are way over time and the next presenters are here patiently. Thank you all so much. We'll be around here in the hall if you all want to talk to each other, everybody. Thank you.


Doesn't she look pleasant? She does, doesn't she? She looks pleasant. She looks like a girl named Carol that lives across the street. Yeah, she looks so nice, doesn't she? Like, she got some cookies for me and, hey, my dad said he can come over and hang out and play video games and swim and pool. He's gonna throw some burgers and hot dogs on the grill. Let's see what Yahoo News has to say about Supergirl. The title says Supergirl costume revealed. First pics of Melissa Ben-Noist. I want to say that I probably said that wrong, but I could be right in full super suits. The reason why I say that is because Chris Ben-Wah, his last name, was kind of spelled like that, right? And Chris Jericho would make fun of him and call him Chris Benoit all the time. So I don't know if I'm saying that right, but maybe I am. It says, hey there, Supergirl, Warner Bros. has released the first two images of Melissa Benoist as the titular character in Titler, Titular, yeah, Titler. I said Titular, it's probably Titular. I said, you know what, if I was still messing with Sarah, Sarah would know I pronounced it. That's not a common word right there, God damn it. She read all the time. You know, she was the, you know, the, she had the master's degree in Literature, so. Anyway, Titular, the Titular character, I sounded it out, hooked on phonics. They taught phonics when I was in school.  I'm sorry, I'm, I'm sorry. Okay, so the titular character in CBS pilot for Supergirl, and she's looking well, super. It says the former Glee star begins shooting the pilot this week, in which she plays Kara Danvers, aka Kara Zor-El, who escapes the destruction on Krypton to join her cousin on Earth. Uber producer Greg Berlanti, who shepherds fellow DC comic shows Arrow and the Flash, is behind the project.   If Supergirl gets the green light at CBS, it would be the first network superhero series with a female lead in over a decade. Yeah, probably since one, one month, a few years ago NBC tried to make one about Wonder, well one, written by another Uber producer, David Kelly, in Star and Friday Night Lights, Adrienne Palicki, at the time Palicki's costume was roundly criticized. I still like the old Wonder Woman, ask my girl right down in the corner, so this time Supergirl Outfit was made by Oscar-winning costume designer Colleen Atwood who said, in Designing Supergirl I wanted to embrace the past, but more importantly thrust her into the street-style action hero of today, and I was going to say that Outfit kind of reminds me of Man of Steel, you know, with the texture on it, the muted colors, you know, so that's what it reminds me of. I'm cool with it, we'll see how the show goes, you know what I mean, I'm not really a Supergirl fan, I'm more a fan of Superman, but hey, anybody a Kryptonian, I can watch a show about pretty much, need a show, you know what I'm saying, about Val Zad, young black actor with the build, and you're all born to play him, I wonder who that could be. Probably has almost 100,000 subscribers, and eventually we'll have million. Post comments down below, let me know what you think about the new Supergirl, and hit the like button if you like my little story here, if you didn't like it, hit the like button, okay, one million subscribers, 3,000 subscribers away from a 100,000 subscribers plaque, whoo!


Hello and welcome to this presentation. My name is Badr Dean and in this video we will learn how to cache the bitmaps stored in the SD card. In the first part we saw how to set up the SDMMC peripheral and add FATFS file system to the SDM32F7463GFX template. In this second part we'll see how to cache the bitmaps stored in the SD card into the SDR. I have my SDM32Q by DE launcher asking me to select a new workspace. I will use a new workspace for this project and click launch. Here I have my SDM32Q by DE project open. I'll close the information center and expand the project here. I will start by setting up the bitmap cache which consists of a pointer to a buffer and the size of the buffer. I will expand project, then application, user and then touch GFX and then target. The bitmap cache setup is done in touch GFX, hold dot cpp, double click on the file. The initialize method we will set up the bitmap cache. By default the template uses 3 frame buffers of 261 kilobytes each. The total size of the frame buffer is BF400. Here we set up the start address of the cache right after the 3 frame buffers. The total size of the cache is 8 MB which is the size of the SDR. For the user manual of the SDM32F746 discovery board we have an SDR of 128 MB but only 64 MB is accessible, so 8 MB. So the size is 8 MB minus the size of the 3 frame buffers which gives us 7.4 MB or 7400C00. Then I will remove the default bitmap cache configuration. And last but not least we set up the cache based on the start address and the size defined above. Here we cache up to 128 dynamic bitmaps. Next we will go to GUI and mainview dot cpp. And here we tell touch GFX framework which bitmaps to cache. We have two cache strategies. Either we cache all the bitmaps or we cache specific bitmaps per ID. For example I can cache the background image on the setup screen. And I can cache the image that I have in the main screen, image 00. Or I can cache all the bitmaps using cache all. So I can do bitmaps, cache all. And of course in this case I need to remove these two lines. If we need to cache all the bitmaps of course the size of the cache must be large enough to contain all the bitmap data. Then of course we need to clear the cache and the tear down method. So here in the setup screen method we cache all the bitmaps and then in the tear down screen we clear all the cache. Now I will modify the linker script in a way to add a new virtual memory area SD card that starts from 0xA00000 with a length of 7 megabytes. So I go to the linker script here and in the memory section I add a new memory area that is virtual. That starts from the address A00000 and a length of 7 megabytes. And then here I tell the linker to place the external flash section which contains all the bitmaps into the SD card virtual memory. And then I'll add the keyword noload here to tell Q by D not to load the binaries to that section. If we look into that JFX designer and then images tab we see that the background image and images there are both placed in the external flash section. We'll go back here and what we did is we placed the external flash section in the SD card. I'll keep the font and the text flash section and the quote spy. When you cache a bitmap, that JFX copies the pixels from the original location to the bitmap cache using the block copy function in that JFX.cpp. In our case the bitmaps are stored in the SD card which is not a memory map memory. Then we need to add the FATFS read operation from the SD card. If the address is within the SD card virtual memory region then we use FATFS file to read the data. We calculate the offset within the SD card virtual memory. We place the file pointer to that offset. Then we read the number of bytes from the SD file to the destination address which is an SDM address. Else meaning if the address is not within the SD card virtual memory region then we use the default implementation. Of course before I can read from the SD card I need to mount the file system and then open the file. And I want to do that only once. So I do FATFS. If FATFS in it is 0 then mount the file system to SDFATFS and then open the file SD file and then set the variable to 1 to make sure I mount and open the file only once. Then I need to define these variables. So I already have the FATFS files or FATFS variables defined here. And the FATFS.FATFS.C I see the SD path is defined here. The SDFATFS file system object is defined here. The SD file is defined here. So what I need to do is to define them here as extra. And then I need to include the header file for the FATFS. And I still need to define the FATFS in it variable and the byte shared variable. And here I have SD path copied twice. I need to remove it. Now I'm ready to build the project. Select the project and click on build. We see here the build finished successfully.


the lovely broadcast backwards as you see as you can see they're kind of difficult to transport around. We were in a mad panic this morning about how we're going to get them from here in smack to DC but the lovely people at Ashley Fort are sponsoring us a van for the next hour so we're going to go meet them now. It's quite light actually. Day six inside the van. We don't know where we're going. Food for six days. We've slowly been knowing on. We found a light. Tell us a ghost story Ashley. There was one time when there was a sweet little boy called Aaron McGowan and he had a best friend who was a penguin and that penguin. This is so fictional that never happened. We have come to a stop. Rip it off Ashley. Rip it off.