Oh, tell me, little angel, our blessed Savior was born. God sent to us salvation.  Oh, tell me, oh, Lord, Jesus Christ. Who are you going to tell, oh, tell somebody. Who are you going to tell, I'm going to tell somebody. Who are you going to tell, I'm going to tell somebody. Who are you going to tell, I'm going to tell somebody. Salvation is here. Beach, the pastor here is Bishop Arling Alexander and the first lady, Pastor Bobby Alexander. Hallelujah. We come here and we learn about the Lord. Come here to give God praise and to give Him glory. Nice to go. Go for the throne of grace. Hallelujah. In the name of Jesus, we thank you this morning, Lord God. We glorify you. We magnify your name, Lord God. We come this morning, Lord God. With thanksgiving and praises, Lord God. In our heart, Lord God. We come this morning, Lord God. That we may hear from you, Lord God. That you may speak, Lord God. To our hearts this morning, Lord God. In the name of Jesus, Lord God. Lord, we ask you this morning, Lord God. That you are the anoint, Lord God. Every portion, Lord God. Of this service, Lord God. We ask you this morning, Lord God. In the name of Jesus, Lord God. That you receive, Lord God. All of our praise, Lord God. I don't have a worship Lord God. In the name of Jesus Lord God. Lord you said that you do well Lord God. In the misappraises Lord God. In the name of Jesus Lord God. Lord we ask you this morning Lord God. That you would know the musicians Lord God. As they play skillfully before you Lord God. As they play Lord God. Under the anointing Lord God. Of the Holy Ghost Lord God. Lord we ask you Lord God. That you would know this speaker this morning. As he come forth Lord God. With your word Lord God. In Jesus name Lord God. Send forth your word Lord God. You know the needs Lord God. You know the desires Lord God. Our hearts Lord God. In the name of Jesus Lord God. We are your people Lord God. And the sheep Lord God. Of your pasture Lord God. In the name of Jesus Lord God. Leader Lord God. Goddess Lord God. Director Lord God. In the name of Jesus Lord God. Have your way this morning Lord God. Have your way Lord God. Have your way Lord of God. Your will Lord God. Not our will Lord God. Help us this morning Lord God. To get out of all sounds Lord God. And get into the spirit Lord God. You said those of us. Those of us that worship you Lord God. We must Lord God. We must worship you Lord God. In spirit and in truth Lord God. For you Lord God. In spirit Lord God. In Jesus name Lord God. In Jesus name we pray amen and amen. Let us eat. Let us eat. Psalms 121 verses 1 through 8. It says I will lift up my eyes unto the hills from which come at my help. That's a decree I. It's a personal decision that we have to make because of who God is to us. Yes. Yes. Verse 2. My help cometh from the Lord which made heaven and earth. He will not suffer thy foot to be moved. He keepeth thee. Will not I'm sorry. He that keepeth thee will not slumber. Behold he that keepeth Israel shall never slumber nor sleep. The Lord is thy keeper. The Lord is thy shade upon thy right hand. The sun shall not smite thee by day nor the moon by night. The Lord shall preserve thee from all evil. He shall preserve thy soul. The Lord shall preserve thy going out and thy coming in from this time forth and even forevermore. May the Lord add a blessing to the reading and the hearing and the doing of his word. Hallelujah. Hallelujah. The Lord is our keeper and our shade. Hallelujah. He won't allow the sun to smite us by day or the moon by night. Hallelujah was a holy night. A blessed night. The night that Jesus Christ was born. The Savior was born into this world. Hallelujah. So that he would be able to redeem us unto himself. Thank you Jesus. Oh holy night. The stars are brightly shining. It is the night of the dear Savior's birth. Long lay the world in sin and never pause till he appear. A thrill the weary joy says for young a new and glowing hearts by his grave. His law is love and his God shall he break for the slave is our brother. His name all need hymns of joy for chorus raise we let all praise his holy name. For saints rise in the house of the Lord Jesus Christ. Hallelujah. Bless his holy name. Thank you Lord. Thank you Jesus. Inside from the inside from the inside.  Hallelujah. I need the Lord every second every minute every hour of the day. Hallelujah. I can't make it without the Lord. Hallelujah. I don't know. Can you can you make it without Jesus? I can't make it without the Lord and I thank him that when I cry out to the Lord he hears my cry and he's right there. He's right there. Hallelujah. Thank you Jesus. The Lord is so amazing. The Lord is so amazing. Thank you Lord Jesus. Lord you are so strong and mighty of all others without you. I know that's why I'm strong when my life would be without you. I know what my life we move forward in the service at this time we will hear from Bishop Alexander. Amen. Let's remain standing. Praise the Lord saints. Hallelujah. Praise the Lord. What your life would be without the Lord. Can you can you wrap your mind around it? I can't that's above me. I understand that I can't make it by myself. I've got to have the Lord. Come on. Raise your hands. Come on. Raise your hands and give praise to God. Come on. Tell him Lord I need you. Lord I need you. Hallelujah. I need you every day. I need you every hour. I can't live without you. Thank you oh God. Hallelujah. Hallelujah. Hallelujah. Hallelujah. Hallelujah. In in a flight song came to my mind. Jesus. Oh what a wonderful child. Come on. Come on. Come on somebody. We needed him. We couldn't do anything without him until Jesus came. Hallelujah. Hallelujah. Jesus. Oh what a wonderful child. Jesus. Jesus. Listen. Hear the end of prayer. They're singing glory. Glory. Glory. Body who will receive him. That's why we sing glory. Hallelujah to a new born king.  You may be seated. Hallelujah. I thank God for Jesus. Amen. He's great and he's greatly greatly greatly to be praised. I'm glad to see each of you who are here today. I'm excited that we're able to come together in such a meeting as this where we can reach out to the one who come to deliver us. The one who came to save us. The one who came to save us and I love him with my heart. Come on somebody. Do you love Jesus? Jesus has a name that is above every name. Come on somebody. Come on somebody. Come on somebody. Come on somebody. His name is great. Hallelujah. Hallelujah. We have our victory in his name. I'm excited today because the Lord's going to speak to us through his servant. Anybody come to hear from the Lord today? Anybody have a spirit that is open? You surrendered your will. Not my will any longer but your will be done. If you're in that position the Lord is going to speak. He's going to direct us from his word. And I invite you to sit attentively as the speaker of the hour Elder Kevin Ross comes with the word of God. Let's receive him with a hearty amen. Come on stand on your feet. Let's exalt his name together. Say everything that has breath. Say let everything think of the goodness of Jesus and all that he's done for me this week. My soul thank God. Thank God for saving me. See he didn't have to save me but he did. I may not be able to tell but I'm excited about this time. Amen. God's been good to me. Take your seats if you can if you don't want to take your seats run around the church for a while. I don't bother me. I might fool around and run with you for a minute. At least one lap. I give honor to my Lord and save you Jesus Christ. Honor to our bishop and our fabulous first lady in her absence. To all the ministers and the saints and friends of God we say praise the Lord. We are so excited to be here today. Not coming with anything new but I believe the Lord has given us the word for today. Tell somebody next you say neighbor sin Judah first. Hey sin Judah first. See Judah means praise. Bishop I have discovered that praise will prime the pump to cause the blessings to flow and so if you need a blessing if you're having a challenge or if like me you just feel like praising him I say sin Judah first. Sin up some praise first. Turn in your Bibles if you will to Joshua. I mean I'm sorry Judges chapter one. Judges chapter one verse one and two. Very familiar verses to us. It says now after the death of Joshua came it came to pass that the children of Israel asked the Lord saying who shall go up for us against the Canaanites first to fight against them and the Lord said Judah shall go up. Behold I have delivered the land into the hand of Judah. In other words he said praise shall go up because I have delivered everything that you need into the hand of praise. See I fight my battles like this. This is the position that I I fight in. The position of praise. So here in our text Moses had led the children of Israel out of Egypt through the Red Sea until the brink of Canaan and he died. Joshua takes up the leadership position and he takes the the people of Israel through the Jordan and into the promised land and he dies. Bishop leadership can be kind of tough sometime. I want to lead him but I don't want to do that and he died for it not yet. But then the children of Israel they went to the Lord I was talking to Elder Sodom this morning and we were talking and he was saying how sometimes we just go out and do stuff and we don't consult the Lord and we come back with that tail between our legs. I was telling the Lord it inspired me to do something this week and and I did it and it didn't work and I thought about it that next morning I thought Lord I thought I thought that was you.  See we've got to be smart enough like the children a lot of times the children of Israel they didn't consult the Lord but this time they went to the Lord and said Lord what shall we do? He says now when we go to fight against the Canaanites who is going to go up first and lead us and in your life and in my life the enemy will try to come and stand between us and the prophecy in this text the Canaanites were the only thing standing between the children of Israel and the promise in our life the enemy tries to come and stand between us and the promise of God he will try to use people but I have discovered that people are not your problem the enemy may use somebody but people are not your problem the enemy is your problem and you are involved the Bible said for we wrestle not against flesh and blood but against principalities and powers and wickedness in high places so our warfare is spiritual by nature the Lord said Judah shall go up first the Lord said I have delivered the land into Judah's hand now the land represents whatever you need from God he says I have delivered it into the hands of Judah so the Lord was saying Judah or praise shall go up first to fight her because I have delivered everything that you need into the hand of praise hallelujah if you give God some praise he'll open doors for you if you give God some praise he'll make ways for you if you give God praise he'll heal your body yes she will see I have discovered that the enemy's number one tactic is to get you to stop from giving God praise to come in the house of God and sit on your hands so I did that one time well not just one time but this one particular time I did that and I was mad and I was I was sitting there on my hands and I said oh you're not gonna praise me today I said Lord you know I'm upset you know what you know what they did to me and the Lord said what have I done what have I done to you all I did was woke you up this morning knowing you were going to come in here to sit like a fool what have I done to you to make you sit there like that and immediately I jumped up and began to give up some praise and we began to give up praise God turned that situation around see sometimes we wonder why am I going through this over and over and over again a lot of times it's because we will not praise God see I'm gonna praise him after I get it but faith says I'm gonna praise him before I get it to him and when I get it I'm gonna keep on praising him because I've seen his track record in this book I've seen his track record in my life so the only thing that I can do is to give him praise see when you praise him like that the enemy he don't know what to do that boy they're lost in mind but your praise is a setup for your blessing the enemy will try to use your friends your enemy your family your children your boss your money or your honey he'll try to use whoever he can use to stop you from praising God he knows that if he stopped you from praising God he renders you helpless to his attack so you've got to understand the enemy is going to attack you don't have to worry about it you don't have to wonder about it the enemy is going to attack I don't care how good you think you are I don't care how bad you think you are I don't care how saved you are I don't care how much money you got the enemy is going to attack see if you notice when Israel when they went to to God they said not if but when the enemy comes up against us to fight who do we send up first we understand that the weapons of our warfare are not cornered but they're mighty to God to the pulling down strongholds we don't fight with our heads we don't fight with sticks we don't fight with bricks we don't fight with guns but our weapon of warfare as they say our weapon of choice because we have proved it over and over and over again and the enemy still doesn't understand how it works he shoots his best shot and we give God praise and all of a sudden we're on the other side of the promise David said I will bless the Lord at all times when I feel like it when I don't feel like it when I've got money in my pocket when I'm broke because I will praise the Lord at all times and his praise his praise shall continually without ceasing never ending be in my mouth when the enemy slaps you upside the head and say what you're going to do tell him I'm going to praise God because if I praise God I know he's going to deliver me he's going to bless me somebody said praise is what I do praise is what I do see I have learned that worship and praise is the only thing that I have that I can give to God that's of any value everything else that I have he gave it to me so if I give him everything that I own so what but if I give him praise he was praise see he is living he's sitting on the throne and I have discovered praise is the only thing that he cannot walk by see I tried I was in trouble and I cried and cried and like Lord don't you see me I didn't hear nothing I went to my mother I went to other people and I told them this long sad story and nothing happened but when I began to praise the Lord when I began to give him praise and glory when I began to lift him up when I began to send a Judah as a Judah send a praise he says I cannot resist a worshipper there's something about when you worship God he moves off his throne he stands up he says I've got to do something because he's giving me praise see God doesn't need my money the cattle on a thousand hills is mine but I have discovered that he will take my ties and offer but he don't need my money he doesn't need my car because he rides on the winds of the wind he doesn't need my house because the earth is his foot shoe ha nothing that I have does he need but he wants what he really wants what he wants what he really really wants is our worship he wants our praise he wants us to give him praise and glory he wants us to open up our mouth and bless him I will bless the Lord at all times bless him going in bless him going out bless him when I feel like him bless him when I don't feel like him bless him when I know what to do bless him when I don't know what to do because if I give him Judah if I'll send up worship if I fall down before his feet and worship him I worship him when I understand it I worship him when I don't understand it I worship him when my heart is broken I worship him when I don't know what to do I worship him when my children are acting crazy because sooner or later sooner or later he's going to turn that thing around he's going to open up a door he's going to make a way he's going to give me the blessing he's going to give me the favor that I need if we'll give him praise he'll give us the victory if we'll give him praise he'll give us the breakthrough if we'll give him praise he'll give us the stuff what stuff whatever stuff you need see I have discovered that he is concerned about every part of my life I worship him and I praise him in every area of my life I go downtown I said Lord give me a good parking space and I go downtown ain't no parking space I sit there for a minute and somebody pulls out there it is he's going to show up he's going to do what he's saying I know that sounds foolish to you but I don't feel like walking four blocks trying to get to something see but if I will praise him and pray about small things what about the big things when I need healing in my body I can pray and I can praise him when I need fine answers I can pray and I can praise and he will open up a door for me every time somebody says send you the first send you the first send you the first the Lord told you hosaphat look you hosaphat in this battle you don't even need to fight he said because this battle is not yours but this battle belongs to God he says all I need for you to do is just show up give me some praise and get out the way if we'll show up and give God praise and get out the way he'll bless so jahosaphat he sent up Judah first he sent the praises out and they got got got to sing it for the Lord is good and his mercy his mercy endures forever and ever I believe they got to praise the Lord so they forgot about the enemy they got to shout and dancing for the Lord is good and while they began to praise the Lord the enemy got so confused they began to kill each other and when it was all over it took jahosaphat and his boys three days say three days say three days to collect the spoils and the Lord put it in my heart he said if you will give me praise if you'll send up Judah first don't complain don't whine don't cry don't have a pity party but send up Judah first I'll call your enemies to destroy themselves he said and then I'll turn around and give you their stuff I'll give you their job I'll give you their promotion I'll give you their parking space I'll give you that house that you were supposed to give and they said you couldn't have it and they turned around and gave it to you because you didn't cry about it you didn't cuss nobody out this time praise the Lord hallelujah but we begin to send up praise see God can't pass up a worship I have discovered even when I have messed up and I believe the Lord is not happy with me I begin to give him praise I begin to worship I begin to tell him how good you are and how powerful you are and that you can do anything that I need you to do and all of a sudden he stops because he cannot pass up a worshipper see we give God praise simply because he's God simply because he is due the praise and the glory he is the creator of all things he is the sustainer of all things but God said I will deliver you if you will send up Judah if you will lift up your hands and give me praise he says I have placed everything that you need in the hand of Judah he says I put healing in the hands of Judah I put deliverance in the hands of Judah I put peace in the hands of Judah I put joy a speakable and full of glory in the hands of Judah and all you've got to do is give me what I want he says whatever whatever you need you'll find that I have put it in the hands of praise I will do exceedingly and abundantly above all that you can ask or think if you will consistently praise me I will give you promotions I will give you favor I will give you houses I will give you land not because you're so smart because you give me praise you should praise him in the morning praise him in the noon day praise him in the evening somebody said praise him in the midnight hour ha something about the midnight hour he said late in the midnight hour said God will turn it around if you need to turn around give God some praise give God some glory he's worthy not only is he's worthy he's able see some people want to bless you but they're not able some people want to bless him they can't afford to but we've got to learn to praise him when I feel like it and praise him when I don't feel like it praise him when I got money in my pocket praise him when I'm broke up because if I give God praise he'll give me the answer if I give God praise he'll open up a door if I give God praise he'll heal my body the enemy is defeated in the face of praise the enemy cannot stop you if you give God praise if you make up your mind when trouble comes when situations come the first thing I'm going to do is send up Judah now I might have to call the police and do some other things after that but the first thing the first thing the first thing he wants it he wants it bad see I have discovered that worship and praise is what I call kingdom currency see God moves when you begin to worship him when the enemy attacks and you don't know what to do and the enemy thinks he's got you covered and you lift up your hands and begin to worship him we lift up your hands and to give him glory the Lord said to tell the people that I have some supernatural blessings for you if you will give me praise if you'll send up Judah if you'll send up praise him if you'll glorify my name he says I have houses I have a land I have cars I have jobs if you will give me what I want see I have three grandchildren and they love me for no apparent reason except for one she loves me for the stuff love every time I see her she said grandpa what you bring me and even when I tell her I brought you nothing or I brought you a rock she says she put a big smile on her face and she'll help me say grandpa I love you and that's when I reach in my pocket and give her some money she know how to work me now I ain't gonna lie about that but I was thinking what a blessing it is to have family and let love you I have uncles and aunts and my grandparents my mother my father and a multitude of cousins people that love me for no reason and I was just thinking about that the other day and the Lord said as many people as there are that loves you their love for you compared to my love for you is absolutely nothing and God wants you to know you may feel lonely you may feel like nobody cares you may not feel like nobody is concerned about you but he wants you know his love for you is greater greater greater than anything you've ever seen anything you've ever experienced all he wants from you is praise so let me admonish you today whenever the enemy attacks and comes up against you and it feels like there is no way out and nothing you can do if you will throw up your hands see that doesn't mean I give up that means I surrender to the king hey I don't surrender to the problem but I surrender to the king I may not be able to fight the problem but I surrender to the king because he's able to do he's able to open the door he's able to make a way he's able to heal your body and if I'll send up Judah first because I know that he has delivered everything that I need into the hands of Judah and into the hands of praise clap your hands and give God some praise right now what a wonderful word that we've received on this morning and the Lord sends his word with purpose when he sends his word with purpose he's expecting us to respond come on somebody you know one of the things that drives me insane is when I when I'm speaking to an individual and get no response when we were growing up but if somebody said something to us instructing us you better say yes you better say yes and if you don't say yes you may ask a question but a non-response a non-response is unacceptable and Elder Ross what I want to know is did anybody have a response to what the Lord has said to this congregation on today what are you going to do about what you just heard come on somebody somebody on a get up on your feet you ought to get up and praise him with everything you got give him glory hallelujah the problems that you have you can get rid of your problems when you send Judah he said there's an order to think he said Judah's got to be first I won't relieve you I won't take it away I won't strengthen you I won't give you joy not until you send Judah come on hallelujah hallelujah come on raise your hands tell them how you love him tell him thank you tell him thank you he's great he's great need to be praised the goodness of Jesus and all he's done for me my soul my soul pass out hallelujah thank God thank you Jesus thank you hallelujah thank you for the sacrifice thank you for your love thank you for your protection hallelujah praise him hallelujah praise him praise him praise him in the morning praise him in the new time just praise him the sun goes down praise him in the new Jesus in the morning victory the victory come on somebody praise brings the victory whatever your problem is whatever your test whatever your trials you need to praise call on Jesus hallelujah he said I came to set you free I came to give you peace I came to give you deliverance that's why I left heaven and that's what the celebration is about because I didn't say just relief for a minute I said victory victory come on somebody and I said you send up Judah the Lord said I'll send down the rain I'll send down you whatever it is you need I'm supposed to make the altar call excuse me excuse me wonderful job yeah now I need to know come on whoever needs deliverance whoever is struggling whoever is having a test in a trial that you haven't gotten over yet and you ready to get to get some relief you want the victory come on down right now don't wait just come right on down the Lord is ready and willing see we've sent up praise hallelujah we've sent up praise hallelujah the Lord heard us we were praising him for who he is to us we're praising him for who he is to you come on somebody hallelujah hallelujah now let's exercise that that that we've heard that the Lord said elder we're going to recognize and we're going to praise we need to praise hallelujah come on come on come on let's some more let's some more hallelujah hallelujah thank you Jesus thank you Jesus thank you for the provision that you've made for us hallelujah hallelujah thank you Jesus hallelujah this time I want to call minister sorton we're going to praise God for his peace and his joy come right right on over minister sorton lost his sister on this morning and the Lord is the prince of peace you know when we lose ones that we love dearly many times we're we suffer from sorrow there's a pain that's a part of us doing these times and we're going to pray that the Lord will comfort him in this time of sorrow and we're not so strong that we that we don't sorrow the scripture said for us to sorrow not as others do but we're we still sorrow we're going to pray we're going to ask the Lord to comfort him comfort his family give them peace in this time come on father we thank you because you're the God of all comforts father not pray that you will comfort my brother right now in the name of Jesus that you'll give him strength to carry on and continue right now in the name of Jesus let him know how much you love him how much you're concerned about even him because we understand that tears are not a sign of weakness but it's a sign that there was great love and you're the God of love and compassion so comfort him like bishops say we speak peace the peace that passes even his own understanding that he won't understand how he can have such great peace so father we speak the peace we speak peace bless him god we thank you because you have ordered his steps and he will give you the praise in Jesus name it is well what a beautiful beautiful service hallelujah the Lord has given us today our God is a God of purpose and he orchestrates things well he orchestrates things amen for the deliverance of his people amen he orchestrates things to meet the needs hallelujah of his flock hallelujah thank the Lord amen for all that has been done here God dwells in the midst of praises and everything that God is shows up when you praise him so whatever it is that you need from God it is present when you praise it is present when you praise whatever it is that you need a healing deliverance finances salvation hallelujah it is present when you praise God let's give God a hand pray for all that has been done amen hallelujah the Lord is even going to send comfort to minister sorting he meets the needs of his people hallelujah thank him for being the mighty God that he is his offering time saints of God it's offering time hallelujah come on and present your seed present your offering to the Lord amen amen you may hallelujah oh yes it's right there hallelujah just i'm full i am just so full the Lord is such a good God hallelujah hallelujah he shows up you all he shows up every Sunday you praise him and he'll show up and he will he'll meet your need whatever it is that you need he sends ministering angels hallelujah to give you the assurance that he's there for you and he's promised never to leave you nor forsake you he won't leave you without your needs met hallelujah thank you Lord hallelujah for being the good God that you are has everybody given hallelujah you can give also by give the five shield of faith amen long beach hallelujah you can also mail it here to 49 34 long beach boulevard long beach california 90805 amen amen amen let's give the Lord another hand praise oh y'all just patty kicking y'all tired y'all better give God some praise come on he deserves the first lane that means he deserves all the energy that you can muster up he does hallelujah don't give him your leftovers give him all that you have all that you have hallelujah muster it up again hallelujah come on i'm determined to walk with the Lord Jesus oh Father we thank you for the offering God bless it hallelujah multiply it God and give it to do all that you would hallelujah in the name of Jesus God we thank you for the giver hallelujah bless them God as it says in your word hallelujah multiply it in the name of Jesus we thank you and we praise you we will see you all next week hallelujah God bless you thank you for tuning thank you for coming out hallelujah and come on back next Sunday determined to walk with Jesus hallelujah come on i'm determined yes i am oh i'm determined to walk with Jesus yes i am i'm determined to walk with Jesus yes i am persecution i'm faithful i'm determined to walk I want Jesus next to my head Till God's journey I want Jesus Who walks with me Hold my hand


