a function in Python. So here we are on Sage Math Cell. Let me run it in Python. So if I want to create a function, like say let's take a function that takes any number, squares it and multiplies by seven. So the way to find a function in Python is with the command death for define. And I need to give the function a name. Let's call this, let's just call it my function. It can be any, any name you want essentially. And we have to say what input we want. So the input, I'll just call the input x. You can give it any particular name you want. Now we have to define what the operation is going to be. So let's say output is equal to, let's see, I want to take the number x and square it and then multiply it by seven. So once you do the other whatever operations you want to do, and create an output, we have to give that output back to the user. The keyword for that is return. So for example, I can not write my function of 100. Let's print the output. I can do print my function of 10 or five. Now, now that we have a function, we can actually do all sorts of things. Like so for example, suppose I want to take all the numbers between one and 20 and apply my function to them. So let's say L is equal to range 21, or say 121. And let's make that into a list. Okay, numbers from one to 20. And now I'm going to say, let's say L2 is, I can do this as saying my function of what do you want to call it, t for t in L. So here I've used list comprehension using the function we defined to apply it to a whole range of numbers. For our purposes, this is useful particularly for matrices. So for example, let's do a function that say squares matrix. So let's assume that a is square. So let's check that a is square first of all because you can't apply it. I want to return the matrix a times a or rather a dot a in the notation of numpy. But that doesn't make sense if the sizes of a don't match. So you might want to say, let's have m and n be the shape of a. And here's a quick way to check things. You can say assert m is equal to n. So now let me say, let's say, let's make a matrix. Let's call it b. Doesn't matter what you call, of course, the variable a is only defined inside this command, right? This a has nothing to do with any a's I got here. Now what if our matrix weren't square? Let me remove a row so that its sizes don't match. So notice what happened here is I wrote I have this matrix which is two by three. Of course, I can't square a two by three matrix. So when I attempt to do this operation, notice what happens is that we've taken a dot shape, which is two comma three, and we've checked that those numbers, so m and n would be two and three there, are equal. And when that fails, we get what's called an assertion error. And the assertion error is sorry your sizes don't match. And it tells us actually exactly in the code where that has happened. So that's a quick rundown on how to define a function with def and then return. And you can do any operations you want on the inside and how to apply that either to lists or to other types of operations and also to catch error messages.


Yo, yo, what's up guys? This is Chris Pike. My friends call me Bigsy. I'm back in action today. I'm going to show you how to zoom in your footage for those of you that are new to YouTube and new to video editing or just want to up your production value. Adding in well timed zooms is a great way to show interest, a great way to show that you're thinking, a great way to add focus to a particular element. It's just an awesome way to increase your production value, and it's free. We're using HitFilm Express. This is a free video editor. So everything you learn here at Freedom with me doesn't cost a thing. All right, what do we got here? Let's just show you what I've got here. I've got this pretty girl running away, which is pretty much, well, every single date I've ever been on. This is how it ends, guys, every time. Running away. There I go. I zoomed in on her. Do you see that? And now watch. I zoom out back gradually. Now, traditionally, you would have to do that inside your camera and using lenses and all that stuff, but you can do it now inside video. Inside video editors like HitFilm Express and it doesn't cost you a thing. Let's just delete all that stuff and let's start again from scratch. So there we go. We've got this pretty girl and she's running away. I'm going to drag and drop the footage into the timeline. That is step one and now let's see what we got. It starts black and then it fades in and then here we go. There she is. She's running. Yep, kind of like a true crime show, but yeah, except she went on a date with me and well, whatever. I'm not a fast runner. I would catch her though if she was an ice cream truck. Let me tell you, oh, I run after that. All right, whatever. Let's go. Okay. So how do we do that? Let's do the zooming first. So let's do a basic zoom. So what I'm going to do here is I'm just going to go ahead and you'll see here that I'm at like 10 seconds or something like that, right? You'll see here it's like 10 seconds and four frames. So I'm just going to back this train up to 10, 0, 0. So at this 10th second, let's say we want to add in a zoom. So a few ways to do it, but I'm going to show you a quick shortcut. Left click on this slice tool here, pressing C if you don't want to do that and just add a cut. So we've now cut this into two pieces. So this one here, which is what we've selected, this one is going to be regular and this video we want it to be zoomed in. So all you got to do now is make sure you're select on the second video, like I have here, or the second cut. We're going to go over to controls. You'll see controls here. Drop it down and then you'll see the scale button.  So I'm going to scale it up quite dramatically to really sell the effect. So let's get right into about 225, something like that, okay? How does that look? That's pretty scaled up. Okay, cool. Now watch, we've got her running and then right where that connecting is, right where the cut is. Boom. Scaled all the way in. Perfect. That is basically a jump zoom and that adds a tremendous amount of production value to your video. You'll see guys like Mr. Beast and all those guys do this all the time, especially when they're trying to, you know, when they're doing some sort of thinking motion or they're doing some sort of thinking, you know, type thing and they want to show that they're thinking. There you go. Okay, so let's go ahead and now let's go ahead and show you the second version. So let's say at the 20th second, so that second 20 right here, so at 20 seconds we want to gradually zoom this in. So what am I going to do? I'm actually going to use the same cheat. I'm going to grab the slice tool and I'm going to cut it. Now this is a little different because we've got to make some changes. So what I'm going to do is I'm going to go back to my selection tool. I'm going to make sure that I'm selected on this video here and before I start adjusting scale I'm going to go ahead and hit this button here. This means basically that we are creating a keyframe and you'll see it, well I'll show you how to keyframe in another video, but basically we're just creating a starting frame and now we've got all the way zoomed in. So we've created a keyframe and we hit this button. Now let's say at the 25 seconds or so let's go to 25 seconds. I'm just going to edge forward. We want her to be completely zoomed out back to 100 percent so I'm just going to drag it back to 100 percent because we keyframe the initial value which was at 225 percent actually. Let's get this to 100. Come on Curtis. Well if we can if in doubt just type it in. Dingo! There we go. Now watch this. So as you'll see here she's all the way zoomed in. I'm going to hit spacebar and you'll see the gradually zooming back out until it goes right back to 100 percent. How do I know it's 100 percent? Because I click on it and as I move this now watch. You'll see here on the left side here you'll see the scale keeps moving as my keyframe indicator moves. So it starts at 225 and then it just gradually goes down back to regular. These are the two best types of zooms you can do I think inside a video they are free to do using HitFilm Express. It adds tremendous production value to your video and it costs you nothing guys. You're becoming the best video editor you know just rolling with me in freedom. Thanks for watching. Time for more stuff coming up. Stay tuned. Be back soon.


The International Monetary Fund has revised its growth forecast for the Nigerian economy in 2022, upward by 0.3%. The projection is now 2.6% compared to its earlier forecast in its April edition, but the IMF retained its growth forecast for Nigeria for 2021. The IMF's division chief in its research department, Malhar, believes that Nigeria's fuel subsidy and the rise in insecurity is hindering growth.


