Chapter 1 of The Bird's Christmas Carol This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. Recording by Missy, Guangzhou, China. The Bird's Christmas Carol by Kate Douglas-Wiggin Chapter 1. A Little Snowbird It was very early Christmas morning and in the stillness of the dawn with the soft snow falling on the housetops a little child was born in the bird household. They had intended to name the baby Lucy if it were a girl but they hadn't expected her on Christmas morning and a real Christmas baby was not to be lightly named. The whole family agreed and that. They were consulting about it in the nursery. Mr.  Paul chose Luella for Luella was the nurse who had been with him during his whole babyhood up to the time of his first trousers and the name suggested all sorts of comfortable things. Uncle Jack said that the first girl should always be named for her mother no matter how hideous the name happened to be. Grandma said that she would prefer not to take part in the discussion and everybody suddenly remembered that Mrs. Bird had thought of naming the baby Lucy for Grandma herself and while it would be indelicate for her to favor that name it would be against human nature for her to suggest any other under the circumstances. Hugh, the hitherto baby if that is the possible term sat in one corner and said nothing but felt in some mysterious way that his nose was out of joint for there was a newer baby now a possibility he had never taken into consideration and the first girl too a still higher development of treason which made him actually green with jealousy but it was too profound a subject to be settled then and there on the spot. Besides Mama had not been asked and everybody felt it rather absurd after all to forestall a decree that was certain to be absolutely wise just and perfect. The reason that the subject had been brought up at all so early in the day lay in the fact that Mrs. Bird never allowed her babies to go overnight unnamed. She was a person of so great decision of character that she would have blushed at such a thing.  She also said that if one could not make up one's mind in 24 hours it was a sign that but I will not repeat the rest as it might prejudice you against the most charming woman in the world. So Donald took his new velocity and went out to ride up and down the stone pavement and notched the shins of innocent people as they passed by while Paul spun his musical top on the front steps. But Hugh refused to leave the scene of action. He seated himself on the top stair in the hall banged his head against the railing a few times just by way of uncorking the vials of his wrath and then subsided into gloomy silence waiting to declare war if more first girl babies were thrust upon a family already surfeted with that unnecessary article. Meanwhile, dear Mrs. Bird lay in her room weak but safe and happy with her sweet girl baby by her side and the heaven of motherhood opening before her. Nurse was making gruel in the kitchen and the room was dim and quiet. There was a cheerful open fire in the grate but though the shutters were closed the side windows that looked out on the church of our savior next door were wide open. Suddenly a sound of music poured out into the bright air and drifted into the chamber. It was the boy choir singing Christmas anthems. Higher and higher rose the clear fresh voices full of hope and cheer as children's voices always are. Fuller and fuller grew the burst of melody as one glad strain fell upon another in joyful harmony. Carol brothers Carol Carol joyfully Carol the good tidings Carol merrily and pray a glad some Christmas for all your fellow men. Carol brothers Carol Christmas day again. One verse followed another always with the same glad refrain and pray a glad some Christmas for all your fellow men. Carol brothers Carol Christmas day again. Mrs. Bird thought as the music floated in upon her gentle sleep that she had slipped into heaven with her new baby and that the angels were bidding them welcome. But the tiny bundle by her side stirred a little and though it was scarcely more than the ruffling of a feather she awoke for the mother ear is so close to the heart that it can hear the faintest whisper of a child. She opened her eyes and drew the baby closer. It looked like a rose dipped in milk she thought this pink and white blossom of girlhood or like a pink cherub with its halo of pale yellow hair finer than floss silk. Carol brothers Carol Carol joyfully Carol the good tidings Carol merrily the voices were brimming over with joy. Why my baby whispered Mrs. Bird in soft surprise. I had forgotten what day it was.  What said Mr. Bird coming in softly and closing the door behind him? Why Donald don't you think Carol is a sweet name for a Christmas baby? It came to me just a moment ago in the singing as I was lying here half asleep and half awake. I think it is a charming name dear heart and that it sounds just like you and I hope that being a girl this baby has some chance of being as lovely as her mother at which speak from the baby's papa Mrs. Bird though she was as weak and tired as she could be blushed with happiness and so Carol came by her name. Of course it was thought foolish by many people though Uncle Jack declared laughingly that it was very strange if a whole family of birds could not be indulged in a single Carol and Grandma who adored the child thought the name much more appropriate than Lucy but was glad that people would probably think it short for Caroline. Perhaps because she was born in holiday time Carol was a very happy baby. Of course she was too tiny to understand the joy of Christmas tide but people say there is everything in a good beginning and she may have breathed in unconsciously the fragrance of evergreens and holiday dinners while the peals of sleigh bells and the laughter of happy children may have fallen upon her baby ears and wakened in them a glad surprise at the merry world she had come to live in. Her cheeks and lips were as red as holly berries her hair was for all the world the color of a Christmas candle flame her eyes were brightest stars her laugh like a chime of Christmas bells and her tiny hands forever outstretched in giving such a generous little creature you never saw a spoonful of bread and milk had always to be taken by mama or nurse before Carol could enjoy her supper and whatever bit of cake or sweet meat found its way into her pretty fingers it was straightaway broken in half and shared with Donald, Paul, or Hugh and when they made believe nibble the morsel with effected enjoyment she would clap her hands and crow with delight. Why does she do it? asked Donald thoughtfully none of us boys ever did. I hardly know said mama, catching her darling to her heart except that she is a little Christmas child and so she has a tiny share of the blessedest birthday the world ever saw. End of Chapter 1 Chapter 2 of the Bird's Christmas Carol This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer please visit LibriVox.org Recording by Missy Guangzhou, China The Bird's Christmas Carol by Kate Douglas Wigan Chapter 2 Drooping Wings It was December, ten years later. Carol had seen nine Christmas trees lighted on her birthdays one after another nine times she had assisted in the holiday festivities of the household though in her babyhood her share of the gayities was somewhat limited. For five years certainly she had hidden presence for mama and papa in their own bureau drawers and harbored a number of secrets sufficiently large to burst a baby's brain had it not been for the relief gained by whispering them all to mama at night when she was in her crib a proceeding which did not in the least lessen the value of a secret in her innocent mind. For five years she had heard Twas the night before Christmas and hung up a scarlet stocking many sizes too large for her and pinned a sprig of holly on her little white nightgown to show Santa Claus that she was a truly Christmas child and dreamed of fur-coated saints and toy packs and reindeer and wished everybody a merry Christmas before it was light in the morning and lent every one of her new toys to the neighbor's children before noon and eaten turkey and plum pudding and gone to bed at night in a trance of happiness at the day's pleasures. Donald was away at college now Paul and Hugh were great manly fellows taller than their mother Papa Bird had gray hairs in his whiskers and Grandma, God bless her, had been for Christmases in Heaven but Christmas in the birds nest was scarcely as merry now as it used to be in the bygone years for the little child that once brought such an added blessing to the day lay, month after month, a patient, helpless invalid in the room where she was born. She had never been very strong in body and it was with a pang of terror her mother and father noticed soon after she was five years old that she began to limp ever so slightly to complain too often of weariness and to nestle close to her mother saying she would rather not go out to play, please. The illness was slight at first and hope was always stirring in Mrs. Bird's heart Carol would feel stronger in the summer time or she would be better when she had spent a year in the country or she would outgrow it or they would try a new physician but by and by it came to be all too sure that no physician save one could make Carol strong again and that no summer time nor country air unless it were the everlasting summer time in a heavenly country could bring back the little girl to health. The cheeks and lips that were once as red as hollyberries faded to faint pink the star like eyes grew softer for they often gleamed through tears and the gay child laugh that had been like a chime of Christmas bells gave place to a smile so lovely so touching so tender and patient that it filled every corner of the house with a gentle radiance that might have come from the face of the Christ child himself. Love could do nothing and when we have said that we have said all for it is stronger than anything else in the whole wide world. Mr. and Mrs. Bird were talking it over one evening when all the children were asleep. A famous physician had visited them that day and told them that some time it might be in one year it might be in more Carol would slip quietly off into heaven once she came. Dear heart said Mr. Bird pacing up and down the library floor it is no use to shut our eyes to it any longer Carol will never be well again. It almost seems as if I could not bear it when I think of that loveliest child doomed to lie there day after day and what is still more to suffer pain that we are helpless to keep away from her. Merry Christmas indeed it gets to be the saddest day in the year to me and poor Mr. Bird sank into a chair by the table and buried his face in his hands to keep his wife from seeing the tears that would come in spite of all his efforts. But Donald dear said sweet Mrs. Bird with trembling voice Christmas Day may not be so merry with us as it used but it is very happy and that is better and very blessed and that is better yet. I suffer chiefly for Carol's sake but I have almost given up being sorrowful for my own. I am too happy in the child and I see too clearly what she has done for us and for our boys. That's true. Bless her sweet heart said Mr. Bird she has been better than a daily sermon in the house ever since she was born and especially since she was taken ill. Yes. Donald and Paul and Hugh were three strong willful boisterous boys but you seldom see such tenderness, devotion, thought for others and self-denial in lads of their years. A quarrel or a hot word is almost unknown in this house, why? Carol would hear it and it would distress her.  The boys study with all their might and may and why? Partly at least because they like to teach Carol and amuse her by telling her what they read. When the seamstress comes she likes to sew in Miss Carol's room because there she forgets her own troubles which Heaven knows are sore enough. And as for me, Donald, I'm a better woman every day for Carol's sake. I have to be her eyes, ears, feet, hands, her strength, her hope and she, my own little child, is my example. I was wrong, dear heart said Mr. Bird more cheerfully. We will try not to repine but to rejoice instead that we have an angel of the house like Carol. And as for her future Mrs. Bird went on I think we need not be over-anxious. I feel as if she did not belong altogether to us and when she has done what God sent her for he will take her back to himself and it may not be very long. Here it was poor Mrs. Bird's turn to break down and Mr. Bird's turn to comfort her. End of Chapter 2 Chapter 3 of The Bird's Christmas Carol This is a Libra Rocks recording. All Libra Rocks recordings are in the public domain For more information or to volunteer please visit LibraVox.org Recording by Corrie Samuel The Bird's Christmas Carol by Kate Douglas-Wiggin Chapter 3 The Bird's Nest Carol herself knew nothing of motherly tears and fatherly anxieties. She lived on peacefully in the room where she was born. But you would never have known that room for Mr. Bird had a great deal of money and though he felt sometimes as if he wanted to throw it all in the ocean since it could not buy a strong body for his little girl yet he was glad to make the place she lived in just as beautiful as it could be made. The room had been extended by the building of a large addition that hung out over the garden below and was so filled with windows that it might have been a conservatory. The ones on the side were thus still nearer the little church of our Saviour than they used to be. Those in front looked out on the beautiful harbour and those in the back commanded a view of nothing in particular but a little alley. Nevertheless, they were pleasantest of all to Carol for the Ruggles family lived in the alley and the nine little, middle-sized and big Ruggles children were the source of inexhaustible interest. The shutters could all be opened and Carol could take a real sun bath in this lovely glass house or they could all be closed when the deer had ached or the deer eyes were tired. The carpet was off soft grey with clusters of green bay and holly leaves. The furniture was of white wood on which an artist had painted snowscenes and Christmas trees and groups of merry children ringing bells and singing carols. Donald had made a pretty polished shelf and screwed it on to the outside of the footboard and the boys always kept this full of blooming plants which they changed from time to time. The headboard too had a bracket on either side where there were pots of maidenhair ferns. Lovebirds and canaries hung in their golden houses in the windows and they, poor caged things, could hop as far from their wooden perches as Carol could venture from her little white bed. On one side of the room was a bookcase filled with hundreds. Yes, I mean it, with hundreds and hundreds of books. Books with gay-coloured pictures, books without, books with black and white outline sketches, books with none at all, books with verses, books with stories, books that made children laugh and some that made them cry, books with words of one syllable for tiny boys and girls and books with words of fearful length to puzzle wise ones. This was Carol's circulating library. Every Saturday she chose ten books jotting their names down in a little diary. Into these she slipped cards that said, please keep this book two weeks and read it, with love Carol Bird. Then Mrs. Bird stepped into her carriage and took the ten books to the children's hospital and brought home ten others that she had left there the fortnight before. This was a source of great happiness. For some of the hospital children that were old enough to print or write and were strong enough to do it, wrote Carol cunning little letters about the books and she answered them and they grew to be friends. It is very funny, but you do not always have to see people to love them. Just think about it and see if it isn't so. There was a high wainscotting of wood about the room and on top of this in a narrow gilt framework ran a row of illuminated pictures illustrating fairy tales all in dull blue and gold and scarlet and silver and other lovely colors. From the door to the closet there was the story of The Fair One with Golden Logs. From closet to bookcase ran Puss in Boots. From bookcase to fireplace was Jack the Giant Killer and on the other side of the room were Hopper My Thumb, The Sleeping Beauty and Cinderella. Then there was a great closet full of beautiful things to wear but they were all dressing gowns and slippers and shawls and there were drawers full of toys and games but they were such as you could play with on your lap. There were no ninepins nor balls nor bows and arrows nor beanbags nor tennis rackets but after all other children needed those more than Carol Byrd for she was always happy and contented whatever she had or whatever she lacked. And after the room had been made so lovely for her on her eighth Christmas she always called herself in fun a bird of paradise. On these particular December days she was happier than usual for Uncle Jack was coming from Europe to spend the holidays. Dear, funny, jolly, loving, wise Uncle Jack who came every two or three years and brought so much joy with him that the world looked as black as a thundercloud for a week after he went away again. The male had brought this letter. London November 28th, 1880-something Wish you Merry Christmas, you dearest birdlings in America preen your feathers and stretch the bird's nest a little, if you please and let Uncle Jack in for the holidays. I am coming with such a trunk of treasures that you'll have to borrow the stockings of Barnum's Giants and Giantess. I am coming to squeeze a certain little lady bird until she cries for mercy. I am coming to see if I can find a boy to take care of a little black pony I bought lately. It's the strangest thing I have in you. I've hunted all over Europe and can't find a boy to suit me. I'll tell you why. I've set my heart on finding one with a dimple in his chin because this pony particularly likes dimples. Hurrah! cried Hugh. Bless my dear dimple. I'll never be ashamed of it again. Please drop a note to the clerk of the weather and have a good rousing snowstorm, say on the twenty-second. None of your meek, gentle, nonsensical, shilly-shallying snowstorms not the sort where the flakes float lazily down from the sky as if they didn't care whether they ever got here or not and then melt away as soon as they touch the earth. But a regular business like whizzing, wearing, blurring, cutting snowstorm warranted to freeze and stay on. I should like rather a large Christmas tree if it's convenient, not one of those sprigs, five or six feet high, that you used to have three or four years ago when the birdlings were not fairly feathered out, but a tree of some size. Set it up in the garret if necessary and then we can cut a hole in the roof if the tree chance is to be too high for the room. Tell Brigitte to begin to fatten a turkey. Tell her by the twentieth of December that turkey must not be able to stand on its legs for fat and then on the next three days she must allow it to recline easily on its side and stuff it to bursting. One ounce of stuffing beforehand is worth a pound afterwards. The pudding must be unusually huge and darkly, deeply, lugubriously black in colour. It must be stuck so full of plums that the pudding itself will ooze into the pan and not be brought onto the table at all. I expect to be there by the twentieth to manage these little things, remembering it is the early bird that catches the worm, but give me the instructions in case I should be delayed. And Carol must decide on the size of the tree. She knows best she was a Christmas child and she must plead for the snowstorm the clock of the weather may pay some attention to her and she must look up the boy with the dimple for me. She's likelier to find him than I am this minute. She must advise about the turkey and Bridget must bring the pudding to her bedside and let her drop every separate plum into it and stir it once for luck or I'll not eat a single slice. For Carol is the dearest part of Christmas to Uncle Jack and he'll have none of it without her. She is better than all the turkeys and puddings and apples and spare ribs and wreaths and garlands and mistletoe and stockings and chimneys and sleighbells in Christendom. She is the very sweetest Christmas Carol that was ever written, said, sung or chanted and I am coming as fast as ships and railway trains can carry me to tell her so. Carol's joy knew no bounds. Mr. and Mrs. Bird laughed like children and kissed each other for sheer delight and when the boys heard it they simply whooped like wild Indians until the Ruggles family whose backyard joined their garden gathered at the door and wondered what was up in the big house. End of Chapter 3 Chapter 4 of The Bird's Christmas Carol This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer please visit LibriVox.org The Bird's Christmas Carol by Kate Douglas Wigan Chapter 4 Birds of a Feather flocked together Uncle Jack did really come on the 20th. He was not detained by business nor did he get left behind nor snowed up as frequently happens in stories and in real life too, I am afraid. The snowstorm came also and the turkey nearly died a natural and premature death from overeating. Donald came too. Donald with a line of down upon his upper lip and Greek and Latin on his tongue and stores of knowledge in his handsome head and stories, bless me, you couldn't turn over a chip without reminding Donald of something that happened at college. One or the other was always at Carol's bedside for they fancied her paler than she used to be and they could not bear her out of sight. It was Uncle Jack though who sat beside her in the winter twilight. The room was quiet and almost dark, save for the snowlight outside and the flickering flame of the fire that danced over the sleeping beauty's face and touched the fair one's golden locks with reddier glory. Carol's hand, all too thin and white these latter days, lay closed clasped in Uncle Jack's and they talked together quietly of many, many things. I want to tell you all about my plans for Christmas this year, Uncle Jack, said Carol on the first morning of his visit because it would be the loveliest one I ever had. The boys laugh at me for caring so much about it but it isn't altogether because it is Christmas nor because it is my birthday but long, long ago, when I first began to be ill I used to think, first thing when I wake on Christmas morning, today is Christ's birthday and mine. I did not put the words close together because that made it seem too bold but I first thought, Christ's birthday and then in a minute softly to myself and mine. Christ's birthday and mine. And so I do not quite feel about Christmas as other girls do. Mama says she supposes that ever so many other children have been born on that day. I often wonder where they are, Uncle Jack and whether it is a dear thought to them too or whether I am so much in bed and so often alone that it means more to me. Oh, I do hope that none of them are poor or cold or hungry and I wish I wish they were all as happy as I because they are my little brothers and sisters. Now, Uncle Jack dear, I am going to try and make somebody happy every single Christmas that I live and this year it is to be the ruggles is in the rear. That large and interesting brood of children in the little house at the end of the back garden. Yes, isn't it nice to see so many together? We ought to call them the ruggles children, of course, but Donald began talking of them as the ruggles is in the rear and Papa and Mama took it up and now we cannot seem to help it. The house was built for Mr. Carter's coachman but Mr. Carter lives in Europe and the gentleman who rents his place doesn't care what happens to it and so this poor Irish family came to live there. When they first moved in I used to sit in my window and watch them play in their backyard. They are so strong and jolly and good-natured and then one day I had a terrible headache and Donald asked them if they would please not scream quite so loud and they explained that they were having a game of circus but they would change and play deaf and dumb school all the afternoon. Ha ha ha! laughed Uncle Jack. What an obliging family to be sure. Yes, we all thought it very funny and I smiled at them from the window when I was well enough to be up again. Now Sarah Maught comes to her door when the children come home from school and if Mama nods her head, yes, that means Carol is very well and then you ought to hear the little ruggles as yell. I believe they try to see how much noise they can make but if Mama shakes her head, no, they always play at quiet games. Then one day Carrie, my pet canary, flew out of her cage and Peter Ruggles caught her and brought her back and I had him up here in my room to thank him. Is Peter the oldest? No. Sarah Maught is the oldest. She helps do the washing and Peter is the next. He is a dressmaker's boy. And which is the pretty little red haired girl? That's Kitty and the fat youngster. Baby Larry and that freckled one. Now don't laugh. That's Peoria. Carol, you are joking. No, really, Uncle Deer. She was born in Peoria. That's all. And the next boy, Oshkosh. No, laughed Carol. The others are Susan and Clement and Ely and Cornelius. How did you ever learn all their names? Well, I have what I call a window-school. It is too cold now, but in warm weather I am wheeled out on my little balcony and the Ruggles just climb up and walk along our garden fence and sit down on the roof of our carriage house. That brings them quite near and I read to them and tell them stories. On Thanksgiving Day, they came up for a few minutes. It was quite warm at 11 o'clock and we told each other what we had to be thankful for. But they gave such queer answers that Papa had to run away for fear of lapping and I couldn't understand them very well. Susan was thankful for trunks of all things in the world. Cornelius for horse cars. Kitty for pork steak. While Clem, who was very quiet, brightened up when I came to him and said he was thankful for his lame puppy. Wasn't that pretty? It might teach some of us a lesson, mightn't it, little girl? That's what Mama said. Now I'm going to give this whole Christmas to the Ruggles's and, Uncle Jack, I earned part of the money myself. You, my bird? How? Well, you see, it could not be my own on Christmas if Papa gave me all the money and I thought to really keep Christ's birthday, I ought to do something of my very own. And so I talked with Mama. Of course, she thought of something lovely. She always does. Mama's head is just brimming over with lovely thoughts and all I have to do is ask and outpops the very one I want. This thought was to let her write down just as I told her a description of how a little girl lived in her own room three years and what she did to amuse herself. And she sent it to a magazine and got twenty-five dollars for it. Just think. Well, well, cried Uncle Jack, my little girl a real author and what are you going to do with this wonderful own money of yours? I shall give the nine Ruggles a grand Christmas dinner here in this fairy room. That will be Papa's contribution and afterwards a beautiful Christmas tree, fairly blooming with presents. That will be my part. For I have another way of adding to my twenty-five dollars so that I can buy everything I like. I should like it very much if you would sit at the head of the table, Uncle Jack, for nobody could ever be frightened of you. You dearest, dearest, dearest thing that ever was. Mama is going to help us, but Papa and the boys are going to eat together downstairs for fear of making the little Ruggles as shy. And after we've had a merry time with the tree, we can open my window and all listen together to the music at the evening church service if it comes before the children go. I have written a letter to the organist and asked him if I might have the two songs I like best. Will you see if it is all right? Ferd's Nest, December 21st, 1880 Dear Mr. Wilkie, I am the little sick girl who lives next door to the church, and as I seldom go out, the music on practice days and Sundays is one of my greatest pleasures. I want to know if you can let the boys sing Carol Brothers Carol on Christmas night, and if the one who sings my own country so beautifully may please sing that too. I think it is the loveliest song in the world, but it always makes me cry, doesn't it you? If it isn't too much trouble, I hope they can sing them both quite early, as after ten o'clock I may be asleep. Yours respectfully, Carol Bird. P.S.  She didn't remember then that my other name would be Bird, because she was half asleep and couldn't think of but one thing at a time. Donald says if I had been born on the 4th of July, they would have named me Independence, or if on the 22nd of February, Georgina, or even Cherry, like Cherry in Martin Chuzzlewit, but I like my own name and birthday best. Yours truly, Carol Bird. Uncle Jack thought the letter quite right and did not even smile at her telling the organ is so many family items. The day flew by as they always fly in holiday time, and it was Christmas Eve before anybody knew it. The family festival was quiet and very pleasant, but quite swallowed up in the grand preparations for next day. Carol and Elfride, her pretty German nurse, had ransacked books and introduced so many plans and plays and customs and merry makings from Germany and Holland and England, and a dozen other places that you would scarcely have known how or where you were keeping Christmas. The dog and the cat had enjoyed their celebration under Carol's direction. Each had a tiny table with a lighted candle in the center, and a bit of bologna sausage placed very near it, and everybody laughed till the tears stood in their eyes to see Villicombs and Dinah struggle to nibble the sausages, and at the same time evade the candle flame. Villicombs barked and sniffed and howled in impatience, and after many vain attempts exceeded in dragging off the prize, though he cinched his nose in doing it. Dinah, meanwhile, watched him placidly, her delicate nostrils quivering with expectation, and, after all excitement had subsided, walked with dignity to the table, her beautiful gray satin tail sweeping behind her, and calmly putting up one velvet paw, drew the sausage gently down, and walked out of the room without turning a hair, so to speak. Elfride had scattered handfuls of seeds over the snow in the garden that the wild birds might have a comfortable breakfast next morning and had stuffed bundles of dried grasses in the fireplaces. So that the reindeer of Santa Claus could refresh themselves after their long gallops across country. This was really only done for fun, but it pleased Carol. And when, after dinner, the whole family had gone to church to see the Christmas decorations, Carol limped wearily out on her little crutches, and with Elfride's help placed all the family boots in a row in the upper hall. That was to keep their dear ones from quarreling all through the year. There were Papa's stout top boots, Mama's pretty button shoes next, then Uncle Jack's, Donald's, Paul's, and Hughes, and at the end of the line her own little white worsted slippers. Last and sweetest of all, like the little children in Austria, she put a lighted candle in her window to guide the dear Christ child, lest he should stumble in the dark night as he passed up the deserted street. This done, she dropped into bed. A rather tired but very happy Christmas fairy. End of Chapter 4 Chapter 5 of The Bird's Christmas Carol This is LibriVox Recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. The Bird's Christmas Carol by Kate Douglas Wigan. Chapter 5 Some Other Birds Are Taught to Fly Before the earliest ruggles could wait until his five cent ten horn, Mrs. Ruggles was up and stirring about the house, for it was a gala day in the family. Gala day, I should think so, were not her nine children invited to a dinner party at the great house, and weren't they going to sit down free and equal with the mightiest in the land? She had been preparing for this grand occasion ever since the receipt of the invitation, which by the way had been speedily enshrined in an old photograph frame and hung under the looking glass in the most prominent place in the kitchen, where it stared the occasional visitor directly in the eye, and made him pale with envy. Bird's Nest December 17th, 1880 Dear Mrs. Ruggles, I am going to have a dinner party on Christmas Day, and would like to have all your children come. I want them every one, please, from Sarah Mald to Baby Larry. Mama says dinner will be at half past five, and the Christmas tree at seven, so you may expect them home at nine o'clock. Wishing you a Merry Christmas and a Happy New Year. I am, yours truly, Carol Bird. Breakfast was on the table promptly at seven o'clock, and there was very little of it too, for it was an excellent day for short rations, though Mrs. Ruggles heaved a sigh as she reflected that even the boys, with their indio rubber stomachs, would be just as hungry the day after the dinner party, as if they had never had any at all. As soon as the scanty meal was over, she announced the plan of the campaign.  I ain't satisfied with his clothes, and I thought in the night of a way to make him a dress out of my old plaid shawl, kind of Scotch style, you know? You boys, clear out from underfoot. Clem, you and Conn hop into bed with Larry while I wash your under-flannins. Don't take long to dry him. Sarah Maude, I think it would be perfectly handsome if you rip them brass buttons off your uncle's policemen's coat and sew them in a row up the front of your green skirt. Susan, you must iron out yours and Kitty's aprons. And there, I can mighty near forget in peorey stockings. I counted the whole lot last night when I was washing some of them, and there ain't but nineteen. Anyhow, you're fix'em, and no nine pairs mates know how. And I ain't going to have my children wearing odd stockings to a dinner company, brought up as I was. Ely, can't you run out and ask Miss Cullen to lend me a pair of stockings for peorey? And tell her if she will, peoreal give Jim half her candy when she gets home. Won't you, peorey? Peorea was young and greedy and thought the remedy so much worse than the disease that she set up a deafening howl at the projected bargain. I howl so rebellious and so out of all season that her mother started in her direction with flashing eye and uplifted hand.  The matter being put so plainly, peorea collected her faculties, dried her tears, and chose the lesser evil. Clem, having hastened the decision by an affectionate wink, that meant he'd go house with her on his candy. That's a lady, cried her mother. Now you young ones that ain't doing nothing, play all your want to her before noontime, for after you get through eating at twelve o'clock, me and Sarah Maud's going to give you're such a washin' and Coleman and Dressin' as you never had before, and never will again. And then I'm going to set your down and give you two solid hours' training in manners, and won't be no fool in neither. All we've got to do is go eat, grumbled Peter. Well, that's enough, responded his mother. There's more than one way of eatin', let me tell you, and you've got a heap to learn about it, Peter Ruggles. Lord sakes, I wish you children could see the way I was fetched up to eat. Never took a meal of vitals in the kitchen before I married Ruggles. But you can't keep up that style with nine young ones, and your paw always off to sea. The big Ruggles has worked so well, and the little Ruggles has kept from underfoot so successfully, that by one o'clock nine complete toilets were laid out in solemn grandeur on the beds. I say complete, but I do not know whether they would be called so in the best society. The law of compensation had been well applied. He that had necktie had no cuffs. She that had sash had no handkerchief, and vice versa. But they all had boots and a certain amount of clothing such as it was, the outside layer being in every case quite above criticism. Now, Sarah Maude, said Mrs. Ruggles, her face shining with excitement. Everything is red up, and we can begin. I've got a boiler in the kettle and a pot of hot water. Peter, you go into the back bedroom, and I'll take Susan, Kitty, Peori, and Cornelius. And Sarah Maude, you take Clem and Ely, and Larry, one at a time, and get as fur as you can with them, and then I'll finish them off like you do yourself. Sarah Maude couldn't have scrubbed with any more decision and force if she had been doing floors, and the little Ruggles has bore it bravely, not from natural heroism, but for the joy that was set before them. Not being satisfied, however, with the tone of their complexions, she wound up operations by applying a little Bristol brick from the knife board, which served as the proverbial last straw from under which the little Ruggles is issued, rather red and raw and out of temper. When the clock struck three, they were all clothed, and most of them in their right minds, ready for those last touches that always took the most time. Kitty's red hair was curled in 34 ringlets. Sarah Maude's was braided in one pigtail, and Susan's and Ellie's in two braids apiece, while Peoria's resisted all advances in the shape of hair oils and stuck out straight on all sides, like that of the Circassian girl in the circus, so Clem said. And he was sent into the bedroom for it too, for whence he was dragged out forgivingly by Peoria herself five minutes later. Then exciting moment came linen collars for some, and neckties and bows for others, and Eureka, the Ruggles's were dressed and solemn in all his glory was not arrayed like one of these. A row of seats was formed directly through the middle of the kitchen. There were not quite enough chairs for ten, since the family had rarely all wanted to sit down at once, somebody always being out or in bed. But the wood box and the coal-hod finished out the line nicely. The children took their places according to age. Sarah Maude at the head and Larry on the coal-hod, and Mrs. Ruggles seated herself in front, surveying them proudly as she wiped the sweat of honest toil from her brow. Well, she exclaimed, If I do say so as shouldn't, I never see a cleaner, more stylish mess of children in my life. I do wish Ruggles could look at you for a minute. Now, I've often told you what kind of family them at Grills was. I've got some reason to be proud. Your uncle is on the police force of New York City. You can take up the newspaper most any day and see his name printed right out, James McGrill. And I can't have my children fetched up common like some folks when they go out and they've got to have clothes and learn to act decent. Now I want to see how you're going to behave when you get there tonight. Let's start at the beginning and act out the whole business. Pile into the bedroom there every last one of you and show me how you're going to go into the parlor. This will be the parlor and I'll be Miss Bird. The youngsters hustled into the next room in High Glee and Mrs. Ruggles drew herself in her chair with an infinitely haughty and purse proud expression that much better suited a descendant of the McGrills than modest Mrs. Bird. The bedroom was small and there was presently ensued such a clatter that you would have thought a herd of wild cattle had broken loose. The door opened and they straggled in all the little ones giggling with Sarah Maud at the head looking as if she had been caught in the act of stealing sheep while Larry being last in line seemed to think the door a sort of gate of heaven which would be shut in his face if he didn't get there in time. Accordingly he struggled ahead of his elders and disgraced himself by tumbling in head for most. Mrs. Ruggles looks severe. There I knew you'd do some such full way. Try it again and if Larry can't come in on two legs he can stay at her home. The matter began to assume a graver aspect. The little Ruggles is stopped giggling and packed into the bedroom issuing presently with lockstep indian file a scared and hunted expression in every countenance. No, no, no cried Mrs. Ruggles in despair.  The third time brought deserve success and the pupils took their seats in the row. Now you're no said Mrs. Ruggles. There ain't enough decent hats to go around and if there was I don't know so I'd let you wear them for the boys would never think to take them off when they got inside. But anyhow there ain't enough good ones. Now look me in the eye you need to wear no hats none of your and when you get into the parlor and they ask you for to lay off your hats. Sarah Maude must speak up and say it was such a pleasant evening and such a short walk that you left your hats to home to save trouble. Now can you remember? All the little Ruggles is shouted. Yes, Marm in chorus. What have you got to do with it? Demanded their mother. Did I tell you to say it wasn't I talking to Sarah Maude the little Ruggles is hung their diminished heads. Yes, Marm they piped more feebly. Now get up all of you and try it. Speak up Sarah Maude. Sarah Maude's tongue clove to the roof of her mouth quick. My thought it was such a pleasant hat that we'd we'd better leave our short walk to home recited Sarah Maude in an agony of mental effort. This was too much for the boys. Oh whatever shall I do with you? Maude the unhappy mother I suppose I've got to learn it to your which she did word for word until Sarah Maude thought she could stand on her head and say it backwards. Now Cornelius, what are you going to say to make yourself good company? Dunno, said Cornelius turning pale.  Ask Miss Bird how she's feeling this evening and if Mr. Bird's having a busy season or something like that. Now we'll make believe we've got to the dinner. That won't be so hard because you'll have something to do. It's awful bothersome to stand around and act stylish. If they have napkins Sarah Maude down to Peori may put them in their laps and the rest of you can tuck them in your necks.  Don't grab no vitals off one another's plates. Don't reach out for nothing but wait till you're asked. And if you never get asked don't get up and grab it. Don't spill nothing on the tablecloth or likes not Miss Bird will send you away from the table. Now we'll try a few things or see how they'll go. Mr. Clement.  Bet your life. Right. Clem who not having taken in the idea exactly had mistaken this for an ordinary family question. Clement ruggles. Do you mean to tell me you'd say that to a dinner party? I'll give you one more chance. Mr. Clement. Will you take some of the cranberry? Yes. Marm. Thank you kindly. If you happen to have any handy very good indeed. Mr. Peter. Do you speak for white or dark meat? I ain't particular astro color. Anything that nobody else want will suit me. Answer Peter with his best air. First rate. Nobody could speak more gentile than that. Miss Kitty. Will you have hard or soft sauce with your pudding? A little of both of you please and I'm much obliged. Said Kitty with decided ease and grace at which all the other ruggles is pointed the finger of shame at her and Peter grunted expressively that their meaning might not be mistaken.  That was all right. I wish I could get it into your heads that it ain't so much what you say is the way you say it. Ely you and Larry's too little to train so you just look at the rest and do as they do and the Lord have mercy on you and help you to act decent. Now is there anything more you'd like to practice? If you tell me one more thing I can't set up and eat said Peter gloomily. I'm so cramped full of manners now I'm ready to bust without no dinner at all. Me too chimed in Cornelius. Well I'm sorry for you both rejoin Mrs. Ruggles sarcastically. If the mountain manners you've got on hand now trouble she you're dreadful easy hurt. Now Sarah Maude after dinner about once and so often you must say I guess we better be going and if they say oh no set a while longer you can stay but if they don't say nothing you've got to get up and go can you remember about once and so often could any words in the language be fraught with more terrible and wearing uncertainty. Well answered Sarah Maude mournfully seems as if this whole dinner party set right square on top of me maybe I could manage my own manners but to manage nine manners is is worse than staying to home. Oh don't fret said her mother good naturally I guess you'll get along I wouldn't mind if folks would only say all children will be children but they won't.  Now it's quarter past five you can go and whatever you do don't forget your mother was a McGrill end of chapter five chapter six of the birds Christmas Carol this is a LibriVox recording all LibriVox recordings are in the public domain. For more information or to volunteer please visit LibriVox.org recording by Katie Gibbany the birds Christmas Carol by Kate Douglas Wigan chapter six when the pie was opened the birds began to sing the children went out the backdoor quietly and were presently lost to sight Sarah Maude slipping and stumbling along absentmindedly as she recited under her breath it was such a pleasant evening and such a short walk we thought we'd leave our hats to home. Peter rang the doorbell and presently a servant admitted them and whispering something in Sarah's ear drew her downstairs into the kitchen the other ruggles stood in horror stricken groups as the door closed behind their commanding officer but there was no time for reflection for a voice from above was heard saying come right upstairs please. There's not to make reply there's not to reason why there's but to do or die. Accordingly they walked upstairs and Elfride the nurse ushered them into a room more splendid than anything they had ever seen. But oh the whoa where was Sarah Maude and was it faith that Mrs. Bird should say at once did you lay your hats in the hall. Peter felt himself elected by circumstances the head of the family and casting one imploring look at tongue tied Susan standing next to him said huskily it was so very pleasant that that that we hadn't good hats enough to go round put in little Susan bravely to help him out and then froze with horror that the ill-fated words had slipped off her tongue. However Mrs. Bird said pleasantly of course you wouldn't wear hats such a short distance I forgot when I asked now will you come right into Miss Carol's room she is so anxious to see you just then Sarah Maude came up the back stairs so radiant with joy from her secret interview with the cook that Peter could have pinched her with a clear conscience and Carol gave them a joyful welcome but where is baby Larry she cried looking over the group with searching I didn't he come Larry Larry good gracious where was Larry they were all sure that he had come in with them for Susan remembered scolding him for tripping over the doormat Uncle Jack went into convulsions of laughter are you sure there were nine of you he asked merrily I think so sir said Peoria timidly but anyhow there was Larry and she showed signs of weeping oh well cheer up cried Uncle Jack I guess he's not lost only miss laid I'll go and find him before you can say Jack Robinson I'll go to if you please sir said Sarah Maude for it was my place to mind him and if he's lost I can't relish my vitals the other ruckles stood rooted to the floor was this a dinner party for sooth and if so why were such things ever spoken of as festive occasions Sarah Maude went out through the hall calling Larry Larry and without any interval of suspense a thin voice piped up from below here I be the truth was that Larry being deserted by his natural guardian dropped behind the rest and wriggled into the hat tree to wait for her having no notion of walking unprotected into the jaws of a dinner party finding that she did not come he tried to call from his refuge and call somebody when dark and dreadful ending to a tragic day he found that he was too much intertwined with umbrellas and canes to move a single step he was afraid to yell when I have said this of Larry ruggles I have pictured a state of helpless terror that ought to ring tears from every eye and the sound of Sarah Maude's beloved voice some seconds later was like a strain of angel music in his ears Uncle Jack dried his tears carried him upstairs and soon had him in breathless fits of laughter while Carol so made the other ruggleses forget themselves that they were soon talking like accomplished diners out Carol's bed had been moved into the farthest corner of the room and she was lying on the outside dressed in a wonderful soft white wrapper her golden hair fell in soft fluffy curls over her white forehead and neck her cheeks flushed delicately her eyes beamed with joy and the children told their mother afterwards that she looked as beautiful as the pictures of the Blessed Virgin there was great bustle behind a huge screen in another part of the room and at half past five this was taken away and the Christmas dinner table stood revealed what a wonderful sight it was to the poor little ruggles on the kitchen table it blazed with tall colored candles it gleamed with glass and silver it blushed with flowers it groaned with good things to eat so it was not strange that the ruggles is forgetting that their mother was a McGrill shrieked in admiration of the fairy spectacle but Larry's behavior was the most timed up like a squirrel gave a comprehensive look at the turkey clapped his hands in ecstasy rested his fat arms on the table and cried with joy I beat the whole lot of her Carol laughed until she cried giving orders meanwhile Uncle Jack please sit at the head Sarah Maude at the foot and that will leave four on each side Mama is going to help Elfrida so that the children a sprig of holly lay by each plate and nothing would do but each little ruggles must have his seat and have it pinned on by Carol and as each course was served one of them pleaded to take something to her there was hurrying to and fro I can assure you for it is quite a difficult matter to serve a Christmas dinner on the third floor of a great city house but if every dish was served with delicious gravy and stuffing and there were a half dozen vegetables with cranberry jelly and celery and pickles and as for the way these delicacies were served the ruggles has never forgot it as long as they lived Peter nudged Kitty who sat next to him and said look will you're every fella's got his open yes whispered Kitty and the napkins is marked with big red letters I wonder if that's so nobody will nip them and oh Peter look at the pictures painted right on the dishes did you ever the plum is all took out of my cranberry sauce and it's frizz to a strange giving as excuse that he generally set beside her and would feel strange the true reason being that she desired to kick him gently under the table whenever he passed what might be termed the McGrill line I declare to goodness murmured Susan on the other side there's so much to look at I can't scarcely eat nothing bet your life I can said four luckily no one was asked by Uncle Jack whether he would have a second helping but the dishes were quietly passed under their noses and not a single ruggles refused anything that was offered him even unto the seventh time then when Carol and Uncle Jack perceived that more turkey was a physical impossibility the meats were taken off and the dessert was brought in a dessert that would have frightened not so the ruggles for a strong man is nothing to a small boy and they kindled to the dessert as if the turkey had been a dream and the six vegetables an optical delusion there was plum pudding mince pie and ice cream and there were nuts and raisins and oranges Kitty chose ice cream explaining that she knew it by sight but hadn't never tasted none but all the rest took the entire variety without any child whispered Uncle Jack as he took Carol and orange there is no doubt about the necessity of this feast but I do advise you after this to have them twice a year or quarterly perhaps for the way they eat is positively dangerous I assure you I tremble for that terrible peoria I'm going to run races with her after dinner never mind left Carol the ruggles lay back in their chairs languidly and the table was cleared in a trice then a door was opened into the next room and there in a corner facing Carol's bed which had been wheeled as close as possible stood the brilliantly lighted Christmas tree glittering with gilded walnuts and tiny silver balloons and wreathe with snowy each girl had a blue-knitted hood and each boy a red crocheted comforter all made by mama Carol and elfrida because if you buy everything it doesn't show so much love said Carol then every girl had a pretty plaid dress of a different color and every boy a warm coat of the right size here the useful presents stopped and they were quite enough but Carol said when they were talking over the matter just after Thanksgiving but they don't care much for them after all now papa won't you please let me go without part of my presents this year and give me the money they would cost to buy something to amuse them you can have both said Mr. Bird promptly is there any need of my little girls going without her Christmas I should like to know spend all the money it wouldn't be mine what is the use haven't I almost everything already and am I not the happiest girl in the world this year with Uncle Jack and Donald at home now papa you know very well it is more blessed to give than to receive then why won't you let me do it you never look half as happy when you're getting your presents as when you are giving us hours now papa submit papa now what were you going to give me confess a bronze figure of Santa Claus and in the little round belly that shakes when he laughs like a bowl full of jelly is a wonderful clock oh you would never give it up if you could see it nonsense laughed Carol as I never have to get up to breakfast nor go to bed nor catch trains I think my old clock will do very well so Carol had her way as she generally did but it was usually a good way which was fortunate under the circumstances and Sarah Maude had a set of Miss Alcot's books and Peter a modest silver watch Cornelia had a set of items of a few of the books I had a set of watch, Cornelius a tool-chest, Clement a dog-house for his lame puppy, Larry a magnificent Noah's Ark, and each of the little girls a beautiful doll. You can well believe that everybody was very merry and very thankful. All the family, from Mr. Bird down to the cook, said they had never seen so much happiness in the space of three hours, but it had to end as all things do. The candles flickered and went out. The tree was left alone with its gilded ornaments, and Mrs. Bird sent the children downstairs, at half-past eight, thinking that Carol looked tired. Now, my darling, you have done quite enough for one day, said Mrs. Bird, getting Carol into her little night-dress. I am afraid you will feel worse tomorrow, and that would be a sad ending to such a good time. Oh, wasn't it a lovely, lovely time, sighed Carol. From first to last everything was just right. I shall never forget Larry's face when he looked at the turkey, nor Peter's when he saw his watch, nor that sweet, sweet kitty's smile when she kissed her dolly, nor the tears in poor dull Sarah Maud's eyes when she thanked me for her books, nor— But we mustn't talk any longer about it tonight, said Mrs. Bird. Anxiously. You are too tired, dear. I am not so very tired, Mama. I have felt well all day, not a bit of pain anywhere. Perhaps this has done me good. Perhaps, I hope so. There was no noise or confusion. It was just a merry time. Now, may I close the door and leave you alone? I will steal in softly the first thing in the morning and see if you are all right, but I think you need to be quiet. Oh, I'm willing to stay alone, but I am not sleepy yet, and I am going to hear the music by and by, you know. Yes, I have opened the window a little and put the screen in front of it, so that you will not feel the air. Can I have the shutters open, and won't you turn my bed a little, please? This morning I woke ever so early, and one bright beautiful star shone in that eastern window. I never saw it before, and I thought of the star in the east that guided the wise men to the place where Jesus was. Good night, Mama, such a happy, happy day. Good night, my precious little Christmas Carol, Mother's blessed Christmas child.  Mama, dear, I do think that we have kept Christ's birthday this time, just as he would like it, don't you? I am sure of it, said Mrs. Bird softly. The Birds' Christmas Carol by Kate Douglas Wigan Chapter 7 The Birdling Flies Away The Ruggleses had finished a last romp in the library with Paul and Hugh, and Uncle Jack had taken them home, and stayed a while to chat with Mrs. Ruggles, who opened the door for them, her face all aglow with excitement and delight. When Kitty and Clem showed her the oranges and nuts they had kept for her, she astonished them by saying that at six o'clock Mrs. Bird had sent her in the finest dinner she had ever seen in her life. And not only that, but a piece of dress goods that must have cost a dollar a yard if it cost a cent. As Uncle Jack went down the little porch, he looked back into the window for a last glimpse of the family. As the children gathered about their mother, showing their beautiful presents again and again, and then upward to a window in the great house, yonder. A little child shall leave them, he thought. Well, if anything ever happens to Carol, I will take the Ruggleses under my wing. Softly, Uncle Jack, whispered the boys as he walked into the library a little while later. We are listening to the music in the church. They sang, Carol Brothers, Carol, a while ago. And now we think the organist is beginning to play my own country for Carol. I hope she hears it, said Mrs. Bird. But they are very late tonight, and I dare not speak to her lest she should be asleep. It is after ten o'clock. The boy soprano, clad in white surplus, stood in the organ loft.  Perhaps it was something in the tender thrill of the voice, or in the sweet words. But there were tears in many eyes, both in the church and in the great house next door. I am far, and my furthest welcome smile. There were tears in many eyes, but not in Carol's. The loving heart had quietly ceased to beat, and the wee birdie in the great house had flown to its home nest. Carol had fallen asleep. But as to the song, I think perhaps, I cannot say, she heard it after all, so sad and ending to a happy day, perhaps to those who were left. And yet Carol's mother, even in the freshness of her grief, was glad that her darling had slipped away on the loveliest day of her life, out of its glad content, into everlasting peace. She was glad that she had gone as she had come, on wings of song, when all the world was brimming over with joy, glad of every grateful smile, of every joyous burst of laughter, of every loving thought and word, and deed, the dear last day had brought. Sadness reigned, it is true, in the little house behind the garden. And one day poor Sarah Maude, with the courage born of despair, threw on her hood in shawl, walked straight to a certain house a mile away, dashed up the marble steps and into good Dr. Bartle's office. Falling at his feet as she cried, Oh, sir, it was me and our children went to Miss Carol's last dinner party. And if we made her worse, we can't never be happy again. And the kind old gentleman took her rough hand in his, and told her to dry her tears. For neither she nor any of her flock had hastened Carol's flight. Indeed, he said that had it not been for the strong hopes and wishes that filled her tired heart, she could not have stayed long enough to keep that last merry Christmas with her dear ones. And so the old years fraught with memories die one after another. And the new years bright with hopes are born to take their places. But Carol lives again in every chime of Christmas bells that peel glad tidings, and in every Christmas anthem sung by childish voices. End of Chapter seven. End of the birds Christmas Carol by Kate Douglas Wigan