Okay, well, it's 11.15 in a bit. So we'll get started, shall we? So this session is called developing enterprise blockchain applications with hyperledger fabric My name is Andrew Coleman. So I work for IBM and I've been working on hyperledger projects for the last five years or so notably hyperledger composer in the early days and and now hyperledger fabric Which I'm currently a maintainer So this session is very much developer focused. It is literally teaching you how to write client applications For the latest version of fabric, which is version 2.4 Just out of interest, are you familiar with fabric? Are any of you currently fabric developers? Yeah, and are you familiar with the new programming model that came in in version 1.4? Yeah, good. That's good. That's fine So this is going to make no assumptions that you're familiar with that But if you are then what I'm going to do is highlight the differences The simplifications and improvements that we've made in the latest version in 2.4 And really it's all around, you know, the client applications that I'm not really going to talk much about developing smart contracts But you know as a client application developer, you're going to be interested in submitting transactions in boaking the smart contracts that are on the ledger And then we'll you know, we'll talk about the basics and we'll go on to some some more advanced stuff And I'm going to pepper this presentation with with snippets of code In the various languages that we support and I don't favor anyone over and over the other. They're all equally capable So to start off you probably all know this. What is hyper ledger fabric? It's it's one of the older hyper ledger blockchain projects It's been around since 2016 was the first release and it's had a lot of contributors from a lot of organizations It was very much designed as a modular framework for building blockchain applications It it implements this execute or the validate model Which is unique to fabric and that's very much reflected in how you submit transactions It has pluggable consensus protocols So, you know the ordering node can has evolved over the years it currently the default is raft based orderer Which is crash fault tolerant, but we are actually actively working now on a Byzantine fault tolerant ordering service And we plan to deliver that in version three Now notably smart contracts can be authored in a general purpose programming language and we support three out at Box, but you know it's extendable. You can implement your own if you if you feel the desire Rather than to have You know a language like Solidity or something prescribed for you that's written, you know intentionally for smart. So that that widens its appeal to general purpose programmers It's a permissioned blockchain so the participants are known to each other and that You know that has a bearing on the the consensus protocols that we use We don't have to have proof of work and things like that And it was designed from the outset support a broad range of industry use cases Finance Insurance, you know, we've been hearing in the keynote this morning a variety of industries that are successfully put in fabric into production So what I'm going to do now is sort of start focusing on them on the topic of this talk And I just want to give you a picture of One component of fabric which is the peer now the peer and You know a blockchain network will run multiple peers across multiple organizations But inside the peer is the ledger itself and the ledger is made of two components There's the there's the blockchain which is the you know the the ordered set of transactions Where the transaction, you know marks where say, you know, if you look at your bank account You've got lion saying well something was paid in something was paid out They're the transactions and then you've got the running total the current what we call the world state Which is if if you run all of those through this database you end up with this world state like your current bank balance And so all valid transactions will affect that world states when it's finally committed to the ledger Now Hosted by the peer although in a separate process is a smart contract. So all transactions are Encoded into the smart contract. So When a client application Invokes a transaction submits or evaluates a transaction. It runs The smart contract in this chain code container. We call it chain code in fabric And that will interact with the ledger and it can also emit events so you can have contract events and also when blocks are committed You get these block events Now At the top there are the other blockchain developers us Okay, and I I split it into two because we've got developers who focus on smart contracts And we've got developers that focus on the client application and I Don't believe that they are necessarily the same person. So You know that the developer that develops a smart contract will have deep knowledge of how that works The developer who develops the client application is probably also developing You know interacting with other systems database system messaging middleware integration as we heard earlier that these blockchain developers and not just focusing on blockchain as a whole raft of other things They have to worry about in their day job. And so probably the skill sets of These two developers are different So certainly the the client application developer will need to know what that does but not necessarily how it does it And that's very much driven our design of the programming model So for the purposes of this presentation We are focusing on the developer at the client application So many of you raised your hands when you said you were you already developing client applications using the the new programming model as we called it back in 1.4 when we first developed it So we set out to create a set of of high-level APIs That expose the more sort of business type abstractions that the sort of things that the typical client application developer would be doing and As I say we first delivered that into into fabric 1.4 And we built it as a as a higher layer of Abstraction on all of the existing SDK software development kits So up until that point that the SDKs were very low level in order to submit this Transaction and and don't worry about this because we built the high-level applications so you Program model so you don't have to worry about this But you know back in the old days you have to use the right hundreds of lines of code just to submit a transaction on to the ledger and so we we felt the need to Raise the layer of abstraction on that and we also We're very careful with the naming of the Classes and the methods in the new programming model We wanted to speak the language of the target audience of people that were familiar with networks and contracts and transactions rather than you know fabric terms like you know Chain code and channels and things like that. Although we've kind of mixed and matched a little bit and we came up with it with the idea of The of the gates way which was very much a sort of a virtual object used in this Programming model and and we built that in all of the three languages that we supported node Java script type script Java and go So towards the end of last year we developed we we released fabric version 2.4 And one of the major new components in 2.4 was with the gateway. So the gateway is An implementation of this high-level programming model, but it's now in the peer itself rather than as a layer in the in the SDK and So we we now expose that as a as a service from the peer and so we went back and we rewrote the three SDKs the client API is into these lighter weights ones which are easier to use much lighter weight dependencies and selfishly they're much easier to maintain as well and So when this finally gets into an LTS release version 2.5 We do actually plan to start deprecating the older SDKs And You know we've built up a fair bit of experience now of usage of the programming model and In certain aspects we've made it simpler to use And at the same time we've also enhanced some of its capabilities So made it slightly more flexible based on on patterns of usage that we were seeing and and we're being asked for things like You know asynchronous submission and support for offline offline signing and things like that And One of the benefits now of the gateway being in the peer itself is that the client application Only needs to make one single gRPC connection into that peer the gateway peer the chosen peer appear that you trust okay to Run this life cycle transaction life cycle on your behalf and then the peer itself will Make connections to all of the other peers in the network And also all of the ordering service on your behalf. So you only have to now make One connection and a consequence of that is that you no longer need these these Network config files or CCP files depending on the SDK that you used it was called different things But it was a it was basically this yaml file format that defined all of the endpoints that you might want to connect to And it also had other things like gRPC options timeouts and stuff like that But what we have actually done now is we say actually the client application can make that one single gRPC connection supply that and We no longer need that ccc profile Commit strategies So that was something where you know What defines when a transaction is committed to the ledger? They put out these block events, but how many block events that we listen to well actually with by embedding the gateway in the peer We've now Automated all of that and we actually have an ideal strategy that I'll explain to you later. So you don't have to worry about that either We've done away with wallets for storing identities These are all things that weren't really central to interacting with fabric And in fact, you know generally Developers who are developing these these applications will have their own mechanisms for storing their Private keys and things like that okay, so This isn't about smart contracts, but it's useful to know what a smart contract does and and what it looks like An important thing to note is that all transactions have to go through a smart contract all interactions with the ledger have to go through a smart contract and This is really sort of the the framework of what it looks like. You'll have a class. This is this is JavaScript You've got a class extends contract and then you've got methods now each of those methods is a transaction function So we've got three we've got four transactions issue transfer redeem description okay, and so When you submit a transaction from your client application, and you have to give it a name that will be the name and And Although we're not worrying about what code is in there Fundamentally the code in here will be implementing the smart contract logic And it will be interacting with the ledger and it interacts with the ledger via these put states and get states Okay reads and write operations on the on the you know the world state And what that will do is will form a read write set. So it's like a Simulation We'll get on to what what endorsement is a little bit later So if you're already using the new programming model, you'll be familiar with this basic hierarchy of objects at the top level We've got a gateway which represents you know in the old days a virtual connection into the network now It's that gateway actually is in the pier and so You can then get a connection to each of the networks, and that's a that's a channel in fabric terms And once you're targeting a channel you can get an object representing a Smart contract instance on that channel and there sort of that at the highest level of abstraction you can evaluate a transaction Which will invoke a transaction a transaction function to do a read operation on the ledger or submit Transaction if you want to modify the ledger and under the covers. They're doing very different things And you can also hook into events So your client application can listen to events with their chain code events or block events as they're being omitted So this is now the general structure of a client application Okay, we've got some work there to specify our identity because you know it's a permissioned network. That's the identity that Your transactions are done under You'll need some sort of signer implementation a function that signs the proposals and the the transactions So that's a function that just takes a digest and returns a signature And then you'll make your gRPC connection into your favorite peer And given that you'll then create a gateway instance using these three things Access your network your contract and then you can start submitting transactions So we've got two transaction submissions one after another and then When your application ends there's some there's some cleanup code. That's that's the general structure of a very simplified application and That's taken from real code barring some imports. This is Java You know barring some imports at the top that will work By the way, do you feel free to ask questions as we go along as long as they're relevant to this Yeah, so these slides are all uploaded onto the onto the website. Yeah Yeah, so we'll come on to that question was there's a submission of Transactions wait for the commit. Yes, it does, but if you don't want to then we can support that as well So we'll come on to that. So, yes Yeah, no, so what what some so the question was the peer that you connected Does it have to be a member of the channel that you want to transact on? And the answer is not necessarily because the gateway service itself will When it comes to we'll come on to this in more detail. So let's start with a quick answer Which is no and then I'll explain why later Yeah All right, so we support three languages So we have three client API's SDKs then yeah Because these these these are now the lighter weight ones that replace the older ones and They all do support the same thing, but they Look different. They do it in different ways and the reason is we've really tried to you know adopt the The idioms the patterns that are meaningful to that particular language. So so for example in Java We we've adopted this sort of fluent style Builder patterns.  So, you know, you surround it with a big try catch block And that you know that makes makes for a Java style With with node Type script or JavaScript Then you typically pass, you know JavaScript objects JSON like objects to pass in your your options and with go We've adopted this this idea of optional function functional arguments, which is which is very popular in in in go API's But they all do the same thing So let's step through each each Part of the process. So we've got a connect to the gateway and a gateway object represents The connection to the the fabric network with a given identity So, you know, if you want to interact with the network using two or more identities, then you can have two or more gateways All we ask is that you share the same GRPC connection. I'll tell you why in a minute And so to create a gateway you need a GRPC connection You need your client identity and you need a signing implementation So, you know, I as I say, I'm going to give snippets of code in In random languages as we go along just to not show any favoritism Obviously when you're dealing with go You'd want to check the error As it comes back and do error handling You know, as you go along in the code in node or Java, you would you would use exception handling mechanisms So that's creating your gateway object And so before you do that, you need a GRPC connection Now we've got out of the business of making those GRPC connections on your behalf You only need one now rather than one to each peer you're Connecting to and actually each language has a perfectly capable GRPC Library itself And so rather than you know us sort of wrapper that and then you know every time a new option or something different is required You know you come to us and say okay, can you support this and then we you know, we used to have to Add that support in there and make sure that we then extended the CCP file Format to support that and things like that and we just you know, it's not necessary So you would use a GRPC language library of your Chosen language and then you would pass that into the gateway when you've got it and Very similar with identity and signing You know rather than you know with the old API as we said well give us your private key and trust us We you know, we won't do anything nasty with it. We'll just use it for signing What you now actually do is you provide a function that does signing And we will invoke it at times when the transaction needs to be signed Now if you have a private key, then we provide a helper function to create a signing function for you but you know Be reassured that your private key never goes across to the gateway. It always stays in your client application. It always did But you know this this API emphasizes the fact that you know, no keys get passed across the network into the server So we always call back again into your client application when we need anything signed right, so We'll come on to submitting transactions so Any transaction that modifies the ledger has to go through a process of endorsement and Depending on the endorsement policy, which is associated with the smart contract that you're invoking this Transaction might need to be invoked or simulated on multiple peers across multiple organizations And you know as we saw that smart contract that was Installed on on a peer we saw that it gets invoked and I said that it generates a read-write set It doesn't modify the ledger at that point what it does is it runs against that peers copy of a ledger And it and the read-write set represents what it would do to its ledger Okay, so it that's that's an endorsement the peer then signs it and sends it back to the requester so to Submit a transaction you've got to go off to various peers and gather all the endorsements and they must all agree Okay, both the read and the write sets have to agree across all of them And when they do you gather those together it gets signed again on the client side And then it gets sent off to the ordering service Okay, and then that that orders the transactions using its consensus mechanism and it broadcasts it out to the to the network and Commits it And that's quite a complex bunch of stuff and that all gets done in one function called submit transaction So just to step through that In a diagram. Yeah We've got our client calls submit transaction. Okay one g rpc connection into the whole network Okay, we decided that this is our gateway peer So what that then does on your behalf is it gathers the endorsements From itself and from any other organization that's required in order to satisfy the endorsement policy And then once it's gathered all that it will send it to the ordering service And the ordering service will batch up transactions order them and broadcast them to the to every peer Okay for committing to the ledger And then only at that point that they emit a block event and The gateway will return control from that submit transaction It's a query in the ledger doing a read from the ledger So just to emphasise the all interactions with the ledger are done through the smart contract So if you don't have any transaction functions that Read from the ledger and return values then you can't query the ledger. It has to be done through the smart contract It still has to be invoked but if you're not modifying the ledger it doesn't have to go through this endorsement an ordering process you can simply just invoke one peer and Typically it will be the gateway peer or appear within the gateways organization in order to Run that transaction function and return to the user or whatever was returned from that smart contract function And we use the evaluate transaction function for this and so the gateway peer will always try and choose A peer of the highest block height in order to assure you you're getting the most up-to-date value And it's actually using this mechanism that we've we've been able to do away with the need for These commit strategies Because when you go to the gateway That the commit strategies will always about well I've submitted a transaction when I follow it wouldn't evaluate transaction query How do I know I've got the most up-to-date value and you know You used to wait on these various commit events before you were sure that you know you got that but now The gateways managing that all before you so it knows after it submits the transaction It should look when it's doing a query for the highest block before it returns a result to you So slightly more advanced when we're dealing with with private data So private data collections are used to store sensitive data and it's stored off-chain Only the hash of that data gets written into the into the shared ledger Now the usual pattern for an application is that it's when it's dealing with sensitive data It sends it using the transient data field in the proposal and Again, that doesn't end up on the ledger and so the gateway is going to be aware of Data that comes in the transient and it's going to be more cautious in how it requests endorsements from other organizations because you know It doesn't want to get into a state where it's it's it's sharing your sensitive data with other organizations unless it's pretty sure That it's okay and I'll explain on the next slide what the endorsement logic is but You know we we're transient data it does take a more guarded approach and because of that You could result in the gateway not collecting enough endorsements to satisfy the various policies And so that's that's the one situation that I can think of anywhere Whether the application developer would actually want to specify who the endorsing org should be and that's probably okay with with Private data because you know typically you're doing things like well, you know, I want to Sell my asset to that organization there and you know who the buyer and the seller are and It's a good chance of they will be the two walls that need to endorse the transaction so You'll certainly need to be aware that Who you're using as your as your gateway peer and I said at the beginning that's your trusted peer And if you're sending sensitive data across then, you know, you really are trusting that peer To to handle that or to even see that private data and If you're an organization that doesn't run a peer then you'll need to send it to a peer that you you do trust in another organization so a little word on on endorsement because we We put a lot of work into this so each each Yes Can Okay, so so there was a there was a timing issue where the private data wasn't available Yeah, so I mean it's this does have a retry mechanism which which I'll talk about towards the end but some Yeah, I would I would need to look at that. I don't know if you've gone though Further Okay, thank you So each smart contract is deployed an endorsement policy So for example You know that that top one is a majority you've got three orgs. I need two of them. That's the full policy The second one is a bit more specific. It says well, actually I want all one to sign it And then either all three or all four So all one might be a you know an auditor or you know regulator someone who absolutely has to sign every every transaction But it gets more complicated when we're dealing with with private data collections and multiple chain code so for example you know a Transaction proposal might have to satisfy Multiple endorsement policies at the same time So if we're doing chain code to chain code if one chain code is deployed using that one and the other one is with the second one Actually, both of those at the same time have to be satisfied And the only way to satisfy both of those at the same time is to have all gone and All three sign it So we're now narrowing down We're forming a sort of a derived endorsement policy that takes him into account both of those And it gets worse with with private data collections because they have their own signature policies And so we need to bring those in as well And if you're doing a read from a private data collection, then you've got the ownership policy as well Which might you know limit you to hook, you know, whoever has copies of the private data collection And then it really gets worse with with with state-based endorsement policies because you know each individual state within the metadata and the ledger can have an endorsement policy that's just just for that state itself and They can change so a transaction can change those so they're dynamic. So Whenever you're submitting a transaction all of those have to be satisfied and So how does the gateway do that so? Prior to 2.4 the client application had to understand all of the things that were being touched by The smart contract, okay, it really needs to understand How the smart contract work rather than just what it did it had to understand how it did it in order to be able to Invoke, you know, the right organizations to to endorse The gateway takes that all away from you and the way it does it now is so well first of all it simulates it runs Induces on its local peer either the gateway peer or one of its local log peers and We've we've we've augmented the ledger with it gathers info on which chain codes which private data collections which state-based endorsement policies get touched as a result of that Transaction invocation on the gateway peer And when it's gathered all that information it then works internally with the discovery service to say well, okay What what you know, what's the overall endorsement policy? Who else do I need to get to endorse that transaction? And so it will then Invoke those those other peers and gather the endorsements and it's got a pretty good chance that it's going to succeed So question So is there any performance overhead? No, I'd say the other way round It's you know because because we now know exactly who to target We don't have to go a lot of applications the way they used to handle this was just get everyone to endorse it because the problem Was too difficult to solve if you get everyone to endorse it Build up this huge transaction and pass it through and let the but like let the final validation phase decide whether that worked or not But now you know up front we've got a pretty good idea of who needs to endorse that transaction proposal So it's so it's two phases first it simulates it on on the local peer in order to then Understand what the endorsement policy will be and then It's got a you know a set of endorsers that it needs obviously it's already done it itself So whatever's left it will then in parallel go out and gather all the others So it's a two-step. So there's no No, it just doesn't yeah, it's just one simulation on each Of the peers that needs to simulate. Yeah, okay. So so we've talked about submit transaction and You know you just give it the the transaction name and the arguments, but if we want to now start doing some, you know You know give it some more options So for example the you know passing transit data Targeting specific organizations if you you know for endorsement if you if you need to do that Then there's another form which is submit and evaluate, okay? So they're slightly lower level than the submit and then There's go and node examples, okay using Functional arguments or or a JavaScript object But that just allows you to you know slightly finer control or We can get even More control if we want so well, okay the submit transaction is you know, it's going out It's getting multiple endorsements It's gathering the responses You know it's submitting to the order. It's a wait and a commit notification We can break that down now into individual things. So so so in Java We're using the you know the the star where you just change them together so we can create a new proposal We can put transient data in there and and then we build an endorse and before we submit we can you know We can pick out intermediate results. We can get the transaction ID or the result And so you know and we can implement you know different flow logic We might want to you know do some different retry options or something like that in between each step So if you really want you know The high-level one is great But if you want finer control you want to do your own logic in there then then we can break out these steps And you can have more control over them So if a peer doesn't have the chain code Installed then the gateway will not try and get it to endorse a transaction so that so the gateway peer You know the service discovery and the gateway are working very closely together Yeah, yeah, so if there's a transaction proposal on on on a channel So come back to a question earlier about channels. What if it's not in the channel? Well, that's fine because it will work with a discovery service to to find a peer that is a member of that channel Cross organizations. Yeah, and the site the same with Chank it unless you're passing transient data in which case It won't just go off to another organization willy-nilly But yeah apart from that You know, you've got you've got a channel And a chain code ID it will find the peers and the organizations that can run that and it will it will ask them Yeah, all right, so Some some other logic and this comes back to your question earlier about well Does does submit transaction wait for the commit as it does? But if you don't want to wait for example if you if you want something a bit more responsive if you're writing a Arrest application where you know you want you want to get a result back fairly quickly or you're updating the UI or something like that Then you don't want to sit there waiting for the you know The order to batch your transactions and to validate and commit You'll still need to eventually before you know that transaction has been committed But in the meantime you can you can do some other logic And so you can do a an async submit submit async And or in and then it will return control to you as soon as it's successfully sent to the ordering service And it will return an object along with that that you can end that you know invoke a wait So you you can block to wait for the results eventually. Yes Yeah, so so the so the commit will actually wait for the commit on the gateway itself So it's only going to wait for that one one commit Yeah, that's right because it yeah, that's one and it only needs to because if it's followed up by a query and evaluate transaction That gateway knows it can find It knows it can find a peer that has That one because it's not gonna wait. It's not gonna wait for all of them No, it's it's only gonna wait for what it really needs to bear any mind You know, it only needs to wait for that because if it's followed up by a query, it knows it can find the latest value so So you can handle block chain events yourself So you can you can wait on block events. So you might have some application that you know wants to Receive the block events and do something like, you know store data on a you know an off-chain database or something like that and you can wait on these chain code events or contract events typically, you know for invoking business logic or you know if What it whatever the chain code is sending out in its events you can consume that We support so in the in the in the older SDKs we we had the idea of Event playback and event checkpoint in so we've implemented that all as well So we've taken nothing away. We've we've only added error handling so So that errors are you know potentially coming back across your GRPC channel and we've very much adopted the the GRPC best practices for error handling and we you know, we support what it calls the the richer error model so there's a link you want to read about that and You know, there's an error type says hierarchy of errors So, you know, we can indicate whereabouts in the transaction flow that error occurred whether it was in endorsements Or you know submit into the order or something like that A GRPC error has a status code and You know Google define a you know a well-defined set of status codes and each one has a different meaning And as far as you know should you try and retry is it a transient error or is it more of a an application coding error and things like that So we we've tried to you know keep all of our errors within The framework that it sets out there. So for example, you know, if the if the read write set mismatches Then that should be with you know retry because it's a transient issue But you know if you've invoked transaction with the wrong number of arguments then that you know You could have all to your application at that point retrying that's never it's never going to work And also these GRPC errors have Extra details that can be added to them and what we've done is that You know if any of the when the gateway fans out to other peers and ordering nodes if they if they return errors GRPC errors then what we do is we bundle them together under the this detail section And if you look at the merry the error message you can and dig down into the details You know, you can see which which peer you know actually through the error and why So we've got a lot more detail on the error messages there and there's just some snippets of code that show how you would dig down into the details So we've made a much better job of you know higher availability with with this new gateway model. So for a start High availability so you you know, you're now in charge of managing your GRPC connection and typically in a cloud deployment You'll go through a You know an ingress controller a load balancer Okay, and that you know, you've got you've got a single connection endpoint for your client and that will fan out So it's a multiple gateways by the way every peer is a gateway peer unless you turn it off so by default every peer can can work as a gateway and We can do that fairly easily because the the gateway is stateless, you know, there's no there's no peer affinity That's needed as you're going through the the process And there's you know, there's a fair bit of retry logic that we've we've put into the gateway as well alright, so we've We've also done a lot of work on documentation. We've we've rewritten the You know the developing applications section And so and you know, there's a large section on how the gateway works internally if you're interested in the internals And we've built a a lot of new samples So we've got these asset transfer samples and there's quite a few of them We go from the really easy through to the really quite advanced So we demonstrate all you know how private data and state-based endorsement So they're all in there in the fabric samples We've got you know, the Java doc JS doc go doc API reference. Okay, so that's all index from that URL there Getting help of course where there's the fabric mailing list Discord whenever conversation and of course stack overflow And if you find bugs then by all means raise an issue on the on the fabric gateway repo But that's that's not for questions. That's for that's for bug reports. So just to summarize, you know You know this work on the on the program model started You know way back in in version 1.4 and this is the natural progression where we've you know we put all of that logic into the peer itself and Really I encourage you if you're if you're around Wednesday morning to try this out because we've built a a workshop that will take you from nothing through to deploying a fabric network on on Kubernetes and You know building some client applications and and running them That will run Wednesday morning in the hotel next door. I believe so Thank you. Any further questions? All right, thank you. Yeah So so so the question is what about calling the external Service off-chain. So are we talking about from a client application or from a smart contract? Okay, wait, that that's a conversation over a beer tonight But this was more about client applications, but generally speaking, I would say that's a bad idea because You know that that external thing could change and it won't have been endorsed by the multiple endorses that have to sign off a smart contract But we can we can talk about that All right, thank you


