So it was all about the second day, there were short questions. So the first one was asking if the data processing for the trace distance can be seen as just sort of saying that the trace distance contracts under quantum channels and yes, this is true. It's exactly this. The second question was about an operational interpretation of the various representations of quantum channels. We saw like the Choi operator or the Kraus operators. So the Choi operator has a very clear operational interpretation, right? It's just when you prepare a maximally entangled state and half of it, you send it through the channel and then you get the state. So the Choi operator is nothing but that, properly normalized. For the Kraus operators it's a bit less clear, but let's say in the case where the Kraus operators are unitary or scaled unitary, then it's very clear. It's just a mixture of unitary that you're applying. In the more general case, it's a bit less clear what the operational interpretation is. So now let me move on to today's question. So yeah, I can't hear it very well. In some sense, yes, you can extend your Kraus operators as we saw when we saw the Stein-Spring dilation, right? So you can see the Kraus operators as part of this isometry and so the Kraus operators the part that you don't trace out. So yeah, you can see it. Okay, so yeah, maybe I briefly recall what we did in the last few lectures. So the main thing that we did on the second day, so the first day we did review of basics, the second day we saw a very basic task of state discrimination and we considered the question where we have n independent copies of rho and n independent copies of sigma and we characterized in the regime where you fix one of the type 1 error to epsilon to a constant epsilon and you let n go to infinity and you look at what is the type 2 error. You see how quickly it goes to zero and we saw it goes to zero at a rate which is given exactly by this quantum relative entropy. So this gives an operational interpretation of this quantum relative entropy and yesterday we saw a proof of the fundamental property of the quantum which is data processing, right? Which is the fact that if you apply quantum channel it can only decrease or it contracts under quantum channels and we saw a full proof of that and its various interpretations. Okay, so today we'll try to apply these insights to the problem that I discussed at the very beginning as one of the motivations is the problem of channel coding, right? And so I remind you what the problem is is we have a noisy quantum channel, W. Okay, we'll see exactly how I model it and I think there's a problem with the mic again but okay, so we can try but I think I speak sufficiently loud that people can hear me but maybe for the recording it's not optimal. Okay, there's, I don't see anyone in the room upstairs but okay let me try to continue and then we'll see. So yes, so I would like to construct an encoder and a decoder for this quantum channel and in this lecture I'll focus on transmitting classical information, right? So this classical information is going to be modeled as a message that I'll call little s, okay? That will be just, we'll have a label between one and capital M and the decoder is supposed to retrieve this message, okay? And so our objective here is to understand the trade-off between this probability of error, the probability that the recovered message is the same as the message I sent and the size of the number of messages I can transmit. Of course, for example, if M is one, then this will do and so I would like to make M as large as possible while keeping the error probability small, okay? And so my objective here is to understand the trade-off we need to. And okay, so I'll start with special kind of channels and this will be actually the main focus of today is the setting where this channel has a classical input but the quantum, okay? So the input is classical and then there is some noise that happens and the output is genuinely quantum. Okay, so what is the classical quantum channel? So here I, everything is finite so I see my channel as just a list of states, right? So my input set is going to be denoted by the script X, okay? So it's a finite set and the output Hilbert space is, I'm called B and so my channel is given by a collection of density operators WX, okay? One for every input, okay? So the special case of a classical channel in this case is we sometimes denoted with this conditional probability notation where this is the input and given an input X, the probability of seeing Y as output is little Y, okay? And then a typical example is the binary symmetric channel where I have some parameter F and I, so I have as input just a bit, zero one and the output is also a bit and I flip this bit with probability F, okay? This is an example and yeah, just to make it very clear so we can see this, these classical channels as classical quantum channels by just taking a Hilbert space of dimension the output and considering the corresponding density operators which are diagonal in a fixed basis of this Hilbert space I introduced and the eigenvalues are W of Y given X, good? So of course you can go beyond this so just this is an example to show that not all classical quantum channels are classical channels, if W0 and W1 don't commute then we have a genuinely classical quantum channel, okay? So now you're not, it's not working now at all, it's working? Okay, okay so W is a classical quantum channel, I can see it as a special case of a general quantum channel where I start by measuring in the fixed basis X and then I prepare the corresponding state WX, okay? So if I have that my quantum channel W starts by measuring in a fixed basis and then preparing conditioned on the outcome preparing WX then this is the same as a classical quantum channel, okay good? So another thing that we'll be doing in this lecture and that we do a lot in information theory is take n independent copies of a given channel, right? Like we did also for states we studied rho tensor n and sigma tensor n, the distinguishability or how well we can distinguish them will do the same for channels as well is we'll take a setting where I have n independent copies of the channel, what do I mean by this? I mean that the input is the Cartesian product of the input set so the script X to the power n and the output Hilbert space is the tensor product of the output Hilbert space and the corresponding for an input X1 to Xn, so a couple of inputs X1 to Xn the output density operator will be the corresponding tensor product, good? Okay so I hope the definition is clear so now we want to understand how well we can code, okay? So let's introduce some basic definitions so yeah here I introduce some notation so I'll label with this bracket m as just labeling the messages, okay? So which are just our distinct labels from one to m from of size m so for example one to m, okay? So what is a code, right? What is a code for this channel w so I have to give you an encoder and a decoder, okay? So what is an encoder? An encoder the input is classical, right? So it's simple the encoding is just a classical function okay? So it maps my set of possible messages to the inputs of the channel, okay? And what is the decoder? So the output of the channel is quantum, right? So and it's so it's the decoder should be a valid quantum operation which maps the quantum state on the Hilbert space b to the messages from one to m, okay? So what is that? We saw it's a p of m, okay? This model by p of m, okay? So that's the definition of a code for now I didn't say how good it is this is just the definition of what the code is, okay? So it's useful to think of the classical setting, so what does so in the classical setting the encoder is clear but what how do I interpret these these ds's now? So now in this case we may assume I mean there's no need to to go beyond the diagonal and ds can be seen as a diagonal matrix, okay? With entries ds of y, okay? And the way I interpret this number ds of y is the probability of decoding to s if when I see y, okay? So you imagine that my my decoder is a probabilistic operation so it takes as input y and it can toss some coins and as a function of these coins and y it outputs an s. And so of course the the p of m condition ensures that this is a valid probability distribution. Okay so now what are the figures of merit of a code that we we want to look at? So it's the the the main thing is the error probability, okay? So what is the probability that it retrieves the the the message that was intended correctly? And so let's just write that as a function of the encoder and decoder is fully defined now, okay? So I'll denote it as p error probability for an encoding and decoder is just so the average so I'll choose to look at just the average error. So I take the average over all possible messages, okay? Of the probability that when I send s, okay? So when I send s what happens? So I get it gets encoded to e of s and then the output of the channel is this this quantum state w e of s and then I see what is the probability that the output of my decoding operation is exactly s and this is nothing but the trace of the p of e m element corresponding to s times this operator, okay? So this is the success probability so if I want to talk about the error probability I just do one minus that. Okay so I hope this is clear. Okay also a piece of notation I'll often instead of just writing the error probability of e d is less than epsilon I just say it's an m epsilon code, okay? Okay so you might be wondering about something here is why did I take the average over all messages I might want that to get a small error for all messages not just for for on average, okay? And so indeed this is a very valid thing is that you can you can want the the maximum error probability that I want for all messages that the sender tries to send the error probably should be bounded by epsilon, okay? So this is what I call a pr max and it has this expression and so the reason that we look at the average is that it's much simpler to analyze, okay? And also that it's very easy to get from the average error probability to the maximum error probability and this is an exercise simple exercise in your problem session, okay? So yeah from now on again in this lecture I'll focus on this average error probability, okay? So here I put just some basic example so that you get used to the notation. Yeah so let's take the most trivial thing, okay? Which is the the the channel which does nothing, okay? So imagine the noisy channel does nothing, right? So it it takes as input x and it outputs x, okay? So what would this be in this notation that I introduced it would just be that the density operator wx is just the projector onto state x, okay? And then in this case there is a very trivial code which you can which has zero error, okay? And which can send the number of messages which is given by the the size of my set, right? Where I encode e of s to ah sorry this shouldn't be because the the input is classical so I should have said just s. And the decoding p of m ds is just I project onto s, okay? And it's very easy to check in this case that the probability of error or the probability of success here is equal to 1, okay? Good, okay? So that was one end like a perfect channel and the other end is a completely trivial channel where I completely cut the link between the input and the output. Right? So there imagine that for every x the output density operator is just a fixed state rule, okay? So this means that the input is completely independent of the output. This is a completely useless channel and so we don't expect the error probability, we expect the error probability to be quite high and let's just see that with the math. So we have that if I take yeah so this is the output of the channel if I take the sum over all s is in m of the trace ds row I give I get one and so the error probability if you plug this back into the the error probability expression you get there's just one minus one over m, okay? Because we're doing things on average so you can be correct on one of the messages but you'll be wrong on all the others, okay? Good. So, okay so now that I think hopefully the problem is clear my objective is to understand the following. So remember we want to understand the trade-off in this notation between epsilon and m, right? So now I fix epsilon so this is my allowable error probability and now the question is what is the largest m or the largest number of bits I can I can transmit such that there is an m epsilon code for the channel w, okay? So yeah if we want to put a name to this I can call it mopt of a channel w with an error epsilon this is the maximum overall m for which there exists an m epsilon code for this channel. Okay and my objective here and the objective of channel theorem that we'll see is to characterize this quantity mopt of w epsilon as a function of some simple, relatively simple entropic properties of w, okay? And so the important special case where Shannon formulated his famous theorem that characterizes this trade-off is the following special case, okay? I don't look at a completely general channel which can have an arbitrary structure I look at channels of a specific form right that are of this form that are of the form some basic channel think of it as a small channel for example from a bit to a bit and I take n tensor powers of it, okay? So I for example consider the binary symmetric channel and I take n independent copies of it and I think of n is very large, okay? We'll take the limit as n goes to infinity and I fix epsilon to be a small constant, okay? Okay like in the in the like in the Stein setting right that we looked at we looked at a small a fixed small type one air probability and we look at the setting where n goes to infinity and so my objective is the following the following quantity is I want to look at what is the maximum number of messages or I look at it in terms of bits so I take the log of that the log of mopt, okay? And it makes sense to look at this to normalize this by the number of channel uses of course because the more channel uses I have the more different bits I will be able to send so it makes sense to look at this per channel use, okay? So we divide by n and we take the limit as n goes to infinity, okay? And also we'll take at least in this lecture we'll take epsilon going to zero as well but after n and this is important this order of limits is important, okay? So okay so this is what we want to to characterize we want to try to characterize this limit does it have a simple expression and as we'll see so quite amazingly it is it has a quite simple expression at least in this classical quantum case, okay? So let's think before getting into the the actual quantities quantifying this what what is the intuition of what should characterize this mopt, right? So I mean when is a channel good at transmitting information, right? So when is it good it's when we want to say that there is a good correlation between the input and the output right? It doesn't matter if it's if it's renames it or something like this but the important is that there is a good amount of correlation between the input and output the specific names of the outputs don't matter but the it's the correlations between the input and output, okay? So okay so in order to quantify this correlation between the input and output it will be useful to introduce a joint state on the input of the channel as well as the output, okay? And we look at this joint bipartite state and look at correlation measures for for that, okay? So so remember that the input is classical x and the output is quantum b and so I'll define a classical quantum state so for a fixed for when when the input is x then it's natural that the output will be w of x will be the output of the channel on the input x, okay? But we have some degree of freedom we can choose here is what is the probability I will choose on the inputs of the channel, okay? And so this we will see this is a parameter that will that will come back and will optimize over it in in all the different expressions we consider and so yes so for now think of having a probability distribution on the inputs of the channel and depending on this probability distribution I define a joint state for on x and b, okay? So here I just recall this definition of partial traces especially row b will come so I think the average and so okay now I want to characterize this quantity mopt and for that as usual as we did for for Stein's lemma we'll have to show two parts like the converse part the no-go part and the achievability part okay? And so yeah just to give the structure so what we'll do first is that we will handle the one-shot setting the completely general channel, right? So I take a completely general channel w which is not necessarily as an IID structure and you'll see that this mopt is very related to a hypothesis testing question this is why I introduced Stein's lemma and so yeah this mopt is very related to some hypothesis testing question and so we'll give upper bounds and lower bounds which relate this mopt to hypothesis testing okay maybe I can ask you a question here so do you think so hypothesis testing is between two states at least the version I introduced for Stein's lemma is between two states, right? So you have a guess on what are the two states that will be relevant to distinguish between for this problem like so I claim that the channel coding will be related to hypothesis testing between two states okay that of course depend on the channel what do you think these two states will be exactly right yeah thanks so it's the joint state and the product of the marginals okay but what is what is the precise quantity yeah and we'll see it's related to hypothesis testing relative entropy between these two quantities okay so here's the theorem okay so we'll start with the converse right so remember the converse means that if there is a code so if there is an m epsilon code for a channel w then I can construct then or then let's say the the number of messages or the number of bits that this code can encode is upper bounded by some quantity and this quantity will depend on how well I can make the type two error for distinguishing between the two states rho xb and rho x tensor rho b okay okay and so as I discussed so remember this rho xb is not only dependent on the channel it also depends on the probability distribution that I choose on the inputs and so for this reason I take a supremum over all the possible input distributions on for the channel okay so recall that d epsilon h what is it so it's so I want to distinguish between rho xb and rho x tensor rho b okay so I have remember recall I have two types of errors okay I type one error and type two error so I fix the type one error to be at most epsilon and I look at what is the minimum type two error that I can achieve okay and the dh is minus log of this probability of error so it's it's a big number and you can interpret it in terms of bits okay so just a comment here I wanted to make is that so notice that here we're in the what is called sometimes the one-shot setting where the channel w is completely arbitrary okay so it's natural to relate the like to characterize how how well we can do it in terms of what I called one-shot entropies right and not the usual von Neumann entropies that you might be more used to okay and we'll see and this this should be now natural is that now when we take w of a specific kind when we take w to be iid this this one-shot entropy will converge to a relative entropy this one-shot this one-shot relative entropy will will converge to the usual quantum relative entropy okay so let's let's prove this it's just an application of the definitions so okay so it's a no go so we start with a with an m epsilon code ed okay and then from that I want to construct a distinguisher between row xb and row x tensor row b okay so I'll define the following like c okay it will be a set of inputs that's sometimes called the code as well it's just the set of inputs such that there is a message that gets encoded to this input okay and I'll define some probability distribution on x uh on on the on the on script x which is just uniform on this set c okay so notice one thing is that the size of c is at most m right and typically it will be of size m but it could be slightly smaller if I choose my encoding this would be a strange kind of encoding where I pay I map two messages to the same input of the channel okay this is a very bad idea because then of course you will not be able to distinguish them but uh I mean here we're we're doing the general setting so it could happen this is allowed by the definition okay good so okay so I'll I'll I'll I'll define states now so now my if for this definition of px I have a row xb which is one over the size of c times the sum over x is in my code of x tensor wx and what I'll do is that I'll use the decoding for this code to give you a distinguisher between row xb and row x tensor row b so yeah so this is row now and I want to construct a p of m right so f and identity minus f which and f will tell me I'm row xb and identity minus f will tell me I am row x tensor row b so so how do I construct this f so it's quite natural and so but here's the definition so I take the sum over all possible x's in the code of x tensor um on on the on the b side I sum over over all the s's that map s to x okay so all the messages that are consistent with x I sum all of these okay and so now um yes so because ds is a p of m then f is a valid uh operator between zero and identity okay so now I have to check I have to compute the two types of errors uh right so I will compute the type one success probability so if I compute trace of f times row xb um and I just expand this uh you find that uh I get um because I I I forced e of s to be equals to x okay so I I this this expression simplifies to just the average over all s's of trace of ds times w of e of s and if you recall this is exactly the success probability of the code okay and this is by construct by definition of the code this is one minus epsilon okay because we started with an epsilon uh it was an epsilon m code okay okay so the the the type one uh error probability is good okay so at least this this epsilon part is is good now I have to show the relation between m and the type two error probability okay so now let's look at now this is really the type two error probability uh it's trace of f times row x tensor row b okay I just wrote down the definition of f here uh this and uh row x tensor row b remember row x is just the average over all uh elements in the code and row b is the marginal okay and so of course here um uh the x on this part should be the same as the x on this part so I can get the sum over all the x's outside and then what remains is this right so is the trace over all over the sum over all x's in c of the sum over all s's such that e of s is equal to x of ds times not row x now but row b the average row okay so this is a state row which is completely independent of x right and so now I use the fact that ds is a p of m so this thing is equal to identity okay and so now I have just a trace of of row b which is one okay so the the crucial difference between between the two terms here and here is that uh in one case I have uh wx right and in this case I have the the average one okay so that's why in this case it's just equal to one over m okay so again the type two air probability is one over m and so um by definition of uh by definition of of my hypothesis testing relative entropy it is at least minus log of the of the air probability which is just log m here and so of course okay so here what I did is I constructed a px such that log m is is at most d epsilon for this px but then if I take the supremum over all px it's even larger so it's clear that I have this inequality okay is this converse clear good okay so now we that we have shown the converse and how it's tightly related to the hypothesis testing might ask but okay are we losing by going to hypothesis testing or does hypothesis testing between row xb and row x tensor row b characterize in some sense the this m opt and so here we see that it is basically the case up to some small air parameters okay and so here's the here's the achievability statement okay so um I have I fix an epsilon so this this epsilon would be the the m epsilon the epsilon for the m epsilon code I would like to construct okay so ideally I mean if it was if things were exactly tight then I would have that for any m that satisfies that m is not too large without this delta and without this parameter then this would show that the previous result is exactly tight okay so it's not here it's not exactly tight right you lose a little bit in the sense that there is this tunable parameter delta okay which you lose a little bit here and okay so you can say why don't I pick delta equals to zero but if you pick delta equal to zero then this term blows up okay so it's a it's a trade-off between the air probability and the number of messages okay so okay so it's not exactly tight but approximately but we'll see that for example on the iid setting then these won't matter they will they will go to zero and so this characterization will be tight okay good so let me um go over the proof of this if the statement is clear okay so now I should do the opposite I should say that given that I have a good tester between row xb and row x tensor row b I can construct a code actually okay so yeah so this is what I just said um okay I can I can say this from the beginning now is that I'm not sure how many of you have seen already the proof of Shannon's theorem but so as you'll see the proof will not be explicit so I'm supposed right this is an achievability result so I'm supposed to construct an encoder and decoder and so I mean as you'll see in a minute this is one of the very nice applications of the so-called probabilistic method where you choose the object that you're interested in in creating at random according to some well-chosen distribution and then you analyze for example the expectation of some of the quantities you would like to to uh to show to bound okay and you show that in expectation small so it means there isn't such an object okay and so this is so this is just to say that the construction will not be explicit okay so it will be randomized and it says that there exists such a construction okay good so what is this construction so let's uh so okay so for now so as I told you e will be chosen at random later but what I will start by doing is I will start by constructing the decoder as a function of this encoder so suppose someone gives me this this encoder and I will give you a generic construction for a decoder okay and here we'll use a well-known construction that actually was was also used in I think in the first day in the learning theory course is the pretty good measurement okay and so remember what what what is this pretty good measurement so imagine that I have um a set of different states right here the different states I would like to distinguish are is w for e of s right so I have an encoder which maps my messages to e of s and then after I apply the channel I get w of e of s okay and I want to distinguish between these the set of m density operators okay so um one good choice of measurement is this pretty good measurement is to say that I'll take um the the p o v m element corresponding to s I mean I would like it to put weight on w e of s and then but then I have to renormalize it of course so that it's uh it's a valid p o v m so I renormalize it by just the sum of of these operators right so so I want to distinguish between these various operators and so um I write the their sum and if I divide w e of s by the sum then I get something which I get a set of operators which map to the identity okay and here what I mean by divide is I sandwich it with lambda to the minus a half okay so these are very positive operators and it's obvious that the sum to the identity okay so perhaps it's useful to see what is the interpretation of this strategy of this a pretty good measurement uh in the classical setting because this also makes sense right in the classical setting um also in the classical setting imagine I have a bunch of distributions and I want to discriminate between them what is what strategies can I use and so what is the interpretation of this pretty good measurement it has a very simple interpretation it's just saying that um I uh okay so I take I get as I get as input y right so y is a sample from one of these probability distribution and I and I would like to know which one right okay so that what what this pretty good measurement is doing is it saying that I will output s with a probability that is it's it's a randomized strategy right so it's not deterministic so depending on why I'll output an s I will toss some coins and depending on these coins I will output an s and I will output s with a with with a probability that is proportional to w e of that particular s applied on y okay so uh or in other words it's uh was probably w e of s of y divided by the sum overall possible s is a prime here okay so um so yeah so the the the more standard way of discriminating which is uh which is used and sometimes called maximum likelihood is to say that on sample y instead of outputting s with a probability that is proportional to uh what would to the probability I would see why if the input was s uh I instead just output the s that maximizes probability okay so this now would be a deterministic strategy um but this is usually harder to analyze okay whereas this is a bit simpler to analyze so we'll focus on this okay so now given that I have an encoder a fixed encoder um and a decoder let's just rewrite what is the the probability of success or the probability of error so uh yes so the probability of error is uh here again the average overall s is of the probability of uh outputting s prime okay so the probability of outputting s prime is just d s prime of w e of s okay so and now let's write the definition of d s prime um okay d s prime is just w e of s prime divided by uh the sum over all the the w e of s okay and then of course I sum over all s prime different from s okay and so I noticed that I wrote the lambda in a particular way here where I uh I I wrote it as w of e of s plus the sum over all s primes different from s um okay so how do we analyze this expression uh so let's imagine for now that these are scalars okay how can we easily bound this expression um so yeah note that for scalars if I have uh non-negative scalars uh a and b I have I have a times b so imagine this is a and this is b so I have a times b divided by a plus b okay so this is simple to see that this is uh at most the minimum of a and b okay and so okay but now these are operators uh so I would like an analog of this minimum so I'd like a minimum of positive operators non-commutative minimum okay so uh one way to define the non-commutative minimum is in this way okay so here's here's this definition so the minimum of two positive operators a and b okay this is definition okay so it's just one half a plus b minus the absolute value of a minus b um okay so it has a few nice properties of what you would expect of a minimum so in particular it has this interpretation that if you take the trace of a minimum b uh or if you want that this a minimum b achieves the following which you would like is that if you take any operator m her mission operator not necessarily positive um that is smaller than a and smaller than b okay of course there's many such operators but you want to take the best one right so the one which maximizes the trace and uh so it turns out that this operator uh optimizes this so satisfies this it's the one which satisfies this property and it's uh achieves the maximum trace okay so this is a semi-definite program you can write its dual also which is useful uh we'll use this even uh it's the minimum uh for all positive operators between zero and identity of trace of a identity minus lambda plus trace b lambda okay so this is very related if you will see to to the operational interpretation for the trace distance that you have done in the exercise session i think in the second day um because you see that the the the trace distance is nothing but half trace of this quantity right so it's normal that these things are very related okay so um what other properties will we need uh so we'll need this property right this is what we uh we wanted here for scalars uh we want this to hold also for this operator minimum and and it does hold right so if i take trace of a times b divided by a plus b and remember the the definition of dividing is just sandwiching by the inverses the square of the inverses this is at most the trace of the minimum of a and b okay and also another thing that we'll use is that this quantity is concave okay and this now that we discussed yesterday you should see obviously from this expression because it's uh it's a minimum of linear functions that it's concave okay so this easy this thing is a little bit harder to prove um but uh yeah so i refer you to this paper uh for if you want more probably if you want the proofs of these things and further properties uh and how it's used in information okay good so now um okay so now let's let's continue so now okay so what have we done so far so if i now bound this a b divide by a plus b by the minimum of a and b i this is the expression i get i get that the error probability for the specific for a specific encoder e and for the pretty good measurement corresponding to e is given by this so the average of the trace of the minimum operator between uh between w e of s and the sum over all w e of s prime okay for s prime different from s okay so now this is a relatively simple expression as a function of e let's now plug in an e now and and analyze this expression okay so as i uh announced before the way we'll choose e is that we'll choose it at random okay so we'll choose for different s's uh we'll choose e of s independently and randomly but according to which distribution so the natural thing is we have a distribution px which optimizes this expression right so if you remember this expression right so i take a px for which this is the largest okay good so now e is defined my encoder is defined and so as is usual in the probabilistic method what we'll do is we'll analyze the expectation of the probability of error okay the expectation here over the randomness in this encoding okay so what i need to do is is the following is to analyze right so you see here that for different s's this quantity is distributed in exactly the same way right so i i don't need to so it suffices to focus on s equals one okay and so you see this is the reason just a comment this is the reason we look at the average right so if we had a maximum here this would be an expectation of a maximum it would be more difficult to analyze whereas with with an average it's it's obvious sure uh so um okay so e of s think of e of s as a table right so for every s from one to m i have to give you an an element in script x okay so what i do is i just take capital m independent samples from the distribution px okay and so the first output is e of one the second output which is independent is e of two and then e of three is an is a third independent choice etc is that clear okay so um okay good so now i'm at this stage here and so i will choose uh e of one so the the the first element at random px and the remaining elements also at random independently okay so i wrote this explicitly because we'll use it in the next step okay so now what do i do i will use the concavity right in the second argument of this the trace of this operator minimum okay to put this expectation over these operators to inside the trace of the of the inside the trace of the minimum okay so now let's look at what is this quantity so this again right it doesn't depend on s prime right so it's the same for every s prime and the expectation of e of s prime of w e of s prime is nothing but uh rho b right so for okay so i didn't redefine rho xb but rho xb is i have i defined the p of x right p of x is the one that optimizes uh this uh this expression so if i have a p of x and i have the channel i have rho xb which is defined automatically okay so when i talk of of rho xb and rho b i mean this specific one okay and so here what what is the expectation over s prime accord it chosen according to px of w e of s prime it's just the average over x of p of x times wx okay and this is nothing but roll b okay and this is the case for every s prime okay so i have uh m minus one here because i have uh here i have a sum for s prime except one okay so i have m m minus one of them and so i i just multiply m minus one by rho b okay and okay for the other part i just renamed uh e one to just x okay so that i have an expression which doesn't involve e okay and so now actually we're done right so i just have to um so i just put in this extra system x here um so that i write the expression this way right so of course the the so here i just add rho x and here i i put rho xb and so this expression is is the same good okay so um yeah so the the the nice thing here is that i i don't have the encoder and decoder anymore so it's an expression which only depends on my probability and the channel okay so this is the error probability and now i would like to to relate this remember our objective was to relate this to hypothesis testing okay so how will i do this so i will use one of the two expressions this sdp expressions i had which says that this this trace of the operator minimum is given by this infimum over lambda of trace of identity minus lambda rho xb plus the trace of lambda times the second operator okay which is m minus one times this but now this expression is linear in m minus one so i can put out the m minus one it's not here right here it's not i cannot pull out the m minus one here but but here i can uh good and so now you see this is exactly uh hypothesis testing setup right so this is the the the lambda this is the lambda which distinguishing is between my two setups my two states and this is the type one error probability and this is the type two error probability okay and so by now by definition of this hypothesis testing relative entropy i have an operator f a distinguisher which is by by definition in between zero and identity such that the type one success probability is one minus epsilon plus delta and the type two success probabilities two to the minus this relative entropy hypothesis and so as a result right by plugging in this f here right so this expression is at most the same expression if i just plug in f instead of lambda and so the first term here is just epsilon minus delta okay because it's trace of identity minus f times rho xb and the second term is m minus one times the type two error probability which is exactly this okay good okay so so and that's it we're now done actually because if i choose m that is according remember i chose m basically so that m was smaller than roughly delta times this quantity okay so globally this thing is smaller than delta and so the expectation of the error probability is less than epsilon okay so again to recall what i did is i chose e the my encoder at random and i computed on in expectation over this choice of randomness what is the error probability for that code okay when i chose the decoder to be the pretty good measurement okay and in expectation this is less than epsilon so it means that there must exist a code e and d that has a probability which is more than the expectation and so i'm now done okay and so again the statement was of the form just i recall everyone that if m satisfies this if m is not too large okay so if i take m to be roughly this quantity okay maybe i should do minus one so that i'm sure that it's an integer then i have an m epsilon code okay so if i take the floor of this then i get an m epsilon code okay good okay so i'm going a bit slower than what i expected so oh yeah yeah it's actually for the exercise session it's crucial that i do this so okay so we have now a characterization of this log of the optimal number of messages in in general so now we want to say that for some specific cases can we characterize it in a in a nicer way let's say so for now very large channels can i can i find an expression which is nice so and in particular the the important example that we consider is these product channels w tensor n okay so for that as i said before we'll define the classical capacity so the capacity of a channel w is defined as follows so i take the limit as n goes to infinity of log of the number of messages and then i take the limit as epsilon goes to zero okay again this should interpret as the optimal rate for transmitting information over the channel w okay good so okay so one thing which is easy to do given the previous the the one-shot expression so we just in principle have to take the previous expression and plug in the channel of the form w tensor n okay so and okay this is what i do here but okay so so yeah if you do this and look at the previous expression what you'll get is is is an expression of this form so you will get a hypothesis testing entropy with the relevant states okay as a upper bounds and lower bounds for the optimal success probability okay and then if you take n going to infinity and then epsilon going to infinity then you can write an expression for the capacity okay but this expression is a little bit ugly right it has all these limits how do we compute it okay so i claim that okay so here i claim that we have a lower bound and an upper bound so the lower bound is relatively nice but the upper bound has a limit for now and so yeah given that we're out of time i will skip this part but as you can expect we'll use at least in the lower bound we'll use Stein's lemma to relate this hypothesis testing entropy to the usual quantum relative entropy and remember that the quantum relative entropy between a state and the product of its marginals is nothing but the mutual information between the two parts of the state so okay let me skip that for now let me skip that as well and let me just state this theorem and maybe actually tomorrow i will i will go over the proof because i think for those who haven't seen chanon's theorem before it's useful to to see it at least once so okay so the statement that that will finish the proof of tomorrow is the following is that if you take a classical quantum channel then this capacity which i define as the limit of the optimal number of messages is given by this simple expression it's just a supremum over all input distributions of the mutual information between the input and the output okay and evaluated for the usual state row and so yeah and i wanted to to cover this because in the in the problem session you will i asked you to compute this capacity for several channels okay so i'll stop here for today thank you