Good morning everybody. Good morning to all of you. Hope all of you are doing well and Thank you for joining in for our week 7s class Welcome to all those who are at our e-learning platform as well. We welcome you and Encourage that you keep learning and Staying at pace with the course. I hope each of you are doing well and are being blessed we are at our seventh week of class today and we have been studying healing and deliverance and we were in the Portion of receiving healing and deliverance. So last week We started off with the topic and we looked at before that we looked at bases of our healing and deliverance and This week the week before we did begin to focus on how we can receive our healing and deliverance So as always Just to wake each one of us up and know that we are in Present here in class. Maybe would somebody like to quickly Have a recap we were we stopped at part of the action steps On on receiving the healing and deliverance, but before that we were looking at How do we receive that healing and deliverance? So would would someone like to briefly bring about what we had learned initially and then we can Progress into class. So anybody? Okay, thank you. I mean, yes We spoke about how our healing and deliverance takes place and one of the ways did we we had said was through our healing comes through our sanctification and through our consecration, which becomes a normal part of our of a believer's life where we are constantly Setting ourselves apart and consecrating our lives and keeping it apart for the work and for the purposes of God Yes, so that was the first thing that we looked into was healing through sanctification and consecration What were there were two more points that we That that we looked at Would anyone else like to attempt or to the second point? Okay, the second one was where Healing comes just by being in the presence of the Lord during times of worship in times of prayer is where we Receive our healing where we are at a place Where there is an anointing of the Holy Spirit and just being in the presence of God either by Worshiping by reading the word by praying in tongues But just enjoying that embrace and communion with the with the Lord that is that is healing that comes about Okay, and yes, the last one was how we can we need to gird up our loins. We need to actively Resist the enemy submit to Christ and resist the enemy and we as a part of that We were looking at those ten action points and you know, we had to break away because of Because of our shortage of time, but we will be going through those ten points again and a couple of points after that that really focuses on how we need to Make changes in some of some of our of the way that we carry out ourselves Certain disciplines in our life a lifestyle changes that we may need to Carry out, right? So I'm on for all of you who would like to follow through the notes. We are going to be starting from page 23 onwards last week. We had begun with the steps towards Towards it towards our healing and deliverance through an active participation or through active resistance We looked at how you know, we also We we were not just looking at this as an academic exercise, but we were also going through this place of of Receiving that healing and deliverance and one of the first things that we did was to repent to repent and turn away from that which is which has displaced the Lord turn away from our ways that has caused disobedience to God and Coming to a place of confessing our whatever has We've been in we've engaged in in our minds or in our hearts or even in our actions So we came to a place of repent repentance and confessing those wrong thoughts those Words that we may have used those inflicting words. We've used over ourselves Confessed of our habitual sins or our continual sins and also if there is and has been any participation in Any kind of occult practices, so that's what we did first And as as a follow-up with that We sought the Lord for for forgiveness knowing that he is a God who's merciful and just and faithful to forgive us our sins when we reach to him and so we came to a place of not of forgiveness not just of Asking for ourselves for the for the kind of Effects of the kind of things we've thought or the kind of things we've done but also being able to release forgiveness towards others who has caused us that trauma caused us a kind of Made us hurt or Or has bought us to a place of betrayal or a place of resentment We we release that we Come to came to a place of releasing forgiveness to those who would have hurt us and those who we who we may be holding continuously accountable to accountable to Yeah, and also those who we feel are responsible for the kind of pain and struggles that we may be going through We also came to a place of forgiving Coming to a place of forgiving ourselves For the choices that we have made or for the wounds that we have created within ourselves for the mistakes that we have done and all of this under the Knowledge and believing that that you know This our sins and our forgiveness has been given to us because of what? Christ has done on the cross. So that's that's where we we stopped and I'd like to keep going on in that same You know the same momentum that we started last week doing this absolutely prayerfully and doing it As an application for ourselves Recognizing that there can be different areas in our life that is in bondage or that is in oppression and Coming to a place of receiving that healing and deliverance. Okay, so that's where we we We stopped and we we will start over on a fresh today starting on with the fifth point But before that, you know, I just would like to commit our time to God and ask that his holy spirit Hours around us and is active with us right now. Even as we do that convicting us bringing to memory revealing to us areas That that they do need that submission. Okay, so let's Let's just take some time to just pray Heavenly Father, we come to you in the name of Jesus Knowing God that you have made every provision for us for our freedom For our deliverance and for our wholeness Lord even as we Learn and just as much exercise and apply what we learn to our own lives We pray that the power of the Holy Spirit would take over and We will begin to see Your release father from from things that have that have held us in captivity over many years Father even as we Do these steps God we pray that it will be powerful Over our lives, but this is just not something we do as an exercise or something that we're learning about But Lord that we will engage one-on-one with you and have your power take over us So that we can experience the freedom for which you you died for us Thank you Lord. We ask this in your precious name. Amen Okay, so After having come to a place of repentance and seeking forgiveness Upon page 23 for those who'd like to follow along we also Recognize and acknowledge that God's word is true Hebrews gives says that God's word is living and powerful which means when we Accept God's word when we meditate and when we take on when we take hold of God's word We are releasing life Into the dead situations in our lives in our in our life So we are called to accept what God Says about us because that's what God knows us God knows us inside out he knows every part of our lives and Regardless of what you may be going through or how strongly you feel against what God's word says There is nothing greater than this truth that God's word is true and powerful and living and Will do what will accomplish what it was sent forth for there's no greater truth than that What we are feeling or what we are experiencing are Is nothing compared it's not real as Compared to God's word okay because in the scripture in itself God says and he declares That his word is truth John 17 17 says my word is truth okay, and What what when Jesus is praying for his disciples? He says Sanctify them by your truth. It is only the truth of God that can keep us Set apart or keep us holy or keep us consecrated unto him In John 832 says it says the truth shall make you free It's not our own works or our own abilities But it is the truth of God's word that sets us free so whatever areas in our lives or in your life right now that you are facing significant problems we we pray and You know ask God that We are given the mind and the will and The spirit to receive what his word says about us in those areas instead of What we may believe or what others have said or even what you are experiencing inside of you now each of us know the specific areas of Fear or oppression that you're you're facing right and It it could be a fear of your own future fear or fear of the future of your children or Something that concerns concerns you that you have not seen as As going well So what does God's word see about about our future the verse said we all know So well, you know thing that you can you can say backwards Jeremiah 2911 it says for I know the thoughts So God knows the thoughts that he thinks of you and what are those thoughts thoughts that are of peace That will give you a future and a hope and not thoughts that are wicked or evil So when you go by your day and you're thinking about your future and you have these questions of what if What if this turns out to be like this? What if my my My provision turns out to be like this What if the future of my family turns out to be like this if my children take the same path What if they turn out to be like this? So scripture says that he has thoughts of peace Thoughts of future and a hope So all of the thoughts that we are thinking are not thoughts of hope and thoughts of the future thoughts of peace They are more to do with strife and fear and discard and discouragement and disappointment But scripture says the thoughts he has of us is that of peace and that that which will give us a future and a hope So we go back and embrace that word and say no matter what I feel right now I look to your word that says my future is that of peace. My future is that which has hope Psalm 31 15 says my times are in your hand and If if we have entrusted the Lord with with our times He knows best of what he wants of us So no matter where you are today and the trajectory of the course of your life looks Looks very convoluted or looks very dark or looks as if you cannot see anything Declare and say Lord my times are in your hands and you're the one who gives me that hope Or if there is a fear about others fear about Maybe even just doing certain things when opportunities come your way You're really not able to proceed because there is that knowing daunting fear that keeps coming and what does scripture say scripture says in First Timothy 1 7 it says God has not given us a spirit of fear But he's given us a spirit of power of love and a sound mind. So as you get into Those activities or things that you are afraid of maybe those opportunities that that are given to you Declare and say I don't have a spirit of fear. God has given me as a sound mind instead or let's say if there could be of Just feelings of abandonment or rejection by people that you that you love God's word said you are that you are accepted in the beloved or God says that That that he he is you know in Psalms it it talks about how the Lord is the is the capstone or the cornerstone that the builders have rejected and Yet it says that you have become my salvation So no matter what kind of rejection or things that you face You don't have you do not stay there Because the Lord is the one who has taken away your sins has taken away your burdens has taken away your shame Okay Lots more of other scripture that says we're the ones who will find Favour and high esteem in the sight of God Proverbs 3 verse 4 and it says when we trust in the Lord with all our hearts and when we don't lean on our own Understanding we find that's that that fave and and that's where we are called to be or Some five verse 12 says with favor. He will surround us as with the shield so no matter what kind of Issues you are going through or or opportunities that are in your way embracing God's word and talking and and Encouraging your heart and and bringing about the truth of God's word saying I'm just Speaking that truth that that is going to bring life to all that is dead You know the the fear that makes you beaten down and dead when we speak of the favor of the Lord when we speak of Our trust in him when we speak of the esteem that we have in the sight of God And man, you know that all of that begins to It will need to submit will need to fall aside or there could be feelings of Adequacy or insufficiency that you may be feeling the worst that we we Always talk about is you can do all things through Christ who strengthens me What does it say here? It says all things. There's nothing that you will find lack in there's nothing that You will be short of it is all things through Christ who strengthens you or two Corinthians 3 5 that says Not that we are sufficient of ourselves or to even think that we have anything of ourselves But our sufficiency is from God everything that we need Is found sufficiently in God so any kind of inadequate inadequacy or inability or incapacity nor Inabilities to do certain things we take on God's word and embrace it and Keep Standing on that truth because that truth will go forth To accomplish what it was sent for sent forth for so embracing Embracing God's word now in your situation. It may be something else. It may be the fear that You know that may if you're a parent a fear whether your children will be of the Lord Speaking God's word say that says that my children are taught of the Lord and great will be their peace or that The Lord will pour out his spirit over our sons and daughters on the last day So just declaring God's word that that they are blind eyes will be opened to see the knowledge of his will or They're they're inner man's will in a man will be opened will be enlightened by the word of God. So so keep Declaring and believing what God has for you or In situations maybe where your homes that is probably strife in your homes or There are arguments or discouragements Speaking God's word and saying there will be rejoicing in the tent of the righteous or the tent of the righteous will stand the tent of The upright will stand and as you declare that, you know, God's word comes forth as as powerful and as living In your situation. So whatever those situations may be, you know come to a place to look at where you are at at God's word and And and bring those truths out to you to to your spirit to your soul The next thing that we we need to recognize is to renounce lies So renouncing lies require a declaration. It needs to be done You know, I would say, you know, speak it out loud You need to come to a place of rejecting what you have believed in about yourself about your situation so far and That renouncing is an active thing that you do. It's it's something that you actively do not just Understand but declaring it with you know, your mouth that you will not have anything To engage in with what has happened in the past.  So when you confess What you believe in your heart of what God says in his word, it says you will be saved So let's look at some specific areas where you feel there are problems And it may be very similar to what what we saw in the previous previous point and these may be some of the points So let's declare God's word over your situation And this is something that you can do you have the authority and you've been given the the power to do it all Because you have a right standing you have a righteous standing in In in God so right now, let's take some time to declare What God says about you in your situation? Remember that you are able to do what God says about you and whatever God has spoken about you That's what you will carry out So whatever your situation is here and and even as as you know as as I'm I'm bringing this out I'm sure there are there are places that that that that is evident in your own life that That you recognize that has been Beaten down because of the lies of the enemy. It can be about yourself. It could be just thoughts about yourself about Who you are or or certain valuations of yourself You feel that you you you're not good enough or that you know You have sinned so much that God even God would not save you now all of this are lies That's not the truth. There is no sin that God has not paid for Whether it's the smallest one to the most biggest one that that you couldn't even imagine Yourself doing it is a lie that Satan puts you under when you believe that even God cannot save you Even and and you hear people saying that right now. That's a lie That's a deception. That's something that he said against you that is absolutely Untrue that is not what God's word says God says that he will take away our sins as far as the east is from the west He remembers your sins no more. So come to God whatever it may be it may be this fear about God not forgiving you fear about you're not having salvation fear about Maybe your future fear about how you will About the approval of others Around you it is a fear or feeling of a sense of abandonment that everyone may leave you Because of what you believe in there could be so many things. I just want you to take some time right now Maybe I just give you a minute to just Just spend that time with the Lord and just a renounce every lie every every untruth that Satan has bought about to you and reject that and believe what God says about you it with Specifically to your situation. So let's just take that one minute to do that In in your own spaces in your own homes Wherever you are just take some time to do that Now once we have come to a place of renouncing What we also need to identify to do is to be able to close every entry point or every place That we have given the enemy to enter in You know, even even something as as a small Door is enough for the enemy to take control and there may be certain things that may not That that that probably is something that maybe a pattern or a behavior that was not engaged That you wouldn't engage in but something that was engaged by someone else in your home or in your family You know just coming to that place to close all those doors to close all those points Where that there has been been an entry it could be certain generational bondages, you know, maybe People in the previous generations have Engaged in either certain practices or even in some some form of an addiction or And or a wrong maladaptive coping pattern that seems to have continued on or would have opened the door into Into your life or into the life of your family so we want to come to a place of just renouncing and Canceling every maybe rituals or any Dedications that were made any setting apart any Consecrations that were made any offerings That either you or maybe though or those in your generation have done to those that are not To those who are false to that which is false or to that which is which is a wrong doctrine or a wrong discipline or even involving in Certain practices of the occult, however However playful or childish it may have seen may have been it's yet it is an open opening So you what you what we're going to do right now is is to shut those doors And any entrance or any Welcome that the evil spirit has got we are breaking that access right now and Declaring that every evil spirit has no access back into your life So if there is something that you need to do if you identify even as you know, we are discussing this if you identify anything in In you, you know, maybe Put on your body Like like certain charms or amulets or any of that any kind of a dedication that's been made You know destroy those those Those charms or those artifacts or those Onemans or anything that you have placed which you may be wearing or which you may be housing at your home that had probably been dedicated to evil spirits Take time to just ensure that all of that that is destroyed I think even as I'm saying this I just want to you know, bring about something a Friend of mine when I was in in college in in my 11th and 12th Someone gave me, you know made with a paper mache. They gave me a And that was in my home for a very long time This is this is way back when I was 1718 that I got it and it looked very nice and it looked like a like a good showpiece in my room and However, I had no clue. I had no understanding or no Thought that's something like that can bring about a sense of oppression Within my life and maybe the life of my family and it is only years later that I that I understood that that that that artifact as Harmless as it looks can be carrying something there and it creates an open door You know in our lives, so I you know the minute that I I heard that I made it we took it and I burnt it and You know, we never understand that you know some things that we keep May not be something that that has been consecrated unto the Lord. So if when we look at you know, one of the Scripture passages that is given here is about Cain and how he harbored anger in his heart.  That's something that God is reminding Cain to saying that this is crouching at your door and if you don't do anything about it It is going to come over you or even Paul talks about that in Ephesians, you know Be angry but do not sin and don't let the Sun go down in your anger because that gives the place to the devil So every time you're harboring something you open the door even to a specific emotion Maybe anger or resentment or Bitterness you've opened the door for the enemy to walk in so Let's just take some time and that is there's a prayer here And I'm going to read that out right now here for us and as I do that you know Join in with me to cancel and to nullify and to renounce Every Dedication or anything that that we have we have performed and we have been engaged in either with our knowledge or I or outside of it Okay, let's let's just take some time to pray in Jesus name. I cancel and I negate nullify all dedications prayers rituals sacrifices and vows that have been made by me Or those in my family My generation my previous generation or my ancestors to false gods or goddesses I Cancel the effects of any of my or My ancestors involvement in the occult and its practices I Declare in Jesus name that I severe all ties Towards these spirits and these demonic powers in Jesus name. I renounce all Associations with demonic spirits. I cancel all Curses all spells Witchcrafts enchantments renounced over me and by my family by me or By anybody else In Jesus name Amen, amen now Even as we have renounced this now it is to expel it to identify and Bind every work of that spirit so Once that the spirit gets You know has a space or a doorway in it begins its activity Now we we want to identify and bind it and expel it So we need to break every influence that the spirit has had over our lives over our activities over our words over our thoughts over our Interactions and we want to cast out this evil spirit that has gained entrance into our minds Or into our souls and and we want to destroy the the hold that it has over us and that which it has Created over our lives and expel every spirit that is there within these within this Oppression and within this stronghold, you know, we read that in in What what Jesus has said in Matthew 12 28 to 29 it says I cast out demon demons by the spirit of God Surely the kingdom of God has come upon you So if how can one enter a house a strong man's house and plunder his goods unless he binds the strong man, so let's come to a place of Binding what the what the evil spirit Has has engaged with in our lives and and expel that out We are taught, you know in Paul talks about it and says that our weapons of our warfare are not fleshly I'm not carnal, but they are mighty in God for pulling down stronghold So the weapons that we have are something that is supernatural and you and I have the authority To do that. We have the authority to cast down Everything that exalts itself against who God is or against the knowledge of God and so we bring down Whatever whether it be an action whether it be a thought or whether it be a word that has been In submission to the evil one and take it to the obedience of Christ, okay? So let's just take some time to do that As we as I read out this let's let's take this time to do that came in Jesus name Lord, I bind an expel out of my being every evil spirit Every unclean spirit that has gained access or entrance of any kind now you can By name Specifically take the name and expel out that spirit You know call it by name with regard to the problem that you may be facing or the condition You may be facing like the spirit of infirmity or the spirit of fear or the spirit of depression or the spirit of strife or the other spirit of Abandonment whatever it is that that you are Facing right now call it by that name or by the activity that it is it is Associated with and and bind it take some time to do that on your own right now Lord in Jesus name.  I Declare I am washed and cleansed and covered by the blood of Jesus By his blood. I am redeemed and Purchased for his purposes. I am the Lord's property and The devil has no claim has no hold over me. I Am free in the name of Jesus Amen. Amen. Amen. Thank you. Thank you Jesus. Thank you Thank you for the work that you have done in us right now Thank you for the freedom that we experience as a result Lord of your Shed blood for us for the authority that you have given us to expel to cast out That which is not of you. It is no permission in us in Jesus name. Thank you. Thank you Lord I mean it's such freedom to experience the You know that that that that sense of a sense of Joy and that sense of not being bound in chains But knowing that just by what Christ did for us on the cross nothing that you have to do But as you believe in as you as you renounce it as you expel it as you cast it out and stand in that freedom You know your life is being changed and all the those fears of whatever you may be holding or harboring on to Leaves leaves. It is no power over you Okay, and this is something that you know, you keep doing over time because there may be You know, I was just talking to a friend of mine and She was mentioning about a struggle. She was having with with another person and the the kind of Anger she felt at that point of time. She said it opened the door to the enemy So much so that you know by the end of that entire conversation. She found herself Beating herself up, you know, I mean literally beating herself up and coming to a place of feeling such self-loathing and Self-condemnation that you know, she just went and picked up a scissors and she cut off her hair Because there was a there was a conversation with regard to that so just so she was she was saying, you know just Opening a door to some bit of anger and resentment that that was not identified You know that she thought would just go away or would be natural Took hold of her and opened the door for the enemy to cast her into a state of oppression and and you know serious Struggles of what what she felt about herself So it was it was it was the spirit of self pity and it was the purity of self-condemnation that came in You know and took rule rule over her and you know, she said she just took that that evening to She was appalled by what she saw, you know It's never something that she's ever engaged in but she was so appalled that she said you know She took that time to just renounce all of that just come to a place of repentance and renounce and get her house cleaned up so that you know that That that even that that a remnants of anger and bitterness That door is not left open So it is necessary for us to do this on a regular basis because we interact we do certain things We are engaging with people and ourselves and and the slightest of door that opens is is the you know Satan really knows how to edge his way in if you've seen cockroaches coming into the house It needs just a little space for it to enter. It doesn't need anything You know, it doesn't need a wide open door It just needs that small crevice because that's how it can walk it. So remember to to keep Doing this over time as you know as you go in in your spiritual journey Now after we have come to a place of you know Releasing and and expelling out the next thing that we need to do is to you know Remember we spoke about that when when the house is clean If you need to ensure that you maintain the house you need to keep keep Conscious of ensuring that it is set apart it is kept clean Otherwise, you know the more that it is not maintained the more you're going to have pests and things walking walking walking in So to be able to consecrate yourself to the Lord and you when you present yourself and all of yourself It's not one part, but it is your Soul your body your soul and your spirit your entire being and everything unto the Lord So you're consecrating not just your body and the affections of your body or the desires of your body But you're consecrating your mind. You're consecrating the way you feel your emotions You're consecrating your thoughts your decisions the choices that you make you're consecrating your words you're consecrating your appetites all of that to the to the Lordship of Jesus Christ and When when when we keep doing that when we consecrate are all of our beings we are in a place of of of being Fiddled, you know, but there is place that you know like in revelation talks You know Jesus says I stand on the door and knock and he comes and he's waiting to come in and win you over But it needs a place where you are open to a set apart yourself What if we remember, you know, when we spoke about consecration last week We said it is keeping ourselves set apart from anything that may defile us So anything that that could capture us back into the into the hand of the enemy or into into You know, do not let Satan get a foothold So it says anything that may defile us even in the natural anything that defiles us To set apart from that is what consecration is about. Okay, so let's take This time to go through this prayer and just come to to a place where we can be we Bring ourselves to the Lord. We set ourselves apart to the Lord We offer and say Lord, I am setting myself and I'm making this commitment this covenant with you that I do not want anything to defile me anything Is there as a pleasure that that can be defiling to me?  So let's let's just pray together I'm going to read out to the sprayer and you know Follow with follow me through this heavenly father in Jesus name. I Consecrate and I set apart my entire being to you I Consecrate my spirit. I Consecrate my soul But I consecrate my decisions and my choices everything that I determine To do that I will to do I consecrate that Lord, I consecrate my emotions my feelings my sentiments I Consecrate it. I Consecrate my thoughts my Imaginations my dreams. I Consecrate my pictures The images I have Lord, I consecrate My words The things that I say I Consecrate my hands and my feet. I Consecrate where it goes in the natural Lord, I consecrate myself my body my desires my Appetites I Consecrate it wholly to you. I Declare that this body is The temple of the Holy Spirit This body is not For sin It is not for disease for sickness or any Evil work My soul Belongs to you Oh Lord in a whole hearted devotion. I Consecrate all of me every part of me my cells My tissues my organs my ligaments my joints my hearts Things seen things unseen things I can hold things. I cannot hold I Consecrate it wholly into you and I declare my being to be holy as Unto you in Jesus name Amen Amen All right Great. Okay Let's take a break of 10 minutes and we will come back We will resume once we are once we've come back. So get a cup of coffee we have more to go and more to to just experience our freedom and You know just I mean, I think it's so so joyful to to be in a place of Freedom from anything that can captivate us but accept the love the Lord. Okay. Catch you soon in 10 minutes We'll be back in my clock. It's 10 50. We'll be back at 11. God bless


