So, we are excited to introduce Mujeeb Rahman as one of the world camp Kerala speakers. Mujeeb has 10 years of experience in the software development industry. He is currently working as a software developer in most of the technology private limited. It has several WordPress plugins that are well out in the community. So now I call upon him to press an enlightening talk on the topic WordPress Data Privacy. I am Mujeeb Rahman working in WordPress ecosystem a decade, currently working as senior developer and product owner at Nozillo technology. Today I am here to share my thoughts and views on Data Privacy in WordPress. So let me begin with the obvious first. What is privacy? Well, let me put it this way, we all engage in different activities in our life sometimes alone, sometimes with friends or with any random person. We will enjoy the moment with a piece of mind that no one is there to disturb our time. The state of mind in which we believe we are not observed by anyone in the moment we don't want to be can simply say as privacy. Now to the point, privacy inverters. The growth of the internet has fundamentally changed the way we interact with each other and access information. From social media to e-commerce, internet has created new opportunity for communication, interactions and transactions. However, it has also created new shades of risk on our privacy as our personal information are now more accessible than ever before. It has raised concern among users that they are about their user privacy. At the same time, people are becoming more aware about their right to privacy and taking proactive steps to reduce their digital footprints around the online space. This is a clear call to have discussions and make necessary action to protect users' data privacy. For quite some time, the open source web technologies have been not only focusing on making the resources accessible for free to everyone, but also focusing on user privacy. As an open source content management system that powers 40% of the website on the internet, WordPress has a key role to ensure user data privacy. Many WordPress websites collect and store user data in the form of contact form, user registration, online purchases, etc. It's the responsibility of the website owner to obtain a prior consent before collecting and storing the user data. Also, the site owner should make sure that the collected data is stored and secure. That means adding a privacy policy page or cookie consent notice won't be enough on your part. Privacy loss has become more stringent and even a slight negligence can cost you millions of euros. I hope you know why I mentioned millions of euros and not millions of dollars. If not, let me introduce you the GDPR. The General Data Protection Regulation, introduced by the European Union and effective on May 2018 and changed the course of discussion around consumer privacy. Ever since the European Union has introduced the GDPR, it has been a nightmare for the big corporates like Facebook, Amazon, Google. You might have heard that millions of euros of fines were issued to these corporates for violating the GDPR guidelines. So you may be thinking that it will affect only the big corporates. Well, that's not the case. Even if you are not residing on European countries, if you have business or have clients in the European Union region, it's mandatory for you to comply with the GDPR. GDPR has heightened the sense of privacy over the internet around the world and many governments have introduced their own version of regulation like CCP of California, CNIL of France, LGBT of Brazil and last week, Kingdom of Saudi Arabia has introduced their regulation PDPL. Having said, this shouldn't be the reason only we should restrict the, we should consider the user price privacy, but it's our responsibility to keep the user's trust that their data is protected on our end. Over the few years, WordPress has made several changes to its core for, in regards to the privacy compliance. Let's have a look at the some of the privacy-focused measures that WordPress have taken, restricting the others. As you all know, Gravather is a third party service that allows users to upload a profile picture and use it on multiple WordPress websites across the web. It has potential to expose user activity and identity on the internet. WordPress now allows the administrator to disable or block the usage of Gravather. Actually, Gravather is used as hash to format of the email ID, hash format is subjected to brute force attack. Next, delete or export personal data, that's part of the privacy law like user should have more access and control about their data stored and used. Now, WordPress allows the admin to delete or export the personal data that is stored on the website. This can be done on the request of the user, comply with the GDPR. WordPress 4.9.6 and higher versions, WordPress has introduced several GDPR-related enhancement like privacy policy templates, then option for commands, privacy policy editing helper, this all GDPR-related enhancement recently introduced in purpose. As WordPress developers, what we can do, privacy first personalization comes later. We all want to provide a better user experience for our users, so that we need to provide more options for customization and personalization. For providing that, we may need to collect more user data. It increases the sense of security as well. Whenever there is a decision to be made between user privacy and personalization, it's recommended to prioritize user privacy over personalization. User-user matter means whenever we develop a plugin or release a new update for a plugin with more features, we should not only consider our users, but as well as their users, they might be residing in any countries with strict privacy laws. Privacy by design. Usually, privacy is applied retrospectively, means toward the end. In privacy by design, privacy is applied from the early stage itself, means on the same stage itself through development and to the deployment. That will help the developers to have a clearer picture on what data needs to be collected. What website admins can do? Minimize personal data means collect only necessary data that we need to function. Ensure data accuracy. Make sure the data collected is true and up to date. Limit the purpose. Use the data collected only for what intention it's collected for. Limit data retention. Do not store data more than it is needed or do not share with any other. Secure user data. Make sure that you haven't taken necessary measures to secure the data from another user to access. Show privacy policy and cookie notices. Display. Sorry. Being transparent about the data you are collected and explaining it in your privacy and policy page and cookie notice. Obtain prior consent before collecting any user data. Give the user the access to control and delete their data. Be accountable. Be responsible for their data and if there is any security breach, inform the users. Handle sensitive information carefully. Provide a more additional safety layer for sensitive information like financial transaction card information etc. And legal complaints. Keep up to date with the privacy laws and it's recommended that this safeguarding of privacy is not a one-time task. Before installing a plugin or adding a theme to WordPress, an admin should be aware of the following. What WordPress core privacy tool does the plugin use or not use? What data it collects and how it is used? What are the effects of the plugin or theme on your website? On conclusion, privacy in WordPress is a community effort. Developers should be aware of the WordPress core changes. Plugins and themes should keep up with the latest security standards and regulations. Thank you. Thank you, Muchi for a quick overview on data privacy in WordPress. So now I call upon Swetha to hand her a token of love.


