Hello, and welcome to the next lecture in the course on Introduction to Computer and Network Performance Analysis using queuing systems. My name is Professor Varsha Apte and I am a faculty member in the department of Computer Science and Engineering IIT Bombay. So, we are going to talk about open queuing networks today, let me start introducing that. So, so far we have looked at basically a queuing system where there is one kind of server or one set of servers that are that represent something like one node you can say, just one resource type or one node, but what if there is a request that needs services from various as they call as a called stations. For example, if you are looking at packets going through a multiple links on a network path, right.  So, it they will go through multiple routers and links before they go to the destination. Similarly, we can have a server center server side of a let us say web application. So, a web application, all web applications today are not supported by just one node, right. That is of course, we have the web server, but we also have let us say the database server, right. And any request that comes to the web server will very likely have to go to the database server also before it is done, right and only then maybe it will be done and then it can go back to the client, okay. So, this is another example, then if you look inside a actually just inside a server machine, okay. If you look inside a machine as such, you have the CPU which you know I just like to show like that, let us say this is a CPU and you can have a disk and a thread could be doing some CPU work, it will need CPU sometimes and then it might need some IO and only then it will be done, okay. So, so far we have been completely focused on a request that just needs one thing and then seems like it is done, but it may actually after it is done with one service, it may need another service and that is what we need the concept of queuing networks for, okay. So, this is now from queues, we go to queuing network where after this exit, we can add another queue to which a request goes, okay. So, now it is going to another queue, then it can leave from here and go to another queue, okay. So, this is what the queuing network is and as a first very simple introduction to queuing networks, we will just look at something called a tandem queuing network. What is a tandem queuing network? It is when requests visit multiple nodes in sequence and then exits. So, it just goes to this, goes to this, goes to this and then exits. One is opposed to what? It is as opposed to where there can be some branching, for example, that it goes here with let us say some probability 0.5 and to some other queuing system with probability 0.5, so some other server and then maybe exits. So, this is called branching and another thing that can happen in all the examples in 2 out of the 3 examples that I gave you in the previous page, actually there can be something called feedback. So, suppose after server 2 with some probability, the request needs another service. So, suppose this is probability 0.1 and this is probability 0.9 with some probability, the request needs another service at server 1. This can happen when we have again considered the web server, the web server and database server example. In real scripts and dynamic web applications that run on the server, it is rarely that the request just visits the web server and then the database server and then exits, it is actually almost never like this. There is always once the request visits the web server and the database server, it will actually need another service at the web server and then it may need to go to the database server again and then it needs another service at the web server. So, this may happen many times. Similarly, in the example that I gave you about CPUs and CPU and IO, it is almost never the case that there will be a process that just goes to the CPU once and goes to IO, needs IO once and then exits the system. It is actually going to need many visits to the CPU and alternate like it will have a CPU burst, then an IO burst, then a CPU burst, then an IO burst. This is something you would have learned in operating systems. So, different types of resources are often needed by requests multiple times to fulfill their service. But as a simple example in the beginning, we are going to not consider any of these, we are not going to consider any of these possibilities and just imagine a queuing network which is completely in sequence and request never comes back to any server and also there is no splitting and there is no branching. So, this is just to keep things simple in the beginning to reason through queuing networks. So, this kind of a queuing network is all called a tandem queuing network. Actually, a packet network path is a good example of a tandem queuing network. A packet is unless it is going in a loop, it is rarely going to come back to a router. It really should never come back to a router. That means something is wrong. Also, we can imagine that maybe between two source and a destination there is exactly one path. So, there is no branching that is happening. So, packet network path is a good example for a tandem queuing network. So, what are the kind of parameters and metrics that we can define for such a network? We can have n servers in the tandem queue. Here, we are seeing an example with 3 servers. Of course, we have the tau i. Now, all of these the tau and other metrics that we had seen for a single node is going to get a subscript i which is basically showing that it corresponds to the server i. So, we show the servers as S1, S2, S3, tau n is a service time at server 1, tau 2 is a service time at server 2, tau 3 is at server 3. So, we have that and what we have is one external arrival rate. We call this an external arrival rate because this is sort of external to this whole system. In a way, this arrival here is also an arrival to this queue. There is going to be an arrival here. There is going to be that is an arrival to server S3. These are all going to be internal arrivals because they are coming from server S1 to S2 and coming from S2 to S3. So, these are internal arrivals but there is only one external arrival rate and that is what is the actual work coming to this system. So, that is the parameter. So, we have the lambda and we have the tau is and we are going to consider only infinite buffer for the queuing networks. So, we are not going to consider KA and so on. We can have multiple servers but again for this example, right now we are going to just consider one server. So, we are considering C1 equal to 1, C2 equal to 1 and C3 equal to 1. Then we have a new metric called the system throughput. Again, we need to distinguish individual throughputs. So, lambda i is going to be the throughput of the station i, right because here also there is an exit rate. This is going to be the lambda 1. This is lambda 1. This is the exit rate and this is lambda 2 and lambda 3 in fact will be equal to lambda 6. So, the exit rate out of the system is the system throughput and the exit out of each station is the node throughput or the station throughput. Then we have the system response time which is this whole time. Time from entering this system, the queuing network to completely exiting it, from here to here. But we will of course have a particular response time at each station or each node. So, the response time here there will be R1, this will be R2, this will be R3. We have server utilization makes sense only for each node. There is no such thing as a whole system utilization. So, we have utilization of the servers at this station, the row 1, at this station row 2 and at this station row 3. We will have number of customers. Again, number of customers in the whole system is not a very interesting metric. We will have it at N1, N1 will be for this node, N2 for this node, N3 for this node and so on same for the number of customers in the queue and similarly for waiting time. A more interesting metric that we ask for queuing network is what is called the bottleneck throughput. Now, what is a bottleneck throughput? Bottleneck always refers to the resource in any kind of connected system that is going to be the resource that slows down the capacity of the system or that determines the overall capacity of the system. If you have for example, a road network, there can be some a road that is wider than one road and then it all feeds into the small narrow road and then there is a big road. If this is the kind of a road system that you have in actual road traffic, then this it looks like a neck of a bottle. So, this is called that is why it is called a bottleneck and this road is the one that will actually determine what is the throughput of the cars in this road network. So, that is called bottleneck throughput. Remember that this was irrelevant when you are talking about a single queue because that single just if you are only talking about one station, then the capacity of that station is going to determine the maximum throughput of that system. But now when you have multiple then you have to worry about is S1 going to be the station which is actually the slowest one is S2 going to be the station or node that is going to be the slowest one is S3 going to be the one that limits my capacity. So, that is the which is the bottleneck server and what is its bottleneck throughput capacity. So, this is the maximum capacity of requests per second that this queuing network can support. So, let us start calculating this. So, let us start with system throughput, asymptotes and non-asymptotes. Let us take an example. Suppose this tau 1 is 5 milliseconds, this is 20 milliseconds and this is 10 milliseconds. So, the I will write the mu 1 as usual mu 1 mu denotes the service rate. So, the mu 1 for the station 1 is 1000 by 5 that is 200 requests per second, mu 2 is 50 requests per second and mu 3 is 100 requests per second. And so, the system throughput basically if we have the lambda if the lambda is less than all of these mu 1 mu 2 and mu 3 then it is clear that system throughput which we denote as lambda 6 is going to be lambda. For example, if lambda is 30 requests per second, if 30 requests per second is coming here, since this allows 200 requests per second, 30 will go here. Since this capacity is 50 requests per second, its output will be 30 because those the laws of throughput apply individually to each of these queuing systems. If the capacity of this queuing system is 50 requests per second and 30 arrival rate is coming here, then it can do 30 and then all the way it will be 30. So, if the arrival rate is less than the service rates of each of the stations, then we know that the system throughput should be equal to the arrival rate. And what is the asymptotic value? So, what if lambda goes to infinity? For high load when lambda goes to infinity, clearly this system we remember that for one node we have as lambda goes to infinity that the for a single server node lambda goes to capital lambda that is the throughput goes to mu for single node. What is going to happen here is that the output the maximum throughput that this system can produce will be determined by the slowest node. So, imagine if lambda here in this example is 500 requests per second. So, then this one will the first one will be able to do 200. So, let us say take the example of 500, then the first server will be able to do 200 because that is what its capacity is. Now, if 200 is coming to server S2, its capacity is 50. So, it will only be able to do 50. But now 50 is less than the mu 3 is equal to 100. So, this will be actually produce 50. So, essentially the value that the system throughput will get is the minimum of all service rates. So, that should be obvious. So, as lambda tends to infinity, lambda 6 tends to the minimum of over i of all the mu i's which is minimum you can say the which is equal to the minimum of i of over 1 over tau i. Basically this is also how the bottleneck throughput is defined the bottleneck throughput is actually going to be the minimum of mu i's and lambda says as lambda tends to infinity basically tends to the bottleneck throughput. So, this is about the throughputs. Now, we can look at the server utilizations again let us look at the non-assimptors and the asymptotes we can take the same examples this is 5 milliseconds, this is 20 milliseconds, this is 10 milliseconds which means mu 1 is 200 request per second, mu 2 is 50 request per second and mu 3 is 100 request per second. So, what is the utilization going to look like? Again let us take the case of lambda being less than all of the mu 1's. This also means that the whole network is stable, stable queuing network Qn for queuing network. So, if it is the whole network is stable then and the rival rates rate is less than the service rate of each of the queuing network then we know that actually the each node throughput is actually going to be that lambda. It is going to be the rival rate because lambda is less than each of the service rates in which case the utilization is trivial rho 1 is going to be same as normal is going to be lambda tau 1, rho 2 will be lambda tau 2 and rho 3 is equal to lambda tau 3. Now, we should take the case, the case has become very interesting when this is not satisfied, what if lambda is greater than either one of mu 1, mu 2 or mu 3. So, let us best to take an example here. First let us take an example of lambda equal to let us take it as 150 requests per second. So, if it is 150 requests per second, capital lambda 1 is going to be equal to 150 requests per second. So, output here if this is 150, this is also going to be 150 because 150 is less than 200. Now, 150 is greater than 50. So, we have rho 2, the server 2 will actually be a the station 2 will actually be an unstable station and rho 2 will be equal to 1. Rho 1 here is of course, equal to 150 by 200 that is basically 0.75. What will capital lambda 2 be? This is going at full capacity. So, capital lambda 2 is actually going to be 50 requests per second. Since capital lambda 2 thus that is the arrival rate here is now going to be 50. So, then the station S 3 is actually stable. So, rho 3 will be 50 by 100 and that is equal to 0.5. So, utilizations really depend on what the arrival rate to that particular station is going to be. Although in this case finally, what is lambda 6 is going to be? Lambda 6 was determined again by whatever the minimum here was. So, lambda 6 is actually 50 requests per second. So, the output final throughput was 50 requests per second, but server 1 was still utilized at 75 percent. So, remember that if 50 requests per second was the arrival rate itself, then rho 1 would have been rho 1 would have been actually 50 by 200, but that is not the case here. Rho 1 will actually be 0.75. Let us take another example. I will again, so this is 200 requests per second, this is 50 requests per second and this is 100 requests per second and now let us take lambda is equal to let us take it as 90. So, now 90 is less than 200. So, rho 1 is going to be 90 by 200, but now 90 will come here. Again rho 2 will be 1 and the exit out of here will again be 50 and rho 3 will be again 50 by 100 equal to 0.5. You can see that this because there is a slower server before this server, actually the utilization of station 3 will just never reach 1. No matter what happens when lambda tends to infinity also, the output of this server will go to 50 and therefore, this server asymptote of this server will always be 0.5. So, this is a very interesting thing and we need to have a general rule to write this. So, if you are talking about a station i, if you are talking about the lambda tending to infinity for example, the high load asymptote of server utilization, the arrival rate to station i will end up being the minimum of all of the maximum rates of the previous station. So, it will be the minimum of mu 1, mu 2, mu 3 to mu i minus 1. As lambda tends to infinity, the minimum of the capacities of the previous stations will end up being the arrival rate to the station i. Just like here, as lambda tended to infinity, the mu 1 here was 200 and mu 2 was 50. So, at station s3, it would basically get not never more than 50. However, at station s2, it could get 200. So, this is something now we are going to try and generalize this later. But let us look at one more metric here, which is the response time and queue length. So, the response time is actually as we saw in the previous lectures. First of all, we will only define it for stable queuing network and we have to assume Poisson arrivals. Remember that the throughputs and utilization did not require us to assume Poisson arrivals and we will also assume exponentially distributed service time. Otherwise, some of the rules here they are difficult to remember that for example, if it is an general mg 1 queue, we do not know that. So, if this is mg 1, then this will not be Poisson. The arrivals here will not be Poisson. Only if this is mm1, the arrivals here will be Poisson. So, we will assume that the service time is also exponential so that we can write a formula. And if that is so, remember that formula was given by so R1 will be equal to tau 1 divided by 1 minus rho 1. And similarly R2 will be tau 2 divided by 1 minus rho 2 and R3 will be tau 3 divided by 1 minus rho 3 and R6 will be just the sum of all this. And once we have these, then of course, n1 will be equal to lambda R1 and n2 will be equal to lambda R2 and n3 will be equal to lambda R3. And we can do the same thing with waiting times and queue lengths. So, let us summarize this, all the matrix, this is the matrix we were after. So, for a stable network, which means that the lambda multiplied by the maximum of the tau i's will be less than 1, that means the arrival rate is less than the slowest service stations rate in the network. For a stable network, the system throughput is nothing but the arrival rate. And the bottleneck, this is actually just defined for the queuing system, nothing to do with the arrival rate as such. The bottleneck server is 1 over max of over i of tau i, this is just the slowest server. Utilization will simply be lambda tau i, because it is a stable system. And if we can assume exponential service time and single server, then no response times are given by this. And system response time is just the sum of all that and then we can get the rest by the little's law. Assim totes are a little more interesting. As I said earlier as lambda tends to infinity, throughput will of course be whatever the minimum of all these service rates is. Server, as far as server utilization, we know that the first server as lambda goes to infinity, the utilization of the first server has to go to 1, because eventually lambda will become greater than mu 1, because lambda is just going to infinity. But for the downstream servers, the next servers, their utilizations are determined by what comes out of the previous server. So this will be the, of course, we always have to have that it is minimum of 1.0, 1.0. And the minimum of all these service rates, these become the effective arrival rate multiplied by tau i. So, we have already done a few examples, but I will just show a few couple of more examples. Lambda equal to 30, we in fact did this. So this is just reinforcing what we did, throughput. This is service rates. Now we have a little different example. This is first tau 1 is 10 milliseconds, second tau 2 is 20, third tau 3 is 5. And so service rates are 150 and 200 respectively, just a little bit of change so that we can see one more example. So throughput of course at lambda equal to 30, it is less than all these 3. So throughput is 30. And then server utilizations will be rho 1 is equal to 30 multiplied by 10 by 1000, rho 2 will be 30 multiplied by 20 by 1000, rho 3 is equal to 30 multiplied by 5 by 1000. And response times are actually for each one of them, it is just basically, I will just show for R1, it is going to be 10 divided by 1 minus 0.3 and similarly for R2 and R3. So now let us see all these metrics for lambda equal to 70. So remember again it is 100 requests per second for S1, 50 requests per second for S2 and 200 requests per second for S3, these are the service rates. So compare 70 with 100, 70 with 50. So when you if you compare 70 with 100, 70 is less. So throughput of this server is actually going to be 70, but 70 is coming to the server S2 whose service rate is 50 requests per second. So its output is only going to be 50 and now 50 requests per second will come to S3. So S3 is going to be able to do 50 requests per second. So this output here is going to be 50 and that is why of course we have the overall throughput as 50, but each server's utilization depends on what its own service rate is. So rho 1 is going to be of course 70 by 100 which is 0.7, rho 2 is going to be 1 because 70 is more than 50. So the server fully utilized rho 3 is going to be 50 by 200 which is basically 0.25. So those are the server utilizations. Now what about the response time? Of course system response time we know is going to be infinity because S2 is now an unstable server, S2 is unstable. So system response time is going to be infinity, but we know that R1 utilization is less than 1. So actually server 1 will have a finite response time. So R1 is going to be tau which is 10 divided by 1 minus 0.7, this is 33.3 milliseconds. R2 is of course infinity, it is an unstable server, R3 is server 3 is stable. So it is 5 divided by 1 minus rho 3 which is 0.25, this is actually around 6.66 milliseconds. So now we have seen a small like lambda which is 30 which is less than the entire tandem queuing networks capacity, 70 which is more than some server's capacity less than some other. Now just let us take lambda to infinity. Of course the bottleneck throughput remains 50 requests per second because that is what the slowest server here is. So throughput remains 50 requests per second. Now let us go one by one again as lambda goes to infinity. Of course rho 1 will go to 1 because as it will exceed 100 eventually. Since so when it exceeds, when the lambda here exceeds 100, the output here will become 100, but 100 is greater than 50. So of course server 2 will also utilization will be 1. But when arrival rate here is 100 for server 2, output rate will go to 40, throughput will go to 50. So since 50 is less than 200, we will have rho 3 again here as 50 by 200 which is 0.25. Again there are two servers now that are unstable, both S2 and S1 are both unstable, these are both unstable. So R6 is infinity, R1 is infinity, R2 is infinity, R3 is the same as before because S2 again sends the same arrival rate to S3 as when lambda was 70. So this is 5 divided by 1 minus 0.25 which is 6.66 milliseconds. So this last slide actually just summarizes everything that we just derived, you can look at it later. So in this lecture what we did was we saw only a kind of structure where requests go from one server to the other server, next server and then to the next server and then they leave the system. But sometimes you can have requests that have to return after this service for example after server 2, they have to return to server 1. So in the next lecture we will look at generalized open queuing networks. Thank you.