Hello and thank you very much for inviting me to speak at this event. I'm very glad to say a few words about how to prevent the zoonotic disease I'm working for the International Livestock Research Institute in the part of the CJA systems. So we work across the developing world and livestock for improving the life of farmers in low and middle income country, because livestock is a very important part of the world, for improving the life of farmers in low and middle income country, because livestock is actually involving over 1 billion people around the world who depend directly or indirectly on farm animals. The demand of animal source food including meat, meal and egg is increasing in this developing world, because if you look at the data and American people consume more than 100kg of meat per year, whereas in Africa, here in Nigeria for example they eat just 7kg of meat per year. The need are there in the coming years and it's already happening already and that contributes to the challenge of how to manage infectious diseases emergence in our world. Another challenge is about animal health. African countries suffer a huge burden of livestock diseases and that lead to the loss of around 1 in 5 animals including zoonotic diseases we are talking about. And finally in the context of the pandemic, but also from a country perspective, the consumption of bush meat and wildlife farming in some of the areas around our globe are challenging for managing zoonotic diseases emergence and re-emergence. So in this context what can we do and here I want to highlight a few experience from INRE works and our partners on how to control and prevent the emergence of zoonotic diseases from a livestock and food security perspective. So I think that we need to continue improving the disease surveillance from a one health perspective, so developing a tools and a solution for better management of diseases. And this is an adaptation measure, if you put it in the context of COP 27, since they enable farmers to keep animals under difficult conditions and to prevent the diseases. As a second point I want to make is about we need to work more on biosecurity at the farm level, but unfortunately this is very challenging in low and middle income countries because the biosecurity investment requires farmers to invest themselves and very often farmers don't have means to do so. So we need to think about solution, how to help them, for example from the public-private partnership solution for example. The management of herd health and disease control measure in general will help also, so really bringing the vet services and the innovation to work at the farm level to improve herd health. Another area that is important for zoonotic diseases is about hygiene practices in different levels along the value chain of livestock production. For example, from the farm I talked about that before but also at the slaughterhouse and the wet market, traditional market, where you have live animals are sown and slaughtered, but also where the infrastructure and the hygiene are not good and that creates the condition that facilitates the transmission of zoonotic diseases. The bush misconsumption and wildlife farming I mentioned earlier, we need more education and behaviour change to manage this system. We cannot ban it but we will accompany people to practice better to reduce the risk or to avoid the risk. And on this thing it fall under the umbrella of one health approach. We need to strengthen the capacity of one health at different levels in particular at the country levels to change the policy to attract more investment but also to strengthen the capacity of people who are practicing one health at the ground level including public health people, animal health workers, and farmers. And this is very important and that goes for the investment into one health to improve on this practice to prevent the emissions of zoonotic diseases. So thank you very much for your attention.