So, last class we are discussing about the loop transfer recovery of a LQG problems. Then just if you recall this what we have done it that LQR problem provides the excellent robust properties in the sense that gain margin is infinity and phase margin at least 60 degree. This is the robust properties excellent robust property we obtain in simply LQR problem. But when you are designing the LQG problem assuming that state equation and measurement equation is corrupted with noise and the noise static sticks is known to us a prairie. Then in that situation since the states we are estimating using a Kalman filter in that situation loop transfer function is different from LQR loop transfer function which in turn that robust properties of LQR is totally destroyed in the sense that we are not able to obtain the gain margin to infinity and the phase margin is not at least 60 degree. So, in order to recover that what is called robust properties we have adopted some technique which is called the process noise covariance matrix we can split up into a two parts. So, if just we can we are we are just what is called recall our earlier procedure the how to recover the what is called LTR agree. So, how to recover phase and gain margin of LQR and phase margin we know we know the 60 degree in LQR and gain margin is infinity, but in case of LQG these properties is totally lost. So, how to recover that one? So, that can be required by selecting the process noise that can be required by selecting the process noise covariance matrix that is gamma w gamma transpose into two parts that we have mentioned it w gamma w 0 gamma transpose plus q bit into bit transpose where this is the initial guess of noise covariance matrix initial guess of w initial guess of w this w and q is a some positive scalar quantity. So, this we have split up into two parts and we have shown in the last class how we have what is called regain the loop transformation agree as LQR problem loop. So, in this process if just following assumptions are made first assumption is made that system is minimum phase systems minimum phase system and we also made another assumption that number of inputs that means input matrix and output matrix then another matrix is input matrix B and output matrix C have the full rank with number of inputs M is equal to number of outputs. This assumption we made it to derive to modify the what is called loop transformation of LQG using the matrix identity that last class what we have derived we have briefly we are summarizing this that one using the matrix identity two identities we have used it then we have derived that linear quadratic regulator loop transformation is same as the linear quadratic regulator loop transformations. We using this that noise process noise covariance is split up into two parts and we made the assumption that minimum phase systems and B and C as a full rank with M this with this assumption and using the following matrix identity following matrix identities what is this matrix identity we have used it that is first matrix identity we have used it that phi C of S is equal to loop transformation that means closed loops transformation is equal to S i minus A minus B k whole. So, this is a closed loop transformation when there is no noise process and noise in the state equation and measurement equation when in other words when Kalman filter is not used this is this matrix this equal to we have written like this way phi of S into i plus B k phi of S inverse this matrix identity we have used it. So, where phi of S is equal to S i minus A whole inverse that we have derived last class this is one matrix identity we have used it another identity we have used it that i plus B k phi of S whole inverse B is equal to B i plus k phi of S into B whole inverse. So, that is another matrix identity we have used using this two matrix identity we finally, derived the expression finally, we derived the expression and last class if you recollect this one that expression we got it limit q tends to infinity l r phi of S this into C phi of S B bracket i plus k phi S B bracket whole inverse that bracket another bracket is there which we missed last class whole inverse agree. So, now you see this if you can see this and this is identity because A into B into C whole inverse is equal to C inverse into B inverse into A inverse provided A B C all inverse identity exist. So, if you do this process then ultimately we can k phi S into that this B then i plus k phi S B whole inverse then this is i plus k phi S B this then this whole inverse C phi S into B whole inverse agree into then C phi S into B. So, ultimately we are learned up with this identity matrix this and this identity this inversion is exist with the assumption that B and C with a number of inputs and outputs are same. So, this inversion so we are left with this one and which is nothing but a the looped trans function of L Q R that is nothing but a L S which is nothing but a looped trans function of L Q R. So, in short if you summarize if you select the process noise into this form and made the assumption that system is minimum phase system B and C have full rank with m is equal to n and following identities are applied during the derivations what we did it during the derivations of last class then we finally, learned up with this expression and which in turn we can write it this one and this is nothing but a the looped trans function of L Q R. So, which is indicates that we have regained the loop or robust properties of L Q R by selecting the process noise into this manner and where if you select like this way we will get the gain margin is infinity and the phase margin at least 60 degree. So, this is called loop transfer recovery. So, now let us go in a new topics which is we call dynamic programming of discrete time systems next is new topics is dynamic programming of for discrete time discrete time system. So, let us call and this dynamic programming is based on the principle of it is based on principle of optimality what is principle of optimality we will discuss. In other words it is based on the it is based on the based on Bellman's principle of optimality. Let us see what is this, so the optimal policy has the property with initial state and initial decision. So, optimal policy has the property with initial state and initial decision that the remaining decision that the remaining must constitute optimal cost must constitute an optimal cost of policy. Let us explain this thing suppose we have a trajectory whose initial state is x of t 0 at time t is equal to t 0 state position is x of x of t 0 here and the final terminating state is x of t f agree this one. That means x of t 0 is the if you assume this the trajectory is the optimal trajectory starting from initial state x of t 0 at time index t 0 and it is terminating at time t is equal to t f at t is equal to t f is terminating at t is equal to x f and this is x 0 at time t 0 along this optimal trajectory. So, and there is another point is there here in intermediate point let us call that is x t is equal to t m t is equal to t m that trajectory is x m. So, that point at t is equal to t m time index the state value is x m agree. So, assume x t m be an intermediate this is an this is an inter state or point on the optimal trajectory and let the cost j star x t m of x t m be the this indicates the optimal is the be the optimal cost for optimal cost for travelling the state from this point to terminal point is the j star x t m from where it is starting x t m and what is the position at time t is equal to t m x position is x t m is the this j star indicates optimal cost transferring the state from this to final state or terminal state here the cost is this and it is generated by j star from where it is starting at time t is equal to t m x what is the state position at x t m this is the call optimal cost of the trajectory moving from the intermediate point x m to terminal point x f. Similarly, if we just note j star t 0 x t 0 what is mean this indicates that optimal cost transferring the state or moving the state from initial state x t 0 or x 0 at time t is equal to 0 to final terminal star from final term in terminating state x f at t is equal to t f what is the optimal cost and that is denoted by this symbol agree. So, with the knowledge of this symbol then it you can say this one this is the intermediate point intermediate point or state then it then follows that the portion of you see from what is the optimal cost from intermediate point to terminating point optimal cost is j star t m comma x of m this is the case. So, that I am writing if then it follows the optimal that the portion of the optimal trajectory x t m to x t f is also optimal because we have considered this along this curve transferring the state from this along this time from initial state to final terminal state this path cost is optimal and this intermediate point belongs to the what is called that our optimal path in this way. So, from here to here what is the cost we obtain it that is also should be optimal. Now, let us assume that this is not optimal and this path is the optimal the dashed line from this to this if you proceed like this way I am reaching the terminal point here along this path is optimal. So, now what is the optimal cost is required optimal cost in during this process that from here to here what is the optimal cost plus from here to here what is the optimal cost is that this cost is different from this one we told that this is the optimal and which contradicts our initial assumptions. Initially we have telling along this line if you move the state from initial state x of 0 to terminal state x f at t is equal to t f then we will get the optimal cost. So, this if you move from this to this and this to this assuming that this path cost from terminal point intermediate point to the terminal point this is the minimum or the what is lesser cost compared to this. Then the whole state the state when we are transferring from x 0 to t f along this path and dotted path this will be the optimal, but that contradicts our initial assumptions. So, which cannot be done which cannot be possible. So, I am just writing these things once again assume that the dashed that the dashed curve or path represents a smaller cost than the solid path or if you just include this is a b c this path is d this path is a e path then this dashed path would provide less expensive route or path form x t 0 to x t f this contradicts our original this contradicts contradicts the optimality of the original trajectory. So, this is the optimal path. Now, this optimal control strategy is the optimal control strategy my question is that from here to here it will move or travel from this point to the initial state this to this under the control action if you think at from control point of view the states when to move from this point to this point and if you move along this line that will be give you the optimal cost and what should be the choice of control action. So, that the state will move along this path. So, the optimal control trajectory the optimal control trajectory or optimal control strategy or control law strategy can be obtained by backward pass from final stage using principle of optimality. This indicates that if you know the terminal cost of this one end point then backward you find out what is the cost is required from here to here then from here to here backward pass that means optimal control strategy can be obtained optimal control strategy when control law can be obtained backward pass from final stage to the from final stage using the optimality principle. The decision this is the thing decision is decision is nothing but a choice of alternative living path from a given node or decision what is the decision which path will move this is nothing but a alternative living path from a given node. So, let us take an example and see how we can derive the principle of optimality based on principle of optimality to find the optimal control law u in case of discrete time systems. So, discrete time dynamic systems this principle of optimality will apply in order to implement the control law based on the principle of optimality. So, let us call our discrete time model is given by that x k plus 1 is equal to f of k x of k and u of k and this dimension of this let us call number of states are n cross 1 number of inputs m cross 1 and this number of states are n cross 1 and in general this is the function of x and time index k and u. Any discrete time system in state phase form one can write it x k plus 1 k indicates the time index which is a function of state and input and the time index. So, this function can be linear or can be non-linear linear or can be non-linear agree. So, with our initial state x of t 0 is equal to x 0 and the corresponding performance index and the corresponding performance index p i performance index of the given system is given by j is equal to j 0 then phi n capital x of this plus summation of k 0 small k 0 to n minus 1 then it is a f k x k and u k this capital f is the performance index which is in generally may be quadratic form or any form. So, this is the word performing index is dependent. So, our job is to find a control law u in such a way. So, that j is minimized agree and correspondingly optimal trajectory of the state we can obtain it. So, we are mentioning that we are moving backward. So, terminal cost final terminal cost we know then we let us call x this is the call terminal cost and our terminal point t that is k is equal to n n th time index is the terminal k is equal to n is the terminal time index. So, let j k j suffix k star x of k of whole k. What is this indicates if you are considering the this indicates that we are moving the states at k th instant to final time index k is equal to n index for that one what is the minimum cost of this one. So, this we are writing is j this is the minimum cost of transferring the system state from x capital x of k at time index k to the terminal state x of n. So, this indicates from where we have studied k th instant the state is transferred to a final state that indicates which instant the state is transferred and correspondingly this is the state is x of k. We are transfer the state to a final state if k is equal to 3 and n is equal to capital n is equal to 10. That means we are transferring the state x of 2 k is equal to 2 a final state k is equal to k of 10 because capital n is 10. So, that corresponding cost we denoted by j star of 2 if k is equal to 2. So, this is the same definition what we have considered earlier that what we are talking about this. So, what is j star of what j star of t m n the state at time t is equal to t m we are transferring the state to a final state agree and what is the final state that t is equal to t f what is the cost is required. So, because x of n is the terminal cost or terminal x of this not that cost this is the terminal point because x of t is the terminal point we have the terminal cost or cost terminal cost j n star x of n. That means j n final state to final state what is the cost that is the cost of this one by defining that way that will be the terminal cost j n star and whose values is what in this expression if you see just now in this expression if you see that means n is equal to k is equal to n you see what you are getting k is equal to you see this n k is equal to n k is equal to n. So, j x of n this value will be terminal cost is that much because k is equal to n means n upper lower limit is n upper limit n minus this expression does not valid only this term is left. So, the terminal cost is phi n of x n. So, this is the terminal cost now using principle of optimality principle of optimality principle of optimality cost for transferring the state transferring the state form x n minus 1. So, our state was x n is here now x n is capital X n minus 1. So, what is the cost or transferring from this to this. So, that we are going that using pure the cost of transferring the state from x n to the terminal point x of n as what you can write it. So, j n minus 1 star of x n minus 1. So, this meaning is we are transferring the state at index time index n minus k is equal to n minus 1 to k is equal to n mean final state terminating state for that one what is our cost minimum I have to minimize that u minimize u n minus 1 and what is our performance index phi terminal cost is phi n of x n this plus phi n minus 1 x n minus 1 u n minus 1 that one bracket close this one. Now, see this is the terminal cost. So, what is our n k n minus 1 step to final step. So, final step cost is this one that k is equal to n minus 1 to n minus 1. So, we have k is n minus 1 k x of n minus 1 u of n minus 1 that is what we have written. So, now we have to minimize this one and which is a function of u. So, we have to minimize this one. So, if you recall this is nothing but as according to our notation this is nothing but a x of n terminal cost. So, now this is from n minus 1 at time index to terminal time index means n. Now, in general we can write in general we can write j k x k of this star. That means, how will you read this one we are transferring the state at k is equal to k th time index to a terminating time a terminating state at k is equal to capital N time index k is equal to k which we can write it minimize u k. You see when n minus 1 minimize that because the information is only n minus 1. So, minimize this then k 2 that is your k th state at k is equal to k th instant to a final terminal condition.  You follow this one in this expression in this expression I will write k is equal to k n minus 1. So, last term n minus 1 of this because we are doing backward cost calculation we are doing this one.   That means I am writing into x k plus 1 into this form. So, this then you do the minimize that thing with respect to u k. So, this is the basic principle that you calculate the what is called control strategy backward pass and ultimately you find out the optimal trajectory of the dynamic systems. So, it is clear to you because I am finding out the optimal cost from k th instant k th instant to final terminal state when the state is transform transform form k th to k th time index that means state value is x of k to final terminal time index k is equal to n then what is the optimal cost. So, this is nothing but I am writing from this one k is equal to k n minus 1. So, from k th instant that last k th instant that this k is equal to I write it and other terms I clubbed with this one and which I have written into this form. So, let us take one example and see how we can use the principle of optimality to find the control law in case of dynamic discrete time systems. So, example so our problem is we have given a discrete time system who dimension is first order difference equations. So, let us call you write it since is a first order small x for x of k is equal to 6 u of k and your initial condition is given state is x of 0. So, this is the discrete time dynamic systems subject to our this is the system and minimize not subject to minimize the performing index and what is the performing index j or j 0 from initial state to final state we have given. So, this is given to phi in general expression I am writing first phi n x of n this plus summation of k is equal to 0 to n minus 1, then your f k x of k then u of k. So, for this particular problem this is given like the x of 2 minus 20 whole square. So, what is our what is our phi n x of n is this one your phi n of x n is that one what is our capital N? The capital N is 2 plus summation of half k is equal to 0 to n minus 1 n is 2 this is your n n is 2.  So, the phi capital phi x n is given this one. So, our performing index is this one our problem is now find out u k that means I have to find out u k means one in order to get x 2 terminal state x 2 that reach to the terminal state x 2 I have to find out u 0 and u 1 by applying the our optimal control strategy that this is the our performing index. So, using problem is using p o principle of optimality find u of 0 and u of 1 assume no constraints on u of k no constraint of u minimizes that one. So, now what is unknown is here you say I have to choose a control law u such that this performance index is minimized once you find out u 0 immediately you can find out x 1 then once you know x 1 find out the optimal value of u 1 you will know x 1. So, if you move along this trajectory the performance index will be minimized this one. So, how to solve that problem solution. So, we start with backward pass so we have if you recollect that j 2 star of x 2 what does it mean small x 2 this means what is the terminal cost is required and our terminal cost is that one only because k is equal to 2 if you write k is equal to 2 here instead of k is equal to 2 2 1 that this expression does not valid. So, what you are writing for this one this equal to our terminal x of 2 minus 20 whole square is equal our terminal cost. So, this next we can find out what is called j 1 of x j 1 x of small x of 1 star what does it mean I know the terminal cost x k is equal to 2 this is the terminal cost. Then I find out backward from x 2 to x 1 in other words I can form x 1 to x 2 what is the our cost is involved that is nothing, but a minimize u of 1 f of 1 x of 1 u of 1 plus j 2 star x of 2 look at this expression. So, k is equal to 1 1 to 1 so it will be f of 1 x of 1 this then this j phi 2 phi of 2 or x of 2 is nothing, but a terminal cost j of 2 this one. So, that is you minimize so now I will write expression m of u u of 1 what is the expression for this one we know already this expression is given that one agree. So, we will write it that half twice x of 1 square plus 4 u 1 of 1 square so that is our that quantity plus this quantity is that one x of 2 minus 20 whole square that things. So, this is the terminal cost I have written and this is for x is equal to 1 that 2 x of 1 square plus u y of 1 square I have written now you differentiate this with respect to u that will give you if you differentiate with respect to this and u of 1 then half twice x 1 square plus 4 u square of 1 and this I can write in terms of x 1 and x 2 then that is nothing, but a if you see this one k is equal to 1 that means 2 x of 2 is equal to 4 x 1 minus 6 u 1. So, I can write it 4 x 1 plus 6 it is 6 minus that is minus 6 u of 1 minus 20 whole square that you differentiate with respect to it then by principle of what is called how you differentiate this with respect to this then we can write it note no constraints note no constraints on u of 1. So, optimal u 1 is obtain optimal u of 1 is function of x of 1. So, this if you do a difference equation that not difference equation that optimal u of 1 and that u of 1 you will get function of x 1 only this is what we have written it here and this is nothing, but it is the optimization problems it is the problem of optimizations discrete optimizations. So, what we can write del u of 1 then whole thing what is this whole thing that this half cancel this 2. So, I will write it x 1 square of 1 plus 2 that is 2 plus 2 u square of 1 plus 4 x of 1 minus 6 u of 1 minus 20 whole square whole bracket. So, if you differentiate with respect to 1 it will be 4 u 1 then u 1 is coming here. So, this will be twice this will be a twice 4 x 1 minus 6 u of 1 minus 20 into minus 6 is equal to 0 this equal to 0. So, if you solve this one you will get the expression u of 1 is nothing, but a 12 x 1 minus 60 divided by 19 this is equation 2. So, this x 1 now look at this one in basic equation of dynamic equation k is equal to 0 means x 1 x of 0 y of 0. So, x 1 depends on u 0 and x 0 not x 1 depends on x 0 and u 0 which we do not know only x is known this is unknown. So, let us see how to do. So, we are now where we are now x 1 x 1 2 we want to shift from x 0 to x 1 what is the optimal cost required optimal path and that we have cost is j 1 star of x of 1. It indicates is what the optimal cost transferring the state from x is equal to x 1 2 x is equal to x 1 2 x 2 what is the optimal cost because we know u 1 expression is that one. If you put this value in the expression that half twice x 1 square plus 4 u of 1 square plus j 2 star of x of 2 if you put this one then j 2 star is what we got it just now. We have found out j 2 star say j 2 star of j 2 star of this is that one. So, we can write it that half twice x square of 1 plus 4 u 1 we know what is u 1 12 x 1 x of 1 minus 60 divided by 19 that square. So, that is I am writing for this part plus j 2 square that one that is this 4 x 1 minus 6 u of 1 minus 20 whole square. And if you simplify that one finally, we will get it if you simplify this one we will get it finally, that x 1 x of 1 square then twice 12 x of 1 minus 60 divided by 19 whole square plus 4 x of 1 minus 20 by 19 whole square. The 3 parts x 1 square plus twice 12 x 1 minus 60 by 19 whole square plus that term if you use the value of u 1 here then 4 x 1 minus 20 then this one. So, this is the final expression let us call this expression is 3 and except number is this is 1 and 2 we have considered that u 1 expression what is u 1 expression that is 2. So, what is our next then we want to we know the optimal cost up to backward in up to the state x of 1. Now, we are moving the state x of 0 to x of 1 what is the optimal cost of that 1. So, j 1 star x of 1 this cost we have to find out and what you how will you find out you see that our basic expression for this one. Now, this is k is equal to 0 n is equal to 2. So, k is equal to 0 n is equal to 2. So, k is equal to 0 n is equal to 2 n is equal to 1 k is equal to 0 f of 0 x of 0 u 0 then f of 1 x of 1 u 1 that cost of we have calculated backward. So, our expression will be half sorry minimum of u of 0 minimum of u of 0 then half twice x of 0 x of 0 square plus 4 u of 0 square that 1 plus j 1 star of x of 1. What is j 1 star of x 1 that optimal cost required to transferring the state of x 1 x of 1 means k is equal to 1 time index 2 x of 2 this is the time index. Now, this is we have to find out minimum value of u. So, that this what is the trajectory from x 0 to x 1 that we can find out this one. So, we will continue this thing in the next class.


