It's now time for member statements. I recognize the member for Algoma, Manitou. Well, thank you, Speaker, and it's the month of May. And May is Lime Awareness Month. And I don't know lime warriors work in mysterious ways. I look around the legislature right now, and I see that there's a lime that has reached your desk, Speaker, and also the clerk's table and down by the Sergeant at Arms. I don't know how they work, but they work in mysterious ways. I'd like to call a couple of the pages up, please. I want to give you guys the lime task report. And it was established in 2018, and there's a lot of good work that was done in there by a lot of members. I also have ribbons for each of the members inside the house to pass that along in order to raise awareness for lime disease. The task force was comprised of Dr. Aldenstein from the University of Toronto, Dr. Beverly Bateman, Dr. Tim Cook, Laurie Dennis, Greg Ferrand, Dr. Elliot Jacobson, Ms. Linda Kelso, Catherine Kinzella, Dr. Gordon Cole, Dr. Angela Lee, Dr. Vet Lloyd, myself, along with Dr. Mary Matheson, Dr. Peter Oglezza, Lacey Phillips, Scott Weiss, Melanie Willis, and a whole lot of other individuals who have brought together in order to bring awareness of lime disease. We don't have all the answers, but this is a good point that we can start with. The point of lime disease, and I challenge everybody, lime disease is something that you can do and to raise awareness.  Take a bite out of lime, folks. Mmm. I have to advise the member that he's not allowed to use props in the house, but will have to study the matter as to whether or not fruit qualifies as a prop on lime today, lime disease awareness day. Thank you very much. Member statements? The member for Peterborough Quartha. Thank you, Mr. Speaker. I'd like to quote Frank Currie, a sailor on a Canadian Corvette.  In Atlantic, so rough it seems impossible that we can continue to do this unending pounding and still remain in one piece. The crew, and almost stupor from the nightmarishness of all of it. And still we go on, hour after hour. The first weekend you may have set aside to remember those who served in the Royal Canadian Navy, the Royal Canadian Air Force, and the Canadian Merchant Navy during the Battle of the Atlantic. The longest battle of the Second World War. It was the Royal Canadian Navy's defining moment, escorting large merchant Navy convoys that carried vital supplies between Canada and the United Kingdom. The Battle of the Atlantic was a lifeline for democracy and the key to the ultimate victory. Over 2,000 courageous members of the Royal Canadian Navy gave the ultimate sacrifice during the Battle of the Atlantic. For over six years, Canadian sailors protected allied supply lines from German ships and U-boats, completing over 25,000 merchant voyages, transporting over 165 million tons of cargo, as well as personnel. Beginning with only 13 ships and 3,500 sailors, by the end of World War II, the Royal Canadian Navy consisted of 375 fighting ships and more than 110,000 sailors and officers. Her Majesty's Canadian ship, York, Toronto's Navy Reserve Division, the largest in Canada, with over 320 sailors, is with us today in the Member's Gallery, and will be parading from York Dundas Square to Nathan Phillips Square for a special commemorative ceremony this Sunday, May 5th, at 11 a.m. Thank you. Member Statements, the Member for Scarborough, Southwest. Thank you, Speaker. Speaker, we've talked a lot about Ontario's healthcare system here recently, with different opinions about its future and its impact on Ontario families. And I, like many of my colleagues, believe that our healthcare system is a sacred pillar of our Canadian society, and we're immensely proud of the work that our healthcare professionals do every single day. And at some point in our lives, all of us here in Ontario, and all Ontarians will come into contact with our public healthcare system. Universal healthcare is something we appreciate after the fact. It's not something we ever look forward to, but in our most vulnerable moments, our doctors, nurses, support staff, and the tireless frontline workers are there for us when we need them, free of charge. Over the last couple of months, I have spent a lot of time in hospitals in Toronto with my husband, as he battled with the life-threatening illness. The care he received was remarkable. While the patients slept, doctors and nurses worked tirelessly to care for them, with the same diligence and compassion that one would give to their own family members. Because of their care, I was able to bring my husband home after a life-saving operation to continue his recovery. Our healthcare workers deserve the very best. We need to support our care providers by hiring more, providing the best technology, repairing and building new hospitals. I urge each and every member in this house to recommit to investing in public healthcare, and if you have doubt, spend a day at the hospital with the frontline staff, and trust me, you will know what I mean. Thank you, Speaker. Member Statements, the member for Mrs. Saga-Malton. Thank you, Mr. Speaker. Mr. Speaker, once I was approached by a principal and asked me a question, there are two brothers. One come on Monday, the other one comes on Tuesday, and they follow the pattern why. The answer was they only had one winter suit. Mr. Speaker, one in five students in the region of Peab face barriers related to poverty, coming to school hungry, lacking basic necessities as such as winter clothes and school supplies, prevent them from fully participation in the school and classroom. Thankfully, there is an amazing organization that is able to help these students in need. Mr. Speaker, it is an honor to rise today to spread the word about Peel Learning Foundation, a community-based charitable nonprofit organization that raises funds to enable students within the Peel District School Board to provide resources to help overcome various barriers. Currently, it is focused on two main programs, student emergency needs program and student backpack program. Mr. Speaker, I was fortunate enough to be able to join the launch in February. In my writing of Mrs. Saga Malton, we are working closely with the Peel Learning Foundation with our fueling healthy minds program which aims to connect community corporate donors and schools. The program aims to provide nutritious breakfast to the students. In the early stages of this program, we're only working with two schools, and hopefully, we aim to expand the program to all schools in Mrs. Saga Malton, although our end goal is to make the program as self-sustainable as possible. I encourage every school board to observe and follow the steps of the Peel Learning Foundation for the success of their communities. Please visit PeelLearningFoundation.org to directly donate and learn more ways to get involved. I wish the Peel Learning Foundation prosperity and success so more students can develop and flourish. Thank you, Mr. Speaker. Thank you. Member's statements. The member for Windsor West. Thank you, Speaker. On March 8th, almost eight weeks ago today, 86 Windsor Essex Health Unit nurses, members of Ontario Nurses Association Local 8, were forced out on strike. All 86 of these nurses are women, and all they are asking for is equity to be paid the same 2% wage increase that has been given to male dominated municipal professions. The nurses have my support, my community support, and they have the support of nurses across the country as well. In a great act of solidarity, nurses from the Canadian Federation of Nurses, the United Nurses of Alberta, and the Prince Edward Island Nurses Union have all sent donations to ONA Local 8, encouraging them to stay strong in their fight. I've spoken in this house before about the need to get the employer back to the table to negotiate with the nurses, but I think it's important to raise this issue again because next week is nursing week here in Ontario. We in this house and across the province will spend the next week honouring and congratulating our local nurses whose hard work and dedication keeps us, our families and friends safe and healthy. And as we offer those messages of support next week, this Conservative government needs to ask itself whether it truly supports nurses and the life-saving services that they provide. They continue to cut funding to public health programs and that impacts not only the livelihoods of our nurses, but also the safety of our communities. My wish for this upcoming nursing week is for a swift and fair resolution to the strike in Windsor Essex so that ONA Local 8 can get back to work providing vital care, which is exactly where they want to be. Thank you. Member Statements, the member for Scarborough Guildwood. Thank you, Mr. Speaker. Over the past few weeks, our world has experienced a wave of violence and hatred. People have been targeted at their places of worship, well-surrounded by loved ones, and at their most vulnerable. In New Zealand, two moths in Christchurch were attacked. In Sri Lanka, two weekends ago over Easter, hundreds lost their lives in another attack of hatred and fear. And just this last weekend at Chabad of Poe, outside of San Diego, a woman lost her life as she ran to protect the rabbi from a lone gunman. After the tragedy in Sri Lanka, I attended two vigils in my riding. It was moving to see the Sri Lankan community of Scarborough Guildwood unite in this time of grief and sadness. Tragedy is no less felt as time goes on. As today, we remember the Holocaust and the six million Jews who lost their lives and experienced horror. This past weekend, I joined those in my community who gathered to remember the terrible tragedy of the Armenian genocide at the end of World War I. Each vigil and memorial serves as a reminder of our need for resilience and a demonstration of strength. May we all find some light which dispels hatred and fear and anger. Our communities must come together to be stronger and work together so that we can be more prepared for our province's future. It is our duty as elected representatives to uphold the values of inclusion, diversity and acceptance as we put forward legislation in this house that strengthens all in our communities. Thank you, Speaker. Thank you very much. Member Statements, Member for Barry Springwater, Oral Medante. Thank you, Mr. Speaker. It's my pleasure to rise in the house today to recognize Toronto Blockchain Week. It's more than a cryptocurrency and it's something that every business should be paying attention to. Last week, over 1,200 developers, entrepreneurs, dignitaries, investors and innovators from 20 countries around the world gathered at the Metro Toronto Convention Centre for the inaugural Blockchain Revolution Global Conference. This global conference kicked off the first ever Toronto Blockchain Week to promote and celebrate innovation featuring over 40 events showcasing this innovative community, including hackathons, open houses and workshops. The Toronto Kitchener Waterloo Corridor is one of the fastest growing fintech hubs on the planet with over 190 fintech startups located in the region. As groundbreaking events like these have sent a clear signal to the world that Ontario is open for business and open for jobs. Thank you, Mr. Speaker. Member Statements, the Member for Hamilton Mountain. Thank you, Speaker. This government is making it harder for the people of Ontario to access justice. Earlier this month, the government announced shocking and cruel cuts to legal aid Ontario that will hurt the most vulnerable. Hamilton Community Legal Clinic, which is part of legal aid Ontario, serves the residents of my riding of Hamilton Mountain. HCLC does a lot of important work that is now threatened by these cuts. HCLC helps people access ODSP and OW. It helps tenants fight illegal evictions. It helps precarious workers that are treated unfairly by their employers. It helps newcomers and refugees wade through the complex immigration system. It helps workers who are injured on the job and denied compensation. On top of the cuts to legal aid, this government is changing how and when a government can be held liable and taken to court. These changes could apply retroactively. There are cases that are before the court right now that will be impacted. If this government truly believes in its actions, it would not be reducing access to justice for Ontarians and leaving people to fend for themselves. Access to justice is fundamental to our democracy. This government should be empowering its citizens and improving access, not diminishing it. Thank you. Thank you. Member's statements for Northumberland, Peterborough South. Thank you. Thank you, Mr. Speaker. On April 24th, I was honored to attend the official groundbreaking of Ed's House, Northumberland's hospice. Mr. Speaker, this was an incredible groundbreaking that was born out of the fruits of so many in our community who've come together to make sure that compassionate end-of-life hospice care is a reality in our community. And I was honored to stand there to announce our government's $1.2 million investment into the capital construction and of course our $630,000 ongoing operating funding. Mr. Speaker, so many in our community have come together to make this project a reality and it spans multiple governments. It spans so many in our community who've linked arms to make this a reality. I'd like to especially thank Gordon Paddy Lay, campaign co-chairs, early volunteers with a vision, Mr. Speaker, Stuart Richardson, who's also chair of the building committee, Selena Forsyth, Ray Lobben, chair of the board of community care in Northumberland, Sherry Gibson, the project lead, Linda Kay, campaign director, Trish Baird, executive director, key donors Ed and Diane Lawrence, Brian and Kim Reid, and of course members of our building committee, executive members and all directors involved who've made compassionate end-of-life care in Northumberland, Peterborough South a reality. Thank you very much. Thank you. Member statements, the member for Hastings, Lennox and Addington. Thank you, Mr. Speaker and colleague and colleague on all sides of this house, we work in a partisan environment, but we should never ever forget the necessity of respect and humanity in our political processes. As such today, I offer my sincere condolences to the family of the late Peter Tinsley, who passed away peacefully on April the 26th. Peter wasn't a college professional. He had a 28-year career in the Canadian Armed Forces as a prosecutor, practiced law and bowel, sat on many, many local commissioners and boards and served as the head of the military police complaints tribunal in Canada. And I should also note that Peter was a federal liberal candidate for the writing of Prince Edward Hastings who ran against me in 2011. And I recall we had many, many interesting conversations. I remember when we both made submission to the Electoral Boundaries Commission for changes, which come up and just to show you that there was no partisanship in it whatsoever, neither one of our suggestions were accepted. But while we did have different perspectives as to the directions and the roles and the responsibilities of government, we did share a common appreciation for the Democratic institutions and the positive role that an elected official, like each one of us here today, the role that we can play in helping shape our province and our country. So I trust Peter's legacy and his accomplishments will remind us that humanity and politics can be shared and celebrated and not be lost in partisan discourse. Peter, rest in peace. God bless. Thank you. That concludes our member statements. The...