That's Espen, then.  It's Espen. It's what's up? Espen, where are you? We're going to play a little bit of Among Us before we go to bed, guys. So you're still long though. Like, if you were going to move it out. OK, that's cringe. Do you want me to get in there and play this one? Yeah, I hope so, so I could stop hearing you guys be hypocritical. Yo, Espen joined. OK, they're already mad. Bring it up, but I don't want to bring it up, because I thought that was meta. That's why. It's two parties. Yo, Espen, where are you? I'm going. I just got locked into electrical after lights, by the way.  A logical. So it's really easy. Unfortunately, I'm locked. No, no, I'm locked in. Perfect. I am. I'm right side. Kelly.   There was four people that are on the right side. That are we were green and white, we're all in navigation. It's solid. I was also I was also right side. I'm going to put. I'm going to put that. Good. Still kids became a nice fan and then people crossed us. I'm just dressed up for 12 months. I'm in trouble. Where did I go? No, it's not. No, it is not. So why is it not? Why is it not Sophia? Why is it not Sophia? Because I OK. Right side I was I was right side with you guys All right, this is actually grief dude, this is I'm actually getting griefed jelly I'm there You're emulating the behavior of a Pokemon. I'm sorry. I'm sorry. I want to sit down and think about this for a second Hey, it's another female tumor and you're emulating her behavior. Wait, what? So me G'day Colb Asfand and Sophia. So all right side, okay? I think I think bbc is just trying to figure out who the killer is oh and jelly. You're just deflecting Did you guys see jelly early in that or not? I saw him on oh to leave why am I not being accounted for on right side? Lights went out I I went to lights. I get locked in at lights after I do the lights alone XQC and Master vane were the ones that I Think Rambe was the wrong Master fiends were the one that left if I Did the kill in front of I would have been able to get away with it See before it's too late Why would you skip there? XQC killed good day Okay, we guess we are a lot of this. I told you we should have voted him last time. I started right side First construct a good story go. I start right side with jelly and Harambe. We're doing this round Start what happened this round? Capita your doors got locked But where's the body running down?  I'll give you guys would actually go ahead There's a lot there's open I walked and did this right behind me. Why did I stop walking entirely? Exactly Good day and and then and then I go into storage. I stop moving it You did it comes in we both go together and that literally just right for me. Just slice them right there and reports Instantaneously, okay, so listen. I was spamming report as I was walking with XQC and good day Why was an XQC spamming report? Here's the thing because he had to kill here's the thing if If Rambe was one of the killers and it was you see through under the bus Wouldn't it make sense that it's a depth because she didn't Listen, but listen, it's either you it's two of you.  We saw it? See what? Okay, when lights went down I see a light green a body go straight up for me.  Yes, you didn't include We know I was there Sophia was there I was there and I was also trying to push for jelly because I saw him at the bottom part Oh, I know for a fact jelly for me Yes Really early on and I didn't know where they went. That's why I was okay.  No, no that was handed to us Me and Cole no no no because I was on cams, and I saw you walk down from admin or whatever That's been and then cold I just I did I just walked in there and I saw cold murder next to a dead body Yes, no, so where okay cold. Where were you? So you and him we're together then why is he dead? Sophia did you see cold on cams I was on cams cold But did you see him on the cams him and jelly? Yes, they were walking down from the what is that the left wing reactor? Whatever they walked down cold split off because cold stayed behind with you So, how do you know? How do you know it's not me or how do you know?