Okay, Google play my morning playlist. Okay, big wood It's all over the monitor good. What is what is going on at Nintendo HQ lately? Can we take a second? Can we take up? Can we take at least ten minutes? Well eight minutes now you can put Hey, uh, we had a whole Mario. Sorry. I'm screaming at 10 a.m. In the morning I have never been this a week at 10 a.m. In the morning We had a whole Mario direct the other day full of really cool Mario Announcements and then I woke up today to another what is Nintendo doing? I don't I don't understand Nintendo's game plan like how they have all these directs now They have the normal Nintendo directs. They have the themed Nintendo directs like the Mario one they have directs mini They have direct partner showcase. They have direct friggin Indies showcase like there's so many but then sometimes they decide oh well We'll just drop a trailer instead All right, fine. I haven't watched this yet. I'm gonna watch it with you Apparently, it's a news elder and all I know about it is It's supposed to be a prequel What is go here? I am Muggins here waiting for breath of the wild to just some sort of announcement on a release window and Instead I find out about a whole new one All right Let's let's shut up and watch it. Hello, everyone I'm a new month the producer of the Legend of Zelda series in 2019 Nintendo direct presentation That we had started development on the sequel to the Legend of Zelda breath of the wild Yes, you did regarding the sequel in order to make the vast world you enjoyed exploring in the original game even more impressive The team is working hard on its development. So you'll have to wait a bit longer before we can provide more updates All right, that's fine. Okay. What do you got today though? We've prepared a different way for you to experience the world of Hyrule and we have a video to introduce it Please take a look so confused as to what this could be then 100 years ago. Oh That makes sense That was a lot that looked like Hyrule Warriors that is it Hyrule Warriors This isn't Zelda Zelda is it is this is this a lot? It's just a Hyrule Warriors, but like they've taken the story of breath of the wild They've made a prequel to that story in the universe of Hyrule Warriors That's my guess Yeah, not exactly what I expected, but I I'm still I'm still happy. I have a lot of thoughts Hyrule Warriors age of calamity. All right. Okay, but the actual event itself wasn't shown in full It was not in this game You'll be able to experience it does make sense calamity because it is a big battle now And the best way to take part in that big battle is gameplay like the Hyrule Warriors and it makes a lot of sense It does. Hello everyone. Hi. What do you think? How do they keep stuff like this secret? It looks it looks exactly like breath of the wild I'm intrigued if it has any open-world elements to it at all How do they do this? How do they keep a secret? They're so good. They're so good at surprising us That whole company is about fun and even the way they announce things is so fun the way that they keep it secret And then just release it within months of letting you like Nintendo I am so baffled about this game. I'm so baffled It looks like it just looks like breath of the wild It looks exactly like breath of the wild, but the gameplay is from Hyrule Warriors Does that mean they have taken the existing breath of the wild game and just Added in this story and changed the gameplay. Can you still explore? It's it's it's it's I I need a I need a I need a second opinion Do you think this is an open-world game No, I did it's just the way they were talking and that's what baffled me because they were like It just seems the way they were talking just seemed like it's a little more fleshed out than their usual warriors games What's the little egg thing I don't know I just noticed there's like a weird little egg at the bottom of the screen I'm gonna keep making my video. Okay, I Have watched and rewatched this trailer a few times now. I can't believe this drops November 20 That's the first thing I want to say I can't believe there is a whole Zelda game ready to go in a couple of months and we knew nothing about it that is So cool. I'm just happy because the end of this year is finally starting to look good There's a really cool game coming that I can't talk about yet, but you'll find out in a couple of days There's a new Zelda game There's the Mario all-stars pack like in 10 days It feels like we're finally getting back on track with some cool things releasing and the new consoles like the end of this year Is actually shaping up to be pretty cool. I have watched this through so many times and this is what this game is Okay, I think I hope it's a Hyrule war. It's a new Hyrule Warriors game clearly But they worked so closely With Nintendo to make it look exactly like it fits into the breath of the wild universe It's streamlined over the previous Hyrule warrior games like in those games There's like a billion different playable characters and there's so much going on It's all about option and choice and how crazy how many throwbacks can be crammed into this game to previous zelda's That's not here They've just focused on the main core characters of the champions and then link and zelda and I don't I don't know Maybe a couple or more, but they've just focused on a few characters fleshed those out But it's all based around that calamity war that is referenced and talked about and you get a couple flashbacks of During the breath of the wild the original game But you actually get to be there and take part in it and it's it's a really good idea Because it was such a big war that while playing breath of the wild you see the remnants of everywhere You see those fallen guardians you see the the soldiers lying But you only ever get tiny snippets and you only really ever get the gist of what happened There is so much you could flesh out. It's a perfect idea I breath of the wild I adore it But it's not the kind of gameplay that lends well to facing a thousand enemies at once We've seen a lot of games match the zelda franchise the zelda IP and they kind of do their own thing with it They borrow from the universe, but they don't really ever directly tie into a zelda game Like we even seen the way we'd like a lot higher a warriors before it didn't tie into anything It was just a fun easter egg game kind of thing, but this is it's it's part of it Which is really cool. I'm not gonna lie when I woke up and I heard pre-cold of breath of the wild I was really excited because I assumed I assumed Nintendo was taking a while on the sequel So they threw together a story and and kind of would it maybe then maybe they were adding it to DLC to the base game Which you know, I would have I would have liked that but now that I really think about it I mean how much content would be there a couple hours a few hours just to tie a story of a story in a game That we already had but this is a whole new game hours and hours and hours and a whole new game Telling the complete story of the calamity war if anything my excitement, which initially was like oh is now Oh, yeah, that's it. That makes a lot more sense. All right, cool. That was a really cool thing to wake up to this morning Let me know your thoughts down below One one final thing again this game like so many other games We're seeing lately would be perfect for me to play on twitch and I got good news I just made an actual twitch schedule if you don't know I'm on twitch and I'm taking it as seriously as I take YouTube I upload to YouTube as much as I can and I stream on twitch as much as I can and I finally have a twitch schedule We go live Tuesdays Thursdays and Saturdays and this week alone is action-packed tonight as you're watching this I'm playing Minecraft Dungeons the new DLC that releases today with Austin John place So come over, you know, have a good time party on down Oh, man, my heart can't take all of this There's so many cool things going on and I can't wait till the end of this year And there's even more cool things happening in a couple of days. I have another video coming out on the 10th So come back for that especially If you like if you like breath of the wild and you like cool announcements Come back to my channel on the 10th in two days. All right guys. I love you. Bye. Bye