To get a sense of what the term oxymoron means, let's consider its word origin. The first half of the word derives from the ancient Greek word auxus, meaning sharp. The second half of the word comes from the ancient Greek word moros, meaning dull or foolish. If we put them together, we get a very strange concept, sharply dull. As this origin suggests, oxymoron is itself an oxymoron. It's a rhetorical term that describes words or phrases that, when placed together, create paradoxes or contradictions. These contradictions seem foolish, but if we think about them for a bit, they often turn out to be sharp observations about our world. Let's hasten slowly to an example. One of the states that borders Oregon is Nevada, and within it is the city of Reno. That city, as many of you know, calls itself the biggest little city in the world, which seems foolish. How can you measure the biggest little city? The slogan goes back to the early 20th century, when Reno was quite small. But as the oxymoron suggests, even at that date, Reno aspired to offer the same big city amenities as the dominant mega cities of its time, New York, Chicago, Philadelphia, and so on. Thus the oxymoron is sharply dull, or appropriately inappropriate. Oxymorons are a favorite literary device of poets, particularly when they express complex feelings such as love and desire. Consider the sonnet. One feature of this kind of poem is its tendency to describe love as a strange mixture of pain and pleasure. Here's an example from Francesco Petrarch, the creator of the form. Sweet anger, sweet disdain, and sweet peace. Sweet ills, sweet troubles, and sweet burdens.  Here's another from Lady Mary Roth's 17th century sonnet sequence, Pamphylia Tamphilantis, which describes the painful pleasure the speaker feels when she's thinking of her lover.  Most famously, Shakespeare gets in on the act in Romeo and Juliet, when, early in the play, Romeo contemplates his feelings for his first love, Roslyn, before of course meeting Juliet. Why then, o brawling love, o loving hate, o anything of nothing first create, o heavy lightness, serious vanity, misshapen chaos of well-seeming forms, feather of lead, bright smoke, cold fire, sick health, still waking sleep, that is not what it is. This love feel I, that feel no love in this. What all of these oxymorons convey is the strange, maddening mixture of feelings that constitutes petrarchan desire, and that continues to structure the way we think about love to this day. As the contemporary rhetorician John Cougar Melloncamp sings, sometimes love don't feel like it should, you make it hurt so good. Let me leave with one final, more complex example of an oxymoron taken from Claude McKay's famous sonnet, America. Within the poem, the Jamaican-American poet repurposes the petrarchan convention of pleasure-pain to describe his complex feelings for the country where he'd made his home.  Within the poem, America is represented metaphorically as McKay's unrequited lover.  This paradoxical history of America is embodied in the oxymoron cultured hell, which initially seems a foolish phrase, but upon closer examination reveals a sharp portrait of the nation's many contradictions. I encourage you to read the rest of the poem to see how McKay processes this oxymoronic love and, in a related sense, how he breathes new life into a very old genre.