Alright guys, I'm... Hey, Silvakido, wuko busy? Guys, I'm hanging out with our very own Silvakido, Bayakido. Fiti, Sana. For once, leo, wuko job, umekuja... Umekuja kama nani leo? Umekuja kama guest, you know, mini. For KIA Awards 2023. Yes. Silvakido, kuno nana sumuna, set, Sana? Kuset mini, nebuni foolisha. Kuset... Kuset mini... Kuset, Sana. Una chocha, Sana. Kupasuti, yeah. Ia suti agoni like, how much? I'll say this, kuna dizay nahuangu, umpowa Sana. I'll share the context, have any dress for this occasion event. But ni baypowa, material, quality wise, in imbaot. Nia umo? No. Mbaot like 20,000. 20,000, yes. Yeah, I'm wearing it for the first time. Because this is the first one, actually this was meant for this event. Ok. Z업u o move kwa maha kwa maha sehan? Yama umo kama sama. So, silvakido, here kategori kwa is news influencer. When you talk about news, kuna wangapale airport? Musani tena kiko hoa? Mugi kama hafangatsa? Musani kiva injikem wunjikam gu? Silvakido I know when you have my bed time It depends how I plan myself But I normally get enough time to rest So at times nalala late At times nalala mapema it depends too And you've been in the game for how long News specifically Two years now Two years only Yes So Silvakido We didn't plan enough At times nalala late Right nowrying the script But we're lucky And the scripted We're lucky No no no We can never script something For script it if we point it out For me what I'll say Whatever is trending I don't wanna look for the right people If it is because of poor If it is thought we will end it And go ahead and try rejecting Naôs marking Neôs affecting Waenoko Again Yeah. So every interview that you do with Kina k classy Shout Nadima Nagkarizinakwaga Factual Yes Ok We're gonna登ge O. Yea Alright so Kido as What do you feel Fuels you as a Journalist Have you always been a journalist Bede pi Оdefi Amimi a rocking Nili kubatu Or you a businessman before being a journalist What exactly have you been doing before Most people don't know about me mostly but I'll have a seat and maybe another time to tell you more about myself and what I say is that I got an opportunity to learn more about journalism and then during that time I had a passion about journalism and then at the same time I was starting to learn more about myself and how I do it. I had a passion about journalism and then at the same time I was starting to learn more about myself and how I do it. There's a blogger by the name Jambi Fiva, Ali Semaleo, that Kenyan blogs. They are posting stories that favour celebrities. Is that true? No, we always post news. It's news as we post so we don't favour anyone. Na if kama ngekotuna Fiva Amsaniyote, then ingekwa iyo news niya, ame ingekwa iyo blog, ame ingekwa iyo media house, iko under that name. For example, give you an example, agaliya citizen, agaliya mainstream. If it's against the government, the post list, if it's for the opposition, the post list, if it's fire burning, the post list, if it's sports, the same, same, whatever you can cover content. Any news you cover content so agaliya ngam tu specifica rata futa. Kama ni simbo mo nafanya interview, right now kwa apu nafanya amazing winners. So agaliya mtu nafanya kiki tu specifically, unless Jambi anga specify ya Semaleo, so and so ame kwa bias, tamame kwa covered mostly with this blog. Kenyan celebrities do not own Kenyan blogs? Yes, they don't own. A few individuals that are running business, that are running media houses. That's different. Tomorrow at least you start your own media house for example. You run your own media house, I'm an agency. Just a business you're running. Doesn't mean that we can't listen to media houses yako, ni yako atina 5 and 2 stories yako atika o zaka no. You can have your own media houses, you can talk about your ex. Yes, but sad. Apais, PMBs, we also talk about exes. Why not? It's news. If it's something news, we report news. Nani haki ati o ame atika. Nani haki deti wuna post news. But we have to post, tamame we have to report something that is of importance to the society. Something, amba it, I dedicate to wa tuka society. To suppose to be pained appear, Erika menu amswagi tu na post. No. Alright, so one of the Tik Tok sensation, ane itwa niyako. Ali kwa na sema sometimes Kenyan blogs take advantage of vulnerable people kama brand share. Ali mtumia kama example aka sema. Tunashina took it after brand share. He's desperate, he does not have a house that has, we are getting money from the news. What's your take on that? I don't want to say much. Ki na mtu akuna ja ni yake na story yake. Ni yako ni content creator kama CC. Plato mi yake ni tiktok. Mimi, lamakwa media house, PMBs. We normally share our content on YouTube, Instagram, across area. Brand share ni content creator. Brand share ane juli kana sana tiktok. So, ki kwa CC kama media house at Fiku Report. Brand share ane Shikwa. Aman ane Yasa. When you're covering news leads, you always cover the two story. If niyako is saying this, we go listen now to what brand share is saying. Is brand share ane comfortable? Niyako ase generalize. If you're creating, if you're reporting news what is happening. Let's ask which is our job. Ase to control. Kama yaa tagiku kwa nge is fine. You see, I don't need to come and talk to you directly. Now you're interviewing me. We just need to see what I'm posting on our stories. If I'm going through the repression, write a story about me. I'm going through the repression. So, if brand share ane kumwa pomba yaa ki zunguka, ki anguka. Kwa uta report na sama na go through something. What is her to say? That boy is brilliant. That boy is smart. Sawa. Kama yaa kuna Shidiya mental health. Kama ni noma yaa drugs abuse. Sama misuse ane rehab. Do you believe there are vulnerable people that people should not interview? When a celebrity is going through something. Do you feel, now you as a journalist, where do you set the boundary? You know everyone has a right. There's privacy, there's freedom. Under media code and ethics. Kuna kwa nga na media principles. So kuna privacy I'm saying. So what you can do is that don't miss, inform, ama report firstly information about someone. So if someone is going through something. Please give that person time and space. Once we have a media hill, a media combine, a keep open konga atonga. Because reporting, you know giving solution. For now kido is an addict. The world will see kido is an addict. But what an idea is there. But we report to say kido is an addict. Kido needs our help now. Less than with kido. It makes sense. So kuna tim to niva na nabo. Ama hui atia. Ama hui atia. Fai konga leisha. Fai kwa nga interview. Because tomorrow, e media houses are there to inform, to educate. So that whatever branch here is going through. Tungina CPTA. You know. Na kuna watu walu kwa na sema wukonche. Silver Kido. That uh, unafanya interview sana na Kiarji, Eric na Kasipul. Kwa ni howna watu wengine. Ama one of the news maker. No, talk to, go see my interviews. You know. Not everyone is available to speak anything. I can't be talking to, because it depends now. If I want something, it's more, I want Kasput to speak about, for example, entertainment. He is the right person to talk about entertainment. But I'm not saying Kasipul is the only person available to talk about entertainment. If something is happening about maybe Shobis, I'll go to Kiarji. Because Kiarji, nga kwa Shobis. Na nafanya everything. Na because Kiarji watu nga kwa skia na sema ni na alko. Na na. Manich blessing him, nyaba upo y meinisha shoulder na konge takosak mange. But not everyone will make sense when they speak him. Duga nga na unge da 2éch mega nga konge. Na tuna tea? Ok. So I'm open. I always work with everyone. Datu kya ka le interview jacky. Na na koliganya anyone. Only one available. Please if you see me on street come to be your story. All right guys, speaking to Kido himself na two machin baka samao me ya janouahwini kama ni we 기 ya tube. news influencer U�the 자 off auf the iya. Shequi Yapa SPMB, congratulation da Yapa Kido. kana kan 것 k Despu kunanya, We will be honest with you, but good job. My name is Liz Jaksan. See you on the next one. Thank you so much for the SBMBA family. This is for you. This is for you, Liz, Samora, Betty, Denia, Nyambu, Putita, Betty. This is for you, Suleh. This is for you and my fans. God bless you for this. Thank you so much for having me. You're welcome.