Harold Landry just added Pro Bowler to his name after the 2021 regular season.  Your future stays here in Nashville.  Yeah, and it feels awesome. When I finally got the call from my agent saying that, you know, telling me the final things, I was just like, I started to tear up. And I was just like, oh. I just feel like everything just came together for me and my family. And I'm just so extremely blessed and grateful. I thank God every day for the life that I get to live and experience.  And I'm going to continue to do that. But I'm just so thankful for the faith and the trust that this organization put in me to allow me to keep on playing her. Throughout free agency, the word is always options. Teams are looking for the best option. Players are looking for their best option. Why were the Tennessee Titans the best option for Harold Landry? I mean, there's a couple of reasons. I've said it before, my family loves being here. I absolutely love it. The life that we've built here in these past four years, the relationships that we've built, they've just been awesome. And my kids, I couldn't imagine them not living here in Tennessee. And then for me, I couldn't have asked for a better first four years in this league, being able to play for this organization and Braves and Shane. It's just been awesome. And I don't know. It's just everything works for me here. But I think most importantly, though, for me, is the culture that's been built here. It's a proven winning culture. And it's just when you walk into that locker room, it's like you're not just walking in with some guy you work with. You're walking in with your best friends. So that's just what makes this job so awesome. And it makes this place so awesome is that it's more than just football. The relationships here expand past that. And that's one thing that I'll always be appreciative and never lose sight of. But yeah, I just love coming to work here. So I wanted to keep going. Now, it's no secret that you fit this defense incredibly well. Your numbers in 2021, you had 12 sacks, 22 quarterback hits, 14 tackles for loss, a forced fumble. Why does this system fit you so well? I just think because I'm a guy that I feel like I'm versatile.  And I think that's what the value that I bring to this defense, they can move me around. They can play me all over the place. And I can find a way to be productive.  And I feel like I was able to do that this past year to help the team win. When news came out that you were going to remain a Tennessee Titan, social media exploded. And the loudest people were your teammates. They were celebrating you, what you had accomplished in your career. Is that an illustration of what this locker room is? Yeah, I mean, it means a lot to me seeing all that. And I just feel like, yeah, that plays a part into why I feel like my locker room is so special. Because, yeah, everybody wants to get paid and have the stats, but guys are genuinely happy for one another when success comes to someone else in the locker room. And like I said, it's not just somebody coming to work with, these are best friends. These are relationships that you built over time, that trust. And it's just been awesome to experience those relationships with the guys in there. Yeah, nah, man. It's awesome. But yeah, that definitely speaks apart to the culture that we have here. Right. So now you're going to be able to stay around the family a little bit longer and keep your actual family, your wife, your kids here in Nashville. What is it about the city you love so much? People here are just so nice. And like I said, that's another reason why I also wanted to come back is because just the people you meet around here is just awesome. Obviously now that I'm going to be here in the long term, my family is most likely going to come out here. And we're in a certain area where family members that don't live with me can easy access to. So that's another reason why. But we just love the vibe. The vibe here is just awesome. Nashville is awesome. Where I live out in Mount Julia, it's awesome. But I would say the most important thing is just the people. That's the most thing I would cherish. Well, now you can continue the winning vibe here with the Tennessee Titans. Right, exactly. Awesome. Well, Harold, congratulations. We are so excited that we're going to be seeing more viewing years to come. Appreciate it. Thank you.