We'll be giving us this talk and there will be time for questions at the end We are delivering this talk together with Stefan So we just thought that instead of having two standard talks that we give why don't do something special this year Why don't bring you some fresh material? so we tried our best to give you some New use cases new examples of the tools that you might already heard of many times So we are really happy to present you today How can we use a sink a yo and site on together to make more efficient software? so Let's start. We will just begin with the introduction because we see people are still coming So Stefan.  I'm Stefan Minu One of the core developers of site on also known from from the AXML project I've been a Python developer since 2002 Kind of an active member of the Python community, especially the one in Deutschland Germany Yeah, and I'm working for Scooby together with Anton. Yeah, so I'm Anton. You see I'm also a Python developers That's my main job I'm also organizing Python DE so I'm using this as another chance to remind everyone that yes It does exist this year. It's in October. So go on by condo DE and see and come We are so happy to have everyone there And let me give a credit to the cool company where we're working on right now So Scooby is an ebook flat right ebook subscription service that operates for quite a while It has a coolest deal in Germany and it's available not only in Germany But worldwide we have a lot of books We have a decent Price of 999 per month and people love it because they put five star ratings to it That's of course Advertising but what is even more relevant today is that the stuff that we are showing you today is used in Scooby At least partially so we are Python based back-end we are developing it from Day-to-day on daily basis and the stuff that we are presenting you is tested in production. So yes Let's start About this talk, how will it be structured? So we start with the introduction to a sink. I owe just to have everyone on the same track What what is it about and what will be the examples about today? Then we will go to site on topic and have a brief examples of what is it about and how it does work? Then we will show you how to use that together and how you can benefit from them from that and we'll show you some practical examples Easy ones more more complicated ones, and then of course we will have cool questions from you. I hope so Good. So first a sink. I owe Hope you guys use the sink. I Think that yeah, we do not need to stop too much on that because it's such a busy topic, you know It's represented very great on this conference. So I Think we just have to go very briefly about it. So everyone is on the same track. So a sink. I owe It's finally finally a default tool in Python starting from 3.4, but back ported to 3.3 That we can use for the asynchronous network Communication it gives us tools that have been already available in different libraries. It was there forever and twisted It was there in tornado And there and there was a sink or as well, but they think here is sort of a common tool to do this sort of work I'll just switch to another notebook quickly to show you some Graphics at the background Just a very very brief recap. Why do we need this tool today? Why I was speaking about it. So Let's take a simple case of a synchronous processing of some requests. So Request on the left processing. So our back end is in the middle responses on the right. This is a time scale So time is going down. This is a traditional stuff that everyone was taught in the universities So we get the request. We are processing it. We throw the response out then we get the next request We process it. We throw the response out synchronous standard and simple More realistic cases though that we have more than one request coming During the processing of the of the first one and they just have to wait We receive through requests, but we can do just one task at a time. So we do it with our responses As we are completing our tasks time is going the same thing Then the deal about this thing is that most of the time at least in the iobound applications like most of the websites most of the web services most of the database Applications are just idling waiting for IO. So this time is something that our CPUs are wasting and we could save that If we could do other stuff in the meanwhile while we are waiting on the blocking resource So I mark here this blocks as waiting. Let's say the database some other external API whatever and The asynchronous execution model lets us to save this time by a switching between tasks So we have same three tasks one task two and tasks three But in this scenario we work on task one then we do blocking requests to the database and We can work on the other things in the meanwhile So we jump to the task two right away when task two is done It's a short one then we go back to task one because we got a reply from the database and we work on that And so on so we jump between tasks. That's how we can cut the idling and waiting on the IO And that's how we basically in most of the internet related applications can save on the total execution time of some tasks So what is the deal about I think your with this is first of all? It's an event loop known as reactor from twisted like 12 years ago was already there So again, it's nothing new. It's just a standard way to do that. What IO loop does is essentially it's It's a tool that is managing the network events and it knows which event is related to which code in our application So it will be remembering when data available on particular socket which piece of code should it call and then when the piece of code Gives the control back to the IO loop Then it decides also which piece of code should be executed next so it does this jumping between blocks of code And it does the callbacks Then another thing it finally gives us a common future class It's the same interface basically almost same interface as concurrent futures that we had before It's also pretty similar to tornado futures that we had and there are libraries that can convert one future into another So you can mix the frameworks And what is a future just a quick reminder? It's so it's called deferred and twisted the placeholder for some results of Probably network operation that is not available yet, but we'll be available soon We're using it as a link to the future result of some operation to not block and wait, but to do other things meanwhile and Finally a coroutines again, it's quite similar to coroutines that we had in tornado, but Not only the coroutine mechanic mechanics itself is updated, but also the declaration of coroutine is updated Starting from 3.5. So we can use a sink await. Oops a sink await syntax Instead of yield from syntax That is sort of pensier way to do that and Sight and supports it will have Deeper review of that How can we use that together soon? Let me just quickly finish with a single introduction first Yes, so coroutines as I said is based on the generators can be declared with the yield from syntax or with a sink depth syntax it's a Function or a generator that can be suspended and give the control to other coroutines in the meanwhile And very simple example that they show you just to get started is we use a new fancy Icing depth syntax we do some processing then we want to do the blocking operations. So we use a sink HTTP Clients to fetch something for us fetching is a blocking operation. So I think it should be client when we'll Return us a future not the real results. So we don't wait then we use a wait syntax or yield from syntax to Point the I loop that okay. This is something that we don't want to wait give control to other coroutines and just Resume this coroutine at this place when the result is ready on the socket And then when we have it we do more processing and return the result easy so finally we are getting closer to the To the thing that we will be showing you today about How can we go even further in optimizing our async your tasks? So on this graph what we are showing you is some front-end server that we have front-end Let's say it's just some piece of the software that accepts network connections and It gives the tasks to back-end Part that is doing some background processing for us I think you is running here on the front server It's getting request number one. It does some processing and then okay. We need Some data from the back-end. So we do request to back-end back-end does some processing Meanwhile, we have request to that is going to the front-end server It is started it is executed Then I think it gives control again to the request number one because this result is already available here What we see here is that even though request one has begun before request two it will only get response Afterwards so it was waiting longer than it could be waiting because the result from the back-end that we need Is already available here at this point But because there was request two coming in in the meanwhile and we have just one thread in which we execute everything We had to delay the processing of the request one even further It can get even worse if we have a request three So I think here decides which task should be done next and if at this point it decides, okay we have The request number three and we have data available from the back-end here which one should we do next it could decide Okay, let's work on the request three and then request one is delayed even further so even though coming in first it will be served last and This and some applications can be quite critical because we are not fair in the way. We are dealing client requests here and The most straightforward thing obviously what we can do is to make this time shorter So the shorter are the times that we need for processing some data The faster we can give responses and also The more flexible we are in switching between the tasks that we are currently executing So at this case by asserting the processing time on the I think your site twice We see that even even though the back-end could take the same time to give those data that we need even though we still are way better in Serving the front-end request because we are more efficient in switching between them and so our responses will be available faster and As you probably already guessed How can we reduce the latency how can we how can we process a sinker your tasks more efficiently is only only if we reduce the Task the time it takes to process every piece of the code that is there on a sinker your site It's not database because databases probably the blocking response that will be processed in some other place it is some Usually Python code that is taking time to be executed and here's the site and comes in Now let's step on give you introduction about site on and then we talk about how can we optimize a sinker your tasks with that Then give you ten minutes intro to sit on as a compiler in this language Well, sit on is a compiler. It's actually the most widely used static Python compiler out there It's been to the early days of site on when it was still called pyrex We're back in 2000 and sit on project itself started in 2007. So it's actually a very old piece of code It's nowadays it's a major part of the scientific Python ecosystem. So People are writing tools with it that allow you to do lots of number crunching Numbers I have sit on codes in a new code in it pandas for example Many many run our tools and data crunching tools are written in sit on and what it gives you is it's takes a piece of Python code or also a piece of Sight on code with which has an extended syntax and outputs the code from it generates the code which is compilable And this is the CPyton C API. So you get an extension module which you can import And then just use any other module in Python and said it sends the Python language whenever you want to do optimization optimize your code and Interact with external C code external C++ code It gives you that entirely for free because you know it compiles on to see if we're talking to see code is native and That's one of the cool features. It's open source. You can find it on site on word We are in GitHub. So if you have any cool ideas working better, just talk to us there So sit on in 10 minutes So I can see it all. That's cool Here's an ipython notebook or drip download book how you want to call it The first thing you would do is you would say a lot excited on that Adds the site on magic to the ipython notebook And allows it to execute the site on code directly. So it's a very interactive way to get a compiled code into your IPython notebook What am I using here? So I'm using Python 3.5 and the latest site on release Which I released a couple of days ago just for conference, so Then what you can do is you can take an ipython cell and say Actually, what I'm doing up to here is and This is just plain Python and I could just use a plain Python code and say please compile it for me But here I'm already using the extended site on syntax for this head for optimization for using C data types in Python code With siphon allows me to do So what's this doing? I have a little function at one which is you know takes a value at one to it I Do the same With two values some add two values x and y and here is already part of the syntax that you can see it allows you to allows me to declare the to declare C data types use C data types for my variables and Then what siphon will do is it's going to optimize the code for me Okay, so it sees this variable is actually a C integer so I can use native C operations on it And that's as fast as your processor goes As opposed to as fast as Python can deal with objects, which is way faster Okay So this is how the syntax looks like I can declare argument types I can declare variables with this C def statement So I have a global variable a here Which is also just a C and and then I'm using it in my function here adding it to very good x and since both x and a are C integers The ad operation will be run by a simple processor CPU ad operation. So that's You know add them to C and can be done directly in C Okay The nice thing is you don't have to care about these things like you just to carry variables and Siphon will generate efficiency code for you, which usually does the right thing There's a way for Helping you understand what Siphon makes of your code I'm not just saying your Siphon the Siphon cell I'm saying Siphon minus a which means annotate take my code and annotate it for me tell me what you think about it And this is what Siphon gives me Outputs a little piece of HTML and tells me okay This is what I've seen in your code and when I click on it. This is what I'm doing here So there are a couple of operations and here I'm seeing x is an object variable so the operation it does here is actually An operation a Python object operation and down here as I said It's taking two variables in C plus sign in here. So that's a direct C operation So you can click through the code see what gives you and then take that as a hint Way you have to touch your code. We have to optimize it What can change about it? Okay, so executing it some All works as expected I'm just getting the the functions as I would get them get them in Python I can just call them as they are and they get the right result Okay Functions so up to now I've only defined Python functions Python has a couple of more function types because when I'm interacting with C code is often necessary to Define C functions directly And so it allows you to that by saying C def in front of function sort of deaf and then what you get is a Plain C function a static C function, which can also pass around into C code as a call that for example Which is usually callable and so on so forth. So that's some it doesn't use Python call semantics anymore It's not an object. It's just a fancy That allows you to that but just you know in an exchange in death by C Okay, a couple more things So You can all do all this Also from a Python module you can just write plain Python code Instead of writing a set of module and you can say I take this function Compiled for me and then the compilation will actually have occur at import time It's gonna take the function Analyze the code for you compile for you and replace the function by a compile function Okay, so it's just Just decorated you can use it. It's kind of like did compilation in the sense that it's the compiling state of the body import time nice future Okay, how do you interact with C code so far you've only seen that you can use C see data types see variables in your code I'm here's an example for Using external C code what I'm doing here is I'm taking the math functions from lip see and I'm using them in my code So I'm taking the sign function for example. I'm using the declaration for pie Dividing pi by two taking the sign of it and printing it Okay, and this is often how a Python code actually looks like So there's some C code being involved some Python code some Python objects being there and you can really mix them freely as you see fit Okay, this is just you know use this use that it's it's all there for you at the commutates This is how Memory education next example you can use milk and free in in Scython They're just the usual The usual lip see functions that you can use here often people prefer to use Python memory allocation Instead because then you know the Python runtime knows about it understands it this is how you would do a memory education in Scython modules and It's it's just plain see functions. You can use them for me site encode The nice thing about it is that you can also pass C functions around you can obviously pass them around into C code And that you can also auto rep them to pass them into Python And this is what I'm doing here. I'm taking the mass sign function for example I'm just assigning it to a Python variable and then Scython goes. Okay. That's the C function In order to turn it into an object. I have to wrap it. So it wraps it for me And then makes it part of my my module API. Okay, so That's that means that I can now Call it directly from from my Python notebook so I can take that function here and Call directly into the lip see sign function through an object wrapper that Scython generated for me, but just, you know, doing an assignment Really nice feature Okay, here's a more involved example. He's a bit of Lua Lua integration. So Lua is a C implement runtime Program language if you don't know it And what I'm doing here is I'm taking a piece of code a piece of Lua code and Here in my Scython code, I'm You know, it started with a couple of declarations in order to use the Lua C API and then here I'm instantiating Lua runtime compiling the code I get Calling the code converting the The result arguments and then cleaning everything up One thing you can see here is I'm using try finally So this is exception base whenever something goes wrong.  I can do that at any time doesn't matter Even if you the trading the Lua runtime goes wrong I can just raise a memory error because the reason why that would go wrong is, you know, no memory And That's all I have to do so just a couple of functions I can call I can call them directly from my Scython code It looks a lot like Python except they're what I'm calling C code Okay, my Lua code I'm passing it into the function and It gives me the right results. It's just recursive for human achieve Calculation here. I can use timely to benchmark it Well, it looks kind of fast enough Okay So this is this is how I can talk to external C libraries Scython has wonderful integration with C data structures C data types It makes things a lot easier than if you know, if you were writing August and then see Who of you has been have been using C before in program and see Quite a number of people Do you love it? Yeah, okay So just a tiny bit more here So this is how Scython deals with C arrays You can do slice assignments. You can copy by value You can loop over them. So it's everything you would expect from Python just you know using C data structures and One last thing using C++ who's been using C++ a bit less than both you can see Now C++ has a reputation of being Kind of difficult to use language It's not from Scython. So if you look from Scython, it's actually very beautiful because you know, it's also object oriented So it feels a lot like Python When it's done the right way. So I really recommend using C++ from Scython rather than, you know, writing your application in C++ which is Which you can do but I wouldn't recommend that And this is an example of how you use a C++ vector from the standard library So I'm getting a couple of values in here as a tuple Assigning it to the C++ vector. Just copy over then I can do Indexing here normal Python indexing as you would expect. I can iterate over the vector Do intests? Pass the vector into some external C++ function and pass it back And the passing back a vector into Python Basically what it does is it just copies it into, you know, the obvious Python representation Which in this case is this. Okay, so it automatically copies it over so that you can pass it back as the expected Python result value. And this is how you use it. It has an arguments get in the back of this Okay, so that's like, well, Scython in 11 minutes. Okay Finally finally we have 15 minutes more to show you how it actually works together Let's get right into the code so First we just have a little little helper function that will run something for us with a sync.io We get the instance of the IO loop. We run a coroutine with that IO loop We return the result using just a helper method So to show you that coroutines that will be made with Scython are totally compatible with one that you would do in native normal Python Let's show me you let me show you the following example. So we use the fancy async depth syntax now and This is just a very very basic function that will add one to Something whatever you feed it in so you give the future in it will await for that future It will have result then it will say that It will print that result and just for us leave a remark that this was done with Scython And then it will return this result plus one then a Sync depth one will just return us one obviously, but we want it to be a coroutine. That's why we define it like this Showing you that it runs we Generate one then we add one and then we add one more. This is a The result that we see we printed one two and the output at the end is three. This is Scython the same thing but Now it's done in pure Python. The only difference in the is that I say here Python ads so that you see It's actually run with just Python Then you see that here in this example What I do is I generate number one Then I use the Python function add one and then I use the Scython function function add one And then I run it all on the IO loop and from prints We also see that the first one was executed with just Python the second one with Scython Which we could even not notice so it's totally easy to integrate. It's easy to mix You can write Scython then you can write in Python then you can call it one from another and it still works Next example just a simple ping-pong game. So we will make a function Coroutine in Python that will do ping and then we will do similar in Scython that brings Pong We will call them the Scython version so we use We do the first definition with Scython It's decrement by one function. We will have a map of coroutines. It's just some simple dictionaries that will say that First we have the Scython version then we have a Python version. It's actually a typo We pass this mapping in This condition is just not to print too much so to switch printing on and off based on the show variable We print Pong if it's a Scython coroutine and we print ping if it's a Python coroutine Let me just show you the second one then it's easier. Yes The same thing But now it prints ping Because it's the Python version the code is simple. You see we just pick the right Coroutine based on the current value and division by two if it's odds Then we do then we call one coroutine if it's even then another one Here you have the result ping-pong ping-pong ping-pong Scython Python Scython Python Scython Python easy But what for we did this talk at all is to see if it actually makes sense to mix them if it gives us any Advantage in the speed so now we will finally time it we Recall the same thing first. It's just a Python version. We see that The result is three four three ms Then we call the Scython version It's 183 ms, which is like double faster with no effort at all Let me just remind you what is the difference between two two functions Scython? Python difference is just this and we'd make it double as fast and then just to have it the third example is We mix it. So we use For odds numbers Scython for event numbers Python We time it and the result is somewhere in the middle. So it's It's actually not yeah, it's actually it's actually worse. Yes, let's just run it again Yeah, you also see that it's live. So now it's sort of in the middle now now. It's better. Yes Okay, now I have to run them all Otherwise you can think that we made it up Yeah, no, it's fast It's hell fast. Yeah. Yes. Yes. So you see it's still double faster It makes sense if it all all you need is just to put percent percent Scython and you get it double as fast Then it was it I guess his buzz example. I'm not sure if we have time for that We do okay, then go Does everyone know what the fifth bus game is? It's actually pretty simple. So it's just kind of a children game teaches division And you say number and if it's visible by three you say fizz if it's visible by five you say buzz and If it's visible by both then you say fizz was okay So that's what we implemented here Yeah, here is okay So what we get in is a stream of numbers. It's actually binary encoded numbers. So four bytes per integer As a network stream and so I'm just unpacking those Going through the numbers collecting my fizz bus values and then Okay, so a bit of overhead because I'm packing stuff here That's a Python implementation of the whole thing and what you can see down here is I'm running through the values I'm using the array object for I'm taking everything run through the values here Depending fizz bus fizz or the you know, if it's nothing not a fizz no bus then I just Take the original integer value and then I've called back which allows me to pass on the values Here you can see an async for loop which You know, it just continues running whenever there's data Really nifty feature of the new 492 pep the new async Async await pep The last to do data async data processing you just follow. Okay, really nice. So Next thing I'm going to do is I'm taking this code verbatim Lee Copying it into a Python into a Python cell. That was Python code. Just taking it. They are renaming it to you know, have two functions So I just run the Python version run the Python version and get compiled And then I'm setting up my my data stream here. It's just kind of a fake data stream that chunks Long long into the stream your chunks so that I can do You know loops processing Running that here I'm building my data stream. This is what I'm expecting for the first 18 values one two and then there's fizz buzz and so on and Yes, just to show you that it works works in both versions and Then here's a Performance comparison between the two and Calling the Python function calling the Python function and you can see what the performance difference is On the second version runs in seven milliseconds Pat version takes twice as long and then depending on chunk size The timing stiffer, but it's usually something like twice as fast just by compiling it. Okay Then the next thing I did was I rewrote the whole thing in a more, you know, see-ish way I'm iterating. I'm running through just the data buffer at a, you know, c-character level Here doing the same thing in a more see-ish way by just casting You know four bytes to an integer which is faster than During the array and the Python array conversion Yeah, so let's piece it up and when I run that thing Then What are getting comparison is? It's another I think it's another 40 times 40 percent faster here. Okay, so what again overall is Close to three times faster For the inversion, okay? Yep, and then we throw in the talk Yep, I think that it's a good time for questions. No, don't run Can you hear me? Oh, yeah, I was just wondering if you're using this at work and what you're doing with it If you're doing this technique at work and what you are actually doing with it You mean the using siton together with a sink I oh exactly Oh, we are using a sink. I oh there. We did not compile. I think yet siton pieces there, but We played with it to make this talk and it works That was more the idea of the talk right to convey that, you know speed is important when a marriage you can use Thanks Yeah question Am I right in thinking that this also works with Python 2.7? I mean if you use siton, yeah so the problem is the The as in depth syntax was only added in in Python 3.5 So it won't work with Python code, but inside of siton that she works. Yeah, that's the major selling point for me Maybe you didn't So just one more question Can you tell me about numpy integration? Can I use this to cast a numpy arrays? How well does that work with siton? So the question was how well numpy is integrated with siton Extremely well like everyone uses it I said siton is used a lot in scientific Python And we have special syntax in siton that allows you to say this You know data buffer, this is how it looks like and then you can just iterate over it run through it as fast as Your processor can and so it's yeah, it's one of the main use cases for siton. Yes All right Are these I think our features in siton already ready for production or is it like experimental features? Like in beta or something So the async async await support in siton was developed at the same time as the Python support for async in the wait There were a couple of changes recently which we followed But they're at the same level now so they work equally well and The fun thing is they actually influence each other So while the Python support was being developed we developed our siton support And so we had an impact on how they did it and they Changed how we did it and so that both Improved by by working together I Have a little final note that if you have any interest in getting more Into detail of siton or of async you separately you are very welcome to the trainings That are tomorrow and the day after tomorrow that will cover these two topics really in detail Time for one last question Thanks Thanks for the talk. I was just wondering if if siton could take advantage of the Python 3 type hints in order to compile Yeah, so that's a big topic. We were actually so I discussed that with You know a couple of times and the intention of the Python type hints is Not really something that's meant for steady compilation and it doesn't really help us So it's it's meant for type checking for annotating API's for making them machine understandable basically But it does not help in compilation and that's why we're not currently using making any use of it Thank you very much. That's the last of the questions


The cash ratio measures a company's ability to pay current liabilities from cash and cash equivalents only. The cash ratio is a measure of liquidity. The formula is cash plus cash equivalents divided by current liabilities. Note that when the cash ratio is greater than one, this is often considered an inefficient use of cash. Companies should look for uses for the excess cash, or pay it out to shareholders in the form of dividends. Here is the current asset and liability section of a sample company's balance sheet. We'll use the highlighted current assets and liabilities to determine the cash ratio. In 2015, cash divided by current liabilities gives us a cash ratio of 0.31. For 2016, cash divided by current liabilities gives us a cash ratio of 0.76, which is strong, but the company might look to put that cash to work in the form of an investment.