The Radio Theatre brings you Loretta Young and Brian Ahern in The Barretts of Wimpole Street. Ladies and gentlemen, your producer, Mr. William Keely. Greetings from Hollywood, ladies and gentlemen. Tonight, we introduce you to two fascinating people in one of the greatest love stories of all time. Robert Browning and the English poetess, Elizabeth Barrett, whose turbulent courtship is the theme of our play tonight. Adapted from the Broadway stage's success, The Barretts of Wimpole Street, later made into an outstanding motion picture by Metro-Goldwyn-Mayer. Our stars are Loretta Young and Brian Ahern, each making their 20th appearance on this stage. Brian and the role that he created so brilliantly in the stage play. Here's the first act of The Barretts of Wimpole Street, starring Loretta Young as Elizabeth Barrett and Brian Ahern as Robert Browning, with Vanessa Brown as Henrietta and Lester Matthews as Mr. Barrett. London a hundred years ago. It's an early evening in June and at 50 Wimpole Street, in a gloomy book-lined room, Dr. Chambers concludes a procedure which he's followed now for some six years, his weekly examination of Miss Elizabeth Barrett. You haven't found anything new, Dr. Chambers. It's your increasingly low vitality, Miss Elizabeth. Perhaps we're overdoing our literary efforts. A few articles for the Athenaeum, nothing more. Why not try something light and easy for a change? Poetry. You're not neglecting your poetry. Poetry, light and easy. I must tell that to Mr. Robert Browning when I meet him. Read his Sardella, Dr. Chambers, and then tell me that poetry is light and easy.  I shudder to think what my life would be if I hadn't attained for scribbling and study. Oh, if Papa were only a happier man, it would make such a difference to us all.  Oh, well, now what about your appetite? My appetite. Oh, that reminds me, Doctor. Do you remember Papa suggesting that kind of beer called a porter that might do me some good? Oh, yes. Excellent suggestion, too. Oh, forgive me. It was nothing of the kind. I have to drink it twice a day, and it's horrible. Surely something one abominates so intensely can't possibly do one any good. And it's no use my appealing to Papa.  I'll tell him, of course. Oh, thank you, Doctor. Thank you. Come in. Begging your pardon, Miss, that the master wishes most particularly to see Dr. Chambers before he leaves. Of course. Well, good night, Miss Elizabeth. Oh, good night, Doctor. And you won't forget the porter. I shall tell him right now. Oh, thank you. I'm just going to post your letters, Miss Boss. Shall I take plush with me?  Clinging to this prison of a room all day. Oh, my good companion. Come, plush. Come, doggie. Oh, Miss Henrietta. Henrietta? Oh, come in, dear. Well, how was dinner? It was awful. Papa is in one of his moods. Oh, Dr. Chambers just went to see him. Oh, Bob, I do hope for all I say because his report of you isn't too good. Henrietta. Oh, forgive me, dear. What I mean is that good news of any kind is certain to aggravate him in his present mood. I don't know why it should, but it does. Bob, Dr. Chambers, you're not worse. Not worse and not better. Henrietta. Boss room, Arabelle. Oh, come in, dear. Get the note for Henrietta from Papa. Here, when he starts sending out notes from his study. Well, read it. Your cousin Bella is now in London. She proposes to call on you tomorrow at three o'clock with Mr. Bevin, her fiancé. You and Arabelle will receive them and if Elizabeth is well enough, you may bring them upstairs. I have invited Bella and her parents to dinner on Thursday. Papa. Well... Now I know why Papa was so distraised at dinner. Vile tempered, you mean. You know Papa despises being ordinarily polite to anyone. Now he's simply bound to show some kind of hospitality to our relation. Aren't you being unfair, dear? Papa seldom objects to our receiving friends here. Well, for a cup of tea in a bun and so long as the house is clear of them before he's back from the city. What enrages me is that I was expecting a friend tomorrow at three. Now I shall have to put him off. Why? Why what? Well, Bella and her fiancé won't eat your friend. What business is that of yours? Oh, Henrietta.  Oh, dear. Usually she quite enjoys being quizzed about Captain Sir T's cook. Oh, poor Henrietta. Poor Henrietta? Why doesn't she realise that Papa will never, never permit a marriage in the family? Why, if he dreamed that she... I'm too dreadful to even think of what would happen to Henrietta. I'm sorry. Oh, my dear, I only meant tea. And instead you... you displease me. Oh, I'm Papa's daughter all right. When Bella and her fiancé call tomorrow, bring them to me. You can entertain Captain Cook all alone in the drawing room. Oh, what a thing it is to be a genius. You darling bar. But I must have this room to myself at half past three. Mr. Browning is calling. What I thought, Mr. Browning? Has Papa given his permission? Of course. I've heard he's wonderfully handsome. But didn't you say only last week you didn't intend to receive him? I didn't, and I... I don't want to now. But why? Because, my dear, I'm as vain as a peacock. When people admire my work there, quite likely to picture the poetess as the equal of her verses. It's dreadfully humiliating to disillusion them. Oh, bar, you're very interesting and picturesque. Isn't that the way guidebooks usually describe a ruin? Oh, bar! Well, Mr. Browning has been so insistent that out of sheer weariness I've given way. But I don't want an audience to witness the tragedy of his disillusionment. May I come in? Oh, please do, Octavius. Well, Doctor Satisfied. Oh, yes, I think so. Here, Octavius, read this. A note from Papa. Come in. How are you, bar? Hope the doctor's satisfied. Oh, yes, I think so. I say, Septimus, a note from Papa. The headlies are dining here Thursday. Not really. Is that you, Alfred? And how's our dear bar tonight? I hope the doctor was happy. Oh, yes, I think so. Oh, Charles? How are you feeling tonight, bar? I hope Dr. Chambers had a good report. Yes, I think so. Oh, come in, Henry. How are you, my dear? Is the doctor pleased? Oh, yes, I think so. Oh, I must say you are looking a little better. Well, and how is bar tonight? I'm afraid the doctor wasn't too pleased, was he? Oh, yes, I think so. Why not? Well, you're not looking so well. Is she, Henry? Why, I think she's looking considerably better. I say, George, the headlies are in town. They are? Bella and her swain are calling on the girls tomorrow. On Thursday, they're dining here in state. Dining here? I have some news, too. You may be interested to hear that Papa is going to Plymouth on business next week.  And he's not expected back for at least two weeks. Oh, George, how glorious. Oh, do you poke, George?  Look, everyone, watch me poke. Papa. Good evening, Papa. I am most discreet. I have repeatedly pointed out that in her precarious condition, not more than three of you are to be in Elizabeth's room at the same time. As usual, my wishes have been disregarded. I am not aware that I've said anything amusing, Henrietta. I beg your pardon, Papa. And may I ask what you were just doing? I was showing bar how to dance the poker. Well, bar, I think I'll say good night. I should be grateful, sir, if you'd allow me to finish speaking. Oh, Papa, I like nothing better than having all the family here together. No, it couldn't possibly do me any harm. You are not the best judge of what is good or bad for you, my dear, which brings me to another matter. Dr. Chambers tells me that you persuaded him to discontinue drinking porter. I detest porter, Papa. Couldn't I take milk instead? I questioned him closely as to the comparative values of porter and milk, and he was forced to admit that porter came first. But when you dislike something to loathing, Papa, I don't see how I can do it.  But when Dr. Chambers himself... I have no means of forcing you. A tankard will be left at your bedside. I only hope that tomorrow you will be able to tell me... Sorry, Papa. Henrietta. But I shan't drink it. Will you fetch a tankard of porter? No. I beg your pardon? You know how bar hates it. You're just torturing her because you like torturing her. Must I ask you a second time? Or pay me this instant? Go and fetch it, Henrietta. I can't stand it. No, please, please, dear. Yes, Pa. You had all better say good night to your sister. Good night, darling. Good night. Good night, Pa. Good night. Good night, Pa. Good night, Pa. Good night, Pa. Good night, Pa. Good night, Pa. Good night. And you have the porter, Henrietta? Yes, Papa. Set it down. You may leave the room. Good night, Pa, dear. Good night. Elizabeth, why do you look at me like that, child? And you're trembling. Why? I don't know. But you're not frightened of me. No, no, no. You mustn't say it. I can't bear to think that. Elizabeth, if you love me, you can't be afraid of me. For love casts out fear. You love me, my darling. You love your father. Yes. And you'll prove your love by doing as I wish. Oh, please, Pa, Pa, it's all so petty. Give me the tankard. You're acting of your own free will. Please, Pa, Pa, let's get this over and forget it. We're making the whole house miserable over a tankard of porter. Here it is, my dear. Thank you. You're not feeling worse tonight, my darling. Oh, no, Pa. Shall I... shall I say a little prayer before I go? Please. I'll kneel by your bed. Almighty God, in thy inscrutable wisdom, thou hast seen good to lay upon thy daughter, grievous and heavy afflictions. Give her to bear her sufferings in patience. Give her to fix her heart on thee and on that heavenly eternity which may at any moment open out to her. Purge her mind of all selfish thoughts and comfort her. This I beseech thee for the sake of thy dear son, Jesus Christ. Amen. Amen. Good night, my child. Good night. Oh, your bed, Miss Vaughn. Yes, Wilson. Will it never end, Miss? This long-gray death and life. Oh, Miss Vaughn, you shouldn't say such things. No, I suppose I shouldn't. Did Flush enjoy his run? Oh, yes, Miss. Is it a nice night? Oh, yes. And there's such a lovely moon. A moon? Oh, draw the curtains, Wilson. Raise the blind. There you are, Miss. You can see it lovely. Yes. Leave me for a little while. Yes, Miss Vaughn. So beautiful. What are you doing home? Vaughn's bright idea, Vaughn. Vaughn says that at least one male bearer ought to show up for cousin Bella. And when Vaughn says something, that thing is done. Aki. The captain said his cook is calling too. He's coming to see Henrietta. He is? Well, by Joe. She must have her captain to herself. Aki. Vaughn, doesn't it occur to you that we may be doing Henrietta an uncommonly bad turn, encouraging this romance? We'll chance that.  You weren't alive at all. Just automaton. Oh, but I say, Vaughn. And Bella is just the same. You all seem to have cut out of life everything that makes life worth living. Excitement, frivolity, and love. We haven't cut him out, Vaughn. That operation was performed by dear Papa. I know, I know, but... Not counseling sedition, are you? No. But not resignation. Keep your souls alive, like Henrietta. I don't notice you making much struggle to rebel. But I don't count.  Rubbish. I won't have you saying, oh, what's that? Do I hear a carriage? I do. Our cousin has arrived in Mr. Bevan. Ready, Vaughn? Yes, I'm ready. Bring them up here any time you wish. When is the wedding to be? Oh, early in August. Oh, that reminds me. Where's dear Henrietta? At the moment, she's downstairs and attending a friend. A friend? Yes, Bella. Captain Serti is called. Oh, how thrilling. Oh, God, do so. Why did it be one of my bridesmaids? Do you think she... Oh, Henrietta, we were just talking about you, dear. Were you? Oh, you must be one of my bridesmaids. You simply must. I should love to, Bella, if Papa doesn't object. Object? Bella, dear, perhaps Mr. Barrett looks on bridesmaids as frivolous your relevancy. No, Mr. Bevan, it's not that. It's... Well, it's simply that Papa once owned slaves in Jamaica. And as slavery's been abolished there, he carries it on here instead. I'm quite serious. We're all his slaves here. Henrietta. We haven't a soul of our own, not one of us. Yes, Bella, it's more than likely he'll refuse to let me be your bridesmaid. And for no rhyme or reason except that he's out of temper. Uh, I said, what about tea? Oh, I'm sorry, I've got to mention it. Tea is quite ready, Bella. The Captain Cook hasn't swallowed it all. Captain Cook has already left. Oh, he has. It's been so lovely seeing you. And on our dear Miss Barrett, and on our... Goodbye, Bella, Mr. Bevan. Coming, Henrietta. In a minute. Oh, Bob, I'm so miserable. Miserable? And so why are they happy? Thirties asked me to marry him. Henrietta, yes. Oh, Bob, what are we to do? Thirties has only money enough to keep himself decently. If I only had your 400 a year, I might defy Papai and marry Thirties tomorrow. What earthly good is that money to me? I'd give it to you so gladly. I know you would, darling. But think what your life would be if Papai knew that you'd made it possible for me to marry. Oh, my dear, can it possibly be wrong to want a man's love desperately? And a home? And babies of my own? Who am I to answer a question like that, darling? Love and children?  Yes, I know, dear. But love and children, they're natural to an ordinary girl like me. Yes? Well, that's me. And Mr. Browning is here. I'd better be off. Mr. Browning? Oh, no, no, no. Stay here, Henrietta. I can't see him. I can't. I just don't feel up to it. Wilson, tell Mr. Browning I'm just not well enough to see him. Where is he, Wilson? The library, Miss. I'll bring him up myself. Henrietta. Oh, Wilson, my hair. Is it tidy? Yes, ma'am. Oh, and please arrange the cover. No, don't ever mind, Wilson. Thank you. That will be all. Yes, Miss. I shouldn't. I know I shouldn't. I shouldn't. Mr. Robert Browning. Miss Barrett? How do you do, Mr. Browning? Dear Miss Barrett, at last. At last. We'll return with the Barrett's of Wimpole Street, starring Loretta Young and Brian Ahern. We'll return you now to Mr. William Keely. Act two of the Barrett's of Wimpole Street, starring Loretta Young as Elizabeth Barrett and Brian Ahern as Robert Browning. A few seconds have passed. In the presence of the ardent and dashing Robert Browning, Elizabeth Barrett is quite helplessly transfixed. By that link, she manages a polite suggestion.  Oh, thank you. Oh, this room. Wonderful. You may think, Miss Barrett, that this is the first time I've been here. You're wrong, you know. But... You're quite wrong. Your books. Yes, yes, the way they're arranged and that tendril of ivy slanted across your window. Oh, and the bust of Chaucer. Yes, yes, of course. My friend Mr. Kenyon has told you. I've read all the details I possibly could out of him. And my imaginations applied the rest. You've frightened me, Mr. Browning. Oh, why? Because of what Mr. Kenyon might have told you about... about myself. But be hopeless for me to try to live up to his description. He never told me anything about you personally that had the slightest interest for me. Because I knew it already. And better than Mr. Kenyon, old friend of yours, though he is. Do my poor writings give me so hopelessly away? Hopelessly, utterly entirely. To me, I can't speak for the rest of the world. You frighten me again, Mr. Browning. No. But you do. For I'm afraid it would be quite useless ever to try to play act with you.  And I shall always have to be just myself. Always. Oh. And you too, Mr. Browning. Always? Just myself. But being myself comes to me as easily as breathing, Miss Barrett. It's the play-acting I can't manage. Never could. Oh, but that's extraordinary. In your writings, you'll never do anything but play-act. I know. And you would never have been yourself in any one of your poems. Shall I tell you why? I'm a very modest man. Oh. Oh, I am really. But I didn't question it, Mr. Browning. So modest, I fully realized that if I wrote about myself, my hopes and fears, hate and loves and all the rest of it, my poems would be intolerably dull. Oh, but those poems with their glad and great hearted acceptance of life and those wonderful people of yours all so tingling with life. Oh, no, no, you'll never begin to realize how much I owe to you. You really mean that. What? Why, Mr. Browning? Oh, no, no, but of course you do or you wouldn't say it. And you'll believe me when I tell you that what you've just said makes up to me a thousand times over for all the cold shouldering I've had from the public. Oh, it infuriates me. Sometimes I detest the British public. Oh, dear old British public, at least it gives us generously the jolly pastime of abusing it. And mind you, Miss Barrett, I have an uneasy feeling that my style is largely to blame for my own popularity. But surely not. Didn't we just agree never to play act? Well, perhaps there are some passages a little involved. I mean, well, a little too profound for the general reader. Oh, no, no. No, it's not what I say, but how I say it. Oh, but sometimes there are passages. I mean here, for example. Oh, which volumes is this? Oh, it's so dull. Yes, yes. I've marked one or two parts which do rather puzzle me. Oh, here, Mr. Browning. Ah, let me see. How the monarch of mankind succumbed to the first fool that was in my style. Well, of course, that... But if for the... That's extraordinary. Extraordinary. Well? Well, Miss Barrett, when that passage was written, only God and Robert Browning understood it, but now only God understands it. What do you say? Shall we lighten this great darkness by pitching Sordello into the fire? Oh, we should do nothing of the kind. I love Sordello. And shall I tell you why? Because it's a colossal failure. Oh, if by failure you mean an attempt, well, yes, you're right. I, too, am always making colossal attempts and always failing. Oh, but isn't one such failure worth a hundred small successes? Oh, a thousand and more. You think so too? Of course.  All Kenyon did was to fill in the background. I had painted the portrait with the true soul of you, ardent and lovely, looking out of it. Ardent and lovely. And you think you know me. Oh, Mr. Browning, too often impatient and rebellious. Well, what of it? I have no love for perfect patience under reflection. My portrait is the portrait of a woman, not of a saint. Did Mr. Kenyon...  We are all of us dying. Oh. And that our family life was one of unrelieved glooms? Yes, he hinted at something of the sort.   And yet, in spite of what you say, I'm not at all sure that Kenyon's colours were too somber. But that's entirely up to you. Listen to me. Those colours must be scraped off. Why, the whole background must be repainted. And in that splendid work, I must have a hand. Mr. Browning, I... You say my verses about you. Oh, then nothing. It's I. I, who I'm going to help you now, we've come together at last. And I don't intend to let you go again. But really, I... No, no, listen to me. Give me your hands. There, there now. Miss Barrett, I've more life in me than is good for one man. It sees young races in me. Up to now, I've spent a little of all that surplus energy in creating imaginary men and women. But there's still so much that I've no use for but to give. May I give it to you? Oh, don't you feel new life? Tingling and prickling up your fingers and arms right into your heart and brain. Please, please, Mr. Browning. Let my hands go. Really, rather, an overpowering person. No, no, no. Don't tell me again that you're afraid of me. You're not. It's life you're afraid of. And that shouldn't be. Life, yes. Well, when life becomes a series of electric shocks... Oh, was it as bad as all that? My holding your hand? Indeed, yes. I hesitated meeting you. You laugh at me, Mr. Browning. But we very nearly didn't meet today, after all. I was panic-stricken when my maid announced you. Not as nervous as I, Miss Barrett. You? Yes, yes. And I'm anything but a nervous man. But that moment was the climax of my life. Miss Barrett, do you remember the first letter that I wrote you? It was a wonderful letter. You may have thought that I dashed it off in a fit of white-heart enthusiasm over your poems. I didn't. I weighed every word of every sentence. And of one sentence in particular... I love your verses with all my heart. And I love you, too. It was charmingly impulsive of you.  That sentence was as deeply felt and as anxiously thought over as any sentence I have ever written.  You're trying to put aside the word with a smile and a jest. I said love. I mean, love. Oh, really, Mr. Browning, I must ask you... I'm neither mad nor morbidly impressionable. I must sing and level-headed as any man alive, yet all these months, since first I read your poems, I've been haunted by you.  If I were to take you seriously, Mr. Browning, it would, of course, mean the quick finish of a friendship, which promises to be very pleasant. Why? Well, you know very well that love, in the sense that you use the word, can have no place in my life. Why? Why, for many reasons. As I told you before, I... I'm a dying woman. I refuse to believe it. For if that were so, God would be callous. And I know that he's compassionate. Life would be dark and evil. And I know that it's good. You must never say such a thing again. I forbid you to. Forbid, Mr. Browning? Yes, forbid. Well, since you forbid me to speak of you as I feel, should I not be allowed a little forbidding as well? Yes.  Why, we've known each other a bare ten minutes. And yet we've talked intimately of art and life and death and love. We've ordered each other about, and we've almost quarreled. Could anything be happier or more promising? Well, with your permission, I'm going.  Not that I'm a stranger. Still, I can see that you are tired. When may I call again? I don't quite know. Well, next Wednesday suit you? Well, perhaps it would be better. Next Wednesday then. But really, I... At half past three again? Yes. Au revoir then. Goodbye. Au revoir. Au revoir. Thank you. By the window, Wilson. But how did you... You walked to the window here? He's turning the corner now. How fast he walks. Oh, now he's gone. Your doctors have just left me. Yes, papa. It's most astonishing, this phenomenal improvement, these last three months. Yes. But who is this fool, Dr. Waterloo? Oh, Dr. Chamber says he's one of the cleverest physicians in London. Papa, did Dr. Waterloo speak to you about next winter? He did. And that I shall be fit to travel to Italy in October if you... Italy! So, it's out at last. And how long has this precious plot been hatching? Since June, papa. And your brothers and sisters know of this delightful project? Well, yes, I have mentioned it to them. And that charlatan, Browning. Oh, papa, what does it matter? It matters. It's nothing that I alone should be shot out of your confidence, ignored, deserted, Elizabeth. If returning health means such a sad change in your character, I shall be driven to wish that you again lie helpless on that sofa. No. There's nothing more to be said. But there is more to be said. At first, the thought of Italy seemed too wonderfully impossible. But now I know that nothing really stands in my way of going, but I have every right to go. Right? Yes. Oh, if only I could get your consent. I said nothing, only that I might have a perfectly arranged plan to place before you, after the doctors had agreed. If I have acted tactlessly, papa... Self, self, self. Didn't it even once occur to you that your father would be left here alone? Alone. I'll tell you alone. Your brothers and sisters might as well be shadows for all the companionship they afford me. And you too, as your strength returns, draw more and more away from me. Well, that's not true. Who used to be your whole world? I who love you. Papa. Who is it? If you please, Mr. Browning has called. Mr. Browning appears to consider this his second home. I haven't seen him since last Wednesday. Indeed. Wilson, you might tell Mr. Browning to come up. Well, tell me quickly. Dr. Waterlow, what did he say? Well, Dr. Waterlow was quite taken out of his gloomy self. With the astonished delight at my improvement. Oh, say that again. The whole sense. I should like to see it in letters of fire. Elizabeth, this is the best moment I've had since I got your note giving me permission to call. And how many years ago was that? Three months. Three months? Absurd. Why, I've known you a lifetime and over. But the doctors and Italy. What about Italy? Are they agreed about your wintering there? I can go in October unless there's a relapse. Relapse? There's no such word. October? October? Why, it's extraordinary. If you know October, it suits my own plans to perfection. Your plans, Robert? Well, of course I shall go too. May I call on you often in Italy? Where do you intend to stay? What is it? What are you laughing at? Oh, because. I shall be at 50 Wemple Street next winter. Your father? Yes. But in heaven's name. Oh, it's so hard to explain, Robert. The power's very devoted to me at least. Devoted? Elizabeth, may I speak plainly? Oh, but you don't understand the situation, Robert. How could you? Oh, whatever. Farewell, I'll say nothing. Tell me, I don't understand. Well, you're quite right, I don't. I don't understand a devotion that demands all, takes all, and gives nothing in return. I don't understand a devotion that grudges you in a ray of light and glimpse of happiness. And that doesn't even stop at risking your life to gratify its colossal selfishness. Devotion. Oh, Robert, I must ask you. Forgive me, but I won't be silent any longer.  And all these months, I've stood by and said nothing. I might find you tired and sick. After hateful scenes, I could picture only two vividly. I must pretend to know nothing, see nothing, and feel nothing. Well, I've done with pretence. It's not just your happiness, which are at stake now. It's your very life.  No, no, no, please. All right, you won't deny it. You're too uttered, candid, and true. Well, even before I passed that door, our eyes first met across this room. I loved you, and I shall go on loving you to the end and beyond. You know that. You've always known. Yes, yes, I've always known. And now, for pity's sake, for pity's sake, leave me. No, but no, I shall never go. I shall never leave you. Oh, Robert, have mercy on me. I love you, Robert. I love you. I love you.  Oh, I should have refused to see you after our first meeting. But I loved you then, though I would have denied it, even to myself. Robert, I was hopeless with the happiness I never dreamed was possible to see you. That's my only excuse. And God knows I need one for not having sent you away from me at once. I love you. Do you know what you've done to me, Robert? I could have laughed when Dr. Chamber said heal myself by wanting to live. Yes, I wanted to live. But only because life meant you. Because of you, the air was once more sweet to breathe. And the world was good and green again. And now, I'm to turn my back on you and go. But what have I to look forward to? I love you and I want you for my wife. I can't marry you. How can I? Not today or tomorrow, not this year. I may never be able to marry you, Robert. Then I shall die proud and happy in having spent a lifetime fighting for the richest prize a man was ever offered. No. No. Robert, put aside your dream of me. Look at me as I am. A pale ghost of a woman. Do you think I'm not buoyed to be swept off my feet by an impulse or a sentimental dreamer blind to realities? There's no man alive who sees things with clearer eyes than I do. And I tell you in all soberness that my need of you is as urgent as your need of me. If your weakness asks my strength for support, my abundant strength cries out for your weakness to complete my life and myself. Have you thought what your position here would be like if you went on seeing me after the day? And if... if even a whisper should get to my father... I know, I know. But if we were to say goodbye today, we should have nothing but beautiful memories of each other. No disillusionment. No bitterness, no remorse. Is it you who are speaking? What do you mean? I don't know you. We're to dream away the rest of our lives in tepid sadness rather than risk, utter disaster for utter heaviness. Oh, I don't know you.  A coward? I... Oh, yes. Yes, I'm a coward, Robert. But it's not for myself that I'm afraid. No, I know that. What's another disaster to me, Robert?  You were born for victory and triumph. This disaster should come to you through me. This is a fighter.  I need a comrade at arms to fight beside me. But not one already wounded in battle. Wounded, but undefeated, undaunted, unbroken. What finer comrade could a man ask for? Robert. No. But Robert, please. No, I'll never leave you. Never. In a moment, we'll return with the third act of the barrette of Wimple Street, starring Loretta Young and Brianna Hearn. Act three of the barrette of Wimple Street, starring Loretta Young as Elizabeth Barrett and Brianna Hearn as Robert Browning. For two weeks now, a strange happiness has pervaded the barret household. Easily explained by the fact that the master of 50 Wimple Street has been away on business. In his absence, two gentlemen have been almost daily callers. Henrietta's Captain Cook and Mr. Robert Browning. You look tired, sweetheart. You're not being too ambitious. No, no, I feel wonderfully well, Robert.  What is it? Has your father returned? A few moments ago, a letter arrived from him, Robert. We're moving to the country. We're leaving London. Well, you think that will make no difference to us? I think that I know your father perhaps even better than you. He's grown jealous of your life here, of your pleasures and your friends. Slowly and surely, you're to be parted from them. He made it impossible for me to go to Italy. And now he'll make it impossible for me to see you at all. This precious letter may mean all that. But it means a great deal more. It means that you will be in Italy before the month is out. Italy? Yes, and with me. Robert. It means we must be married at once. Do you know what you're saying? I know what I'm saying, and I repeat it. We must be married at once, my darling. Listen to me. No, no, please don't touch me. I can never marry you, Robert. You can and you shall.   Robert, it's not only Papa who stands between us. It's I. Oh, Robert, however much stronger I may become, I shall always remain an invalid.  Elizabeth. Please, please, you will listen to me. As your wife, I should be haunted day and night by thoughts of all the glorious things you would have enjoyed, but for me, by the ghosts of your unborn children. Oh, Elizabeth. Oh, I thank God Papa's the letter arrived while we're still free, and have the strength to shake hands and say goodbye. Well, on the whole, I think this will be our best plan of campaign. Oh, please. We'll meet at Meriband Church on Saturday and be married quietly some time in the morning. I'll see about a license at once. Oh, please, Robert. Directly afterwards, you'd better return here. Of course, we could start the journey at once, but I think it would be better, my darling, if you had a week to prepare. Now, the boat train leaves on Saturday. It is at nine o'clock. Oh, Robert. Oh, Robert. And I always believe that Papa is the most overbearing man in the world. And yet you've known me for some time now. I suppose that I were...  Are you afraid, Bob? Afraid?   And what would the world say I feel?  Oh. And what I should feel... I'll leave you to imagine. And yet you ask me to come with you. Yes, yes. I'm prepared to risk your life and all much more than mine to get you out of this dreadful house into the sunshine and to have you for my wife. You'll love me like that. I love you like that. Oh, Robert. Robert, give me a few hours. Before I sleep tonight, I'll write and tell you of my decision, please. You promise me that. I promise. I'm leaving, Bar, Mr. Browning. May I bring him in now? Bar, you're not listening. It's 30. She's in his full regimental. Of course, darling, bring him in. You may come in, 30. Captain 30's cook, Bar. My sister, Elizabeth. You're servant, Miss Barrett. Greatly honoured, ma'am, on my word I am. Oh, 30, tell her. Tell her. Oh, well, I'd say Miss Barrett... Yes. Yes, I... Yes, Captain, yes, I know. And how I wish I could do something for you both. I can't get it into his poor head, Barrett. Such things as asking for my hand are now simply not possible. That's 50 wimples. But if I spoke to Mr. Bass... Captain Cook, if you were directly descended from the Emperor of the Moon and came here with a fortune of creases in one hand, you're back sooner than I expected, Papa. I don't think that I've had the privilege Captain Cook, my father. Papa, Captain 30's cook. You're servant, sir. Captain Cook is a great friend of George and Archie. Indeed, sir. My sons are rarely home this time of the day. Time? Time? Yes, by Jove, high time I was moving. Well, goodbye, Miss Barrett. Goodbye, Captain Cook. I'll see you at 30. You will remain here. Well, good day, Miss Henrietta. You received my letter, Elizabeth? Yes, Papa. What has just happened fully confirms the wisdom of my decision. Fortunately, our new home is so far from town that callers are not likely to trouble us. Our new home? You have not told your sisters? No, not yet. Your letter just arrived. I have taken a house in Surrey. We shall move on the 22nd. Why? I am not in the habit of accounting for my actions to my children. But I have a right to ask you, Papa. If Captain Cook is to be forbidden... Captain Cook, come here. Yes, Papa. What is this fellow to you? I told you, he's a friend of George Anarchy. Answer me. What is this man to you? Papa, please. Please, you're hurting me. Will you answer me? Oh, Papa, I love him. Let her go, Papa. Let her go at once. I won't have it. Could you? You knew of this? Yes. For some time. You dare to tell me? Oh, Papa, please. I'm not a bad girl. I swear to you, I'm not. Now, listen to me. Unless I have your solemn word that you will neither see nor communicate with this man again, you will leave my house at once and go to petition any way you please. You have your choice. Take it. Is it nothing to you that I... that I shall hate you for this to the end of my life? Less than nothing. Do you give me your word? I have no choice. You will go to your room and remain there until you have my permission to leave. Elizabeth, have you anything to say to me? Then I shall not see you again until you repent of your wickedness and ask for God's forgiveness and mine. Wilson, are you my friend? There's nothing I wouldn't do, Miss Barr. You know that. I... I'm going to be married with her on Saturday. Married? And directly afterwards. I shall return here for a few days. The following Saturday, Mr. Browning and I are sailing to Italy. Will you come with us? Italy? Oh, Miss, I'd be that proud, too. Thank you. I'm writing to Mr. Browning now. I shall want you to take the letter to him at once. Just think, Miss, a bride of one whole week and in just 90 minutes we'll be out of this house bound for a life among the Italians. Wilson. Wilson. About the carriage. Are you sure it would be there? Oh, yes, Miss. Half past three at the corner.  Yes. I've written to them all. Oh, Miss Barr, what I give to be here tonight when the master finds out. Oh, this waiting is killing me. Why don't you just sit down and write some poetry, Miss? Poetry? Yes, Miss. That'd make the time pass nicely, I'm sure. Oh, Wilson. Oh, Barr. Barr, I must speak to you. Oh, Rita, I thought you were gone out. Wilson, may I speak to my sister alone? Yes, Miss. Barr is leaving London, 13. He wants to see me. But Barr made me swear never to see him or write to him. But I've broken my oath. Oh, my poor Henry. And I glory in breaking it. I shall go out of my way to lie to Popeye as often as grossly as necessary. Why do you tell me this?  Oh, oh, Barr, darling, forgive me. I'm all love and hate. I don't know which is the worst torture. And you don't think I can understand. All that I do, I do with all my heart. Miss Barr, Miss Barr, the master, Miss, he's just come in. Papa, he must know someone must have told him. Told him? Told him what? Nothing. It's only that Papa hasn't seen me for days now. And, well, scenes of forgiveness are always trying. Barr, you're as white as a sheet. Oh, no. And you will not, and you understand nothing. Nothing is coming. Where have you been, Henrietta? Nowhere. Where are you going? To tea with Aunt Hedley. Is that for truth? Yes. You remember your oath? Yes. Leave us alone. You too, Wilson. I wish to speak to your mistress. Do you know why I'm back so early today? No, Papa. Because it's ten days since I last saw you. And I could bear it no longer. Am I to blame for that, Papa? Do you know that night after night I had to call up all my willpower to hold me from coming here to your room to forgive you? Today I could bear it no longer. Oh, my darling, your love is all I have left in the world. Well, you might have had the love of all of your children. Papa, you don't know how I pity you. Pity? I don't want pity. Elizabeth, my child, my darling. The only happiness I shall never know is yours to give or take. You must depend on me, lean on me. I want all your heart. Please, Papa, I can't stand it. I can't stand anymore. Forgive me, my dear. I was carried away. I'll leave you now. Please. I shall pray for you. Yes, pray for me, Papa. Pray for me. We must go now, at once. But the cab won't be there yet. Then we must walk about the street. Oh, but if he sees us leaving. We'll try, sad. I belong to my husband now. Papa can kill me. Why, dear Miss? I don't. Then I must go alone. Alone? I'll fetch my things at once. Oh, oh, don't get me. Flush. Flush, where is it? Here it is. Oh, if you bark now, Flush, we're lost. Let me look. And we're ready to leave. He's resting for dinner. Who was making that hideous noise just now? Where is Elizabeth? Hush, dear Hush. Here, Papa. This letter. Far left it for you. What do you mean? She left letters for us all. This is yours. You must forgive her, Papa. Not for her sake, for yours. I thought I hated you. But I don't. I pity you. Married? Yes. A dog will have her dog. A dog must be destroyed once. But Papa, are you... You will take it to the veterinarian tonight. You understand me? Good night. I really don't see what the poor little beast has done. You understand me. In her letter to me, Papa. Yes? Far right. She's taken Flush with her. The combined total of 40 evenings Loretta Young and Brian Ahern have entertained us in this theatre, always with the same high standard of performance. Thank you, Bill. I've looked forward for a long time to doing the Barrett to Wimper Street with Brian. Well, it's been a great pleasure, Loretta. And we've looked forward for a long time to bringing you two together in this play. Good night. Good night, and thanks for the grand performance. This is William Keely, saying good night to you from Hollywood.