Welcome, this is Melissa Arba was the stocks and I'm reviewing the gap today in Facebook Didn't do the side of the game didn't see it right out of the game ended up rating Well ended up rating it later as a matter of fact rated 20 points was good enough to shore as a late trade though Kind of make shifted it right in here boom boom stock got the drop I really felt like 160 was a good target for this today 159 could have gotten there even 158 something low The day ended up being what 159 29 got close got close to 159 But nice move here today in Facebook an elite trade boom more than a dollar and again if you play this out of the game In fact, what did this do out of the game today? I just didn't watch it and somebody brought it up in the room That I was like wait a minute This is news this wasn't earnings But it rated well, so you gotta gotta give you gotta give the points when the points are given Yeah, you could have been aggressive on this today. I I just didn't see this So one of the ones that I missed How much volume did this happen this this was trading yeah, it had volume. I just I didn't even see it interesting So anyways did see it later So I mentioned in the room was looking for a later play and he's still a target in it And it all worked out so we'll see where Facebook is headed Let's look at the daily chart really quick, but nice day trade in here today late call though I don't like the way this chart looks. I don't like the way this looks at all This really wasn't a favorite of mine after the earnings even though it gapped up and it gapped up over the pit 200 Perry moving average that's true But I didn't think this looked great then and guess what it went absolutely nowhere So I'm going all the way back to the earnings that occurred here back data. This was the 31st I mean honestly it went absolutely nowhere after that zip so to me This does not look great. You could have day traded this short I don't know if this is lower on the long term here right now, but I definitely wouldn't be long this right now For I mean, I just would not I mean not the way this has traded since the earnings not at all If this if this is either selective day trades right now Or I would not be in it long overnight I mean, there's just no reason to be here. No follow through the earnings and that's a bad sign for this So lots going on in Facebook and the last time this stock may brand new all-time highs was a very long time ago July 2018 So that's a long time ago in the life of this stock So we'll really have to be keeping watch of this Facebook, but it didn't drag the market down today So that that's that's very interesting quite frankly So nicely calling this good luck everyone if you're interested in learning my gap method We most of the good shorts email me at Melissa at the stockswish.com next class is March 23rd and 24th. Have a great day everyone