Hi. I'm going to talk about flash memory. A lot of you have used flash, but I believe that anybody who works with computers should have a proper understanding of how they work. Kind of, this is a transistor. This is how we make logic gates from it, and building up into bigger and bigger sort of black boxes. So I'm going to do that with flash to a certain extent. I'm going to talk about what flash is, how it works, how we put it together, and then I'm going to talk about why it's special, what we have to do to cope with the characteristics of flash when we are trying to reliably store data on it. I'm going to talk about the methods we use to store data on flash, the translation layers, which are the common method you'll see used in consumer devices to make flash look as if it is a hard disk, and other potential approaches like file systems directly on the flash media. And I'm going to talk a little bit about the software we have in Linux, the drivers for supporting flash directly. So this is a transistor. Well, kind of. So basic field effect transistor. You put a voltage on the control gate here, and I'm not going to go into the quantum mechanics. But basically it screws with the electrical field and allows the electrons to pass between the other two gates. So you put a voltage on here, and it allows current to pass. What's different in a flash cell is we have this floating gate here, an island with, you know, insulation around it, and you pump electrons into that. And when there are electrons in it, they screw with the field some more, so you have to put higher voltage on the gate in order to allow current to pass. So basically when the cell is programmed, it has electrons in the gate, the floating gate there, and you can tell whether it's programmed or not by looking at the voltage you have to put on the control before the current will pass between the source and the drain. So that is basically a single flash cell, a single bit. Originally we would wire this up in an arrangement similar to this, nor flash. So for the bit line that you read out, or the program, any individual cell would pull that down to ground and you would see the difference. And this is kind of the physical representation of how that would be used. Nor flash chips would work very much like ROM electrically. You could read them directly, just address some data lines, and you could program individual bits basically until all the bits are cleared. The way we wire, the way we arrange flash chips, flash cells in a chip is such that you can individually program bits, and that's done by, here we get into the quantum mechanics again, you put a high voltage on the gate and a high current through between the other two terminals and that causes electrons to tunnel into the floating gate. And the way you clear it, this is normally done only in large blocks, sort of 64, 128 kilobyte blocks. You put a high voltage on the other, one of the other terminals. Don't ask me too much about the quantum mechanics. I'm going to move on from that very quickly. But basically, you can set the individual bits, but you can only clear the bits, and that's back from a logical zero to a one, in large chunks, so typically 128 kilobytes of data. It's a bit like an etcher sketch in that sense. Everybody familiar with the etcher sketch? You can draw on it until it's all black, and then the only thing you can do is wipe the entire thing. So that's how a flash erase block works. The nor flash arrangement was very useful, and we use it for BIOS and things you have to boot from, but it's not very space efficient. And so later we came up with the NAND flash arrangement, where in order to read the contents of any particular cell that you're interested in, you have to put a sufficiently high voltage on all the other cells so that they will pass current, and then you can put the sort of intermediate voltage on here, so it may or may not, depending on whether it's programmed. And so that allows you to get a much denser arrangement of flash cells in the chip. We call that a string of NAND flash, and we arrange it into erase blocks and divide those into individual pages. So a typical erase block will have 2K of data, and in order to allow us to do error correction, we'll add a bit more on the end, so typically 2-1-1-2 bytes of data in an erase block, almost 17,000 bits in a page. And so we read a whole page out into a round buffer inside the chip at a time by selecting all those cells. So I'm going to talk a little bit about the problems with losing data from flash. One of the problems is that the electrons that are programmed into the floating gate there, well, they just bugger off. Electrons are like that. And so over time, you will simply lose data. You will see bit flips just naturally happening. With repeated programming and especially erase cycles, you will also find that the insulating material breaks down, charge builds up in it, and that actually is what contributes to the limited lifetime of flash chips. You've heard that certain flash chips may have a million erase cycles. These days, it's going down by orders of magnitude, so we're talking about 100,000 erase cycles per erase block before it's just useless and you can't use it anymore, 10,000 in some of the latest chips. And that's because of the charge build up in the substrate which causes leakage to be so fast that it's useless. The other two ways that data get lost on flash chips, I'm going to talk about it in a little bit more detail with diagrams, I read disturb and write disturb. So read disturb is basically the act of reading the flash will tend to degrade the contents and write disturb will not only write to the cells that you're actually intending to write to, but they will also tend to cause bit flips in adjacent cells. So here's an example of programming a NAND flash. So you put a high voltage across, so there's 20 volts across, the numbers are mostly made up, but for example there's a 20 volt potential difference across the control gate there of this particular cell and this one, the one that we're trying to program. So this down here is a page and these bits we're leaving at 1, then naturally raised state as we program this page, and these bits are being set to 0. So these bits will be programmed, but you will see that there is also a potential difference, a smaller one across various other cells, and these cells have some probability of losing data, of seeing bit flips as we program the cells around them. So that's something like probability of 1 in 10 to the 10 for SLC flash chips, single level cell, and maybe 100 times more than that one in 10 to the 8 for MLC. I'll talk a little bit about SLC and MLC in a moment. So read disturb, it's a very similar principle. We are reading this page and we are actually putting a potential across the other cells and that's tending to cause disturbance in those cells. So basically we lose a lot of data just by programming and reading the flash. What makes it even more fun is that these days we are trying to put multiple bits of information into a single cell. So what I've talked about so far has been either there are electrons pumped into this floating gate or not. And that's, you know, if a cell is not programmed and it's left at a 1 then the voltage needed to make current pass maybe somewhere in this range and if it has been programmed to a 0 then the voltage will be higher and so you work out whether it's programmed just by looking at the voltage which is necessary in order to make the transistor pass current. In a multi-level cell you actually try and derive more than one bit of information from that but according to how much, you know, how many electrons, how much charge you have pumped into the floating gate which obviously makes it much more error prone. So in MLC cells you will see much more, many more bit flips, much more data loss. We tend to use more ECC. I mentioned earlier that for example in a 2K page flash you'll have 64 bytes of out of band extra data per page. That's mostly for ECC. In the days of SLC flash chips you could put some ECC there but you could use more of the spare area for metadata and other interesting things. With MLC chips generally because they haven't actually increased the amount of spare area you have to use all of the spare area for your ECC syndrome and you cannot use any of it for metadata. So that's the internals of the flash chip. The way it's presented to the host generally is with a fairly uniform interface. There's a little controller and ram buffer inside so you read and write pages to this ram buffer by sequencing them in on the data bus. And you can also send a command such as by using the command latch enable line you can send a byte of a command which will be in a raise or program or read page into the buffer or sequence data out there, the data bus. And also obviously some commands actually have addresses attached and so that's the standard interface for NAND flash chips. Once upon a time we would just hook this up to some GPIO lines. It didn't really matter how fast it went. You could even do it off a PC parallel port. But obviously more and more these days people care a little bit more about speed. We're not just seeing them in slow and better devices. And so we have decent controllers which will do this with DMA to host ram and even do error correction in how well they will at least generate the ECC data on write automatically and we'll check it on read. A lot of them will simply flag an error when they read a whole page and let you deal with the fixing of ECC errors in software. So these are the things we have to think about when coping with flash. I mentioned error correction. We have to cope with the fact that there will be bit flips and these may happen randomly. We will, even if there are pages that we never really care about, it's a bootloader on a machine that only gets booted once a year. You do have to go back and read those static pages periodically at run time before you have to reboot so that you can notice a bit flip and perhaps read the page, correct the error as well. There are still few enough to be corrected right out of the data elsewhere. We have to cope with bad blocks. Some blocks go bad. Some blocks are marked as bad as they leave the factory and you must never use those blocks. You must never try to erase them because the world may end if you do so according to the data sheets. So we have to handle bad block management and we also have to handle where leveling, not going through the slide in order, but that's good because you shouldn't just read the slide, should you? So we also have to handle where leveling because over time the cells break down and so start to become unusable. What you don't want to do is wear out, for example if you're using a fat file system on top of a translation layer, you do not want to wear out the erase blocks that you tend to use for your fat long before the rest of the device and thus render it unusable when it didn't need to be. You want to wear out the flash relatively evenly so that you can extend the lifetime as much as possible. One of the things that's come into play in recent NAND flash chips, well at least in the last five years rather than ten, is that you must program the pages sequentially. So within an erase block you must program the first page first and then the second etc and this is to reduce the amount of program disturb because if you were to write blocks in a random order you would tend to cause more bit flips in the surrounding blocks. So the data sheets now say that you should start at the beginning and work towards the end. Garbage collection, this comes about because of the etch-a-sketch nature of the erase block. What will happen is you filled up a block with data, some of which are still valid and useful but some data belongs to deleted files or something else and is no longer relevant. But once your whole, the whole of your flash, or hopefully slightly before the whole of your flash has been written, you've got to start thinking about making space for new writes. So what you need to do is consolidate the still valid data from these part valid, part invalid erase blocks into new erase blocks. So what you do is you copy the bits that you still want and then erase the victim erase block so that you've gained space. And the most fun we have is with MLC flash. I mentioned that you have two bits or you know sometimes more with talking about three bits per page, I think even four bits per page now, sorry per cell. They don't put those bits in the same page so that you read and write them at the same time. That would be too easy. The reason they don't do that is because basically you have to program the, you have to pump enough electrons into the floating gate to get all the way from a zero to the three level in certain cases if you're programming two zeros into the two, into the pair of bits. And that will either be slow if you have to go all the way to a three, if you have to pump three handfuls of electrons in or you have to pump it harder in which case you cause more program disturb. So what we do is we put the separate bits of information in the in the multi-level cell in separate logical pages so that when you're programming the first you only have to pump two handfuls of electrons in or none as the case may be. And then when you're programming the second you pump one or zero for the least significant bit. Which leads to great fun because when you program your first page you might think yeah my data are committed to the medium everything is happy I can return okay from my f-sync call etc. But when you later come back and program the other page of that pair if you get power failure something goes wrong when you're programming that page you can lose the information that was in the first logical page and just to make it even more fun because we love working around hardware in our software they don't even make them adjacent pages often it's page zero and three or something else and they don't always tell you which pages they are either. So yeah mlc flash not my favorite thing. So that's yeah those are the problems we have to deal with. There are two major ways we present flash in the way that we can actually store files on it. The first is you try and make it pretend to be spinning rust. This was really useful in the days of DOS where we had to provide an inch 13 disk bias handler and that was the only way to do it we couldn't really sensibly do installable file systems although we could eventually. And it also makes a certain amount of sense because you can then just put in a black box and stick it on an ID bus because he bus there are some advantages to this approach. So I'll talk a little bit about how a flash translation layer works. It is basically a file system it's a file system that kind of presents one file which gets random access to individual 512 byte sectors within that file. So this is an old example of a flash translation layer it does violate the rule I mentioned earlier that these days you mustn't write pages out of order but it's an example of how it might work. So it would have it would also be on SLC flash and it would be able to use metadata in the spare area of the flash so it would it would be able to mark each sector with the sector number that it actually represented. The logical disk was divided up into erase block size chunks virtual erase blocks and each virtual erase block of the disk was represented by a number of physical erase blocks and so I'm just going to consider one chunk then you know the first but the first say 128k of the disk. So imagine the first two sectors the boot block have been written and that's it very very simple so the data have been written and we've got a little metadata in the spare area saying you know this is sector one this is sector two and then they are overwritten and sectors one two three and four are all written and what we do is we make a chain of erase blocks so both of these physical erase blocks represent the same virtual erase block the contents of sectors one and two they can't be overwritten in the original block so they have to be written into a new block in the chain whereas sectors three and four can be written into the original physical erase block and then you know we'll write some more sectors two four and six we'll have to introduce a new block into the chain for sector two whereas the others can be written in the existing physical erase blocks eventually you kind of run out of erase blocks you have to start consolidating and so what we do is we copy all the all the data from the old erase blocks into the final one in the chain and then we can start erasing the old box in the chain so that's you know a very simple way that a flash translation layer might work and might use the flash in order to present a disk interface one of the big inefficiencies in this model is the fact that some of these sectors might not be used it's pretending to be a disk you could have filled up your file system your fat file system x2 whatever that's on that disk and then deleted all the files but the disk has absolutely no idea that you've done so so you've probably heard about the trim command it's been added recently for discard sectors where we can actually tell the the block device actually I don't care about the contents of this particular sector anymore so you can just forget about them so if you go back to the previous slide where you know before the erase blocks the chain were before the erase block chain was consolidated we could say trim I don't care about sectors one and three anymore just forget about them and so when the the chain is folded they're just gone they don't get copied into the last block and so if they are subsequently have written they are they can go straight in that block you've saved a whole physical erase block you know a whole erase on a physical erase block and it means that a lot less data have to be copied around when you're garbage collecting but that's just one example of flash translation layer quite an old one another one might be more log structured so the first right just has those two sectors and then the next four sectors are written just physically contiguously obviously there's more work to be done here to keep track of where each sector can be found on the flash when you when you start up but that's something that's handled by the file system that is either inside the black box which is an SSD compact flashcard an SD card or you can do it in software we have about six implementations of these translation layers in software in the kernel at the moment so basically what you have here is a file system on top of another file system there are a number of problems with this I mean yes it's nice and simple and it you know makes it nice and easy to provide a black box interface but it's not massively efficient it's very hard to optimize in both directions the upper level file system the butterfsxd4 whatever finds it very hard to optimize for how the underlying file system the translation layer will work so we've seen certain characteristics from old style SSDs that we've tried to work around and cope with and you know try and align our rights to the raised block and tweak our partitioning so that rights are aligned to the underlying erase blocks and we've tried to do this in file systems and then found that the next generation of the SSDs just doesn't need this anymore or in fact that it's counterproductive because we are trying to optimize for this opaque layer underneath and likewise the layer of the file system underneath cannot sensibly optimize for the file system that's going to be used on top of it it doesn't know what kind of file system is going to be used on top of it we have seen some fun things with this though we've seen compact flashcards which will assume that they're going to have fat used on them and this predates trim but they thought this trim thing that would be really cool it would be nice if we could know when certain sectors weren't used but hey look when they write to this block that's going to be the fat so we can see when they've cleared this cluster and said that it's unused and then we can discard the contents of those sectors over there how cool is that that's lovely if you're running fat on it not so lovely if you're running anything else so yeah there are problems with the layering approach of one file system on top of another another is garbage collection when we have to do the block folding or the you know other kinds of garbage collection or just well if we see a bit flip and we decide that contents of one physical arrays block need to be written out elsewhere that is an ideal time for the upper layer file system to defragment or otherwise optimize its data if it's an extent by file system it could then reorganize that data as it's being copied but if you have the layering there and you don't let the upper file system see that then you miss the opportunity to optimize the data storage as you're moving it about anyway one of the other things we really care about with garbage collection is we want to separate long-term data that's just going to sit there forever like your kernel for most normal people who don't change their kernel every day that's just going to sit there what you don't want to do is live in the same block with the a time of libc because what you want to do is keep long-term data together in blocks that don't get changed very often and short-term data together so that when you pick a block for garbage collection it's actually mostly stuff that doesn't matter anyway and you don't have much copying to do in order to do garbage collection and again the real file system can have some clue about how long individual blocks are going to get a last but the layering doesn't really offer you that and likewise transactions the lower level file system the translation layer has to provide guarantees about you know what will happen in term you know in face of power failure etc just as the upper layer file system has to provide the same or very similar atomistic guarantees and it can be very efficient to do to have both of those but actually it's not so inefficient because mostly the flush translation layers don't get that right anyway if you do any power file testing on most SSD type devices you'll just find that they crap themselves and they can't actually mount their own internal file system and so the whole thing goes south you've basically got a little brick and that's a problem because you don't actually have any access if it's a black box you know separate device like compact flashcard you don't have any access to the underlying medium to do any kind of file system check on it or recovery so you're just kind of screwed really so we you know we reckon it takes maybe five years for file system to come to maturity but our fs so how many years before people will really start trusting butter fs for their mail school who's already doing so you're mad you know who will think about doing so in a year's time two years three years yeah so we reckon it takes a number of years for a file system to really come to maturity and they were talking about an open source file system where we can poke at it diagnose it debug it and look at what it's doing on the underlying medium now put them in a black box have it written by the same crack smoking hobos they drag in off the street to write PC biases who wants to trust their mail sort of that right so there is no fundamental reason why this should be broken there are some efficiency concerns about the pretend to be spinning rust approach which are mostly that the biggest one of those is trim and once trim is actually implemented sensibly that will deal with the biggest efficiency concern in fact trim is mostly implemented quite badly at the moment it's supposed to make things go faster but it's so slow that the current implementations I think butterfs has it disabled by default even on devices which claim to support it but yeah the efficiency concerns are there the reliability that is not a fundamental issue it should not be like that it's just that in practice it always has been a problem so the other approach is to have a file system directly on the flash now I've actually spoken in Brisbane at lca on the javis to flash file system a number of years ago I'm not going to go into too much detail about that but I'll talk a little bit about the support we have in Linux for dealing with flash directly so the support we have at the moment is showing its age a little bit we have synchronous read and write API's because in the old days it was all bit banging and nobody really cared about you know DMA and queuing we need to fix that we're working on a new API that looks a bit more like the block API in that you just queue up a whole bunch of things you want it to do and it tells you when it's done it did have an asynchronous arrays because that could take seconds back then it handles the error correction and has various methods for dealing with different types of software and hardware ECC and it handles bad block management so one of the things you'll find in NAND flash is that one of the bytes or some of the bytes in the spare area will be zeroed when you get a virgin flash from the factory and that's how bad blocks are marked but we don't want to keep that as the way we mark we remember bad blocks for you know all the time that we're using the flash partly because that involves going and looking at the spare area of every block and partly because it means you can't use that byte you know byte three or whichever it is for data because if it ever actually got normally written with a zero then that would suddenly look like a bad block next time next time you scan it so what we do is we set aside a few arrays blocks for redundancy and we have a table and when we take a virgin flash we make a bad block table on the flash remembering which blocks are bad and we can mark blocks bad later as they start to misbehave by updating that table on the flash and so the the MTD support in Linux provides all of this functionality for for users of MTD devices to to take advantage of and also recent a more recent development from IBM and Nokia is Ubi for unsorted block images it's kind of like LVM on steroids for the flash interface so it offers two main interfaces it gives you static volumes which you might use for bootloader finding your kernel they are atomically overwriteable in much the same way as files on a POSIX file system in that you write a new volume and then rename it over the top of your original one so you write a new kernel and then rename it to kernel and then you've got a safe method of updating the kernel volume it does we're leveling on that and we'll and we'll do the scrubbing that's required to test for bit flips in in data as I mentioned we needed earlier and then perhaps more interestingly we have the dynamic volumes which present which do a certain amount of the underlying translation that that flash translation layers do but they don't force you into the holes you know atomically overwriteable 512 byte sector thing so it's basically gives you a simple logical to physical mapping so you deal with logical arrays blocks and Ubi under the covers maps that onto a physical arrays block and when you say I want to erase this logical arrays block it only needs to unmap it and it doesn't have to erase it immediately erases can be quite slow just have to say okay there is the physical arrays block associated with that logical block anymore and we have Ubi FS a file system written a Nokia shipped on the N900 which makes use of this and provides a proper file system on top and I'm also looking and I know I've been saying this for a while but I will get some time to spend on this this year honest at ButterFS directly on the Ubi interface so ButterFS also already has a fairly good abstraction for its underlying storage which allows it to do raid and other things internally and it should be quite useful to do ButterFS on Ubi. ButterFS also already has the copy-on-write mechanism it doesn't overwrite data in place so I was going to talk briefly about my ideal hardware wish list but somebody is holding up a cut sign at me so I'm going to go ignore him and carry on anyway I want fast queued to DMA transfers so you know not the bit banging not even sort of synchronous function I want full error correction in the hardware I don't want to have to do the the retell them encoding myself to cope with errors because they do happen often enough it's not that much of a slow path that should never happen I want scrubbing I want to be able to tell the hardware just read this page don't give me the data just tell me if the ECC works and then I'll cut I'll cope if you know tell me tell me if something goes wrong tell me if a bit flipped and I want a page copy a lot of flash chips have an internal copy command so you can say read the contents of this page write it out there this is completely pointless if you're not actually going to check and correct the ECC so we can't really use that if we're being sane so what I really like to see is some updated firmwares for some of the SSD devices which give us this kind of interface give us something very similar to the UBI interface that we can put a proper file system on efficiently and now I think I have come to the end so do we have questions me one for me first I've heard that the ware leveling on some of these devices is pretty stupid and some of the learning steps would like it taken off by default from the developers of these devices comments yes so often you'll find that the ware leveling only happens within a certain chunk so you've got a sort of a few gigabytes of compact flash device for example and yet the ware leveling only happens within a certain sort of 64k chunk we know probably a bit more than that you know a megabyte chunk so if you put fat on it for example you will get ware leveling across the first megabyte of your compact flash but only across the first megabyte so you will still wear that megabyte out much more quickly than the rest of the flash and you it's very ineffective where leveling but again you can't tell we've seen some very silly things when we've actually taken these things apart and hooked up logic analyzers to see what they do on the flash one particularly impressive what it's doing garbage collection would read from the sector that was you know the victim block into RAM then it would copy pick another victim block that needed garbage collecting copy the valid data from there into the block this first victim block that it had just erased then it would erase the second victim block and only then would it write back the valid data from RAM into the second victim so it moved data around it wasn't just you know doing it wouldn't end up just moving data from one block to another and wearing those blocks out it's a kind of a valid technique for ware leveling but perhaps you want to do it without quite such a huge race window for losing power and just losing data trim marks a block as not needed anymore is there an untrimmed or what happens what happens after you try to read a trimmed block does that market is dirty again or what happens when you try to read a trimmed why would you try to read a trimmed block yeah that's the status committees have said that the the contents are undefined I think but they don't want it to always receive read the same data afterwards so if you trim a block and read it once it doesn't matter what you get back you're not guaranteed not to get the original data trim can do nothing it's an optimization it's not for secure delete but if you read if you trim and then you read some data you might get all zeros you might get the copying file I don't care it doesn't matter but whatever you get the first time you read after trim you shall get it the second time it shouldn't just change randomly that that's the only thing that you can really get no I'm not sure if you've come across it like those recently a quite popular phone android phone that shipped with a file system that made it to be well it caused lag issues just because they picked one file type of file system to use for the internal flash storage versus another is it good ones to use and the ones you should never use and never use jfs2 it is obsolete use something else instead I would mostly say ubi fs these days android often use yafs2 there are issues with that it's not upstream if you have the engineering if you want to spend your time dealing with code that isn't upstream then that's fine but it's certainly not something I would normally recommend but yeah ubi fs I would normally suggest and once I've pulled my finger out butter fs on on ubi so Intel make SSDs Intel SSDs saner than other brands would you yourself use an SSD and if so which brands would you be more likely to use over other brands next I use this day I use an Intel SSD it's very fast it works very nicely I keep git trees on it it builds fast I don't keep my milestone on it do you want me to want some more yeah some of them are better than others there is no fundamental reason why they have to be unreliable the Intel ones even if they weren't paying me I would probably concede that they are amongst the best they do a fairly good job of making this stuff work right yeah yeah so yeah some of them are better than others one problem though is you can't necessarily rely on that I was in Boston a few weeks ago talking to LPC engineers and they're using sd these days and they'd actually managed to find some sd cards which pass some sort of reliability and power file testing they say yeah absolutely brilliant let's have some more of these the next batch they're not so good so they took them apart completely different hardware same manufacturer model everything just a different batch it's a black box you cannot trust it from the point of view from an end user who can't really know whether to trust the that black box can you recommend any utilities that can be used say to do write tests on a machine and send the results over a network and then randomly pull the power out to kind of off the top of my head no but if you send me email I can hook you up with with that kind of thing yeah certainly we have done that kind of power file testing on java's to a new bfs and on various sort of complex flash and other types of devices and these scripts exist do any of the the flash devices do soft detection error correction viterbi codes or something where you've got an analog signal coming out of the flash read if the if the ones and the zeros start blurring into each other soft detection can let you sort it out with the error correction code but only if you still have the analog signal I'm not sure about that I'm not sure how it would work bear in mind if you go back to the mlc diagram how do you tell the difference I suppose you can tell that it's kind of on the borderline between a yeah I do not know last question it just wanted to ask so I guess what I'm kind of getting what I'm hearing from out of all this is an end user that I'm having my operating system and apps run on an SSD so I can get fast execution which I don't really care about because I can just reload that operating system and I don't really care if I lose it is perfect and that's going to give me that extra boost but storing my actual data and stuff I should still be using a side ID drive is kind of what I'm hearing that yeah I think so no no that there are problems with all kinds of data storage you've got to do you've got to do backups you've got to check your backups work but yeah at this point I would certainly suggest that you should be more careful about checking your backups work if you are storing your mail spool on any kind of flash device and it's not entirely clear that you know our file systems are active on flash a perfect either but at least if they screw up that's our fault and we can fix it and that's all we have time for can we put our hands together for our speaker