okay hey everyone I hope you're well welcome back to my channel or if you're new here my name is Steffi and the guys talking foreign behind us are totally kidding my volume this is Kim you guys might know her from vlog 8 and my American candy of video and yeah yes you were in the car we went to night's fridge because we want to harass because we needed a wee yeah that was us we just had a dinner in your hand but yeah I'm back I don't know how to pronounce it this Turkish place on James Street and I've been here in other vlogs I love the food how good was the food it was on tell them what we had we had Peter which is like Turkish pizza yeah that is what it is I'm just gonna say bread with like sausage and with some cheese some suju which is it's like salami but halal so it's beef yeah I don't know what it's spicy yeah that was really good and then we got some chicken and rice oh we're so full and salad and yogurt and chili sauce let's see what he's sending pick up that is pretty Fendi I love son it's Fendi furniture what else is the deal here with us we're gonna get in the car basically gonna pray the freshest tunes so we thought we'd give you some oh we're just singing like anything as in we can add other stuff in we're gonna throw some fresh I don't know how many fresh you have a comron and humane oh I've got a good one yeah yeah okay so we're definitely gonna do some Persian tunes so yeah just thought we'd give you context of what we were doing before we decided to do this you know man on chicken all right we'll catch up okay so Kim allow the road man music the trap music there's something freshy as hell like my subscribers have clicked on this to hear something fresh so this is not gonna be fresh this is not fresh I keep saying fresh and she's not she's not hearing it guys also I called my hair wait let me show you and also I put Tonya in mind you look beaut okay my head doesn't even look curly anymore serve my life I just got back from the gym hence why I look very gross and my hair looks very weird but I'm joined by Amfasha tell everyone why you are my day but I call you ammo I have uncle for you and I am brother for your mom but then why don't I call you dying what why don't I call you dying because we are very close to go there and everyone says if your two brothers then why are you both so I'm really sorry that I've basically lied to you guys we're not related but it's not a lie we basically are we basically are so close that it's it's like they are my like cousins and uncle and auntie so it's just easier for me to call them uncle and auntie he is acting behaving no he's treating you treating you yes he's treating me like brother like his sister yes exactly and I love him like my brother and my dad loves him like his brother yes and everyone loves each other basically so everyone loves each other so much that it's respect so we call each other uncle auntie cousins blah blah blah but also because it's easier to explain but everybody they can see yeah I mean if you watch a few of my blogs you'll see we are very very close yeah except fabs didn't come on holiday with us tell the blog because you have makeup on us anyway I don't know why I keep mimicking people like that so much has anyone told you that your outfit is just what made you I love the way I'm scared to come further back because I never will see the mess that is the larger let's see who else is at home right now for me to attack and piss off so I can't watch as Turkish TV shows on her laptop and cries about it I wasn't crying it's not like I had my makeup on and then like I was like doing this before this vlog ends I need to show you not looking like this so I think we've discovered the new 50 cent wait for it he's gonna kill me when you watch this vlog hopefully he doesn't watch it you know I only watch it when I tell him to watch it so I think you watch it does he watch it unless he doesn't tell me but yeah we got a rapper in the family my mom's made a very Persian dinner this fish salad Shirazi for my sabzi rice and this is the chef with her Pia's so basically we have this dish which is common sabzi and we have it with onion and make a breath smell so I don't have it so again I told the vlog that we'd show them what you look like without the makeup running down your face so yeah this is what she looks like normally tell my vlog why you're crying because Sebi was me I wasn't just saying because Sebi said that I was never here when she was growing up yeah but what I meant by so so wasn't growing up is that saw spent pretty much half my life doing two other degrees in two different cities so even though she didn't physically live here which is what I was talking about doesn't mean that she wasn't with me when I was growing up I don't think I would be sepi if so didn't think that just made me feel bad tonight this chick is too much Kiki do you love me over this yeah why don't just say it why do you wait till now do you need me a hug do you need me a hug and vlog I thought you wanted to like properly my blog is great we saws off to be the chef here actually I don't even know where she is I'm sorry because I didn't live with her for all her life I'll shut up now say hi to the vlog I already misses you please tell them what you just said so I can get everyone to agree you was talking about look stop coming up with excuses it isn't your blood Aladdin but I swear to God he was just telling my mom he was just telling my mom that he wants another matching set of carpets where please are you going to fit these carpets it's all I want to know okay in case you want a guided tour of the house I want to know where you want to put them where tell me okay no but I thought you wanted for London all right fine good cuz I'm sick of it if you're gonna buy something for Iran I'll allow you but I love your test I also think you need to stop buying carpets so just in case you thought that the stereotype wasn't true Iranians do love carpets don't they fabs is true okay but my dad is something else my dad is Aladdin like he's actually obsessed and I let like a tramp don't don't judge hey I don't know what I'm saying hey even though you guys are in the middle of a vlog today's Wednesday and I want to sit in my bed but I'm still wearing like outdoor clothes so I'm just gonna stand up and say this so today was a weird day because I just haven't been feeling like a hundred percent well so like I was just sitting in the computer room studying after lectures and I was freezing like from the arms down and the feet down I was absolutely freezing and then yeah like I just couldn't take it to the point where when I went to have lunch with my friend Goli I literally had like asked her to stand in the sun with me to try and warm up I tried washing my hands on the whole water and it wouldn't work so it was so weird on the way back from uni on the train this is literally what I was wearing and I was boiling so I literally don't know what on earth is going on my friends ringing hold on sorry about that it was sign now so yeah I literally have no clue what's wrong I feel like better now I think I might just be very very tired I'm not really sure so yeah I was gonna go gym but I went gym on Sunday Monday and yesterday which was Tuesday so I think I'll take a rest today and then I'll go back again tomorrow because I have nothing to do tomorrow but today I have a lot of stuff to do and I'm seeing my friend Christina after so yeah today's gonna be a hundred percent a rest day and also guys let me know what you think but I think I need to cut my hair so this is a plot like plotted and it is up to my waist so I feel like if I chop off this much like it'll be good for everyone I think everyone will be like relieved that my hair isn't crazy long up to my bum to the point where when I go bathroom now I literally look it forward and like so like this yeah weird so that is a plan let me know what you think literally everyone who gives me advice about my hair if it's a guy and I buy guy I don't even mean like oh like a cute big guy because like yeah that happens but not often but they actually could be like my uncle and he will say or it could be my dad he will say don't cut your hair so men always like don't cut your hair and even girls actually say don't cut your hair but my mom and my sister and everyone is really on my case to like cut my hair by at least this much so I don't know let me let me know what you think in the comments because I read everyone's comments so it will really help me to decide what to do but yet they're like if I cut off this much it would probably be good don't need to flick my hair forward every time I go bathroom and plus I just don't want it to look stupidly long do I mean I like it sexy long we're not stupidly not sorry rant is over and so is this vlog I hope that you guys enjoyed and I hope that I cleared up any confusion as to how I'm related to my uncle and cousins and now I keep doing this every time and yeah that's why I didn't say that we weren't related that will be so long to do in every single video but I'm probably gonna end up still calling them my uncle and my cousins in the future of it because that's just how I roll I love you guys so much don't forget to check out my socials they're always linked in the description but I'll write them across the screen as well my insta is Persian bunny my Twitter is the Persian bunny and my snap is sepi Samai I love you guys so much and I'll see you in my next video bye oh yeah don't forget to like and subscribe I love you okay now I'm genuinely done bye