Tag for this meeting and it's si diaspora 13 That's all right Yeah, so go ahead and tweet your thoughts questions All right, and so what we're gonna do we got three speakers and then we'll have a more detailed discussion So I'll ask that we only have any clarifying questions during the presentations by the three speakers Then we'll we'll have them come up here and as a panel be able to address questions But we are gonna leave 15 minutes at the end for any questions that you have So we'll have some time for interaction with the audience and I'd like to introduce our first speaker Jake burn.


All right, good afternoon, everybody. Thanks for coming to our session. Today we're going to be talking about this panel is about enterprise adoption of Kubernetes and containers. My name is Chris Hodge. I work for the OpenStack Foundation. I work for the marketing and trademark program, as well as our community relations. We have a fantastic panel here today. We'll just start from here and work down the panel here. Our first panelist is Adrian Otto. Adrian's been part of OpenStack since the very beginning. He spent 10 years at Rackspace. He's been to every single OpenStack design summit and conference. Since that time, he's been the PTL of several projects, including Magnum, which is the container orchestration project for OpenStack. Like everyone, to welcome Adrian. Our next panelist is Jonathan Cheng. He leads a team of cloud solution architects at Comcast. Comcast was one of the early adopters of OpenStack. And they were really deploying OpenStack at scale and delivering probably a lot of content that you, if you're a Comcast viewer, you've probably seen content delivered by them. He's definitely not an expert on containers or orchestration, but he is really excited about sharing his company's experiences and direction. And to help you make decisions about how you want to deploy your infrastructure. So everyone say, give Jonathan a welcome. Tony Campbell is the director of educational services at CoreOS, where he's responsible for training, certification, and general education around Kubernetes and CoreOS. He's been a member of the OpenStack community since 2011, since he attended his first OpenStack summit in Boston. And so this is kind of a nice homecoming for him here. He hasn't missed a single summit since. Before CoreOS, he was at Rackspace, which is the company that co-founded OpenStack with NASA. And he's excited to be here to talk about enterprise Kubernetes and enterprise OpenStack. And our final panelist is Bic Lee. Bic is a co-founder of Platform9, which is a OpenStack cloud provider in our ecosystem. Not only do they provide OpenStack cloud services, but they also provide an integrated Kubernetes service. And so Bic will be able to share his experience on providing public cloud services in both OpenStack and Kubernetes. And so everyone, welcome, Bic. OK, and one last thing before we begin the panel and start asking the panelist some questions. We've set up an etherpad for this session. If you're new to OpenStack, etherpad is a way for you to take collaborative notes on a session. So if you go to this URL that's at the top of the screen there, you should be able to kind of add your own questions, your own comments, your own notes. And these notes will be available after the panel and the conference is over too. So without much further ado, let's begin. So let's start by setting the stage a little bit. And I would like all the panelists to kind of like share their experiences with both OpenStack and Kubernetes adoption right now and kind of their experiences with it so far. I guess we'll start with Adrian. Hello, everyone. Thanks, Chris, for the great introductions. Kubernetes has got to be the hottest buzzword since OpenStack. I could go on. But there's a reason, and I think people are really excited about the innovation of the container and the related technologies. And once you start adopting a microservice architecture for your applications, you start to discover that there's something missing. If you think the way you've been thinking about cloud for the last seven years. And what you'll find is that there needs to be something that coordinates all of those microservices together. And Kubernetes is really good at doing that, which is why it's so popular. So Comcast has been doing OpenStack since the early years. We're one of the larger deployments in the United States. And part of the reason why we deploy OpenStack is that it takes really good advantage of one of our biggest strengths, and the strength is our network. Now, when you apply that to containers and orchestration on top of a very robust network and potentially virtual or bare metal infrastructure, it starts making sense that we kind of deploy both. So that's kind of our story. Our video IP team has a fairly large Kubernetes deployment on bare metal servers using Docker containers for our cloud digital video recording service and encoding service. So we'll probably talk a little bit more about that later. Got it, Mike. So for me, I'm with CoreOS. And for those of you who may not know about CoreOS, we provide self-driving infrastructure for Kubernetes.  So we've begun to see a lot of customers coming to us from the enterprise who are interested in Kubernetes, but interested in running it on top of OpenStack. So we've begun development on installers and products to allow that to be ran on top of OpenStack. And then before CoreOS, I was at Rackspace, so I breathed OpenStack all day every day. So it's kind of nice to be able to continue to work with this awesome community in my new role. Hello, everyone. I'm Big Lee. So Platform9 started as an OpenStack company. We provide a managed offering for OpenStack. We call it SAS-based. And we were one of the first ones to do this. And for some reason, it seems to be a very popular delivery model now. I think this morning you heard of a remotely managed OpenStack, and that's what Platform9 is all about. We started our Kubernetes journey based on pure customer demand.  We're betting the company's future on Kubernetes. What do you have to offer? And that's when we decided, oh, we better get into the space. Today, we provide both OpenStack and Kubernetes side by side. Customers can run them together, or just one of those stacks. And so we provide choice, and I can get into why we're offering them side by side, as opposed to one on top of the other later. Thank you. And I actually think that that brings us to a really good question that I know that I get a lot. So I'm very involved with the Kubernetes community. And oftentimes, people will look at me and say, why would I want to run Kubernetes on OpenStack? Why wouldn't I just run Kubernetes on my bare metal? So with the wealth of experience on the panel here, can everyone kind of share their experiences with that on Kubernetes on OpenStack versus Kubernetes on bare metal? Yes. When you have a toy application, you can run it on anything you want. And then when you have a real application that needs to manage infrastructure, you realize that container orchestration software, like Swarm or Kubernetes or MeSos, are not designed to manage infrastructure to the extent that a system like OpenStack is. So these are complements, not substitutes. So I think of these as a set that overlaps in the middle. But you've got infrastructures of services over here. You've got container orchestration over here. There's a bit that overlaps in the middle, but they support each other. So for example, if you want to be able to dynamically create storage volumes or networks and connect those up to your applications and have that all work well, you can have some trouble if you're using Kubernetes by itself, because the driver ecosystem hasn't developed yet to an extent where you have lots of supported choices to get those things done. Whereas OpenStack in combination with Kubernetes gives you the capability to do both of those things. Yeah, I totally agree. Today, Kubernetes is optimized to run on public clouds. If you try to run Kubernetes on-prem and you try to deploy one of the examples in the Kubernetes repo, a lot of those examples will fail because they'll try to allocate a persistent volume or they'll expose a service that needs to be exposed externally using a load balancer. And when you're doing Kubernetes on-prem and you're missing all of those pieces, the app just isn't going to run. And so I agree with what Hadrian just said, and that is those missing pieces, the infrastructure, the storage, the load balancers, those are things where I think OpenStack can help fill those gaps. It's definitely a common question that comes out. And I think you have to look at the application that you're trying to deploy in this environment. If you are super sensitive to performance, you might say, hey, I'm going to go bare metal and get rid of the VM overhead. But if your app has some tolerance for performance, there's a lot of great benefits to running on top of a cloud, particularly when it comes to adding nodes and doing some other things that are just automated. We are all used to working with infrastructure through cloud APIs and whatnot. So being able to do that on a cloud provider is very compelling. But if you drop down to bare metal, yeah, it's possible. You just got to do some more plumbing. So we do do it on bare metal for the purposes that Tony brought up. Encoding is a very CPU-intensive process. And we run very specific hardware to do encoding. Imagine multiple nodes inside of a 2U form factor. And so it wasn't a simple task, kind of being on a leading edge of that kind of stuff. They started, the Viper team started this effort more than about two years ago when that kind of. Can you describe some of the challenges you faced, maybe?  Essentially all the things that Tony and Big talked about, load balancing and networking, and just the general, what Adrian said, the general immaturity of those states and Kubernetes today, and having to kind of invent those things and learn by in production. So building on the bare metal, you had to build those solutions yourself or did you wind up drawing from other open source projects? Definitely drawing from other open source projects, but at the state it's in, you're right, there's a maturity issue, but there's also the benefit to be cleaned from running on bare metal, so that was kind of the. So what if there were an open stack project that allowed you to run Kubernetes on top of bare metal infrastructure? Would that be something you'd be interested in? Magnum 101 this afternoon. Yeah, so what Adrian is talking about is, so Magnum is an open stack project which is designed to run Kubernetes on top of an existing open stack infrastructure. Traditionally this has been running on top of virtual machines, but Magnum, I guess the newest releases is also tuned to run on top of bare metal. Yeah, it's an agnostic to the actual Nova instance type, so by default it's whatever your Nova driver is. Right, but it will still take advantage of your network infrastructure that open stack provides and your storage infrastructure and these sort of things that are there. So having said all of this, now that all of you have used Kubernetes in production, how, what does that experience like? Like what is the experience of running Kubernetes in an enterprise environment where you're providing services in terms of scaling stability and even security? Yeah, I'll tell you, I've told this to my team, the thing I love about Kubernetes, and I'm simplifying it, but a lot of it just works, which I thought was really amazing. A lot of times we grab some open source software and you have to do a lot of hacking to kind of get us to do what you wanted to do, so Kubernetes has its issues, but for the vast majority of it, it works. And I'll confess I am a software developer by trade, so I hack on software and Kubernetes allows me to focus on my application, use the APIs. I don't have to get waist deep in infrastructure where I'm not as strong, so it allows me to be able to just to do that in a very simple way. So I love it for that reason and super excited about seeing how it works with OpenStack and maybe Magnum and pulling that all off. As far as for enterprises going, sorry, I'll be quick. You know, Kubernetes is not for every application. In the case of what we're doing for encoding and DVR, makes sense, it's a single tenant and 10 different data centers. We're not trying to deploy a variety of applications, a very simple one-dimensional application. But then you start thinking about other workloads like people want to do Hadoop or Yarn. You've got kind of these inception problems where you're trying to build a scheduler on top of a scheduler. So it's not quite there for everything yet, so that's kind of my enterprise take on it. Yeah, so the question was around running applications of Kubernetes in production and I guess there are several topics and angles we can look at. In terms of, let me bring up one angle and that is for us just to operate the Kubernetes cloud in production. Our experience with OpenStack was that it's pretty hard to keep a cloud running, right? And for some reason, we thought Kubernetes would be simpler, more lightweight, easier, but it turns out that it's just as hard. You know, Kubernetes is a deep layered stack with storage network, Docker engine, and then the Kubernetes layers themselves and things can break and they do break and when they do break, pinpointing the problem is actually pretty challenging. And so from maintaining the health of Kubernetes cloud, it poses challenges just like it does on the OpenStack side. Yeah, complex systems are complex. Yeah, no doubt. One of the cool things that I think is coming out of the Kubernetes community though is around operators and being able to take that operational expertise to maintain, to scale, to upgrade, and to build that into code so that you can treat that just like you treat your applications in Kubernetes. So I know that's still early on, but I love the way this community is kind of pushing the envelope in that direction. But I think this also brings up kind of an interesting idea of, like I think in the last year or so we've seen, you know, with Stackinetys as being one of the leaders in that, but more and more projects and more and more enterprises are starting to use containers as a deployment strategy for OpenStack. Kind of keeping that in mind, what are the things that the Kubernetes and the OpenStack communities can really learn and leverage from one another? Because it seems like that there are opportunities to learn from each other and use each other's technology is to kind of ease these burdens of upgrades and management and kind of keeping services alive and around so that all of your users can have a seamless experience. That's a tough one. So when you have a cloud-native application and you want to upgrade it, you can do a rolling upgrade across your application. And if your infrastructure is arranged in a distributed way and it has versioning support built into it, then you can do the same thing. But it turns out it's not as easy as it sounds. The Magnum team has been trying to put in-place upgrades for existing clusters for over a full release cycle and we'll be going into the next release cycle figuring that out for all the different drivers that it supports. And what works really well now is if you take the YAML descriptor, the description of your application, the pod file, and you use that in order to deploy your application, you can create a new cluster and deploy your app into the new cluster and that could be your upgrade strategy. But if you don't want to do that, if you don't have the capacity to move from one to another and skip, and you need to upgrade it in place, then it requires a more complex upgrade strategy. The good news is that Kubernetes' recent versions have added support to do that thing as a built-in feature. So this problem is getting less and less dramatic over time but it's still not a snap your fingers and you're upgraded. You need to do it in a certain order. You need to understand what you're doing in order to successfully upgrade a cluster. I mean, to piggyback on that too, upgrades are really important, particularly from a security perspective. Keeping things updated is real important to keep your clusters secure so we have to streamline that process and there's a ton of work being done in the community. I know for Coral Assets, one of the things that we're mainly focused on is being able to push updates out to these clusters to keep them passion secure. Yeah, I agree with all of those points. Today the best practice way to upgrade a cluster I think to do a rolling upgrade of the nodes and that performs a clean drain of each node so that pods get terminated and rescheduled somewhere else, which is great for applications that are designed to tolerate node failure but I don't know if we're gonna get into application compatibility and what kind of stuff runs well on Kubernetes but not all applications may be designed like that and so depending on how you've done your application, it could experience some downtime. So I believe Kubernetes and the Kubelet is being evolved to allow pods and containers to continue running across an upgrade so perhaps that will result in better uptime for applications. Well, it seems like running OpenStack on top of Kubernetes is almost a perfect stress test because it's highly stateful. You can't get beyond if you're managing machines and data and databases and there's so much state there I mean to me it's almost like you can't be able to run these services successfully without managing the state and yet somehow there are projects out there that are running OpenStack on top of Kubernetes and finding ways to using Kubernetes strategies for managing and upgrading OpenStack projects and this morning we saw another project which is attempting to manage Kubernetes clusters across many different cloud providers. In terms of running OpenStack on Kubernetes, there's a lot of projects that attempt to do that. Colas, Stackinities, it's harder than it sounds. We also have been on a journey to try to migrate our OpenStack deployment process to run on Kubernetes and we've started but we're nowhere near the end and one of the challenge is when people think about an application sometimes they think about just the program that runs but where we found the challenge is how the application is configured. If you've invested a lot in custom tools scripts or Ansible playbooks to configure your application containerizing it requires you to kind of rethink how you do the configuration and that it turns out to be one of the biggest obstacles that we've faced. It might be worth it but I want to revisit a point that you made earlier, Vic, which is when things go wrong if you have a very complicated system you might only have one or two human beings in your organization that understand it well enough to be able to diagnose and successfully solve the problem and so I would be cautious to recommend to somebody to run Kubernetes OpenStack, Kubernetes like this Kubernetes Sanders thing. I think it's interesting because one of the premier Kubernetes provider out there is I think would be Google, Google Container Engine which is running on top of a virtualized infrastructure which is running on top of a containerized infrastructure and one of the questions I came in from the audience here is what is the VM overhead? But I think more generally speaking what is the complexity overhead? A response to that is one answer is you can wind up with competing schedulers. So the complexity, how was the, for application stacks that are meant to help us manage our complexity and simplify it, how do operators manage the complexity of merging these two systems together? Well, what I've seen is they don't attempt to auto scale the infrastructure layer and they don't, so they are not exercising the scheduler simultaneously, they pre-allocate resources and then they allow Kubernetes to manage the static resources that have been allocated to it and they don't try to have that thing do bin pack and schedule simultaneously the application layer and the infrastructure layer because they're not coordinated tightly enough. A lot of people want to do that because there's a potential cost savings to, especially if you want to do this like on top of a third party cloud. But I just don't see it in production today. Have you guys seen it? No, I agree. I've seen the infrastructure layer is still manual when it's upgrading the infrastructure layer. The application, yeah, totally API and everything but when it comes to adding nodes to my cluster, still manual. Personally, Comcast has had enough challenges with open stack that running a sandwich is not a good premise for us. Yeah, and it's tricky, I think too, because I think Kubernetes has nailed stateless apps, right? Got that easy peasy. And now we're working on staple apps. You have things like staple sets and things like that but it's still early on with those technologies so there's still work to be done. It is doable, there are people doing it, running databases and whatnot but it's not for everyone. So, staple sets, we're building state into Kubernetes and breaking some of our cloud native principles and doing it but it's part of where the future is going and as we kind of get closer to the end, I want to get a sense of what everybody's thoughts on what direction do you feel the future is going in and where do you see the relationship between these sometimes competing, sometimes complementary technologies. I think if you got a cloud native application that's green field, you're gonna put it in Kubernetes and it's gonna be great. The trick comes once you've got all of your green field applications happily running cloud natively, stateless or not, then you start to run into okay, you've got this giant long tail of traditional applications that are in your infrastructure and you're tempted to put them into this new world and you're gonna start to question whether they fit or don't fit and I think there's a huge opportunity to make it easy to lift those old applications in and when you do, you shouldn't expect them to behave like a cloud native application.  So looking to the future, one interesting trend that I'm observing is these legacy virtualized applications. Some people are asking the question, hey, we love the Kubernetes API, would it be possible to use the Kubernetes API to manage my old VMs? And we were joking about it a few weeks ago but then we started looking around and there are several open source projects that have started and at the last KubeCon, Red Hat gave a very intriguing presentation and demo about how to model virtual machines in Kubernetes using things like third party resources and that's a potentially very interesting development in how to bridge the legacy apps and the new stuff. Yeah, for us, our adoption of Kubernetes is gonna be very tightly coupled to the integration of IPv6 and right now we feel like it's fairly nascent but as far as Greenfield goes, that's about our extent of it. There will be Greenfield, there will be IPv6 and not in the way that IPv6 is replacing v4 but really taking advantage of all the capabilities of v6 in a very v6 native way. That's interesting too because sometimes it feels like Kubernetes is very IPv4 centric. I mean the idea that you have your local hosting, your netting and you're kind of doing these things, do you see improvements in the technology there between the sort of shifting data packets versus direct addressing of your application containers? We hope so, I mean we see our network becoming v6 only in the next few years. We're making extreme strides towards that and just right now the community is accelerating in a lot of things but that's an area that we think there's a lot to be done there and there's a lot of benefit that we can glean from there and the reason I'm bringing it up is there are a lot of nodding heads out there and they can kind of join forces and maybe we can accelerate that aspect of it as well. So for me, I think the future looks a lot like operational expertise being captured in code. That's a lot of what we're doing around operators. Being able to make it where an operator doesn't have to get up in the middle of the night to do a maintenance window for an upgrade but it's all done in code and one of the steps that we're taking towards that path is even how we install Kubernetes is Kubernetes on Kubernetes. So we're actually running the control plane within Kubernetes itself which is this crazy inception sort of deal but there's a- Not the Kublai. Not the Kublai. Yeah, so it's the control plane and we use BootCube to pull that off but that allows us to scale API nodes, schedulers just like we would scale other apps and allows us to walk towards building out these operators where we can do things like Prometheus are at CD and we're able to do those programmatically to upgrade them and to push updates to them. So I think that's what the future is kind of heading and more and more apps like that up the stack. So I was gonna, in the last few minutes we had a few more questions from the audience. We actually had someone from the new stack who just asked a question here saying kind of asking is there a relief that Kubernetes is just kind of filling this application role that maybe OpenStack isn't filling? Do you have feelings about, any thoughts about that? You know, that there's, them as complimentary technologies and how those are competing? Okay, I'll bite. I do think, I do love the way that the OpenStack community and the Kubernetes community are collaborating with each other. I know there's a lot of talk out there about them competing and one destroying the other and things like that but that's not the approach I'm seeing taken by the two communities which I think is extremely healthy. You kind of alluded to it earlier Chris. I think there's a lot of things that the Kubernetes community can learn from OpenStack and a lot of things OpenStack can learn from the Kubernetes community. I do know as a software developer, Kubernetes makes things very easy and the interface is very simple but I don't have to take care of it at night or I don't have to maintain it. So I think for someone coming from an operator perspective I'm sure they have a lot more to say around OpenStack and the strengths that it brings to the picture. I for one am relieved. So I founded an OpenStack project called OpenStack Solom which was pre-Kubernetes and it was designed to try to address this gap and it's a tough gap to fill. And I think that if OpenStack expanded its ambitions to try to solve all of those issues as well of all of the infrastructure related ones that focus would be diverted too much and I didn't always feel that way but I feel that way now and I'm glad. And I think you see it maybe in the architecture of Kubernetes too where so much of it is dependent upon providers for clouds to provide services, recognizing that you have strengths and that you can play to those strengths and that you can hand the strengths off to other experts who are also providing a value to the community. I know that in my interactions with having kind of grown a lot of my career in the OpenStack community but also beginning to work more and more with the Kubernetes community, I'm excited about how the possibilities move together and I think that we've reached the end of our panel discussion here. So if there are any final words for our panelists as we kind of close out this session? Yeah, if you'd like to know more about the Magnum project, there's a Magnum 101 session later today. No, I think this was a great discussion. Many years ago at these Kubernetes conferences, there was always a joke about we don't want Kubernetes to turn into OpenStack, right? And I think they were referring to maybe to the breadth and the depth of the ecosystem and just the size of it. But guess what, it looks like Kubernetes ecosystem today, it's evolving into something that's just equally big and complex. So the two ecosystems are overlapping and that truly is happening. So it's unclear how it's all gonna end, but that's what I'm observing, yeah. Coop Kettle or Coop CTL? CTL. I say control. Yeah, there's a lot of parallels you can draw on agreeing with Big Air between how OpenStack started and how Kubernetes is kind of adopted right now. And I think I heard Amit Tank call it developer hubris, but we see a lot of decisions being made based on the new hotness and not so much. Really, if one technology's fulfilling capabilities that another isn't, it's not so much about that. All right, well, thank you everybody for coming to this session and a big round of applause for our panelists. And we hope you have a fantastic week. Thanks for coming.