So I'm looking at how the Toyota production system can be applied to mental health services. It's a process that looks at really driving quality improvement from the shop floor, so those people that are in those grassroots positions to be able to make effective changes to make services or products better. It's commonly known in the Western world as lean thinking, but traditionally it's the Toyota production system. And what they worked out was that the people on the shop floor were actually the best experts in terms of how they built the cars. So they developed a culture of quality improvement where anyone on the shop floor could stop the process and say, you know, the car's been scratched or this hasn't worked or we could do this better. They had a better product that better suited their customers and they also found they had more engaged workforce that actually was willing to participate and stayed longer. It really has a strong concept of what works for the customer, what is value for them and that all other services should be designed around that. And the best people to do that are the people that are working in it every day, which is the frontline staff, not so much the people in the boardrooms or the executives that don't see the day to day operations. I was interested in quality and I wanted to look at what might improve mental health services and then asking around. I stumbled across lean philosophy. I hadn't heard of it before, but what I loved about it was the ethos. One of the main drivers of lean is about respect. So it's respect for the customer and respect for the person on the frontline that does the job. And on paper, it looks like it would translate really well to mental health services. Because it's a new area of research, I'll be doing qualitative research, just finding out from the staff that are using it currently in mental health what they're doing and how they're finding it. So it's very exploratory research.


In the past few sessions, we have been talking about convergence of corporate governance and again looking at the different factors. In the last session, we talked about a very important factor which is culture and how we basically see an iceberg effect that what is visible is only one-tenth while the rest of it is under the water, just like in iceberg. Today, we are going to talk about another very important factor and those are institutional complementarities. Now, when we are looking at institutional complementarities, then transporting some of the formal elements without regard for the institutional complements may lead to serious problems, optimal corporate governance, mechanisms are contextual and may vary by industries and activities. So, just like I was mentioning right now that there is a great synchronization and a great bridge between culture and institutional complementarities. Now, when we are talking about culture or institutional complementarities, then we must understand the iceberg effect in which they are the formal structure, they are the laws, they are policies, they are the strategies, there is the organogram, there is the structure, they are the job descriptions, they are the performance matrixes. There are different rules and regulations and there are different frameworks and different monitoring mechanisms. There are different plans, there are different annual development plans and there are different contextualizations. Now, that basically only constitutes the tip of the iceberg. The rest of the organization is below that. Many of the macro factors are visible and they are very evident. However, the micro factors are below the water or are invisible to the common eye and many a times are not given their due consideration which can then lead to different complications and also can lead to the elimination of an organization such as what we see Xerox, we see Kodak, we see just recently Nokia, we look at different organizations which are mammoth organizations like we have been talking about earlier, we have been talking about how different organizations basically were evaporated from the corporate scene because of bad global practices or bad corporate practices and again Enron, we see 3M communication, we see various global organizations being knocked out of the New York stock exchange or through the Nasdaq and their existence is no more over here. So, all of these things are happening because of institutional complementarities and not understanding them which then leads to serious problems and also different complications and sometimes the eradication of the whole organization. Again, optimal corporate governance mechanisms are contextual and therefore understanding them from industry to industry and sector to sector and country to country, there are differences and again understanding all of those are very important and then molding the corporate governance framework to those unique perspectives also becomes very important and to ensure again that we are upholding the values of equity participation and trust and again a merit based decision making are very very important. Now, ladies and gentlemen in Germany and Japan, the corporation's long-term relations with banks, customers and suppliers facilitates long-term commitments to employees, we talk about lifelong employment in Japan even in this modern 21st century in Japan and also in Germany to a certain extent there are lifelong relationships and person joins at the age of 20 and retires at the age of 60 or 65 and that again is a very fascinating relationship because they basically believe in long-term commitments. The commitment to permanency promotes extensive firm specific training and therefore that also enables the firm to invest in the individual, extensively invest in the individual and upgrade their skills, upgrade their careers and see that there is a trajectory in which the individual and the organization grow together. There is also the option of having a shareholding and stock options and all of these things to basically motivate and promote and make the every employee of the organization an owner of the organization in a broader context so that all of them strive for the betterment of the organization and that is what we see in the European and also the Japanese model. In the US however, employees are more mobile and there is less firm specific skill development and the US fluid managerial labour markets make it easier for ousted managers to find new jobs after hostile takeovers. So this concept of hostile takeovers, this concept of mergers, this concept of firing complete teams, of hiring completely new teams can create its own implications and its own complications but because there is a different culture and there is a different mindset therefore employees can switch jobs relatively easily and in case that there has been a hostile takeover or there has been a merger then the employees can get golden handshakes and also move forward in their own carries and it is more you can say more facilitatory in the US. It is difficult to disentangle the exogenous initial conditions that established a path from the exposed adaptations despite numerous calls for the Japanese to do more in the way of venture capital the factors that Japan lacks the fluid labour market. So again what we see is that if we are looking at the Japanese market then it becomes very difficult to disentangle their culture from the American culture or the global culture. Venture capitalism is very less over there because there is very less movement of employees and there is more permanency of employees, more permanency of policy, more permanency of strategy and more permanency of implementation and therefore they do not require those capital swings to propel the progress forward and we have seen that in the case of Toyota and also in the case of Mitsubishi Bank and also what we see in Nissan and all of these different examples are benchmarks and hallmarks of the Japanese model when we are talking about all of these things. The Japanese nevertheless do have high rates of innovation but they achieve it via corporate spin-offs and big company funding in Germany and in Japan there is less vertical integration of industry companies. So we are not looking at the vertical integration but actually we are looking at a more horizontal approach over there which tends to facilitate and promote and motivate the different stakeholders of the organization and in turn tend to benefit all of the shareholders of the organization and that is the beauty of institutional complementarities in the context of convergence of corporate governance. Thank you so much.