Welcome to escalated and house of floppies and pancakes It's true. It is. I've been a tall stack of pancakes and floppies. Yeah, it's been a it's been a floppy extravaganza Here at Shea fruit.  Yeah, so let's get you caught up to where we're at with our progress of making it so Anyone can be an archivist for low-cost Microcontrollers can now do this and one of our goals is any type of removal media just shows up as a USB drive drag-and-drop things off of it in the usual easy ate a fruit way and You know get all that stuff that's rotting away in the basements and attics Online so folks can learn from it and share so here's the two videos that we did today We'll play these back-to-back, and then we'll see you on the other side This is I did find one single DOS formatted five and a quarter floppy, and this is my five and a quarter drive Clunk it's wired up to my feather with my floppy feather wing running my grease weasel emulation mode And what I got working was flux engine. So flux engine is another software that can read floppy disk drives with flux data and then parse it out and I did get this working earlier, and I just want to quickly show this is what was on it This is the image that I'm you know opening up on my computer So it's got all that now stuff that you're probably used to if you had a Windows computer running DOS back in the day and This is flux engine if you're interested in it's kind of a cool open-source flux reader And this is the poor quest that hopefully I'll be able to get merged in soon You spin me what round baby right round like a floppy disk Okay, so I've got my five and a quarter floppy disks not a good singer good engineer Got my five and a quarter drive wired up to my feather, and I'm now running the mass storage demo For TV USB, which means that this is actually showing up as a 360 k Double-density drive. I had to refactor a little bit here. I'll see you can tell it Hey for the MFM decoding you're expecting 360, but here's the good news It just shows up as a drive and if you're like hey, I want to know what's in this read me dot text It's a mouse driver for you know an old IBM PC, but it shows up just like a disk drive This is a good example of why you can't just use a USB floppy disk because there's no such thing as a 360 k IBM USB floppy drive, but now there is okay okay, so started off by getting flux engine support for The a different floppy grease weasel example So flux engine is is a piece of software that runs on a computer that Talks to the hardware and gets the flux data and then can convert it to to the format that you know Just decode the format for you and we did grease weasel a couple of weeks ago It grease weasels a python version and flux engine is in C and they both have slightly different functionalities So it's good to have both supported um The only difference is that um flux engine again is written in C So it's kind of like low level windows 32 file access and like learned a lot about like the differences between Um How python does calm file format reading and the way that um c does it but whatever um, I did I did get it working in the end and um even fixed a bug in flux engine, so um That's the good news and um Once I got flux engine working, um, I was like well I can try reading the five and a quarter inch drive because I only had Common or 64 and comma 64 Formatted five and a quarter inch floppies and like a couple apple twos And grease weasel can't read apple twos format or c64, but flux engine can and so I was like well Once I get that working I can start reading these discs and then actually was like I found one disc that said like mouse driver And it turned out I was like well, you know what like that's that sounds like it's probably an ibm pc DOS disc and uh, lo and behold it was I was able to use that as an example for um 360 k floppy so you saw in the video Um, we updated our mfm decoding to also support not just high density Which is what you usually use for three and a half inch But for five and a quarter usually have it's usually double density or like sometimes it's high density But it seems like a double density is quite popular. So that means that um half as many tracks half as many sectors so like the Square of flux that you read is like just that much larger Basically, it's like two times four times larger two times on each side And so such a refactor a little bit to know like okay the timing has doubled the number of sectors have the number of tracks It's halved or you have to like double You have to double step through the tracks or whatever um So sorry the drive itself is is only 40 tracks so every time you step you're only stepping you alternate What normally would be 80 tracks like you interleave them anyways So got that working and so um, yeah the mass storage stuff just worked It's funny is it doesn't show up enough with a floppy disk icon because um windows has a special thing that's like Oh, did your the disc is the the mass storage device you just plugged in You know 1.44 Megabytes, okay, I'm going to assume it's a floppy disk But if it's any other size it doesn't give you the cute floppy icon.  It's not sauce. It's it. Well, it's the mass storage format Um, but yeah the all this all mfm IBM disc gets used the same, you know, there's there's You know 40 or 80 tracks there's nine or 18 sectors and each sector is 512 bytes and it's fat 12 So it just shows up on the computer and then I got into the Commodore 64 disks and The Commodore 64 is like really messed up um compared to mfm um mfm is weird, but at least it's like each Sector has the same number of bytes on it, right? You're like, there's nothing funky going on whereas Commodore 64 and early Apple disks You know the engineers there, you know looked at, you know, basically it's a circular format and we're like, well You know, it's like toroidal. It's like it's it's like a doughnut And so there's more data you can store on the outer rim of the disk than the inner rim And so there's different numbers of sectors um Depending on what part of the disk you're reading on the Commodore 64 which Which yeah, at least it's been at the same speed that god, right? But it does it does have slightly different amount of sectors. And so that is really exciting um, and it's also gcr not mfm um, so I'm I'm still I you know, I'm getting I have I'm getting data read from The drive into the Commodore 64 format the problem is is that the disk gets I have, you know Half of them are commercial games and you know like commercial programs And those disks actually read pretty cleanly because they were like Manufactured with like a really strong writer and then you know factory and it's like they're really well made And they only had one thing only written on them So there's like competing, you know old flux that may be not cleared off the other disks that are like user disks have like You know files and code on them um In like, you know user programs, but because they were written on a disk get drive They don't read very well like a lot of them have a lot of sector failures So, you know, I can read them, but I haven't I haven't gotten one Clean read whereas, you know, I have a copy of like there's a copy of a top gun game and jeopardy game and like You know track and field something something and those actually Almost all read very cleanly like I can get all the all the data out And it passes the crc checks But I I can't quite get it loaded into an emulator and it's like unclear why and it's like There's copy protection and then you can read like a g64 file But then how do you convert to that and it's like I'm in this I'm in like a place, you know, where I don't really know enough about this Yeah, I think I think also I might have to tweak a little bit of the the index pulse reading To make sure it's like either it's falling or it's rising I think it's important, you know For the mfm it was like it bullshit who cares like as long as I sort of say here It's sort of where the index track is but for the copy protection Stuff you need to really be very precise about where the index falls and rises on the on the flux reads so Um, yeah, I'm reading the data, but again, I can't actually load an emulator And I think maybe it's because of the copy protection or something so Um, or maybe I'm just like not doing it right. So that's that's that just get stuff. So um It's good news. Um, I do think, you know, I I need to revise the floppy feather wing to add level shifting um, I can really get away with it until Um, this five and a quarter, but the five and a quarter it does work, but I had to add a pull up on the index line um, it really, um You need to drive those inputs very hard and my controller is not really good at it So I think you know, I should put a little shifting on any ways to protect in case something goes in all out wrong You know, you don't want um, you don't want to be like leaked current from the five volt line coming in um But also I think I need to drive those Open drains a little harder than I expected and have like some pretty strong pull ups So, you know, put some big pull ups have an open drain shifter and um or buffer And uh, so i'm going to revise the the floppy feather wing uh shortly But if anybody here who's watching happens to be an expert not in the Commodore 64 But in Commodore 64 g64 file format generation from cryoflux or scp files types uh do comment um because I I have I have like this thing I have to convert to another thing and it's like Not clear how exactly you get from one to the other and I I want to I really want to use this this open source Toolchain as much as possible And I I really really do not want to start writing Commodore 64 file format generators I mean I can do it, but like I I got a lot of other things on my plate Um speaking of stuff on my plate. I also designed a couple boards. So first up the feather, um ESP sorry the feather ESP 32 v2 So we got these I did a little video which we don't have but we got these pico modules If people really want I can go maybe grab one. I don't think I have them here, but the the pico module Which we talked about last week is an esp 32 the original esp 32 not the s2 not the c3 not the s3 that has um eight megabytes of flash and two megabytes of ps where I'm built in And um it's on the chip itself, which is why I used it in the cutie pie design But they also made a little module version and the module is actually smaller than I thought Um, which kind of inspired me to finish up this feather esp 32 revision and the reason um I needed to revise it is because the cp 2104 is no longer available Being replaced with the cp 2102, which has this a slightly different schematic For use and it's like if you're going to revise If you need to add like two resistors to design you might want to redesign the whole damn thing Right because if you're going to redo it and you just new stencil you need a new pcb It's like here's a good opportunity to just go in and just clean the heck out of it. So um, I did a complete, uh, revision Let's do front Um, so I did a complete revision. So this is the pico module here And it is it's a bit of a let's see if I can turn on Too docu to show this a little bit better Where is um, so this is the module And I put a stem aqt like a vertical style over here And then um, I put a neopixel the old esp 32 doesn't have a neopixel and I'm using Pin 0 and pin 2 which are like unconnected, but you know as long as they're outputs It's fine. I'm using them to control the neopixel and the power For the uh, there's a little power regulator for the I squared c and for the neopixel There's an extra user button. There's like one input remaining at the end Um, so that's an input button. So you have a user button and then um updated to usbc Up here and uh, you know just tweak this now. This can be cb 2102 or cb 2104 Um, and I'm you know because the module is much smaller than the room I got to put a little bit more um capacitance on the board Um, these pads are a lot bigger now I had to kind of make them skinny because of the the room module was like right up against the edge of the um the pads I did have to change a couple pins around because of the ps ram usage The esp 32 pico actually has slightly different pins available than the esp 32 were room It's not a big deal. The only pins that got changed were like the uart pins And the I think mostly me so changed and I think scl sdh changed all the numbered Pins up here did not change and the analog pins didn't change. So You know if you have to recompile your code, but if you recompile the code um, even if you as long as you used like the Word sda or sdl not just like pin six or whatever or dpi o8 Um, it should be just fine. I think it's worth it I mean this is going to have double the flash and two megabytes of ps ram And I think I think that's a worthy update And um, it's still like a double-sided board seven seven rule. So I'm I'm pretty happy with this design And uh, you know, it's going to be it's going to be very compact. It's a good refresh of the um esp 32 feather very popular feather, but like You know, I always thought like I didn't really like that the module was so big So when the pico is came out I think he's been out for a bit, but I sort of like didn't notice Um, it's it's a lovely little update to to the board. So I'm happy about that So that's that and then um The other board that I designed was a little Game player for the cutie pie So, um, it's got, you know, the the dpad buttons here And then a and b buttons here and then there's actually four buttons over here And I thought maybe I could especially for the esp 32 An s3 cutie pie. Maybe it could get the um, uh, odroid go like emulation library example code working Um, I thought that would be really cool for it to uh To work on this and on the back um There's a little socket that you would plug in this is like a two by nine and another two by nine header And you see it fits quite nicely right before between the mounting holes And this is a cutie pie with a usb sticking out And then um, there's a micro sd card slot for games on off switch battery, um, which kind of like goes over the whole back, um display and um, a aw 95 23 gpio expander a really low cost expander that um Handles all the pins Handles the backlight, um because it has an led driver. That's really nice. Um handles like the card detect pan You know, basically everything that isn't like the tft spi and analog output like all the all the extra stuff and um, you know by using expander actually I have a lot You know, I have two pins extra left over on the cutie pie So you think like how many gpio is 11 that's so little but you can actually get away with 11 if you have an expander to take care of your user interface buttons So the only thing that I was kind of like not sure about is should I go with a speaker or Headphone and I ended up going with a little headphone output And I'm using a zero and a one those are the the DAC pins on most boards Although you can do also do high speed pwm and then Amplifying it out into The headphone so I think you could get you know, maybe better audio than a little speaker because I feel like I could do a speaker, but it'd be so small And then it's like I don't know. I sort of felt like usually I do a little speaker But I thought this time maybe I would do a headphone and that could that could be a little more fun Because then it could be something in your pocket And most people have headphones with them all the time for your phone or for your mp3 player or whatever So yeah, so that's that's the design and so the great search is going to be for that headphone amp because that's What I had to source this week So I don't know if there's joined your questions or you want to do them. Let's do the great search Okay The great search brought to you by aford and digikey every single week Lady of user power of engineering to show you how to use digikey.com search This week the great search is It's a capless stereo headphone amp. That's very small Right. I want to want to optimize for board size on this design So let's go to the computer and I'll show the schematic So for my design Um, I've got Let's see. I've got my board And it has audio out in this case. I only have audio on a zero, but I'm gonna change that in design There you go. Um, so audio output and I wanted to drive, uh, stereo headphone output and um, I want to have like a nice little amplifier and The thing that was most important for me Is I wanted a design that was capless and what that means is um if you look here, uh There is no DC blocking usually there's like 100 or 200 micro uh, ferret amp capacitors on the output of the amplifier into the headphone and that's because like you don't want to have any DC signal Um going in normally a class a or class a b has a or you know, even class D Whatever they have a DC offset right usually you're you have your ground and then your audio signal is above it Going up and down there's that DC offset But you don't want that DC offset going through speaker because it'll damage it And so usually have like big ass blocking caps Um that allow for the 16 or 8 or 32 ohm load Um and doesn't like diminish the spec of the frequency response Um, but you'll notice here there aren't any and for the design I'm doing it has to be so tiny You know if the whole thing is so small one capacitor would fit like here It would be just way too big. I wanted something that You know audio goes in maybe there's a couple or just there's some capacitors just for like You know, but you know just getting the signal in and um doing the um Uh volume gain select But for the most part I don't want those like big chunky caps because even ceramic ones They're just way too big or tantalum. They're just too big So this is a no cap Headphone amp design and the way it works is if you notice here, you're like, oh, what's this? There's a switch cap Uh converter Can't remember the name of the not a boost converter. It's like a Inverter basically and allows it to generate a negative voltage by using a switch cap And that way the signal that comes out here is referenced To a negative voltage as well as the positive voltage, you know from the 4 volt to 3 volt power. It's generating a negative rail so that the output is right centered through ground, which is like super cool. You're going to pale a bit more But usually these amplifiers are quite nice in general so Let's go to Digikey and I'm going to search for our headphone amp Okay, and um, there's a whole bunch of stuff, but basically you want the um, you know the the linear amplifiers And uh, so i'm going to go with I only want the active designs because I want to manufacture this I want normally stocking now it might not be in stock right now because of the chip shortage But like something that I can probably get in the next few weeks I also noticed by the way a lot of chips are sort of coming into stock in the next few weeks So if you've been waiting on something Um, and then I'm going to exclude marketplace products Okay, and first pass Yeah, so like let's say like oh wow here's one for 60 cents. Let's take a look at it. So when you open this up You'll notice this design doesn't have um that capless.  Those are the only ones that are going to fit So, um, I'm going to select only the packages that I think are going to fit. So d f ns I don't like bga.  I'm just going to check the voltage supply. You know, I'm running it off of three to six volts So, um, three to five volts. So I definitely can't run it off of the this 1.8 and 1.95 Volt version Not gonna happen Okay, so we only have like 19 options. That's that's much better um So I went through these and there's there's actually only a couple different families available. Um, but when I sorted by price um There were a few that weren't in stock the 488 was the one that needed the um The amplifier, sorry the other capacitors on the output And so the first one that was available that was in stock And also, uh, had that um, no capacitors required was the max 9724 this looks like a really, um, nice amplifier. It's got depop. It's got shutdown It's adjustable gain, you know, and it's like basically 60 cents When you buy it in quantity, so, um, this was the part that I picked so I have some on order and maybe by next week if I get the, um The PCBs in uh, we can hear how it sounds and hopefully it sounds pretty good But um, I like this. It's a nice little headphone amplifier I think this is I'll probably use just a couple other designs as well It's very simple, but I really like that it has that At negative voltage rail generator inside and this week is a special tree Yeah for the great search. We're gonna play a digikey 1991 promotional video. It's amazing To since we're doing all this retro stuff. I know let's check it out. All right put the floppy in the drive It's started in 1972 An idea a new concept in distribution Today digikey corporation represents one of the fastest growing electronic component distributors in the united states At digikey service is the key The success of this effort depends on a team of talents employees management and staff Committed to making digikey the best In its first 10 years digikey's marketing efforts were focused on the electronic hobbyist Then in 1982 they began targeting catalog mailings to the commercial market Okay, and uh, let's get to some questions and we're gonna bounce You ready? Okay question with the esp 32 is our refresh being v2 Will it have to have a separate Arduino listing since there's a small amount of changes Just curious on how that works. Yeah, I need to do another board variant But like express was really chill about it I submit board variants all the time and they just they pull them in as long as there's nothing like super weird in them Um, so yeah, there would be a new board definition because again some of those some pins were not available on the paco Um module they just aren't brought out. They're used for the ps where I'm interfacing And so I had to read like it's one of those things like if you're going to change If you're going to add one resistor to a design You have to redesign the whole board if you change one pin You might as well change as much as you want because it's like any change is going to require A new variant file. Okay On then one of the other shows you talked about esp 32 itsy bitsy introduction. Will it be able to bring out all the pins? The other itsy bitsy. I know it will have an antenna work around like the other 32 4 version do not Well, you'll you'll have the antenna at the end. I mean I kind of drafted it out but you know surprising The esp 32 does not have as many pins as you'd think a lot of them are input only and so like if they're kind of restricted Um, and there's a lot of strapping pins and I don't like to expose those because if you happen to connect something to those pins It could kind of like make your boot up weird Or your boot loader not work. And so um for the itsy bitsy design You know, it the pins aren't named the exact same thing because like pin 8 doesn't exist on the esp 32 Or like pin 9 or whatever pin 6. There's a couple that just don't exist Um, and there's no pin remapping on the expressive core either So like, you know in arduino On the original, you know, there's a remapping like On the samd 21 and samd 51 pin 3 Is it can be like pa 14 or it can be like pb 3 or whatever. It's mapped inside the arduino ide Espressif doesn't do that. So like gpao 4 is always pinned for it always has the same functionality.  It doesn't add a lot of um slowdown And gives people a lot more flexibility and like having pin compatibility between formats It's one of the things I like about the cutie pies. It doesn't have any numbered pins. It only has named pins Um, it's like a 0 through a 3 and then sda scl rt Rx tx You know and the spi pins and the power pins. There's no there's no pin numbers.  Um It'd be probably kind of you know, if I could go back in time I would probably change arduino to only have named pins and no numbered pins Um, we we solved that in circuit python. Um, because I really didn't like You know, I knew that this was going to be a problem, but I can't go back to fix arduino Just kind of how it is All right, and that is our show for tonight. We'll see everybody during the week Thank you. Um, uh, tuesday we have jp's Uh product pick Wednesday, we have show and tell and ask an engineer and also 3d hangouts with no impadro And then thursday jp's workshop and friday. We have deep dive at scotland videos all throughout the week Monday is a holiday. It's mark luther king jr. Day. It's a day of service So our team is taking the day off So if you place an order make sure you know that it will not be shipping until Tuesday, there's also a little bit of weather going on. I'm looking out the window right now. It's a little Snow dust in but it's not too bad and please continue to stay safe everyone. We are almost through this wave Uh, I've been telling our team that this wave is collapsing. Um Right or wrong The way we got through it, uh, folks got vaccinated Folks are testing positive, but it's not affecting them really At least that's what seems to be happening around here in new york and everyone's Ready to get back to uh, their lives and more. So just hang tight And uh, I hope to see some of you in person real soon Thanks for the support. Thanks for the orders. I'll see you next week. Thanks everybody. Bye. Bye