Have you ever dreamed of owning a house in Poland for less than the price of a car? Imagine strolling down cobblestone streets surrounded by rich history, diverse culture, and picturesque landscapes right outside your own front door. The Polish real estate market is an alluring prospect for many, offering the chance to make this dream a reality. But where do you start? Stay tuned as we delve into the 10 cheapest places to buy a house in Poland. Poland, a country known for its rich history and stunning landscapes, also offers affordable housing options. A gem tucked away in central Europe, Poland's real estate market is a treasure trove of opportunities for those seeking to invest or find a place they can call home. The Polish property market is characterized by a balance of demand and supply, making it a stable and reliable investment. The economy is robust, with steady growth rates, low inflation, and a solid banking sector. These factors contribute to an environment where housing prices are reasonable, especially when compared to other European nations. Owning a house in Poland can provide significant benefits. For one, the cost of living is relatively low. This means that everyday expenses from groceries to utilities are more affordable. Additionally, Poland is a member of the European Union, providing residents with the freedom to travel, work, and study across the continent. The country itself is a blend of old world charm and modern conveniences, from the historic cities of Warsaw and Kraków to the scenic beauty of the Tatra Mountains and the Baltic Sea, Poland offers a quality of life that is both comfortable and enriching. Furthermore, the Polish government encourages foreign investment. Property ownership laws are favorable, and the process of buying a house is straightforward and transparent. Now, let's explore the 10 cheapest places to buy a house in Poland. Starting from the bottom of our list, let's visit the 10th cheapest place to buy a house in Poland. Nestled in the heart of the country, this hidden gem offers a unique blend of history, culture, and affordability. Known for its charming architecture and friendly locals, this town provides a serene atmosphere away from the hustle and bustle of city life. The average property price here is surprisingly low, making it an excellent choice for first-time home buyers or those looking to invest in real estate. This town's unique appeal is further enhanced by the surrounding natural beauty, offering residents a chance to live amidst picturesque landscapes without breaking the bank.  Moving on to the 9th cheapest place to buy a house in Poland. As we move up the list, we find more affordable housing options. Let's explore these hidden gems of Poland, where you can own a home without breaking the bank. Starting at number 9, we have Siedlsee. This charming city, located in the eastern part of Poland, is known for its picturesque landscapes and peaceful lifestyle. The average property price here is surprisingly low, making it an attractive option for those seeking a serene and economical place to live. Moving on to the 8th spot, we land in Rzeczo. This vibrant city, rich in history and culture, offers a unique blend of old-world charm and modern amenities. The average property price in Rzeczo is slightly higher than in Siedlsee, but still quite affordable for most. Next on our list at number 7, is the city of Torun. Known as the birthplace of the famous astronomer Nikolas Copernicus, Torun is a treasure trove of Gothic architecture. The average property price here is a bit higher, reflecting the city's rich historical and cultural heritage. As we move to the 6th spot, we find ourselves in Bidgoszcz. This city is a major economic and cultural hub of northern Poland. With its thriving job market and affordable living costs, Bidgoszcz is a popular choice among young professionals and families. The average property price here reflects the city's growing popularity, but remains within reach for many. Each of these cities has its own unique appeal, offering a blend of history, culture, and affordability.  Remember though, that while these cities are affordable, it's important to consider other factors such as job opportunities, quality of life, and future growth potential when choosing a place to buy a home. Next, we have the top 5 cheapest places to buy a house in Poland. Stay with us as we continue our journey through Poland's most affordable cities. Now let's enter the top 5 of our list. Taking the 5th spot is the charming city of Radom. Known for its rich history and architectural wonders, Radom offers properties at an average price that's a steal for the quality of life it delivers. Think splendid parks, vibrant markets, and a close-knit community. Buying a house here means getting a slice of authentic Polish culture without breaking the bank. Moving on to the 4th spot, we find ourselves in Tarno. Often referred to as the pearl of the Renaissance, Tarno is a city that beautifully fuses the old and the new. With its average property prices lower than most, it's no wonder that real estate enthusiasts are gravitating towards this gem. From its grand churches to its lively festivals, Tarno is a city that's rich in character and affordable in cost. Now let's venture into the 3rd spot, the picturesque city of Zamask. Recognized as a UNESCO World Heritage Site, Zamask is a city that's brimming with architectural marvels. The average property price here is surprisingly affordable, given its cultural wealth and historical significance. Imagine owning a home in a city that's a living museum where every street corner tells a tale of the past. Racing into the 2nd spot is the city of Chelm. Known for its underground chalk tunnels and stunning landscapes, Chelm offers a unique blend of natural beauty and history. Don't let its charm fool you into thinking it's an expensive city. The average property price here is among the lowest in Poland, making it an ideal choice for budget-conscious home buyers. These cities are not just affordable, they each offer a unique lifestyle enriched by history, culture and community. They prove that you don't need a hefty budget to own a piece of Poland's heart. And now for the cheapest place to buy a house in Poland. And the cheapest place to buy a house in Poland is the charming city of Elblag. Nestled in the northern region of Wormia, Missouri, Elblag boasts a rich history, picturesque landscapes, and an inviting community. This city is a hidden gem, offering affordable living without compromising on the quality of life. The average property price here is shockingly low, making it an ideal choice for those looking to own a piece of this beautiful country without breaking the bank. With houses often priced under 50,000 euros, it's a deal that's hard to resist. But Elblag is not just about affordability, it's a city that prides itself on its cultural heritage, vibrant art scene, and proximity to the stunning Elblag Canal. It's a place where you can enjoy a tranquil, cost-effective lifestyle, while immersing yourself in the rich tapestry of Polish culture. So there you have it, the 10 cheapest places to buy a house in Poland. Poland offers a variety of affordable housing options, making your dream of owning a property more feasible. As we draw the curtain on our journey through the 10 cheapest places to buy a house in Poland, let's do a quick recap. We kicked off our countdown in the charming city of Lublin, where the blend of history and modernity creates a unique living experience. Next, we ventured into the heart of the country, exploring Kielce, Radom, and Bidguszcz, all offering astounding affordability and housing. These cities are not just budget-friendly, but they also provide a rich cultural experience and quality life. We then journeyed to the vibrant cities of Katowice, Lodz, and Bialystok, where the cost of real estate is surprisingly low, considering their economic potential. These cities are rapidly growing, yet they maintain a low cost of living, making them ideal for those seeking to invest in real estate. Our exploration led us to the beautiful city of Sieken, where the proximity to Germany and the Baltic Sea adds to the appeal, and of course the crown jewel of affordable housing in Poland, the city of Rzeczo, known for its low property prices and high quality of life. Poland, with its diverse cities and affordable real estate, offers an incredible opportunity for both first-time buyers and seasoned investors. The cost-effectiveness of these cities does not compromise the quality of life they offer, making them a robust choice for anyone looking to buy a property. Owning a home in Poland not only provides a safe and comfortable living environment, but also serves as a great investment. The steady growth in the Polish real estate market ensures that your investment appreciates over time. So if you're considering buying a property, why not consider Poland? The affordability, the cultural richness, the economic stability, it's all there waiting for you. For more intriguing insights into European real estate, subscribe to the European Hub YouTube channel. Thank you for watching, and we'll see you in the next video.