Your family theater presents Rhonda Fleming, Margaret Lindsay, and Alan Mowbray in The Legacy. From Hollywood, the mutual network and cooperation with Family Theater Incorporated brings you The Legacy. Starring Margaret Lindsay as Marcia and Rhonda Fleming as Alan. To introduce the drama, your host, Alan Mowbray. Thank you, Gene. Tonight, friends, we are happy to have with us two of Hollywood's loveliest stars in a story that, but let Margaret Lindsay tell you, we find her writing one of those very necessary locals, not far from Kansas City, and she is alone with her thought. Somehow, that sound is the most lonesome sound in the world, but maybe that's because I feel so alone on a train late at night. Nothing to look at but green posh seats and sleepy passengers and my own soul. You see, I'm not used to solitary contemplation. I'm not used to six coach prairie trains that stop at every hip town, either. I'm the kind who travels on the super chief and spends the night playing gin rummy with names and faces out of the road of gravure. I'm Marcia Adams, and I contact big writers for a big publisher, and I'm rich and well-dressed, and I've taken an express train through life. Only, after what happened today, it seems a little foolish, for I'm not really going anywhere. It all began with a letter I had a few weeks ago. It was marked personal and postmarked in a town in Kansas I'd never heard of, but when I opened it, I heard a voice from the past. Dearest Marcia, you've come a long way since we worked together at the Osbury Publishing House. I see your name in the papers now and then, and I know that you've made a success of your career. In fact, I read that you're to be in Kansas City for a book fair on the 15th, and that's why I'm writing you. Remember the day you looked at Tommy and me and knew that we hated each other, and you said you wondered how it all would end? Well, I live only a few hours by train from Kansas City, and if you can come up on the 17th, you'll find out.  Oh, Wiley, after 12 years. Oh, I happened to be on this puddle jumper tonight, on my way back to Kansas City from a visit that I almost wish I hadn't made. Because sitting here in a daycoach with a crick in my back and soot on my gloves, I began thinking, thinking about Anna, and all those things that happened 12 years ago.  It isn't love that makes the world go round, Marsha, it's money. When you get right down to it, that's what everybody's after. Everybody who's smart. Some are born to money, some, like you, Marsha, are going to earn it. But me, I've found a much better way to get mine. And what is that? I'm going to marry it. I think very original about that idea, but it was my private opinion that any woman who married for money earned it. I was interested to know who Anna had chosen for the honor. And then, one day in early summer, she brought him into the office. He was a well-dressed man, nice eyes, and kind-looking. Marsha, this is John Wiley. Oh, how do you do? John Wiley? Why, aren't you...  Well, I did write a book, Early Egyptian Culture, but I don't expect the public to like it. There's absolutely no love interest. And not a single sword fight. Well, I only hope I won't wind up on the remainder counter at 39 cents a copy. I'm sure you don't have to worry about that, Mr. Wiley. You've written a very scholarly work. Well, it's more than repaid me for the time I spent on it. If I hadn't written the book, I wouldn't have met Anna.  No, no, my business is ancient history. I teach a class over at the university.  It's been nice meeting you, Miss Adams. Thank you, Mr. Wiley. Drop by any time. Thank you. Pick you up at eight, Anna. Yes, John. Bye. Goodbye. Well, what do you think of him? What am I supposed to think? He's nice, well-bred, and his trousers are pressed. But you can't be interested in him. Why not? Well, darling, college professors are seldom noted for their bank accounts. And it's a cinch we can't sell his book to the movies. John is donating all his royalties to a scholarship fund. He's really quite well off. Oh, well, I'm glad to see there's going to be something in it for you, dear. For a moment there, I was afraid you picked him for his own sweet self. Oh, Marsha, I know what you must think of me. After all the things I said. But it really isn't as cold-blooded as it seems. John has money, but if I didn't like him, respect him, that wouldn't make any difference. I didn't hear you mention love. Don't be old-fashioned. I won't be. But I think he is. Once in a while, he gets really serious. I think he's almost asked me to marry him, but... But what? It's the strangest thing. It's as if there's something he wants to tell me, and he gets right up to it, and he can't. Well, maybe he's already married. He was once. He told me all about her. She died four years ago. But it isn't that. Well, don't be too sure of yourself. It might not work out after all. It's got to. I've waited too long for a man like John Warley. He can give me everything I've ever wanted, and nothing's going to stand in my way. Anna was a very determined woman. Very determined. And very beautiful. Maybe that's why John decided to dismiss what had been troubling him. The afternoon he came by the office and asked her to go for a walk in the park. I could see them from my window. Two small figures on a bench by the lake. Anna, tell me something. What? What is it that you think is the most important thing in the world? Freedom, I think. Complete freedom to do the things I've always wanted to do. Go the places I've always dreamed about. With no worry about money or responsibilities. I... maybe that sounds selfish, but... Well, I've worked since I was 17. I want a chance to play. Well, it's a long road when you're traveling alone. Oh, John, I don't mean to be alone. The kind of freedom I want has to be shared. Anna, there's some things I've got to tell you. First of all, I... I'm in love with you. I have been for a long time. Oh, I'm so glad. So glad. Is that all you have to say? Well, what else is there? What I meant was, do you, by any chance, love me? Well, of course, John. Of course I love you. Oh, darling, I'm doing this wrong. I... I want to marry you, but I'm so unsure of myself. You? You want to marry me? Do you really? More than anything in the world. Then don't be unsure.  You mean that? I mean it. Oh, Anna. You said there was some other things you had to tell me. What were they? Oh, nothing. Nothing. Except I... Oh, I think you'll make a lovely bride. And she was. A lovely, radiant bride. I can still see the dollar sign shining in her eyes. I thought I was too cynical to be moved, but when I stood up with Anna and John at the wedding, and saw the way he looked at her, as if she was the one thing he'd wanted all his life, I wanted to cry. I made some excuse about not seeing them off in the boat. They were going around the world, and so I missed the scene that occurred that evening before they sailed. The scene that explained the thing that had puzzled us all along about John Wiley. But who lives here? Who is it that you're being so mysterious about? Hello, John. Oh, hello, Harriet. I suppose this is Miss Dixon. Mrs. Wiley? Anna, my sister Harriet. How do you do? I'm very glad to know you. Come in. Won't you sit down? Thank you. Well, you didn't come to the wedding? You seemed to have managed without me. Oh, you're not being very gracious, Harry. I'm sure that Anna wouldn't want me to pretend something I don't feel. Please, John, let's go. No, no, not yet. I suppose I know why you've come. Do you ask me? You should have done this weeks ago. I'd like a few minutes alone with Anna first. If you'd like. I'll be in the dead. She hates me. John, why did you bring me here? I've done something very foolish, something I'm ashamed of. I don't understand. What are you trying to say? I was married before. I know you told me that. But there's something else I didn't tell you. I have a son. A son? There's only seven. Harriet has been keeping him since his mother died. You've got a son? Why didn't you tell me? Would it have made any difference? I don't know. I don't know. Oh, I've been unfair to both of you, but I'll make it up to you. And you'll love Tommy just like I do. And I know he'll love you. I've told him about you and I wanted you to meet him before we sailed. Will you? What can I say except, yes. Ah, thanks. Oh, Harriet. Come on, Tommy. You must meet your new mother. Tommy! Hello, Daddy. How's my boy? It's well. I like the new baton glove you sent over for me. Good! When I get back, we'll do a lot of pitching and catching and save. We're going to have a pretty good umpire too. Remember I told you about Anna? Yes, sir. Well, I brought her over to meet you. Anna, this is Tommy. Hello, Tommy. Hello. Aren't you going to shake hands with her? No. Well, why not? I don't like her. Oh, now, calm now. That's not a very nice thing to say. I don't care. What'd you have to go and marry her for? She doesn't love you. She's just marrying you for your money. Tommy, that's enough now. You go to your room.  I... He got that from you, Harriet. I don't know what you mean, John. No seven-year-old child can think up lies like that by himself. You've deliberately poisoned his mind against Anna. If you've sold your little judgment as to marry a woman you've known less than a month, you must expect people to draw their own conclusions. Have you anything else to say? Only this. I hope Anna will find it in her heart to... to forgive you both. I'm sorry, darling. Harriet has never wanted me to marry again, but I had no idea she did. You made an enemy of your own sister.  I'm not worth it. Oh, you're worth the whole world. Oh, no. No. I've got to be honest, too. You see, I... Well, I did marry you because I... I knew you could give me the things I've always wanted. I know. You know. And still... Of course. A man knows when a woman loves him. And when she doesn't love him, but... I love you enough for both of us.  If there can't be love on both sides, Anna, there is at least honesty. Let's just say that's good enough. And leave it that way. Shall we? We see Anna Wiley for almost two years. But I had a stack of postcards from all points of the world. And once in a while, a letter. The letters were what puzzled me. It didn't sound at all like the Anna I had known. She seemed to have changed somehow. It was the war in Europe that sent them home in the fall of 1939. We saw each other occasionally that winter, and then... One night, late in January, my phone rang. Hello? Marsha? Marsha, come over right away. I need you. Anna, Anna, what's the matter? Something terrible has happened. There's been an accident and John... John's been hurt. You're here. It's awful, awful. Oh, darling, everything's going to be all right. He just started to cross the street after a paper. A taxi came around the corner. It's giddin' on the icing. Oh, there, there, there. They'll take care of him. They didn't even take him to the hospital. The doctor from the ambulance just brought him in here. Mrs. Wiley. Yes, doctor? You can see him now. There's only a few minutes. No, no. John, John, darling? I didn't look for which way I was going. You're going to be all right. You've got to be all right. You mustn't blame the taxi driver. It wasn't his fault. You tell him. Yes, John, yes. Anna, Anna, there's something I want you to do. Anything, dear. Anything. Tommy, take care of Tommy. He needs you. But, John, you can't mean who you're going to be all right. Take, take care of him. Promise. Yes, yes, I promise. Dear Anna... John, listen to me. You've got to get all right. You've got to because I love you. You hear me, darling? I love you. It's all right, dear. You made me happy. That's all I really asked for. But I mean it really and truly. I mean it. All I ever asked for. I love you, John. You've got to believe. John? He doesn't hear you, Mrs. Wiley. Oh, John, darling, darling, you didn't believe me. He died not believing me.  I knew what it was in Anna's letters that had puzzled me. The strange new quality I had never known. She had written like a woman in love. They read John's will two weeks later. Anna asked me to come. Besides me, there was Ralph Henderson the attorney, John's sister Harriet, and Tommy, who'd been staying with her since the night John died. Harriet had a great deal to say. It's one thing I want understood, Mr. Henderson. I intend to keep Tommy. He spent most of his life with me except for this past year when he's been staying with his father and this woman. But I'm sure he didn't have a happy moment while he was there, did you, dear? No, Aunt Harriet. Personally, I don't think John asked Anna to take him. Mrs. Wiley, I was John's friend as well as his attorney. And he stated to me that he wanted his wife to have custody of his son. I don't care. I don't want to live with her. And you can't make me. I want to stay with Aunt Harriet. Of course you do, dear. And I'll tell you right now, Mr. Henderson, I'll take this thing to court. I'm going to contest John's will and see that this woman doesn't get a penny. John's estate rightfully belongs to his son. Please, Harriet, don't you think you should wait till you hear what John wished? If I may interrupt, ladies, I think you've all been under a misapprehension. Perhaps I should have explained sooner, but I thought you knew. You what? There is no estate. What? My brother was wealthy. Was, yes, but no more. There are personal belongings and a small checking account. No more. I can't believe it. It's you. You ran through it. That's what happened. Married him for his money and had him make everything over to you. Well, you won't get away with it. I'll sue you. Please, just a moment. John's fortune was entirely tied up in foreign holdings. The war in Europe has wiped them out. I knew he was worried about something. Poor John. He never shared his trouble.  It's a conspiracy between you two. You knew John was going to leave me something. You would pay for this, Anna. For a woman who supposedly married your brother for his money, Anna seems to be the least disturbed by the news that he didn't leave any. I'd just like to know how she proposes to raise his son now. I thought you were going to fight for custody of the child, Miss Wiley. Me? You certainly can't expect me to raise the boy with no funds. Well, Tommy has nothing, so you're kicking him out. You can't expect me to kick... You wanted to get your hands on John's money yourself. Tommy was just an excuse. I don't see any reason to stay here and be insulted. Wait, Aunt Harriet. You're not going to leave me. No father wished it this way. Tommy, it's out of my hand. But Aunt Harriet... Tommy, please.   I run away. Listen to me. Get away from me. Tommy, put down that ink bottle. Tommy. All over my dress. Why, you little... How do you like that, Marsha? No husband, no money, no job. But how do you like my son? Until this morning, that was the last time I saw Anna Wiley, standing there in her white dress with the ink dripping from the hem to the floor, and her face a mask of bitterness. I left New York on a business trip shortly after that, and when I returned, she had gone. There were never any letters, and for years, I wondered how the two of them had gotten along. Wherever he was, Tommy had seemed a likely candidate for trouble. And so, when I got off the train this morning in that little Kansas town, I didn't know what I expected. Anne met me at the station, lovely as ever, but much more mature and softer somehow. It was not until after we had lunch in Anne's Rose Garden that there was any mention of Tommy. And then I brought it up myself. I can't stand any longer. I've got to know. Know what? About Tommy, of course. Oh, forgive me, Marsha. I didn't mean to keep you in suspense. Tommy's fine. He's 21 now. I can add. What I want to know is, what is he like? Quiet. Doesn't talk much. But he's very brilliant, like his father, you know. When we came here, he didn't like it. But this was the only place where I knew I had a home and could earn enough to put him through school. You put him through school? Of course. He was graduated from college last month. Highest grades in his class, too. John would have been proud. Now that the job is done, Anna, what about you? Oh, I'll keep on working at the library, I guess. And then there's Dave Hollis. He's the postmaster. I knew him when I was a girl. In fact, there are several trees around here that bear scars from our puppy love affair. Dave always made his heart lopsided. But he's a wonderful man. And he's wanted me to marry him ever since I came back. You deserve happiness, Anna. After all you've done for Tommy. Tommy did a lot for me, too, Marsha. I feel that I've proved to John that I did love him. Besides, Tommy needed me. Oh, he'd never admitted it, of course. But it did something to me. I think everyone should have a chance to be needed, to live a while for somebody else. You feel so useful. And how does Tommy feel about this? And you? I don't know. I probably never shall. You see, he's leaving tomorrow. Leaving? For where? He hasn't said, but something has been on his mind ever since he finished school. I think he wants to get away from here. Do you want him to leave? It's his life. But I can't help wishing that he'd settle down here and marry some nice girl and raise a family. I've grown fond of him. Oh, I'm glad. I was hoping you two would change. I said I was fond of Tommy, Marsha. I can't speak for his feelings. After we came here, we settled down to a sort of truce because we had to. Since then, Tommy has been polite and dutiful. And after all, what right have I to ask more? So Tommy hadn't changed. The brat I remembered had grown into a polite, distant young man. Like a bored guest who was merely waiting for a chance to take his leave. The creek of the garden gate interrupted my thoughts. And I looked up to see a tall young man walking toward us. Hello. Mind if I interrupt? Come in, Tommy. This is Tommy, Marsha. You remember Miss Adams, don't you? Yes, I think so. How are you, Miss Adams? The last time I saw you, you had just scored a bullseye with an ink bottle. Well, then you can't have a very good opinion of me. I hope the years would mellow you. Some, I'll admit. Well, I guess I was a lot of trouble for everybody, especially Anna. But maybe I can make up for it. We expected you for lunch, Tommy. Well, I had lunch with the president of the bank, Mr. Holt. Well, you're really up in the world. What business did you have with Mr. Holt? Well, I didn't tell you this before, Anna, because I didn't want you to be disappointed. And above all, I didn't want you to think you owed me anything else. You've done enough already. I don't understand. Well, the fact is, I want to go to Chicago to medical school, Anna. I've wanted to for a long time, but I needed money. So I talked the bank into lending it to me. You didn't, Tommy. You mean just like that? They're giving you the money? Well, it wasn't that easy. I've been talking to them about it ever since last fall, but somehow I got across the idea that I'd pay the money back. And not only that, but it'd be a sort of investment for the bank. Old Doc Simmons is getting pretty old now, and this town could use another doctor. You mean you're going to come back? Back here to this whistle stop? What's wrong with this place? It's a nice town. And besides, well, I want to make sure Dave Hollis treats you right, Mother. If he doesn't make you happy, he's going to have to answer to me. Tommy. Well, if you'll excuse me, I think I'll go and pack. I'll see you at dinner, Miss Adams. Did you hear him, Marsha? He called me Mother. Yes, Anna. John was right. He left me something far greater than money. He left me a son. Well, that's the last chapter. Not the end, really. Stories like Anna's never really end. Funny. I almost envy her. I almost wish I hadn't made that little visit today because I keep thinking here, moving through the night, thinking about Anna, and the postmaster, and the roses in the garden, and someday, Tommy and his wife and his children, the ties that bind, ties of love, and need for each other. That's all right for Anna, I suppose, but me. I'm made of different stuff. Nobody needs me. I need nobody. Marsha Adams stands on her own two feet. She travels fastest who travels alone. That's what I've always believed. But right now, I wonder why I thought I was in such a hurry. Thank you, Rhonda Fleming, and Margaret Lindsay, for a beautiful story. I hope that our audience enjoyed it as much as I, and that you will not delay for a return engagement on family theater. You know, friends, a remark I heard the other day struck me rather forcefully, and I'd like to pass it along to you. The best that I can hope for, said a friend of mine, is to live to the age of 70.  Now, I figured that for a third of a man's life, he's not quite sure what it's all about. He spends another third just sleeping. That leaves 280 months in which to accomplish anything. 280 months in which to justify his existence. Well, no matter how you look at it, there's no time to waste if we're going to accomplish the good that God expects of us. We certainly can't try to dodge our opportunities, as Anna did in tonight's family theater play. Above all, we cannot overlook our responsibilities to our families. For that is the vocation in life to which most of us are called. If we wholeheartedly dedicate ourselves to making our homes as happy and holy as God meant them to be, then we'll surely not be wasting the life that has been given us. And God will help us do this if we have the vision and the faith to pray to him daily in the circle of the home. For I can promise you this, the family that prays together stays together.  Thank you, Alan Mulberry. Tonight's family theater has brought you Rhonda Fleming and Margaret Lindsay in a play written for them by Beth Barnes with music by Harry Zimmerman and was directed for family theater incorporated by Jaime Del Valle. The supporting cast included Howard McNeer, Johnny McGovern, Virginia Gregg, Herbert Rollinson and John Beale. Next week our family theater star will be John Charles Thomas in The Man with the Plough. Your hostess will be Esther Williams. This series of family theater broadcasts is made possible by the thousands of you who felt the need for this kind of program and by the mutual network which has responded to this need. Be with us next week at this same time when John Charles Thomas and Esther Williams will star on Family Theater. Gene Baker speaking, this program came from Hollywood. For drama and laughs, stay tuned for Mark Reed's hilarious Yes My Darling Daughter which will be heard on Comedy Playhouse over most of these stations immediately following station identification. Remember, it's Comedy Playhouse for pre-tested laughs. This is the Mutual Broadcasting System.