Hi, I'm Joseph and I'll be talking about some work I did with Fang Song and Stefano Tassaro, trying to understand the security of key-length extension techniques against quantum attackers. So quantum computers. Lots of money, time, and other resources are being spent these days trying to build computers which exploit quantum physics. Should these become a usable reality, they'll really be introducing a form of computation which is fundamentally different than what we're used to, which will have various implications for the security of cryptographic algorithms. Perhaps the most commonly discussed of these is that Shor's algorithm for factoring and discrete log will completely break the security of much of today's public key cryptography. Grover's search is a second important algorithm which will effectively reduce the key size of various secret key cryptographic algorithms by half. The point here is that if we have a key of length k, a kind of classical brute-force attack will take time 2 to the k, while in the quantum setting we can do this sort of attack in time 2 to the k over 2, meaning that something which provided 128 bits of security may now only provide 64 bits of security which might be insufficient. So if we find ourselves using a scheme with keys that are too short, there are two approaches we might use to deal with this. The first is to design new schemes which just inherently have longer keys. The second approach, which will be the focus of this paper, is designing key-lacing extension techniques where we take our given scheme and apply some sort of transform which uses the scheme with more keying material to encrypt our data. We ran into this previously with DES that had very short keys and led to the design of a variety of algorithms that use longer keys, as well as the analysis of various key-length extension techniques which would let us keep using DES but augmenting it to have longer keys. If we want to analyze the security of these things, what we'll be focusing on this paper is pseudo-random permutations and PRFs. So just to remind you in this setting, we're thinking of an adversary which has oracle access either to the actual scheme in question or to a random permutation, or in the case of PRF security, a random function. The advantage of the adversary is just the difference in the probability that it outputs one in these two settings. And you know, since in this work we'll be working in ideal models, which means that the adversary will also have oracle access to some random oracle or ideal cipher or something like that. It's useful to remember that the adversary's code, as well as all of its queries to the ideal primitive, are thought of as local computation occurring on the adversary's computer, whereas the other oracle queries are kind of external computation being performed by whoever the adversary is attacking. With this perspective, when we're thinking about quantum security, there's really three levels of security we might think about. The first is normal classical security, where both the adversary and the honest users' computers are completely classical, nothing quantum is happening here. This is the typical model. A second model that people consider is what I'll call the partially quantum model. Here the adversary has access to some quantum computer, meaning that its local computation is quantum, including superposition queries to this ideal primitive, but that the user's honest computation is still being done classically. In the short term, this security notion seems sufficient for any practical uses of cryptography. And then going beyond that, we obtain the fully quantum model, where all of the computation is quantum, meaning that all of the queries made by the adversary can be done in superposition. Throughout the rest of the talk, I'll be using Q to denote the number of queries that the attacker makes to the external computation, P to denote its internal queries to ideal primitives, and when I need to write advantage functions, I will prefix them with a C or PQ or Q to denote which sort of security that advantage is with respect to. Given this, then we kind of give you the brief overview of the different techniques we consider in our paper. The first is called fx, and this augments a block cipher with an extra key k2, which gets x-word into the input of the block cipher and into its output. This was analyzed in the classical setting by Kilian and Raghway, who show that it was indeed a sound technique for key length extension. However, if we go all the way to the fully quantum setting, some clever attacks combining multiple different quantum algorithms show that this is actually not a sound key length extension technique. It's no more secure than if we were just using e by itself without this extra x-word. However, these techniques seem to in some sense fundamentally require quantum access to all of the adversary's oracles, which raises an obvious question, what happens to the partial quantum setting? We address this in our work, giving a proof that it is indeed a sound key length extension technique in this setting. Now for technical reasons, due to the difficulty of quantum analysis of schemes based on random permutations, we were only able to show this against non-attaptive attacks, which decide all of their queries to the external function ahead of time. To kind of pick away at how we might analyze the adaptive setting, we looked at a related key length extension technique, which we call function fx, which just replaces the block cipher with instead a random function, and we consider prf security. And here because you can only evaluate things in one direction, we only need to do the x-word of k2 to the input and not the output. For this scheme, we give a proof that it has fully adaptive security in the partially quantum setting. The final technique that we consider is double encryption, where you just apply your block cipher twice with independent keys. You may be aware that in the classical setting, this is actually no more secure than single encryption because of the meet-in-the-middle attack. Given that, it might be surprising to hear that despite this, in the quantum setting, it actually is a sound key length extension technique. The kind of high-level idea of why this is possible is that the savings from a meet-in-the-middle attack and the savings from Grover search in some senses can't be combined together. So either one lets you have the key length of double encryption, but you can't combine them to quarter it. More concretely, these three proofs are the contributions of our paper. The security-bound to be proved look like this. I won't be kind of doving into the details of exactly what they say, but the high-level takeaway is that the insides of these various routes are what we expect based on the best-known attacks. They kind of give us the right parameters for achieving a security of around one. There would be an interesting direction for future research to see if these various routes could be improved and gotten rid of. In terms of techniques, our first non-adapter proof relies just on a careful application of so-called one-way-to-hiding results. Our adaptive proof for FFX uses both one-way-to-hiding and Zendri's technique for lazily sampling a random function. Finally, our fully quantum proof for double encryption relies on a recently discovered reduction to a worst-case list disjointness problem and then quantum analysis of the hardness of list disjointness. I'll delve into these one-end time in slightly more detail, starting with Fx. We'll call Fx was the construction where we XOR into the input and the output of the block cipher. This was originally proposed for DEZ by Ravast and generalized and proven sound in the classical setting by Kellyanne in Raraway. If we consider the special case where the key length of the block cipher is zero, meaning it's really just a random permutation, this is the Evan-Radsour construction of a block cipher from a random permutation. And when I discuss the proof in the next slides, I'll just be focusing on this case, adding in also this key of the block cipher doesn't add anything too interesting to the analysis. So like I said, this analysis is based on one-way-to-hiding results. The kind of high-level takeaway of these theorems is that if you can distinguish between two oracles, you must be able to find inputs where they differ, which is formalized by considering an adversary which has either oracle access to a permutation g or a permutation h. It outputs a bit and its advantage is the difference in the probability that it outputs one. We also associate to g and h some auxiliary string z which is given to the adversary and I set s where the guarantee is that g and h agree on all points x than or not in s. Then given some distinguishing adversary a, we can design a new algorithm b, which picks a random index, runs the attack a, and then halts after the ith query and measures what a queried. The version of the one-way-to-hiding results that we use tells us that if a makes at most q quantum queries to its oracle, then its distinguishing advantage is bounded by two times q times the square root of the probability that this algorithm b outputs some x which is in the set s where g and h differ. Then to kind of apply this analysis to some security result we want, the first step is to rewrite the result in a way fitting this setting of g and h that differ on s and then we apply this theorem and then we have to bound this probability that b is outputting something in s. The most common way this happens which is what we'll use for our non-adaptive proof is a kind of structure agnostic setting where it actually we don't care what b looked like and we just say that the probability that any algorithm c making q queries to a oracle output something in s can be bounded by some known quantity and our second proof, our adaptive security proof for ffx, ffx will actually have to use the structure of b. We'll have to use knowledge of the fact that b was constructed from a and the a we give will be kind of the combination of an adversary and a security game. We need to do this because the oracles will give there if we didn't insist on any structure are actually quite easy to find where they differ. It's only because of the particular structure of an adversary that we can say it's difficult for b to output something in s. To apply this technique for our non-adaptive security proof for fx it really just boils down to kind of finding the right way to express the security of fx so that we can apply this result. So here it's a non-adaptive attack, we're thinking of the adversary fixing ahead of time its queries x1 through x2 to its fx oracle. Then in our sampling we're going to first just randomly sample without repetition the responses to the adversary's queries. For the ideal world it's my ideal permutation should be completely independent of these queries so we just sample a completely independent permutation to use there. Then to start building towards constructing our real world we're going to pick the random key k which is what we're going to think of as being the key that was used for fx and then we're going to find where I'm calling partner points by which I mean the image of all the x's x-ord with k and the pre-images of all the y's x-ord with k. Then to construct our ideal permutation for the real world which should be consistent with these responses to adversary's queries we picked earlier we just do a swap where we swap the y i's and the y stars that we found in the previous step. Once we've done this we're able to apply the one way to hiding result where our g-oracle is the real world permutation our h-oracle is the ideal world permutation the auxiliary string z is the responses to the adversary's queries y1 through yq and the set of points where our oracles differ is just all the different x's x-ord with k y x-ord with k the x stars and the y stars and then in a structure agnostic sense we can argue that that algorithm b is unlikely to output something in this set because of the way that this set depends on the randomly set of k which is independent of its view in the ideal world. So I should note down the slide I'm kind of simplifying things and ignoring the fact that it's not adaptive queries might involve inverse queries and ignoring the possibility of some incidental collisions between various values we sample here handling these is quite straightforward in the for proof. Next let's look at the ffx construction for which we gave an adaptive security proof again for this construction it's fairly straightforward to use classical techniques to give a security proof and we're going to focus on the setting where we kind of ignore the initial key for f and think if f is just being a random function adding back in that key to f is a straightforward in the analysis. So to kind of give the intuition for this I'm actually first going to talk through how we would think about it classically using classical asian sampling. So for this we can think of our random functions as these really large tables which are initialized at random then whenever an query for x is made we just look into the x factor in the table and respond to the adversary with whatever's stored there. To do lazy sampling then in the classical setting we instead initialize our table with bot everywhere. When the adversary makes a query for x we look in x if it stores bot we first sample a random value for the table there and return it to the adversary. If when we looked at x we saw that something was already there wasn't bot then we just returned the thing that was already there. To apply this to a security proof the first step is to rewrite our oracles as lazy oracles. So in the ideal world where the random function and the ideal primitive are completely separate from each other this means they're just completely separate random function tables which were lazily sampling. In the real world there's a single random function table which is accessed directly by the ideal primitive but when you make a query to ffx on point say x prime we index into the location x prime x or k to write our security proof what we're going to do is kind of rewrite this real world to make it look more like the ideal world. In particular we're going to try to express it as two tables which are kind of linked to each other and what that means is when we say query x to the ideal primitive we look both in the x location of each table and the x x or k location of the ffx table. If the ffx table there is not bot then we use ffx if it is bot we use our local table. This logic about checking the other table is the only place that this oracle differs from the corresponding oracle in the ideal world. Similarly when you make a query to ffx we look in the corresponding spot in our ideal functions table and then we use that if it's not bot otherwise we use f and again we have this bit of where this oracle differs from the corresponding oracle in the ideal world. These differences are on kind of hard to find inputs and then by using so-called identical and to bad arguments which are kind of the classical version of one-way diving arguments we're able to kind of lift this into giving us our security route. To try to follow this blueprint for our quantum proof we need to understand how lazy sampling works in the quantum realm. We can't do exactly what we did in the previous slides for lazy sampling because superposition queries allow the adversary to touch all of the table at once with a single query. But again we can start by just thinking of our random functions as large tables which initialize the random. Now for the quantum setting to make oracles kind of valid unitaries we have to have our queries be at the form x comma y and now we look into location x and we take the result and we xor it into y. Zandri is a beautiful result so that we can get nice things if we instead look at things in the Fourier domain. This allows us to think of our function table as being initialized with all zeros. Then when we make a query x comma y all this does is that it xors the value y into the table and it doesn't return anything back to the adversary really. Doing this one at a time the adversary will be interacting with the table which is mostly zeros and after q queries is a non-zero at at most q locations. Zandri's technique is also commonly referred to as compressed oracle techniques because in most uses of this technique people have needed to go one step further where they compress the table to only store the entries which are non-zero. For the purposes of our proof we don't need to do that at all we can keep our tables large and all we need is that they're sparse. So for our quantum proof we want to kind of start at the same way we just did in the classical setting rewriting things as lazy oracles using Zandri's technique which gives us two separate tables being written into in the ideal world and a single table being written into in the real world. However we can't do this immediately we have an issue because the external queries the queries to f of x or the random function are supposed to be classical and Zandri's technique is supposed to be applied to quantum access to an oracle. However this is actually kind of simple enough to handle for us what we do if we have this kind of step zero we're going to express these classical queries as being quantum queries which is done by allowing the adversary now to make fully quantum access to this oracle but with every query it makes to the oracle as supposed to be classical we just write down what it queried in what I'll call a query log then we just keep storing throughout the whole game once we've done that we can do this rewriting as lazy oracles giving us what was shown here and then again the next step is to try to express the real world as two linked tables when you access location x and one of the tables we need to first make sure if x x or k in the other table had a non-zero value in it. During this carefully we can again write our oracle in a way where the real world and the ideal world only differ on code that's hard to find inputs which trigger it. This gives us a setting for applying one way to hiding results giving our security bound. So I'm kind of slightly lying to you on this slide there are some additional subtleties first is that the classical way of linking tables doesn't give a valid unitary operation so we can't use it in the quantum setting instead what we had to do is kind of very carefully design new ways of linking the tables in the quantum setting and here we kind of crucially had to make use of that query log we introduced before for the oracle which was being accessed classically. The second piece is that the oracles as I've been discussing them are kind of stateful oracles and that's not the sort of oracle that one way to hiding results work with. The way we address this is rather than thinking of our oracles as oracles which take in x and y we're going to think of them as oracles which take in x and y provided by the attacker and take in the f table the pi table the key k and the query log provided by the game that is we're thinking of kind of combining the attacker and the game as a single algorithm for the purposes of the one way to hiding result and it's through this that we get that kind of non-structure agnostic use of one way to hiding that I was mentioning before our final result was analyzing double encryption as we mentioned double encryption which uses two k length keys falls victim in the classical setting to a time two to the k mean middle attack however we're still able to provide quantum security because there's still this two to the k mean in the middle attack there's still grover search which can do attacks in time k but we can't combine them together to attack the length two k scheme in time much less than k for a security result we do reductions to these worst case problems which isn't something we commonly see in cryptography in particular the problems we need are an element distinctness problem which asks an algorithm to determine if a list that's given has any repeated values in it and we look at a list destroy this problem where an algorithm is given two different lists and has to determine if they have any values in common the first third of our proof is taking a proof which was previously done classically and showing that it applies in the quantum setting two that we can reduce double encryption security to a decision version of the list destroy this problem then we had to analyze these worst case list destroy this problem we did this through a flow of results where we first reduce from decision version to the search version of the problem and then the search version of the problem to the search version of element distinctness which we're then able to analyze using a proof technique that Zandri used to analyze a slightly different version of element distinctness also as well knowing that kind of inside of this decision there's an additional step where we're kind of stepping between different notions of what it means very problem to be hard to decide if you want to kind of dig into the details of this I'll refer you to our paper just out concluding I'll mention two open problems that our question that our paper leaves the first of these is analyzing the adaptive security of FX the kind of fundamental difficulty at least for trying to apply our proof technique is finding ways to do quantum lazy sampling for permutations there have been prior papers that attempt to do this and then were later shown to have proof errors in them there's a more recent paper which claims to do this for analyzing shot three however they give a imperfect form of lazy sampling whose concrete security is kind of not good enough to be of any use for FX instruction it would override any benefit of the second problem that would be interesting to consider is improving our quantum analysis of list disorders we kind of saw before this route where the inside of the route is something that we're reasonably happy with but it's a sixth route and the sixth route is really bad for security for anything that's not really in the parameter regime of kind of confidence there are one so it'd be interesting if our flow of worst-case analysis of these problems could be somehow improved to give a better result and with that I've reached the end of my talk I'll leave you here on this slide summarizing our contributions and the open problems thanks for watching I hope you have a good day