Be careful, don't anybody get hurt. The wife of the President of the United States, Lady Bird Johnson. This was your own Luther Haji, Secretary of Commerce. Thank you. This is a marvelous welcome. I thank you so much with all my heart, and I thank all of you who have had those signs, particularly those homemade ones over there. This has been a great welcome to North Carolina. My friends, 10 months ago, on a most awful day, my husband became your President. Behind him lay the experience of 12 years in the House of Representatives, 12 in the Senate, 3 in the Vice Presidency, and then these last 10 months as your President. Into which months he has poured all the energy, intellect, and heart he has to try to keep our country prosperous, to preserve peace, and to plan for a greater America. You can tell what sort of a President he will make because you have lived through those 10 months along with us. I am proud of his record, and I hope you will want to continue it. And now I want to introduce our daughter, Linda Bird, to you. They yield all of my time to these more famous people, but I just want to tell you all, thank you very much for coming. We appreciate it. I'm Luther Haji, the Democrat from North Carolina. I want to present the Deputy Leader of the House of Representatives, Mr. Hale Boggs from Louisiana. Ladies and gentlemen, we are, as you know, running late, so our stop here will be very brief. But let me just say to you that this train, this Lady Bird Special, left Washington this morning at about 7.30. The First Lady of the Land has stopped nine or 10 times already, and there are three or four more stops before we reach the capital of the state later this evening. At each place, we have had tremendous receptions. And don't let anybody tell you that President Johnson isn't going to carry this out. Now I'm as southern as I come, and so is President Johnson, and so is Lady Bird Johnson, and so is Linda Johnson. And don't think for one moment that we are going to let Vermont, and New Hampshire, and Maine, and Arizona vote for Linda Johnson, and not North Carolina. It's good to be here with you. And your own distinguished congressman, Lance Fountain, just to say a word of greeting. I just want to say how happy we are to have with us the First Lady of the Land, Mrs. Lady Bird Johnson.


The mechanical properties of porcine brain tissue were investigated when subjected to strains up to 70% at strain rates between 1 and 50 seconds, 1. It was found that the tissue exhibits stiffness increases with increasing strain rate, with the highest stiffness observed at a strain rate of 50 seconds, 1. Additionally, the stress relaxation behavior of the tissue was studied using a combination of time and strain domain analysis. It was found that the stress relaxation can be described by a product of two mutually independent functions of time and strain, with the peak stress being proportional to the square root of the strain rate. This reduced stress relaxation function can then be used to predict the mechanical behavior of brain tissue in compression with strain rates greater than 10 seconds, 1. This article was authored by Atsutaka Tomura, Saori Yukihayashi, Aisao Watanabe, and others.