This is the Subclavian Carotid, and then this is the Subclavian External Carotid, and then the superior vena cava, brachioscephalic, subclavian, the external jugular and the internal jugular, and then follow this up and the transverse facial. Okay, so show me the left subclavian again. Left subclavian, this one. Alright, and where's the brachioscephalic? How about the brachioscephalic artery? Sorry. Oh, you have two. Alright, bye.


So here's a free scale LST1043A arm base. This is a quad core arm cortex A53. It features the whole DPA1 acceleration block with frame manager, Q manager, buffer manager, security engine. So this acceleration is usually present in all P and P series. Now it's an arm. So it used to be a free scale power PC, only solution now it's arm based also. It's arm based. And it's optimized for what? It's optimized for all packet processing tasks. So like networking stuff? Networking stuff. So it's able for example to autonomously forward packets without any any draft, any core intervention. So they work together and this one does something else? What does this do? What does this do? Okay this can run forwarding if you want. For example if you do software forwarding but it can also can do control plane stuff. So it's very flexible. And so you're showing something, some kind of demo here, running stuff. What is this board? Is this development board? Yes. What is this? Okay so here I have two boards, two remote boards exactly like this one. And they show an IPsec implementation. This implementation here is the standard implementation as proposed by the ODP Crypto API. And this one contains one of our proposals for enabling protocol of loading in addition to cryptographic tasks. And there is a comparison of performance between those two applications. Is yours better? Yes it's better and it's much better. If you see here you have 30% for each core time consumption. Here we have 53. So that means more efficient. That means you could send more data? What is it for? Exactly. It enables more throughput for example or you can use those cycles for other stuff for control plane. In low power boards it matters. All right. What are you doing with Linaro? I'm on a signee from Freescale in the ODP group. So what I do, I do ODP implementation on Freescale devices. All right so this is happening right now. ODP it's a big deal. It helps a lot with the future of this kind of stuff. Yes yes I think so. I think so. It enables portability. And it's moving fast. Development is fast. People are getting forward with the solutions. Yes I think so. All right so that's right here. Quadcore Cortex 853.