I promise that 60k subs I would make our video reacting to mean comments. If you haven't subscribed, subscribe to the YouTube channel.  Yung randong nataos dahan, atakin mo pa subscribe mo sa YouTube channel namin. What's up internet? We've hit 60,000 subs and help us celebrate Don Papa is helping us with a giveaway. If you want to win one of these very excellent bottles of rum, all you need to do is these three things. Watch the video, take note of the code phrases in the video, and finally answer the Google form which is in the text description. There's no need to sub, no need to like anything, just watch the video. This is an excellent rum and I need it for good vibes because today, like I promised for the 60k video, we're going to be reacting to mean comments. Mean comments make me sad but good rum makes me happy. First up, you speak like drunk Baron Geisler na lasing. Actually, this comment was for one of Raphael's videos and he doesn't even know who Baron Geisler is. Next up, amoy kitabes. Malam mo ng amoya? Bading. Actually, this guy was kind of creepy. Ever since around 20k subs, he follows every video, he leaves a comment, I even saw him on a live chat one time.  Personally, for me, it doesn't matter if you're gay, straight, bakla, tomboy, lesbian, transgender, those are all valid choices. Love wins. Mor bading comments. Kinge na mo bakla. Ikaw yung lasing. Not yet. Tagin mo bading. Ginagawa mo lang yan para sponsor ka ni Asus, ulul. O kamagalit bro and thanks for the sub. Sorry I wasn't able to reply to yun na comments pero sobrang busy ko eh. Tamit kasing pinapadala ni Asus. Ma monitors, graphics cards, motherboards, headsets, keyboards, mice, t-shirts. So many things, I'm just too busy. Thank you Asus. This is a tech channel so of course when people disagree with me, they call me the Verge. Ba yan? Ano kasing billion? Bulang alam at ulnik. Pero kasing cable management yun. Igingang management taong siya ni. Cable spaghetti taong siya ni. Tinan mo naman niya no. Parang hikirigesipan po book. Panawarin ko na yun in the Verge mas may orami pa ko matututunan ni. Because that's what passes for wit among those guys. See this video above. So like this guy, some of that sinasabi mo is male. We're gonna get to the whole English Tagalog thing in a little bit. But actually this guy, he had original music on his YouTube channel. And I went to it, and I listened to it, and I liked it. So I left him a comment saying so. Good vibes lang. Pag the Verge comment palaging may ha ha ha ha as in talagang tuwangtuwa sila sa sarili nila. You don't know what you're talking about. I'm LOL at your blog. I'm just LOL. Made my day. Thanks bro for making me laugh so hard. If you feel good thinking that you know more than other people, then congrats because we have more than over 200 videos on this channel. And if you ever you feel sad, you need to pick yourself up and laugh at somebody, please feel free. Madaming videos sa hardware sugar. Kanpai. Some people do quite get aggressive in telling me that I know nothing. Like this guy.  Three exclamation points. Same guy. Kulang ka bata. Actually, I'm close to 40 now and on a personal note, I'm filming this on my birthday. So malapit-lapit na ako sa 40 años and it feels good to have somebody call me bata. Sir, I do not know how old you are pero kalma lang. Can't believe. Can't believe. 26.5 subs ka. Tapos para kang amature sa PC. 60k subs na ngayon. Can you believe that? This comment, galit kasi sinabi ko na sometimes, customers make mistakes. Re-request pala na mga customers nyo ang errors at mistake. Ha. Does that make any sense? Think before you speak. Actually, yes, customers make mistakes all the time. We have customers asking for AMD CPUs or an Intel Mubo. We have customers asking for 360mm rads where their case only fits 120mm rads. We have customers asking for ARGB when their mothers only support mothers. Sorry. Motherboards. Cheers. PC building is complicated and not everybody is tech savvy and that's what the shop and the YouTube channel is there for. So, tega, let me make sure that makes sense kasi think before you speak, right? Makes sense to me. Apparently, this commenter is one of those guys na tech gods. They know everything about computers. I know because he proceeded to list down everything that he knows about computers. I accidentally come across this video and found it to be the tepik tepikal. Babarok na ako. Pasensya na internet. Let me focus because I don't want to be a drunk Baron Geisler na lasing. I accidentally come across this video and found it to the typical tech tips video na typical wannabe. Kailan ka una na ka PC? Ako kasi 1985. Ano ba alam mo tungkol sa PC? Bumuo ng isang PC? Computer Technician ka ba? I am not. Ako kasi bukod sa alam kung bumuo ng PC ay alam ko rin manira ng computer. I personally code it. Actually, lahat ng pwedeng gawin sa PC, alam ko. Hahaha. Ikaw na, sir. I mean, why aren't you working at Facebook or Google? It's amazing that you have the free time to comment on this on my videos considering that you know everything about computers. To be honest, guys, I don't know I get these kind of comments where they feel the need to get into a tech-pissing contest with me. Kayo na ho magaling? I have never said in my entire life that I was ever the best at anything. I have never said in my entire life that I know the entire breath of a topic. If someone as wise as Socrates said I know that I know nothing mas lalo pa ako. Whatever the topic, whether it's tech or something else, I've always tried to learn as much as I can. I don't know everything but the little that I know, I try to understand on my own and I try to help out others. Cheers. The first part of that comment is also interesting because he's implying that I don't speak English well. Sinasaban niya, barok ako. Malidaw pronunciation ko ng bang for your buck in seconds. We've gotten some other comments criticizing my English and to be honest, I find this really kind of funny because if you know me in real life, parang ako yung number one na Englishero. If you grew up with me, manunosbleed ka araw-araw. At the grade school, I went to Porokonyo Kidzian, puro mga Englishero and every year, there would be a competition where each section would choose a contestant and that contestant would have to stand up in front of the entire year level and read a composition hundreds of kids. Alam mo sinon na nalo, ako. In high school, I was in the semi-honors English section, top three out of 15 sections. In college, I was in the merit English section which was the top four out of 50 sections. My college course was English literature. After college, I went to study law and at the same time as I was studying law, I was also teaching as a professor in a university teaching English.  But why do I say ser instead of sir and driver instead of driver? Because it's a Filipino accent and it's easier for my viewers to understand and there's nothing wrong with the Filipino accent, the American Savant accent, the British Savant accent. What's wrong with our accent? Total, it's been voted the sexiest accent in Asia. We should use that. It's a sample of the English diaspora and it's something to be celebrated, not to be ashamed of. Beside, when I tried to use all English, may nag-agalitren naman sa akin. English English mo, sa may ako punyata! Regardless whether it's English or Tagalog, we use language to communicate but to be honest, there are some comments na parang alien yung pinagsasalitan nila, I don't understand what they're talking about. Pinaglalapan mo nag-reason pa nagamua pa ko ng video. Ha ha ha ha!  Like, what? Salud!  Tanga ka ba kung bibili kasana sa MS Microsoft kabibili para legit? This is from my Windows 10 video discussing what the pros and cons are of buying Windows 10 from Microsoft directly versus buying it from the green market. So I go through like a table, I do a breakdown on why you might want to prefer the green market over Microsoft. Pero yung comment parang, it's like there are legit reasons why you wouldn't want to buy it directly from Microsoft but the comment seems to not understand that. Another comment, yung rebate, ibibigay nila. Pero yung contract, hindi. Kaya nga may contract, diba? What for? Hindi pwede daanan sa init ng ulo. Real talk lang. Alam ko na, phantard ka ni converge. This is for a comment from the PLDT lock-in period when because PLDT failed me for more than one month I went to them and said I was terminating my line and they shouldn't charge me the pre-termination fee. And if you had watched the video, dear commenter, you know that PLDT waived the lock-in period. So yung sinasabi mo na hindi nila iwa wave, we-naived nila yun. Sana pinanod mo. Good vibes lang, good vibes. I'm forgetting, good vibes. Thanks dong papa. Huw. Pero sa totoo lang. When I was preparing this video and going through the comments that I would react to, I was surprised. Not by the volume or the number of mean comments, but by the value of good comments. To be honest, sobarang na-touch ako. For every mean comment left there must be like 20 good comments saying that oh, thank you. This video really helped me. The ones I like the most are you know, I wasn't really into PC before but I watched your videos and now I'm interested. And I want to build my own PC. Because that's what I- I'm shooting for the shop to make it more accessible. Hindi ito po ro jargon. Hindi po ro mga technical. Hindi po ro yung mga tech gods na nagsasabi na, de, mali ginagawa mo. De, di mo dapat gawin yan. De, di mo dapat ilagay yan. PC building should be fun. It's a really cool hobby. And that's the number thing- number thing. Don't papa, man. Don't papa. That's the number one thing that I want from the shop and from the YouTube channel to impart that sense of fun, that sense of discovery na, wow, agad na nang part na to. Wow, agad na nang combination na to. Wow, agad na kaya- gawin ko kaya na, parang buboao na sarili kong computer. And I was really touched by all of the comments that I got about that. So yung take away ko do ito sa 60K video are not the main comments but all of the kind words that all of you guys have left. So I researched how many people does the Araneta Coliseum hold and it holds 16,500. So can yung imagine if you put all of the subscribers of hardware sugar it will be almost around four Araneta Coliseums or the biggest indoor arena in the world which actually is the field sports arena of the iglesia in Bulacan fits around 55,000 people. So if you take all of our subscribers they wouldn't even fit into the largest indoor arena in the world. And to be honest that blows my mind. I mean that's amazing. I never thought nung ginawan natin yung YouTube na to you know have free marketing for the shop and I never expected it would hit 60K. Super thank you from the bottom of my heart for subscribing, for liking, for sharing, for leaving a comment. Even the main comments because to be honest and again this is not the alcohol I'm perfectly sober. If you ever went to law school you know that it takes more than a couple of shots of very excellent rum to get a law student or a lawyer drunk and that's a whole separate video like anima kalokuhan naginginwa ako nung law school but now we're shooting for 100K. Thank you internet really it's been a joy. And again I mentioned I'm shooting this on my birthday and honestly I can't think of a better thing to do on my birthday than to say thank you and cheers to all of you guys. This one's for you. Thanks for watching internet and special thanks to our top fans Christian Espinosa, John Ruben Ocha, ITX addict, Ian Meru, Richard Ongkinko, Leah Magnaye and Dom H. Maraming maraming salamat po.