Hi everyone, thanks for coming. I hope you had a good break I really just want to take a moment to Gather a round of applause for all the organizers for these awesome conference. They've put it So please give it for the organizers. Thank you I'm here today to talk about on next it might not be a very familiar concept for you But I'm glad that others before me did a very great job at introducing the concept that I'm going to talk about So this talk in particular is about the way that clients and different platforms for that we program for today And the way they are changing the way that we develop these applications I'm currently a student in Germany more originally from Portugal And I've been a contributing for a closure script and the home for the past year or so So I want to start by a time where we where we when we were building a rest applications and What we would expect normally from rest is that we define our logical and logically separated resources Each one identified by their own you are I Have our clients Are little happy nice clients request these you arise and get the data that the endpoint decides that they're going to get And this is actually dear the reality is that for each endpoint you can really only request or create the trivial data once you You go and you need more than the set of data that that endpoint Gives you you need to make a decision and you either bloat your endpoint by giving putting more data there that doesn't really belong to that resource and what this means is that other clients that might not need that data will be over fetching or you you choose to make multiple requests and Multiple requests are really not acceptable for today's low-end devices or for 3g connections So this is a problem and we we want to get out of it The thing is that this was not unknown at all and at a time of rest formulation Dr. Roy Fielding actually Acknowledged that the problem with the the uniform interface is that Data is really transferred in a standardized form and it doesn't fit what every application every specific application needs so once again, the problem is really about the the wide variety of clients that we have today and that we developed for and Changing the end point is just a huge problem because of the the way that it will affect the other clients that are also hitting that end point And so we really need a way out of this this current situation and over the years a number of technologies that came out have come out to Try and solve this very problem with So they they said that I don't want to interact with the rest APIs They're they just lead to to huge sources of complexity. So This led to the popularity of document-oriented source and things like a meteor or Parse couch base fire base and so but for me these these technologies they really don't Solve the problem. They're very nice technologies and I'm not saying the otherwise, but they really just solve the symptom because by Making it easy to to to sync and send trees of data to to to a certain server We we lose the the benefit of relational queries and we can we cannot run any sophisticated queries against our back-end anymore And so we really need to To define a goal that lets us overcome the problems that that rest Means for for these new types of applications And there is one more thing is that in the rest system everything is out of band The actual code implementation is separate from the the specification of these endpoints and If you need to hit an endpoint, you don't you have no idea what it's going to return you so you really need to to go check some documentation that may or may not be outdated to to to To inform yourselves about what is going to return So what we really want is to to shift the control to to our clients and I'm going to introduce a bit of jargon here from what I and others before me called the Demand-driven architecture and this is demand driven as opposed to supply driven in that in that in the rest sense that You get what the server dictates that you get in this case the clients decide what you're going to get And so the first thing about demand-driven is that you need to have a demand you need to Exactly specify the total of your data requirements and the shape that you want to get that data in right? You don't need you don't want to be aggregating or transformating data You just want to to get the data and pass it immediately to to your render function to display the data on your UI and so You want to describe this because the service the backend implementation cannot predict what a client needs when you're hitting a certain end point So we'll have our back and be more dynamic and have our clients describe exactly what they're looking for So the second property that we need is composition in in that We're all building UIs by component by using components and this has been touched upon today a lot and so We want through composition For example by a recursive data structure. We want to have each component say what? data it needs and we want this Piece of demand to be valid by itself, but also want to compose it through a recursive data structure So that we can send the whole thing that an application needs in one batch to request to our servers And so the next thing that we want is a way to interpret the query language or this recursive data specification that we define and so This is what makes it really storage agnostic in that you don't need to be tied to the details of a backend implementation or a backend data storage With a language that you Well tight as I said and So in this sense and this is a quote about graph QL is a query language Really, but just like the URLs are the query language of rest. So it's just a contract to define How to tell the API server while you're looking for but not how to get it So I just I'll have a first demo here I'll need to mirror displays because I don't I don't have the skill of programming over my shoulder And can you will see this? Yeah, right and so Here on the left. I have a little bit a little data structure that describes well, what kind of Properties and or attributes I Want from the the piece of data that is displayed on the right side and and so let's say for a moment then I'm developing for for a mobile phone and Having all these properties right here is too much and I cannot present them in my client And so I can always fetch them in the rest sense and throw them out But this means that there is data going over the wire that I don't need So let's make this efficient or at least a bit more efficient. And so I can specify for a Certain speaker a certain talk that I really can only present its title And I run the query against my my backend and boom I just I just get the attributes that I exactly asked for What's more is that I didn't need to ask person a or person be in the in the backend team to put or? Or remove those attributes for me In the implementation and there's one more thing is that as you can see a speaker stalk is a logically different entity in my database and and so through this query language I can query several across several entities through in one query and get everything that I asked for okay so all next has been influenced by a lot of things that came out in recent years and React was for me one of the best things to happen to you guys and that it just brings functional programming to the To the browser in a way that okay, so let's always render from root and I don't care about the the huge source of complexity that is Dealing with the DOM the DOM implementation. So let's just say declaratively specify what I want to render and just render it So another thing that influenced the design of omnis is really in graph QL Which you might or might not be familiar about with and so relay is a thing a library by Facebook that lets you annotate your UI components with queries With the attributes that you want to receive and graph QL is the the backend part for that And so they play very nicely together however Doing a graph QL implementation is not trivial. I think Facebook didn't open source that part. They only really released the spec and so but the thing about this is that moving towards these new kinds of systems allowed Facebook and others to delete a ton of code from there as from their restful implementations This is a quote from lead that was talking here this morning. Hi And so by Netflix Falkor is the same thing, but the right from from Netflix's microservices architecture in The previous speaker was speaking about Falkor in a way that it lets you bind to the cloud and seems like all your data Is local to you and this is an awesome concept another thing is that Falkor has this concept of a router which Knows how to route each key that the UI needs to their specific microservice that knows how to serve that key And so also Netflix they they ended up eliminating 90% of their Networking code when moving from from rests to Falkor But my my favorite stack is The closure one I really fell in love with closure Some years ago, and if you don't know what it is closure is a dynamic programming language a list for the JVM and It has spawned the the implementation of closure script Which is a a set of closure that compiles to JavaScript So you can use the the same language that you use on your server You can use it on the clients just like you might be using with JavaScript in node and so transit is a Format on top of Jason that that piggybacks on Jason on webpack that lets you Transfer these closure and closure scripts data structures, which are immutable by default over the wire And they atomic which is right there at the bottom right Is an implementation that is derived from the same concepts and features a Sense of immediate ability and really a sense of time built directly into the database So these two to introduce that Ohm next is the Closure script and closure library that Intends to deal with these problems that we have today and so Ohm next was originally built by by David Nolan who is the core the lead contributor to to closure script and Ohm next is like the second iteration of his design process So he first developed Ohm dot core which was the first one and And after seeing the ideas behind Falcor in relay He really rethought his Processing and came up with Ohm next And so Ohm nox Ohm next let's just have two really beneficial properties that we That are as I said before that clients can really They can really request the exact total response that they need to hydrate their UIs and They can communicate novelty atomically to to to the back end Without sacrificing the power of relational queries and so Ohm next is really opinionated in that And you might be familiar with the single source of truth of opinion. It's what read ax also Enforces I believe and so another opinion is that we minimize flushing to the dumb and we minimize flushing to the dumb by using react as the underlying UI implementation And so we also want to to abstract from the the library user Both a synchrony and the event model. So a synchrony is just a problem because of The the callback Helen cascades that fortune should fortunately are going to be solved in the next version of Agnes script as we heard today and event models event models are just really another source of complexity because of Event cascading and so in Ohm next we have a way to abstract all of these from the developer And so this is a checkpoint and I'm going to go through all of these questions in The next slides. So brace yourselves How do we make precise requests with Ohm next? We have just like in relay we have query expressions and query expressions are co-located with components and they let let us annotate Exactly within the definition of a component what did this exact component needs to hire to hide the their data needs For rendering and so this is how we a Ohm next component looks like if you don't like the parentheses just ignore them This is almost like a react component. You can add the other life cycle methods as well And everything works this query expressions There they are what lets us specify what our client implementation needs and we have for example a single keyword that Expresses an attribute a Parametrized keyword This is how to perform a join and this is what I showed you earlier when showing you the the little demo there and so in this case we're Asking for a person's address, but we are really only concerned with the the street and the zip code The entity might have other properties in in the back end we but the particular client that writes this query expression is just not concerned with it So we also have a way to express mutations mutations are something that change the state of our application and so mutations are They're expressed as regular function calls and our parser Which is another thing in Ohm next knows how to interpret them And so the parser is really what takes a pure function from query to to data It's what hydrates the the the query expression that we pass on to it And so this is the same concept as Falcor in just in the way that Falcor calls this routing and in Ohm next we call this parser Or parsing and so the parser runs reads and mutations and it runs both on the front end and the back end and this is the the actual the interpretation layer that I described earlier and It sits at the edge of our system you never call the parser directly And it's actually what allows us to abstract a synchrony from the developer because everything in Ohm next looks very synchronous Although it might not run synchronously And so this is what I'd raise our queries that we pass to it Without reshaping we just get the data out of the parser in the way that we expect the shape That we expect it to to be passed to our render function so that it can render immediately without performing any additional transformations So how do we communicate novelty with our back ends? And the answer is the same we run query expressions through the parser and because query expressions are data structures we can manipulate these data structures and say which Attributes can be satisfied locally and which ones need to be sent to the server and so Whenever we cannot satisfy we don't have a thing in our local app state that satisfies What we we are currently asking for we can just send the query to the server Which also runs the parser implementation to hydrate that data and pass it back on to to our UI And so There is a key after a mutation that I'm running and what that says is after you run that mutation reread this key and this is what allows us not to have an event model because we have query expressions specifying keys to be read after the mutation just Oh max is just smart enough to know which Components depend on the specific key and so it knows which components it has to update So creating information and this is the part about communicating novelty atomically to the server is This has just an awesome synchronization story. No next in a way that you can create temporary information on the client Non-trivial information you can create Relationships between this data and you can send it to to the back end and the back end can reply with the mappings from your temporary IDs that you have on the the client To the real IDs that are now persisted on the on the back end and you never need to delete This temporary information that you created on the client. You just need to replace these IDs and all nexus is it automatically for you So what about a local state All next has first-class support for client only state And so we just support a merged view of remote state with local state And so because the parser is able to to pick Which things are local which and which are remote we we can this just works So there's only one problem which is that We commonly we model our domains as graphs with interconnected relationships between our entities, but We need to render trees so We need some kind of normalization and Because we have query expressions in all next Omnics can automatically normalize and denormalize your data into a format That there are no Repeated data in your in your state and I'll show you an example just afterwards So normalization is a concept is there that is also in relay and Falcor, but Omnics has this Added advantage that you can normalize and denormalize it for you. And so let's look at a very simple data set of a Few people and let's say I from those people I have favorites And so you can see in this data set that Bob there is repeated twice And so a normalization pass into this day in this data We'll have to replace this duplicated data with something that relates to to the To what their identity is and this is something that we Additional that we need to specify in our own components. It's their identity in this case after normalization pass we substitute Alice by a Way we call a link that Knows how to to find that data in our state So in this case Alice is person by name Alice And if we look into our state and go into the person by name dictionary and the key Alice We find exactly that data that we're looking for after the second normalization pass. We have Bob There and you notice that it only really appears once and but there are two links to it and so because different Areas in your screens might show different things My different attributes at a certain point when performing this normalization we merge all the attributes that are found at the identity at that node and so and One thing that is different from react. However in all next is that Normally when you perform a transaction say a set state or something else in react And so see the the arrow where I say so there's This is a tree of components and I'm saying that the component that At that point is component that performs a transaction react. We'll always render from root In the sense that it doesn't really re-render from root, but it performs the the diffing from from the root of your Component tree, but in all next because we have query expressions and we know how to relate query expressions to the components that depend on them We can just really re-render from the place that perform the transaction and If other sub trees have the the same identity we also Rerender those sub trees so we can perform this kind of incremental rendering where we don't even need to re-render from root And so what implications does this have for testing? and so For testing Having a single source of truth and A parser that lets us abstract the synchrony and that really doesn't need to interact with our components at all And since at the edges of system is just awesome. This Combined with closure scripts immutability Is awesome for for testing because because we know that our components They're just pure functions from the data that we pass them on to do you do you with the rendered UI be dumb or native? So we can just test the UI data tree And so I'm a really big fan of property-based testing for those of you who don't know what property-based testing is it's Opposed to what example-based testing is that we commonly do in our systems in which we specify inputs and output pairs in property-based testing we write invariance and We have our Generative testing library generate test cases that attempt to falsify these invariance But what we get what we get for free is shrinking in that a failing case The our library can shrink it to the smallest possible case that Fails so that we can test that case again in an example-based test for example and fix the bug And so ohm next plays really well with a closure library called test doc check Which is the implementation of quick check originally for Haskell in but in closure and so and so in om next because our queries and our mutations their data and we know how to generate data with Generative testing generators We can generate transactions that run against our parser and check the invariance in the resulting state And I'm going to show you a little demo of that So okay, so here we have a poor man's conference list application and In this case, I have a list of speakers You might have seen this data set before and I'm I'm selecting the speakers that I that I really want to see in the conference And so I went when I when I favorite a talk I'm supposed to get the stock in the favorites list But we can see that when I favorite this talk it didn't appear in the favorites list. So I wrote a bug and so To not not to do that again I'm going to property-based test my application In a way that I can be confident that it works and so I Can see here for example Wait, is it too small? Yeah, all good. Okay, so Let's say I want to generate 10 transactions that I will test and these are Based on my my generators. I'm going to generate 10 transactions Randomly that will run and attempt to falsify my invariant And so my invariant is that whenever I click on adds on favorite a talk it must appear on both lists and and so When I run this command It will check 10 times that when clicking it really adds to the favorites and so the result of This is that and you saw that it's not working. So I really got a false But the really interesting part here and you cannot see that is that It shows me the smallest possible case that I can use to To Fix my but the smallest possible failing case that I can use to try and fix the bug and so because I'm very smart and I Prepared the presentation beforehand. I really already have here a fix to the bug And so I'm just going to fix the bug on the fly Wait for the hot load to kick in and hopefully when I run this again I will get that It passed So if I come back to my my little Poor application and I click favorite I can see that the the person Appears in the favorites list, but notice that I I could be confident about this fact without even ever trying the application and this is just awesome and so by by generating random transactions that run against the Parcer and Shrinking those failures and getting the minimal failure to reproduce the bugs you can just be very confident about our testing story So but by by this is actually modeling the user and by modeling every possible user interaction against our UI You can just profit So there's a lot of more things that omnik supports that I really don't have time to talk about here But also I mentioned them here briefly so we have in the query syntax We have native support for recursive UIs for heterogeneous UIs and these are think the Facebook newsfeed when Which is a really a heterogeneous thing that you don't know what's going to come after if it's a post or a photo or a video right and Because we know how to pick queries from locally from the remote queries, and we know which attributes belong to the local cache and the the the ones that need to to be fetched remotely We can just Take this query That is going to be remote Hash it and get the stable URL that we can send to to our backend Which is? Cacheable by default by HTTP standards So there's no need for any custom caching story Also omniks allows you to Is really is storage agnostic in the client? We'll see about the server in a second, but you can really provide a custom storage if you want to use a a Browser local storage or the index the DB everything is supported It also has built-in support for streaming in those are cases where you might want to sideload data without passing through the the re-render cycle and server-side rendering either through running it through React on node or by some other library that I developed that the server-side rendering on the JVM and So closure on the server. How does it look like? Of course if you're using closure, it is preferred and you need to write less boilerplate But anyhow if you want to use with other languages You kind of need to implement the parser logic to parse these queries into something that Hydrates the queries with data. It's definitely easier for languages with the transit format implementation for you to exchange is data between the client and the server and because the queries are exchanging transit over the wire and Regarding storage datomic is supported by default because the omnicx query syntax is a superset of datomics What they call pull syntax, but other databases work as well the the work necessary to do there is to Translate between these recursive data structure that represents the the demands of our UI to to The underlying storage Implementation that you have on your back end so all next has been in alpha for a long time almost since November I think But it's really reaching beta very fast And if it's not next week, it will be the week after that the only real thing left to do is write tons of documentation because These concepts are not simple to grasp and people really need a lot of help and if you want to help us write documentation get in touch It's always appreciated But if you don't know where to start Start by these places First the first thing there is the home official wiki Tony K is an American guy that Provided a very nice home tutorial that you can find on his web page there and Shameless plug. I've written a Few blog posts on very specific pain points that you might run into when you're starting out with home next So We've seen that we can radically simplify the way that we do UI programming today and data fetching and data creation in our applications and My my advice to you all is that even if you don't end up using home next And really regardless of the library or framework that you end up choosing Just strive for these simpler systems with the two properties that I mentioned here You'll find The sites and the the code demo for this presentation in that repository there In a short moment, and I'll take any questions now if you have them a lot of talks have been about Query API is but all mostly about reading What about writing and how does all next differ from anything else, right? So you might have Seen that I had I described that home next also does mutations and mutations are something that Changes the state of our application either locally or remotely So because mutations also run against the parser You can also send them remotely if they cannot be satisfied locally and you can even satisfy them locally and remote Remotely and this is an optimistic update So By by running a mutation remotely you send as arguments It's just like a regular function call, but you send as arguments the the the novelty that you want to persist on the On the back end implementation, so that's how you do it. Excellent. Thank you Excuse me. You've mentioned how old it is the question was how old is on next and How many people use it and is it production ready? I know you said it's nearly beta. Yeah, so I Actually forgot to mention that There are a few companies already using all next in production it There's even a framework on top of all next called entangled which really Builds upon it and adds a lot of the nice features that you you might Because all next is really just building blocks for you to make this The an implement a demand driven implementation you can run it alone or through another How old what is the is on next was the other question and so Falkor and really they were announced. I think in January or February last year and David Nolan saw the the announcement and I think he started working on it on Middle mid-July or well mid-summer last year and so it's coming up on an year or more than a year now and It's yeah, that's it. Excellent. The question are also added to say impressive testability by the way, right? Thanks What about browsers that don't have JavaScript for any reason? browsers that don't have JavaScript, so if you're Developing for a browser that doesn't have JavaScript. I assume you're you want to to develop a static Page of some sort and as I mentioned there is server-side rendering for omniscient applications So as part of your build process You can you could always hook up a server-side rendering and deploy that to some CDN and have your applications Run through that Excellent. Thank you very much. Please give it up ladies and gentlemen. Thank you