Hello, I am Dr. Kapoli Lahkar, consultant medical oncologist in Manipal Hospital, Bangalore. Colon cancer in most cases is a curable disease. The 5-year survival in stage 1 is more than 90%. In stage 2, depending on the particular subtype of stage 2, it can vary between 60-80%. In the third stage, it varies between 50-70% and even in the fourth stage or in the metastatic stage, around 10-12% of patients can be cured. So it is imperative to consult a doctor and take adequate treatment in oral cancer. It is a highly curable disease.


I feel like this inside. I know I look, I know I don't look like this on the outside because we all have a way of faking it. But if this is how you feel, I want you to know it's okay. And all you need to do is just keep moving. Life is not a fashion parade. Life is not a catwalk.  That can make you feel you've failed and you need fixing. This is not a race. It's not a comparison zone. And if all you do is this today, then good on you. Well done. Thanks for being here.


An Australian education and qualification is held in high regard in my country and will definitely open up new opportunities. This scholarship has a great impact on my career because it opens me to a lot of good networks and also experience that I can apply in my future career and even build a new career as well. My career will definitely improve because of the fact that I'm speaking another language and that will definitely help me to publish in high impact journals. My PhD here in Australia will have a very positive impact in my future career because having Australian degree is well recognized and respected in my country. So I know and I believe that now I can see that I'm competing, I can compete with anyone.