In Wales, from 1 December 2015, the way we choose to be organ donors will change. It's time to make a choice about organ donation. This video explains the changes to the law and your choices. What is organ donation? When we die, we might be able to give some of our organs to someone else. A lot of people in Wales are waiting for new organs because their own have stopped working properly. Organs that have been donated could be given to these people. This is called an organ transplant. Every year in Wales and across the UK, people die whilst waiting for an organ transplant.  Whatever you decide, it is important to tell your family and friends. What is changing and when? From 1 December 2015, the way we choose to be donors in Wales will change. The new system is called a soft opt-out system.  Unless you make a decision not to be a donor, you'll be treated as if you want to be one. This is known as deemed consent. This is different from the current system, which relies on people joining the NHS organ donor register or their families making the decision. Why do we need a soft opt-out system for organ donation? There is a big shortage of organs for transplants in Wales and across the UK. One reason for the shortage is only a few people die in a way that means they could become organ donors. This is usually in hospital intensive care units or emergency departments. Another reason is when they are asked, many families say no to organ donation as they're not sure if their relative wanted to donate. Nine out of ten people in Wales agree with organ donation, but only three out of ten people have signed the NHS organ donor register. The new system will be clearer for everyone. If family members are approached about organ donation, they will know their loved one could have opted out, but chose not to. We believe this could help increase the number of donors in Wales by 25%. What are my choices? I want to be an organ donor. You can register a decision to be an organ donor. Do nothing. You have no objection to becoming an organ donor. I don't want to be an organ donor. You can register a decision not to be an organ donor. What is an appointed representative? Most people will want to make their own decision about organ donation. But you can ask someone else, such as a religious leader, to make the decision for you. This is called appointing a representative. If it became possible for you to donate, your representative would be asked if your organs should be donated. If they cannot be contacted in time, then your family will be asked to make the decision. Want more information? Go to organdonationwales.org or call 0300 123 23 23 facebook.com forward slash organ donation Wales Twitter.com forward slash org donation CYM If you need any additional information or support, please contact Wales Council for Deaf People Voice 01443 485 687 Text 01443 485 686 Email mail at wcdef.org.uk Who does the soft opt-out system apply to? The soft opt-out system will apply to people who are over the age of 18 and have lived in Wales for over 12 months and die in Wales and haven't registered a decision on the NHS organ donor register. The soft opt-out will not apply to people who die outside Wales, even if they normally live in Wales. Children and young people under the age of 18, people who have lived in Wales for less than 12 months, people who have registered an opt-in decision or an opt-out decision on the NHS organ donor register, people who have appointed a representative to make a decision about organ donation. Visitors to Wales. Serving regular military personnel. Prisoners. People who may lack mental capacity to make a decision. People whose family can show they did not want to be a donor. What about children and young people? The soft opt-out system will not apply to people under 18. But children and young people can register a decision either to be a donor, opt-in or not to be a donor, opt-out. Are families involved in a soft opt-out system? Yes, if it became possible for you to donate, your family or friends would always be involved. This is why the system is called a soft opt-out. Families need to answer important questions about your medical history and if you normally lived in Wales. If they knew you did not want to be a donor, they would be able to say so. If family members or appointed representatives cannot be contacted, donation would not go ahead. Want more information? If you need any additional information or support, please contact Wales Cancell for Deaf people. I want to be a donor. What can I do? To be a donor in Wales, you don't have to register. You can just do nothing and you will be treated as having no objection. But you can still register a decision to be a donor, opt-in. If you register as a donor, your decision will be available for NHS staff to see if you die somewhere else in the UK. By registering your decision you can also choose which organs and tissues to donate. Want more information?  Facebook.com forward slash organ donation sales. Twitter.com forward slash org donation CYM. If you need any additional information or support, please contact Wales Cancell for Deaf people. Voice 01443 485 687. Text 0143 485 686. Email mail at wcdef.org.uk I don't want to be a donor and I'd like to record my decision. What should I do? You can register a decision not to be a donor, opt-out at any time. By going online or calling 0300 123 2323. Opt-out decisions will take effect from 1 December 2015. Between now and then your registered decision will be available to NHS staff to discuss with your family if organ donation was possible. You can change your mind at any time. To register your organ decision go to organdonationwales.org or call 0300 123 23 23. If you need any additional information or support, please contact Wales Cancell for Deaf people. Voice 01443 485 687. Text 0143 485 686. Email mail at wcdef.org.uk You can change your registered decision at any time. Make sure you also tell your family and friends. What if I'm already on the NHS organ donor register? If you are already on the register then you still have the same choices as everyone else. You can decide to stay on the NHS organ donor register. This will be treated as a decision to be a donor opt-in from 1 December 2015. Remove your record from the NHS organ donor register. From 1 December 2015 you will be treated as having no objection to organ donation. Removing your name from the register is not the same as opting out. Register a decision not to be an organ donor opt-out. This will change your existing decision from wanting to be a donor to not wanting to be a donor. Want more information?  Twitter.com forward slash org donation CYM. If you need any additional information or support please contact Wales Council for Deaf People. Voice 01443 485 687. Text 01443 485 686. Email mail at wcdef.org.uk Am I already on the NHS organ donor register? You can check by calling 0300 123 23 23 Frequently asked questions. If organ donation is possible what happens? Organ donation is rare and does not affect the care and treatment a person is given. Doctors decide if a patient is a suitable donor. Only then is their family approached and organ donation discussed. Once the person is confirmed to have died then organ donation can proceed. Most organ donors are patients who die as a result of a brain hemorrhage, severe head injury or stroke. Some patients who die in other ways may also be able to donate certain organs. What happens to organs donated in Wales? There is one UK system for matching donated organs with patients needing a transplant. This means that organs donated in Wales might be used in transplants across the UK. In the same way organs from other parts of the UK are transplanted into Welsh residents. This is the fairest way of ensuring the people who need the organs most get them. If more organs are donated there is a better chance of a person receiving a suitable organ wherever they live in the UK. Want more information?  If you need any additional information or support please contact WalesCancel for Deaf people. Voice 01443 485 687 Text 01443 485 686 Email mail at wcdeaf.org.uk