Okay, you're now live. Vipin, if you want to kick it off, take it away. Thanks everyone. Thanks for joining today. And so a little bit introduction that who we are, like, so this is telecom sick, hyperledger telecom sick. We started this three years back and the focus is around the technical and business level use cases around telecom. And we have, we started this guest speaker series and today we have Francis with us. And thanks Francis, first of all, accepting our invitation and over to you. Thank you. Thank you again. Thank you a lot. And thank you a lot for the invitation. It's a great pleasure to be here presenting this work that I did with in collaboration with Lawrence Ashupani. And well, the time of making this publication that you have here in the bottom of the slide, both of us were at the CTTC, which is a research institution in Barcelona in Spain. But now only me is working at CTTC. Lawrence is now at Ericsson, but it doesn't matter. So in today's talk, I will first provide a brief motivation and production to the problem of network sharing and how blockchain can help on this. Then I will provide some details on the Oran architecture and the architectural solution, extension that we propose to deliver at blockchain in this kind of networks to enable the automation of the French sharing use case. And next I will show you some preliminary results that will be obtained. And finally, I will provide some concluding remarks and some discussion points. So to start, let me say that our thesis is that it is unclear how revenues will sustain improvements of 5G and beyond networks. And these together with the high cost associated to the radiocese network, which is typically in the order of the 70% of the total cost of the network. So this imposes the need of cutting, for cutting both cad-tex and not ex-cost, you know? In this regard, in front of this situation, we find in plan sharing a promising solution that would not only allow to share some costs among operators and among participants, but this would also lead to a new ecosystem where we would have new players that would participate and somehow revolutionize communication systems by providing fresh and specialized functions and solutions. Of course, plan sharing, is part of the benefits of plan sharing, are provided by a novel plan in 5G related to network virtualization and the openness boosted by initiative like overrun. But nevertheless, when we say that such openness at the same time leads to a kind of new economy of sharing, which entails several challenges such as security, last or reliability, you know? So to address this, to fully leverage the potential of the openness provided by frameworks like ORA, we find in blockchain a very promising tool because it provides key properties like immutability, decentralization, transparency, security as well, which are expected to provide important benefits to operators, mostly in terms of reliability and trust. Apart from that, even that with blockchain is possible to remove costly intermediaries or third parties when for instance, setting agreements, we expect that many operations can be automated and performed from the cloud, especially for management and operation of the network. And this is very useful for the use case of plan sharing that we want to target here in this publication. And this would enable the automation of procedures related to slicing provisioning, BNF allocation, SLA assurance, and payment as well. But of course, if we dig a little bit deeper, we can realize that using blockchain would lead to a kind of service paradigm where the SLA can be defined by a smart complex. And with the assistance of AI, you could also warranty that these agreements are fulfilled. So before getting into the blockchain part, let me provide some concept on the Oran architecture and framework in this slide. So basically Oran is an initiative started by the Oran Alliance, which is formed by operators and vendors in Telecom, which can be Oran, DMT, Vodafone, China Telecom, and a very long list nowadays. And the primary goal of the Oran initiative is to basically to lower the cost of the network, of network deployments, especially for the Oran segment. And to achieve this, Oran has so far proposed a set of specifications and regulations to realize an open and intelligent radio-assisted network architecture that favors multi-vendor of interoperability, meaning that an interested vendor operator can develop components and interfaces which will be open and which will collaborate openly. So the main characteristics of Oran are first of all, radio-assisted network desegregation, which is for modularization purposes and is very helpful to separate hardware from software. And with this, it is possible to use generic hardware, which is also useful to save cost and provide higher flexibility in deployment. Second important characteristic is openness, which is mainly supported by the definition of open interfaces, and which would enable the interaction of components from multiple vendors. And in essence, this would generate, as I said, a kind of new ecosystem where which can be used innovation and attract investments to the network. Even the very niche partners could join their business and play a differential part in it. And finally, we find intelligence, which is expected to be pervasive in the network thanks to the new element that they called Run Intelligent Controller and which can execute what they call ads apps and air apps. So the components defined by Oran are basically the SMO, which stands for System Management and Registration. Then we have the Oran Samplized Unit, which is in charge of higher L2 and L3 layers, the Distributed Unit, which is for scheduling and more real-time operations, lower layers, and the RIDER unit, where we're using our actual processes. Apart from that, as mentioned, there is the figure of the Run Intelligent Controller, the RIC, which is in fact split into the OCU and the OTH. So when it comes to the integration of Oran, of blockchain into Oran and networks in general, I wanted to highlight these relevant words. First of all, there is an architectural proposal that wants to integrate blockchain with Oran, but in this case, this was done for the sake of the purpose of you identification and authentication. But well, in any case, this is quite an interesting work, which is in fact being discussed to be included in Oran specification by the security code group. So this is a word that deserves quite a lot of attention because this is something that is actually happening. Second, but not directly related to Oran, we find that in the literature, there are significant efforts or significant efforts were made to use blockchain solutions for network sharing in general and future networks. And third and more close in spirit to our publication, we find a slice of blockading, which are distributed thanks to blockchain technology. In this case, brokers in the context of 3GPP networks are entities that provide some kind of demand mapping and kind of mediate to allow sharing resources among operators or other players in general. But in essence, that the broker is in charge of receiving requests for instance, using resources and process them and map these requests into specific actions in the network. In our work, in our case, we focus on the radio access network and the usage of sharing. So we device the usage of blockchain to automate the cladding of the sources in an open and decentralized manner, similar to what Prokering does, but within the Oran architecture. So an overall vision of the scenario that we consider is shown here. In this example, we have two operators, one in blue and the other in orange. And these two operators are sharing some parts of the network dynamically thanks to the adoption of Oran and the usage of blockchain in this case. So here, the Intelligent Controller of Operator 2. In this example, it detects that some resources from operator one are needed. In this case, it's to make, for instance, traffic steering or handover or even to allocate a slice to meet certain QoS criteria for this UI that we have here which is represented by a car. So at the moment that operator 2 realizes of the need of having resources from other operator, it will request them through the blockchain in this case. And following this approach, the smart contract would be generated with the agreement that could be done among the operators both service provisioning and service closure would be enforced by this smart contract. Let me say that in this particular case, we consider that the agreements among operators are done by participating in an auction. But we also consider the case where operators or providers can expose their services in a marketplace. I will explain this in a moment. So following this same example, the two operators, here we show some of the architectural blocks that would allow the kind of proposed blockchain-enabled network sharing. Basically, we have a set of orange components that I described before, but there are also some new components for the integration of blockchain into all this. The proposed elements and interfaces are shown in red, but basically there is an external blockchain system in the middle, which could be, for instance, permissioned by Perleger Fabric Blockchain to put an example, and which can be connected to a marketplace as well, where an interested player can publish or acquire services. Notice that here, the players are not limited to operators or virtual operators, but also include other types like over-the-top service providers or verticals, which could access the marketplace via service capability exposure. Okay, so to interact with the blockchain system, we basically proposed a distributed run-sharing blocker, which is this block of here, and which has several components inside. The first is the blockchain adapter, which would simply provide an interface to interact with a blockchain system. And for instance, the adapter could take some SLAs and convert them into a smart contract, written in solidity or whatever is needed by the blockchain. Apart from that, I'm directly connected to admission control. There would be an action engine, which in this case would enable or put make or unprocess the offers for acquiring or releasing a specific service in this whole architecture. And of course, using the example that I showed before, here we sketch the fact that operator two in orange is getting some part of operators one infrastructure. So now, going back to the set of mechanisms that we're using this paper to change run resources, we basically differentiated between marketplace and auction. In the marketplace case, infrastructure owners publish their services dynamically, which of course leads to lower flexibility than the action because offers are kind of discreet and may not fully adapt to dynamic needs of potential buyers. But nevertheless, as you will see now in a moment, this approach is more efficient in terms of the overhead because you don't have to support this negotiation that you have in an action. So in contrast for the action mechanism, we use, well, we use the reverse auction whereby users can basically publish a service request and then potential sellers submit bits, submit the offers to this request. It's kind of the opposite to an action, no? So with this kind of action, basically the best offer wins and the agreement is automatically done, no? Okay, so with this kind of approach, you can notice that this allows for a higher flexibility because it can adapt better to customer needs. But however, as in opposite to the marketplace, this solution entails more overhead and as you will see now, poor scalability. So here I just wanted to show a flow diagram of the action and to somehow illustrate which components are involved in it. So there is a part in the orchestration that decides to acquire a specific service at the beginning. So based on that, a request is submitted to the blockchain in the form of a smart complex. And the smart complex can be identified by the orchestration of another operator, this case the operator hearing in blue. And based on admission control, this operator will decide to participate in the action or not, depending on if it has the resources or another things, no? So provided that the action is successfully done and the operator wins the action, then the service is agreed and put into motion. So resources are allocated automatically according with this, no? And of course, when closing the service, the payment is automatically enforced thanks to this smart complex. This is basically the same, but for the marketplace. So I think there's no need to lose time with it. But now before getting into the results that we obtain, let me show a little bit the considered scenario in the med list that we have used so far. So basically we have a cellular-based random deployment with users and with sources distributed among two, four, and up to eight operators. And in this setting, we evaluate the action and the marketplace approaches enabled by in this case, generic proof-of-world-based blockchain system. So we didn't dig into specific implementations like hyperledger fabric or Ethereum or whatever. So we kept this more theoretical in this case. And well, we compare that to the legacy approach where there is no a dynamic exchange of resources, no? So for the metrics that we considered, we have considered capacity utilization, user satisfaction and efficiency in terms of the load of a base station with respect to the load that is requested to that base station given user's activity. And for user satisfaction, let me say that we use this formula that you have here which basically includes the perception of users towards the service that they obtain. In this case, this is computed in terms of the bandwidth allocated to the users. And we also consider price into the equation. And as for the blockchain, we consider delay and overhead basically. And finally, let me say that to simulate all this, we used a very simple course term implementation as we did in MATLAB. You can find all the details here because it is open. So if you are curious or you want to check this, this is nothing extraordinary, but if you want to check this and discuss about this, I'm quite open. So before the graphs, I didn't want to lose the opportunity to show you some of the tools that we developed that we use to characterize the delay of blockchain applications. In particular, we have a Q-wing model that considers both timers and faults and a Q-simulator written in C, C++, no? And again, these tools are completely open. We also present them in the papers that you have cited here. And from which you have the reference at the end of the slides. But basically, we are kind of working on this analytical simulation tools for characterizing the delay of blockchain. Okay, in any case, let's now see some of the results. First of all, we focused on the performance improvement provided by the blockchain-enabled solutions, the action and the marketplace in terms of the metrics that I mentioned before. So here we have the results in terms of capacity, satisfaction, and efficiency for each possible number of operators that we had. So basically we have two, four, and eight operators that can coexist in the same deployment. So as you can see, both action and marketplace solutions improve the legacy case in all the cases. But notice that in this case, the action is typically more efficient as we could expect and that the marketplace provides a higher capacity utilization, no? And again, this is because the offers are some kind of discreet. So the offers in the marketplace, I mean. So operators obtain typically more resources than needed, which can at the same time be used for new users that connect to the system. I think I didn't mention that at the beginning, but this is important because here we are assuming kind of open futuristic scenario where users are not specifically tied to a specific operator. So they can request temporary usage of the network to different operators dynamically. So basically we have users having short services kind of in the order of minutes and which connect to give an operator different types of the simulation. Okay, so when it comes to the blockchain overheads, here we provided a comparison of the action and the marketplace solutions for each, again, for each number of operators. And also here we consider different lobes in terms of user requests, which are denoted by the lambda parameter that appears at the top of each figure, no? On the left, we have the extra delay for validating transactions in the blockchain. In the right, we have the overhead in terms of transactions per second, but the plans are equivalent, so I will focus only on the delay. And as you can see, the delay increases a lot for the action mechanism when the number of operators and users increases. Typically the delay is okay for low lobes of users, but it scales very quickly, that's becoming an issue, no? The marketplace in contrast is far more sustainable in this sense and it allows for maintaining low delays and overhead as well, even for a high number of operators exchanging resources and users load. To conclude this part, I wanted to show an interesting use case with two operators in this first case, there's an operator owning all the resources in the network and there's another operator, potentially a virtual operator without resources. But with some users. So here we plot the temporal evolution of the service received by the users on the premises of the first operator, even for users belonging to the virtual operator. And as shown here in the legacy case, the one on the left, many users do not get resources, so capacity drops very quickly, very significantly. So a satisfaction because here we're so plot satisfaction. Nevertheless, when enabling the kind of blockchain sharing solution, we see that the results are improved quite a lot, even when the base stations are fully loaded in this case, no, because the gray points indicate that the mean PS load in this case, no. The other case is when each operator owns 50% of their resources here without sharing it is okay, but satisfaction is not that good. However, when being able to share the resources dynamically, we see significant improvements in both metrics, especially in satisfaction. And to conclude this presentation, let me say that we see in blockchain very nice opportunity for automating network management and by removing the long interactions with third parties like regulators. Such automation can bring the, to use network sources more efficiently, which at the same time can contribute to economic sustainability. Besides, we have the openness that blocks in and runs. So this, we understand that it can provide more or higher competitiveness in networks, which can lead to more investments and enhancements of the quality of telecommunication systems. For instance, by this real global connectivity could be achieved. Also the properties of blockchain technology like transparency, mutability, and so on. This lead to increasing class and reliability among network sharing players, which is quite a good news. And as for the challenge, we saw that the communication overhead can be an issue, especially for the action that we show. Likewise, let me say that the transaction confirmation latency can represent also a critical aspect, depending on the blockchain solution that you adopt. In our case, we assume the centralized mechanisms, fully decentralized mechanisms, like Provo4, which may incur into too much delay in our head basically. So typically for operators, they would prefer permissioned blockchains, which can be much faster and much more scalable. Okay, as for the stability of the blockchain in terms of consistency, this is something that I didn't show very much, but we just only depends on the type of consensus adopted. But this is something that has to be considered as well. And finally, as Partially said, scalability can become a huge problem with the kind of solutions that we considered in our analysis. So that's all from my side. I really appreciate the time and that you have me here today with you. So if you have any question that I can answer, I will be delighted. So thank you, thank you a lot. Thank you, thank you. Will have me for having this insight information on ORN and blockchain. So participants can raise their hands or they can unmute themselves and can ask questions as well. So for you, I have one question will help me, that you used a queuing model, right? So I want to understand where you are using actually this queuing model, which part? Is it on broker side or off means on RAN side, like RIG side, where exactly you are using this queuing model? Yeah, in this work in particular, we use the kind of simulation, which is a simple implementation that we did in MATLAB. So we don't use the queue model, but the queue model, we have been using this in other papers, but only to characterize the queuing delay that we have extended that you may have in proof of work blockchain system. And what kind of auction engine you use? Like I saw one auction engine thing. So if you can explain more on that side. Yes, for the auction, we considered a reverse auction. So every time we, for instance, every time an operator obtains a new user and this user needs resources from parts of the network that that operator does not have, then it will issue a request to the blockchain system in the form of a smart contract, requesting the amount of resources that it needs in terms of capacity and time, basically. When this kind of auction request is perceived by the other players, they decide to get into the game or not, depending if they have resources available or not in that part of the network. And they decide to meet a bit in this case that can be accepted or not by the host operator in this case. This is the kind of mechanism that we adopted for the auction. And we have one more question from John. He said, thanks for great presentation. Do you have any examples or use cases for network slicing and smart contracts? Yeah, in fact, they have a great one, which is reference number six, and which is the work from Nima from this loop. You have it here. And basically they provided an implementation with Hyperledger fabric of this exactly, of a broker for leasing and acquiring network slices. If I am not mistaken, I mean... Yeah, and could you share this reference like once more, like you also mentioned some working groups, right? Which is working on ORN and blockchain things. Yeah, that reference is the third one, which is called VIRAN Blockchain-Enabled Reductions Network with decentralized identity, management and privacy preserving communication. This is from some people at University of Lascaux, and they are very active in ORN study group in security. I could join some meetings because they invited me and I could see that they were proceeding with this solution as a specification, as a standard for... So it means people are considering this blockchain and ORN things and the standards as well, right? Yes, and let me say as well, because I actively participate and contribute to ITU focus groups, and particular focus group on autonomous networks. And we are working, they are interested in fact in blockchain and we are working on proof-of-concept application or using blockchain to kind of validate these X-Apps that you may have in ORN and other intelligent-based network architectures. So from this part, I know that they would be very glad and honored to get some input from this interest group in Hyperledger Fabric to provide some kind of introduction of the activities that you do and these kind of things. I'm aware that a very nice collaboration could arise from there. Yeah, even as David said that even Linux Foundation Networking and Linux Foundation Edge is also interested that ORN and Hyperledger can collaborate together. Even if you are interested, we can start something on this as a subgroup in Hyperledger Telecomsick. So yeah, we've been touched. Let's see how we can proceed further on this. For the NEMA also. Yeah, I'm sure. Please go ahead. Yeah, so NEMA is also here. So he's also working on this network slicing blockchain kind of things, right? And we have some papers on SLA and decentralized identities. So yeah, it means in any how people are working on ORN things and it means because all things have come under Linux Foundation so it's easy to collaborate between ORN team and if we can start something as a subgroup or we can write some solution brief together with ORN or in a community. So that will be really good. It would be very nice in my opinion. Yeah, so we've been touched. So we will continue on thread. That's what we are working on and let's see how I did a lot. Okay. Yeah. So I think we don't have more questions. So let me check on YouTube as well. Nothing. So thanks, thanks. Will help me. Thank you so much. Yeah. And meanwhile, thanks. Yeah, Christina is saying thanks. Okay. So thanks, thanks everyone for joining us today and will help me. We will see that how we can collaborate further in her hyperledger telecom secret group. And thanks again. Thanks for joining everyone and thank you for your presentation. Thank you. Thank you a lot for the invitation and for your time. Thank you. Yeah, the presentation is, I shared it. I think they will upload it to the web, to the wiki. Yeah, wiki, yeah, we will upload another. Fine, thank you. Thank you a lot. Goodbye.