So, okay, it's about three minutes after so I'll go ahead and get started as I was saying this is part two of a two-part mini series. Last week my colleague Eric Milman talked about the risk metric package and today we're going to be talking about the risk assessment application. So my name is Aaron Clark. If you don't know me, I work at Biogen as a data scientist and I serve as the lead developer for the risk assessment application for the R-validation hub. Okay, so quick disclaimer, any of my opinions that I expressed here today don't necessarily reflect those of Biogen or the R-validation hub. And this is a quick agenda of what we plan to discuss. So just a quick intro to both risk metric and risk assessment. In the past I've given other talks that kind of delve deeper into, you know, risk assessment, you know, how to install it and for the first time and things like that. This talk we're going to assume you kind of already have a general sense of that but we will talk about, you know, the importance of why we created this shiny up in the first place. I would say the bread and butter of the talk is going to be, you know, hovering around the latest enhancements with a recent release that just came out earlier this week. And then we have to do a demo, of course, to show you hands on, you know, how these new enhancements look and feel in the app. I have a couple of things to tease in a coming soon segment and then we'll finish with some Q&A. So if you're not familiar already, the R-validation hub has been around for a while and it's basically just a group of pharma organizations that are all focused on building, you know, unique tools to help those who work in regular regulatory environments. So if you're unfamiliar, go check out the pharma.org website and there's lots of info there about all the work streams that exist within the R-validation hub and there's plenty of opportunities to get plugged in if it's something that you're interested in doing. Okay, so the two tools that we're focusing on for this mini series is first and foremost risk metric which we talked about in part one of the mini series. So it's a framework to quantify risk of using an R-package in a regulatory environment and that risk is quantitative, you know, something that has been converted into sort of a number and then the risk assessment package is a full-fledged R-package but it is also a shiny application that sits on top of risk metric. The main goal of that package being we'll get into all the details of it here shortly but basically to be a central hub for your organization to be able to sort of use risk metric in a meaningful way. So just to recap risk metric is a means by which to assess quality of a piece of software and it does that by leveraging a number of assessments. So today there's about 18 assessments, give or take, and they're all geared towards like measuring, you know, software dev best practices, community engagement, sustainability, things like that. So here's just a sampling of a few of the assessments. Like does the package have a license? Does it have a place to report bugs? And it can get into more complex things like, you know, how is the test coverage for this application or a function and community usage like reverse dependencies, you know, do other packages rely on this package? Or how often is it downloaded? How popular is it? Things like that. So why create a shiny app? The shiny app was actually created a while ago, probably three-ish years ago. And I think the main goal of the app or at least its highest and best use is to help organizations and specifically people within organizations sort of create the documentation necessary for GXP package inclusion. So what do I mean by that? Well, that means that we're trying to provide a means or a highway for members of an org to take responsibility for assessing a package's risk before they go and make a request to their IT personnel or maybe whoever the gatekeeper is that makes those package inclusion decisions. So that the onus isn't on them, it's really on the request or the person who is making the request. And so the way that we do this is we are summation of the reason the app exists is to create, you know, a beautiful like summary report that goes through all the different points that maybe in all the requirements that your organization needs before it can include a package in a regulatory development environment. So that's the goal. So we're trying to make users create these reports that they can then hand off to the person making those decisions. And so we're trying to avoid just people asking those people directly saying, hey, I want these 10 packages because I need to do an analysis that requires these 10 packages. So this actually makes the person reflect upon the shiny app helps people reflect upon the risk of using and introducing those packages to a GXP environment. So along the way, it does a lot of other things. So in order to achieve that goal, so it provides one space where you can do tons of package exploration without the need to write any custom code, especially custom risk metric code. Along those same lines, it's going to ensure that the risk metric code you are running is ran on the same machine and in the same environment. So that's going to help with reproducibility of the different risk outputs that we can generate with risk metric. In addition, it's going to make sure that you're following your org specific settings. So you may have like a lot of options that are specific to your organization. And so by using the application, there's ways that we'll talk about in a little bit that sort of help us do that well and do that consistently. It also does do some automation for you. So when you first start using the app, it won't be a terribly arduous process to start categorizing packages as either low, high, or medium risk or something like that. There is some automation that's built into the app and we have plans to build in more in the future. It allows you to manage who's involved in the process. So there are different people that you may want to perform some part of the review, like maybe a statistical procedure could be reviewed by a certain person. And there could be another person who assesses a different aspect of a package. So we've built in lots of authentication and role management features to allow admin users to do that. In addition, we can store lots of summaries and communications. So as you're reviewing these packages, you can take notes. You can write down things you think are important or not important. You can comment and ask someone else to check out something that you found interesting. We're going to store all those, all that communication and all that summary in the database that sits inside of the application so that it can be published in the final report if you wanted to. And then last but not least, of course, we have the summary report and that's going to be shared with the decision makers, right? Okay, so that is the reason why this app exists. It really is, I think, a great add to RIS metric and I think it helps organizations really adopt RIS metric a lot better for the reasons mentioned. Okay, so the bread and butter of today's talk is I really want to share some of the latest features of the application that came out in version 2.0.0. So this just hit GitHub earlier this week. And so I'm excited to share with you all the things that it includes. So there's a facelift to the report builder and the database view. There's better support to analyze dependencies in the application. So that's pretty exciting news. I'll show you what that means in a little bit. There's even more org level customization including the use of a configuration file. So we'll show you an example config file as well. We now allow admin users to edit roles and privileges first and foremost in that configuration file but also on the fly in the application. And sort of the climax of today's talk is we allow users to explore source contents of a package. So this is a new feature where it kind of deviates from just following RIS metric to a T. So it's basically the application now serves up lots of RIS metric info but it also allows for a more manual hands on approach to exploring a package and you'll see that in just a minute. So I just want to mention before I show a demo and all these examples that the reason that we were able to sort of work on and focus our efforts on these features, these new features is because people told us that they're important in our issues GitHub page. So if you think that there's an issue that you'd like to open so that we can focus our efforts on something that's important to your organization, please let us now open up a GitHub issue and we would love to talk about it with you. Okay, so first and foremost, the report builder. So previously, I don't think we even called this a report builder. I think we just called it a report preview, but it's definitely a more holistic approach now. We allow users to define what content shows up in the report. We also added a package summary. So if I scroll down here, there's a little GIF showing off what the report kind of looks like today, all the metrics that you can see, all the comments and summaries, and even a little metadata in the report. But now let's say you want to get rid of like the author on the report. You can remove that. If you want to get rid of this overall comments, you can remove that piece as well. So it provides for a lot more customization in that way. There's also this new package summary where you can write really important information. Maybe you want to hit, you know, these six points or seven or eight or 15 points that you need to make sure you hit before that before you deliver this summary to someone for package inclusion reasons, and then you can download it in whatever format that you want. So I think the options are HTML, Word file, or PDF at this point. So that's kind of the facelift that the report builder got. And we have some more plans to keep expanding this out in the future, but this is kind of our first step in that direction. So it's definitely going to become more usable from that aspect. Okay, so the database viewer also got a facelift. And if you don't remember, the database viewer is it basically shows you like all the uploaded packages that you have uploaded to the application in the past. So first and foremost, you're going to get a summary of the uploaded packages. You're going to see the date that the package was uploaded. It's going to become increasingly important because it's that date is tied to one year risk metric code was run and thus one year package was assessed. And also a bunch of decision related columns. So I'll show you those in just a minute. And now everything is like really easily downloadable, which is pretty low hanging fruit from a table perspective here. So here up at the top, you can see this is just a preview. You can see, you know, I have 300 packages in my database. 178 of them had a decision made about them. And then you get even get a little summary where it says, you know, one package was considered low risk 147 was medium risk and 30 were high risk. So you can see that right here is our decision calm and you can see who made the decision. So sometimes it's made by a specific user. But if you use any of our decision automation, you can see that a lot of these were auto assigned up when they were uploaded to the database. And so I didn't have to do any extra work to assign those. You can see that they uploaded is listed here as well. And also the decision date is included as well. And I can't remember if this was in our last release or not, but we also have buttons here. So if you want to quickly zip over to view the zoo package or something, you can click this button and view all the metrics related to that package. So just quick, quick and easy like back and forth to view packages that you desire. Okay, so that's the database view facelifts ran through that pretty quickly, but we'll explore a little more later. Package dependencies now has additional support in the application. So here I'm looking at the carrot package. And you can see that it has a lot of dependencies. It says 16 here. But if you look at each one, you can see that a lot of these are just base are at the bottom here. So I wouldn't say those should really count against, you know, a package. Most people trust base are packages. You can see that some of them have package scores listed here and they range from 0.2 7 to 0.6. And then there's a couple of them here and two packages that aren't in our database. And so we've created some handy little buttons where you can automatically just click those and it'll upload and it'll produce a score for you. But this is handy because it shows you a lot of people that we've learned through our case studies really care about those first order dependencies because packages only as good as the packages that it's built on. So this may be worth exploring further for the carrot package. Like if you want to explore this package, these two or three packages that kind of have high scores. In addition, you can see reverse dependencies really clearly. So this 293 packages depend on the care package. So that is, I would say a high amount, a high number of packages. So that only shows how reliable, you know, this code base must be because it is so many people rely on it for building their packages. Okay, so another great add to the app is ability to tweak org level settings and you can do this either in app or in the configuration file. So you can customize your decision categories and even the colors that go with the decision categories. In case you wanted to make something that's, you know, maybe consistent with your organization's color scheme, corporate color scheme. You can toggle your automation rules. You can mess with the roles and privileges and you can also initialize your metric weights in the app or in the config file. So here's an example configuration file. You can specify all your databases, the names and the locations of your database that's been there for a while. But the credentials is a new portion. So here you can specify your roles. So here we have an admin, a lead, a reviewer and a viewer role. You can do whatever you want here. And then you can specify, you know, what privileges each role should have. So the admin role in this scenario has all the privileges. The admin user can do anything. They can change and edit existing users. They can adjust weights. They can make final decisions. They can revert decisions. You can add and delete packages, add overall comments, et cetera. The viewer, conversely, can only add packages or make general comments. So they have way fewer privileges. And you can see that a viewer actually has less privileges yet. They can't do anything. All they can do is sort of log in and kind of look around at things, which may be, you know, a role that you want to assign to certain people groups. The decisions piece in the YAML file, this allows you to specify a few things. You can specify the names of the categories, the rules associated with those categories and the colors. So here we have the typical three low, medium, high risk, but you could have two if you want. You could have, you know, GXB compliant or not GXB compliant, something like that. Or you can have five categories, whatever your organization, you know, wants to use, you could do that. And if you want to take advantage of some automation rules, you can specify those here. So here you can see I made a rule for medium risk and one for high risk. So basically this is saying whenever a package score, a risk metric score is over 0.639 and less than one, then it should be automatically categorized as high risk. And then you could do that for as many of the categories as you want or as few as you want. So here you can see I'm not doing it for low risk. So that means there's no rules associated with low risk. Nothing will be automatically categorized in that case. And then if you want, you can add a color. So here we're adding, we're using RGB to generate a color for us. And just for medium risk. Lastly, you can actually initialize your metric weights directly from the config file. You can also adjust them in the app, but it is nice to be able to just set these here in the config file on the onset so that with future deployments, everything is already set up for you. So here you can see there's only two listed. So all the metrics are going to receive an equal weight of one, unless you change it here. So you can give it either a zero for here for code coverage. So basically I'm saying, hey, get rid of code coverage. It's not important to me for some reason. I would argue that, you know, that is a really important one. So it probably shouldn't be a zero or vignettes, vignettes are really important to me. So I'm going to bump that up to a two. And so just to show you, you can change these things on the fly and the app. So this is for setting your, your automated decisions. And then you can see, which we already saw earlier is, is when you upload a package, it's going to be automatically assigned. And you can see that here in the database view. Okay. So that's a quick highlight of all the org level settings that we've empowered our users or at least our app deployers to use or admin users to use. And just a little bit more on the roles and privileges. So we, you've always admin users have always been able to add new users and sort of edit user profiles. So here's an example where we have Adam, the admin, Lenny, the lead, Rachel, the reviewer and the viewer. So those are the people who are authenticated to use our application. And you can see, here's a definition of the privileges that each one of those roles have. So it's exactly the same as, as what we covered before. But what's neat now is you can actually adjust these things on the fly. So for example, I can say, maybe I don't want, you know, my lead role to be able to adjust weights anymore. So I could uncheck this checkbox. And you can see I created a new role over here. Also on the fly saying, hey, I want to create a new role that can make final decisions and make general comments. And that's all I want them to be able to do. So that's a really nice handy feature to have in the application. Okay. So this is, this is probably the most exciting part of all of our latest enhancements. And that is that we've added a file browser. So like I said, previously risk metric, we've basically sucked a risk metric up until this point, but now we're adding in the concept of sort of a more manual package review. We're essentially starting off with a file browser. So you can, we're actually downloading the tar ball. So you can explore the source contents of any package that you want. So here I have a package, tidy C disc. You can see all the authors here. You can see a great description. You can see the license, the URL, the bug reports URL, everything is listed here. Super easy to navigate. Just as if you were a developer, you know, on this project and scrolling through the, the files down here, I just am showcasing that if you want to read through like some of the tests to see how robust the tests are looking, you can do that and you can sort of make some decisions and write down some comments on how you feel their tests are written. It's a really handy feature and we have a lots of plans to expand this even more and I'll share that in a little bit as well. Okay, so those are our latest features, a recap of all the features. Lots of activity has been happening in the repo. And so like I said, please open some GitHub issues if you want to see some change personally or reach out to us on GitHub or reach out on Slack or in the chat or something if you want to get involved in this project because we can always use more hands, more developers to keep the effort going. Okay, so I thought I'd take a break from the slides and just switch over to a chat and I'm sorry, switch over to the application to show off like how it looks today now that we have all these new features in there and we'll review a package called prodlin. So first when you come over. Oh, I also, if you guys want to follow along, we put this in a chat. Send to everyone. Send. Okay, so I just sent you a link if you want to kind of follow along with the demo. Basically it's available right now. It's hosted on Shiny apps IO and it's a version of the application that is pre-populated with about 300 packages. The first one is the farmer verse uploaded the tidy verse uploaded and I think about 250 other packages that are highly popular packages so they have like the most downloads out of all of cram. So the first screen you're going to come to is our authentication screen and you're going to see what version of the app you're working with. This is the latest one 2.0.0. And then there's some instructions down here if you want to log in as a certain type of user. So there's an admin user, a lead user and a reviewer, each with username and the password is available right there. So I'm going to log in as an admin user. And that will redirect me to the application. And so the application depending on the last time you've seen it looks more or less the same. There's a big control panel on the left hand side. You can select, you know, a package from the database that you've previously uploaded. If you haven't uploaded something yet, feel free to just type in the name of the package here. You can upload as many packages as you want. And this list is actually pulling all the packages from cram. So you have access to them all right there. So you can type in, you know, anything that you want. You also have the power to delete packages if you want. Or if you want to upload like a large swath of packages, maybe you have like 500 packages you want to upload, you can browse for a CSB on your computer. It just has to be in this format where the package is given and the version is given. Oh yeah. So before I start looking at problem, this is where you can sort of adjust your decisions on the fly. You're automated decisions. So for example, if you want medium risk to be from 0.3 to 0.64, and you actually do want low risk to be categorized, you can add low risk in here. Or maybe you just want to do high risk. That's a possibility. But you can also, like I said, change the colors to be something else. If you're not satisfied with the colors. So. But I'm just going to leave those as is for now. And I said I wanted to look up a package called prod limb. So I, I have never used prod limb before. I decided to be a good example for us to look at. If I go over to the build report tab, actually, it'll tell us what it does. So it says it's a fast and user friendly implementation of non parametric estimators for censored event history. So Kevin Meyer and things like that. Um, so if I go, so usually you're on the upload packages, head over to package metrics, and this is going to be where you see most of your risk metric metrics. And so I intentionally chose this one because it's risk score is rather high. So you can see here that it's at a point eight one. So if you don't know your risk score is point eight one, that's a pretty high risk score. And you can see why. So if you look at these metrics, it's missing vignettes missing a news file. Doesn't have a URL to report books. Kind of find a website or source control. So it's missing quite a bit. It's, it's a lot. So the only thing it does have is we do have a maintainer and we do have dependencies and we have a license. So if I'm reviewing this package, if I put myself in those shoes, I want to just make note of that probably because I'll want that to show up in the final report. So you can see there's some comments down here already, but I'm just going to go ahead and add a fresh comment that says missing quite a bit of metric. So I'm just going to go ahead and go ahead and add some info. We do however. Have a license. And dependencies on file. So I'll get, we'll give them credit for that. And then you can see that the, the comment shows up directly beneath. Beneath that. So heading over to community usage metrics. We can see that this package has existed for a long time, 15 years. And it looks like the latest release was pushed four months ago. So that's good news. It tells me that, you know, both that this package is probably pretty mature, existing for so long. And it's still in development because it's been, you know, put a new release has been pushed in recent history. I can also see that this package is very, very popular. So there's 1.3 million downloads in the last 12 months. So that's pretty good news. So I'm going to go ahead and add a few packages relying it. And I would say 39 is pretty high. I wish I had 39 packages relying on the packages I build. But if you look here, it looks like even though it's existed for 15 years, it's had zero downloads on CRAN until about 2008. So this is a fun little graphic and we can kind of zoom in on the time period that we're interested in. So we have a number of downloads per month since, since inception of the package. So you can see that it really got its first bump in like 2017, where I had 50,000 downloads in a month. And it's been kind of trending upwards ever since then to probably a climax in November of 2021, where I had 350,000 downloads. So it's quite a bit. I'm not super worried about this downward trend because it looks like it's highly influenced by, you know, the first bump that it had in 2021. I would, if I had to fit a line to it without that bump, I'd say it's probably, you know, trending slightly upward even so. So taking in all that information, maybe I just want to make a few comments saying, Hey, this, this package is really popular. Popular at 1.3. Oops. 1.3 million downloads. And maybe I'll just say in one year. It's still actively developed. Almost 40 packages rely on it. Yeah, I think that's about all I wanted to say about, from a community usage perspective. So I think that the community usage looks really great. I think this bodes well for the package. So taking us up further, this is the new package dependencies page that we added. So this is nice because it gives us sort of a firsthand look at, you know, the footprint, the dependency footprint of a package. So we did get the metric on page one, sorry, page one maintenance metric and said there's 10. But now we're kind of just zooming in on that to see, you know, what 10 are we talking about? And it looks like three of those are actually just base our packages. And then some of them appear to be slightly riskier. So maybe we want to investigate the diagram package or something like that. But in general, it looks okay. In terms of it's not relying on too many packages. There are two packages that we haven't uploaded yet. So if we wanted to, we could click this button, these buttons to upload each one of those. And if you wanted to see the reverse dependencies, all the packages that exist, you can do that here. So it looks like a censored relies on it. And even parsnip relies on it, which is I think a tidy verse package. So that's probably why or where it got its boost in popularity is one, maybe one parsnips are using it, but I haven't confirmed that. So. Okay, so that rounds out sort of our metrics. So, you know, I thought we could just take a minute and explore the package via the source Explorer. So this is our file browser that's literally like downloading the tar ball and untie it so that you can browse the contents of the package. And the first thing that you're going to notice is that this, this file tree browser is pretty, pretty bare bones. There's not much here. I mean, you have what you need to make a package. But there, there isn't a whole lot. So the description files pretty bare. You know, it just has the bare minimum. Looks like there's just one, one author. I don't see any other contributors, which may be a risk for you. I don't know if they're for your organization. If you like to see more authors. And then it looks like there's a lot of, there's a lot of our files. So, you know, we scroll down just a little bit. There's probably like 40, if I had to guess, maybe 40 or 50, our files here. So that tells me that there's like just a lot of helper functions used to sort of support the, the exported functions for this package. And so likewise, I would expect, you know, to see a lot of tests, right? If there's high test coverage. But it looks like there is just about three, you know, three test files for this package. So that doesn't, that doesn't bode well from a testing perspective. So maybe that's something I'd want to make a comment on. So test coverage appears to be, to be lacking with three test files and about 40 ish. Our functions. So that's our folder. So I think that's worth noting. And so that comment goes down there as well. So that's, that's sort of all we have to offer so far in terms of exploring. So now we can head over to the build report tab. And so this is where we can kind of finalize things like what do we actually want to include in the report before we send it on to, you know, the person making the package inclusion decisions. So here you can see all of our maintenance metrics are included of our comments of our community usage metrics. We even have this plot here, which you can of course adjust to whatever time frame that you want. If you just want to show the last two years, you could do that. Or the last one year, whatever is important to you. And then as I mentioned before, there's a metadata portion to this report. So here we have the version of the app, the version of risk metric, the date and time it was generated and also just a quick recap of the metric weights. So here you can see we're only prioritizing vignettes to be slightly higher. So we give it for some reason, you know, vignettes are important to us. So we waited that a little bit higher. So like before, I'll probably get rid of the report author and overall score.  And you can add that, all the pieces of information that you need, and it'll show up down here in your report. So I'll just download that as HTML. And that takes just a minute and then it'll be ready to send. So just to give you a quick preview. That's what it looks like. This is what I want to send to the next person who needs to know about this package for your package inclusion request for GXP environment. So that's what it looks like. I'll close that down. And then basically my, you know, my job is done for now for this package. If you wanted to review like all the packages in the database, that is that the database to have up here. And we kind of already went over this, but and you can zip over to any package that you want just by clicking these buttons. Okay, so that's, I think that's all I really had to share. Oh, I guess real quickly, this is where your admin tools are located. So you can add and edit users. You can assign and adjust privileges here, roles and privileges for who is using the app. And then you can also adjust your weight. So if you really want to up the ante on your vignettes, you can crank that weight way up or adjust it down whatever you want. And then you can also back up your database if you want to download a copy that's accessible to you as well. Okay, so with that said, that's kind of the premise of the demo. And then I just wanted to talk about a few things that are coming soon. And then we'll talk about, we'll share some Q&A. Time of Q&A. So Eric mentioned this in part one of the many series, but risk score is a fun new initiative that is kickstarting and complements the risk metric package really well. It'll help lots of folks be able to, you know, see how risk scores are trending over time. I think that would be helpful for the application. And I think it'll be helpful for the developers of risk metric to see like, you know, as different versions of risk metric come out, how our scores impacted. So I'm really excited to see that kind of get off the ground. And we're loosely planning on shooting for the October timeframe to get that repo more robust right now. It's in an experimental state, but it does have some initial like an initial data set that has scores for all of CRAM, which is about 20,000 or so packages. So that's something excited to look forward to. And yeah, this is just a distribution of different groups and their risk scores. So here's like the tidy verse has like this pristine, you know, record of having really low risk scores. And then the farmer versus actually not too far behind. So that, that looks good, but they do have a slight tail off to the right. And then here's a number of other groups of packages based off of popularity. So the top 100 downloads, the top 100 to 500 and so on. And then this is the other thing that I'm really excited to announce is we're going to continue to build out our package explorer. Thanks to our friends at GSK for sharing their code with us. They built a really cool shiny app. A couple of years ago that actually helps assess any exported function from a package. It will digest three things. So you can see the test code. So right now we're displaying test code. And every time that that function is being called in a test file, you can explore the source code. And you can also explore the documentation all in one easy to use like user interface. So that's the direction we're going to be heading and going for the future. And so I just wanted to sort of tease that now because it's something exciting to look forward to. Okay, so this is our depth team. The app wouldn't be where it is today without all these members contributed in one way or another. So a huge thanks, huge shout out to them and other contributions in the last several years. And then that's all I have for you. So I have a be happy to answer any questions. That may have popped up while I was going through that. I'm talking about the latest enhancements are going through the demo or whatever. But I have some links here for you. So if you're interested, I can share these. Yeah, I can actually just paste these right here. I think I already shared the demo one. But if you want to reach out on GitHub, here's that link. And if you want to reach out, we put together a Google form for a survey. So this basically just helps us understand how you're using risk metric or risk assessment. So we'd love to hear from you on that. And it looks like I need to include HTTP HTTPS. And then of course, farm our org is, it's really helpful if you want to get involved or reach out and join an existing work stream. And you can join, you know, risk metric risk assessment or you can even join other work streams that exists in the our validation. So with that, yeah, is there any questions be happy to talk if you want to take yourself off mute or if you just want to comment your question in the chat either works great for me. Hi, Aaron. So I had one question on the demo, would you showed how much of that is like admin specific and like our reviewers are viewers like who would with the package kind of assessment you were going through who would be able to see all those features. Yeah, so that's a good question. Okay, as an admin, you obviously have like all rights, all privileges to look at everything that you want. And I would direct your attention to this roles and privileges tab. So this is under admin tools, roles and privileges. And that will actually show you who has what right. So admin can do everything. A lead can do everything except for, and these are just, you know, these are defaults that we built into the app. You can customize these roles to do whatever you want. So you can take, I mean, you can take these as is, but really you can do whatever. So this, a lead can adjust the metric weights. They can adjust the automated decision making. So like if you upload a package, if the score is really high, it'll automatically, you know, put the label on it that this is a high risk package. So admin can make final decisions. They can revert final decisions. They can add new packages that can delete packages, and then they can make overall comments and general comments. And then similarly for a reviewer, they can only add packages and make general comments. So that's kind of the way we've set it up. But obviously, yeah, like I said, you can, you can set it up however your organization wants to, but in general, you can make overall comments and general comments. So that's kind of the way we've set it up. So that's kind of the way we've set it up for all the privileges that exist to date. Awesome. Thank you. Yeah, you're welcome. This is a good question. Okay. Oh yeah. So someone asked, what is test coverage? Why not actually calculate code coverage? So I was, I guess I was using those words. Interchangeably. So code coverage or test coverage is, it's not, it's not going to render on this demo app. And that's because we are seeking out what's called the CRAN remote source for the package. So if you have, you know, the source for any given package, like the source code, you can actually risk metric will calculate this for you. But since we are, you know, this is just meant to be a lightweight application. So I think that we just want to grab information from the CRAN remote source. And so there's a few metrics that actually can't be calculated because of that. And actually I was talking with some of our developers this morning on that. And I think we'll probably start to tailor the app a little bit more. Like whenever there isn't a metric that's available for a given source, you know, we probably won't show it anymore. For example, test coverage. This card here probably shouldn't show up. But the good news is, is this, this being not found, it's not going to hurt your score. It only, only assessments that exist can actually impact your score. So this test coverage is not going to impact it. It's like a quick question. Okay, cool. Thank you for following up on that. And I'll have a question per se. So I don't have a question. I have one thought. And maybe I can add this is an issue on the GitHub.  Because it took a second for it to load. And for me, I would have thought something was wrong and tried to reload the page. So. Okay. Yeah, that's, that's a good point. Yeah. Yeah. I think there's a bunch of, you know, so we have 300, 300 packages uploaded in our database. And it's got to go find the tar ball and start to, to populate this area. So yeah, I think that we actually have some things in mind to improve speed a little bit, but you're right. If there is like a little weight. Yeah, we should definitely show the user that, Hey, everything's working. Yeah. Yeah. Yeah. So just wait a minute and then we'll show you something cool. Avoid the rage refresh. Yeah. Yes. Absolutely. Yes. Okay. Thank you for that. Yeah. If you want to open a GitHub issue, I love that because I love it when. Other people are opening GitHub issues and not just me. So. Sure. I'll put that in for you. Thank you. Cool. Let's see. So what about our CMD check any plans to include results from it? It says, in my opinion, the RCM D check and code coverage are the most important metrics. Yes. I think our CMD check also has some problems with crane remote. I guess Eric, maybe you can confirm that for me. So, yeah, so the actual running of. Our command check happens for source packages. But not for remote. So that will be coming, I think, as we nest different source types. But there is a metric. Or crane remotes where we scraped the results of crans, our command checks on their test servers. Now. So it is important. However, if you have errors or warnings. When you submit to Cran, you eventually, you either don't make it the Cran or you get rebooted from Cran. If you don't resolve them quickly enough. So for, so if you're using the Cran remote object. In fact, the Cran, the Cran command check results are not that informative because they pass on the test systems. Yeah, 95% of the time. Right. And then second to our command check is. It is a good one. However, it's trying to starts to violate the, the sort of the initial spirit of risk metric, which is assessing a package sort of in an isolated environment because our command check requires all the dependencies possibly suggest. And so that pushes it out of that sort of narrowly defined scope, but is on our radar in terms of either assessing cohorts or environments, you know, that have sort of all your packages may be in one place. But we do run it for a source package or can run it for a source package for sure. Yeah, that's a good call. Yeah. The only thing that you would be able to have visibility to with a Cran remote is just notes, right? Cause you can, you can have notes while you're on Cran, but otherwise, yeah, they'll have a problem with any warnings or errors. Yeah. And even notes, I think they can have, they'll have, sometimes have problems with, cause Cran is notoriously picky. We'll say sometimes with their submission criteria. Yes. Okay. Yeah, that's a good question. Yeah. And Eric alluded to this a little bit, but there, there may be a time in the near future when risk metric will automatically sort of be nesting or chaining the different source types. So, um, and I forgot to mention this, um, when I was reviewing test coverage, um, for now we may take this card out if it's not available, but in the future risk metric may be able to pull it, um, uh, automatically for us. And that way I will have more complete, uh, view of what's happening, um, in this maintenance metrics landscape. So that was also mentioned last weekend during part one of the series. Cool. All right. Well, any more questions or comments or suggestions? Uh, is this like tied to a specific version of our, because sometimes, you know, packages will not be available for a given version. So, or is it just like our version agnostic? Yeah. So, um, you can run the app, the application.  So this is our GitHub page and there is, um, some installation instructions here. And so we are using, um, sorry, let me scroll down the right spot. Yeah. Okay. So, um, we are using R M, um, to sort of control the version of R that we're working with for development purposes. And we would propose, you know, that's probably something that you should also do within your organization to sort of fix on a specific version of R. But, um, you can, uh, you can run on the latest version, uh, but we would just, you know, highly recommend being intentional about which one you are using. So we found R M is a good way to do that. Um, so yeah, the demo app is using a certain version, probably our four, four point two point two, I think. Um, uh, right now. So yeah, if I had to guess, that's what, that's the one it's using. Yeah. There's more, there's more context here in this installation, um, section. So I'll just paste this in the chat too. Thank you. Okay. Thank you. Any other questions, comments, suggestions? Okay. Hearing none, uh, I will give you six minutes back. And, uh, thank you so much for joining us today. Um, our validation hub certainly appreciates, uh, your interests. And like I said, if you have any more comments, uh, reach out to us on GitHub. Um, and we'd be glad to, to keep the conversation going. All right. Thanks everyone. Have a good day. Thank you. Thank you.