CHAPTER 34 A QUEEN'S GIRL The next three weeks were busy ones at Green Gables, for Anne was getting ready to go to Queens, and there was much sewing to be done and many things to be talked over and arranged. Anne's outfit was ample and pretty, for Matthew sought of that, and Marilla for once made no objections whatever to anything he purchased or suggested. More, one evening she went up to the East Gable with her arms full of a delicate, pale green material. Anne, here's something for a nice light dress for you. I don't suppose you really need it, you've plenty of pretty waists, but I thought maybe you'd like something real dressy to wear if you were asked out anywhere of an evening in town, to a party or anything like that. I hear that Jane and Ruby and Josie have got evening dresses as they call them, and I don't mean you shall be behind them. I got Mrs. Allen to help me pick it in town last week, and we'll get Emily Gillis to make it for you. Emily has got taste, and her fits aren't to be equalled. Oh, Marilla, it's just lovely, said Anne. Thank you so much. I don't believe you ought to be so kind to me. It's making it harder every day for me to go away. The green dress was made up with as many tucks and frills and shurings as Emily's taste permitted. Anne put it on one evening for Matthews and Marilla's benefit, and recited the maidens vow for them in the kitchen. As Marilla watched the bright, animated face in graceful motions, her thoughts went back to the evening Anne had arrived at Green Gables, and memory recalled a vivid picture of the odd, frightened child in her preposterous yellowish-brown, wincy dress, the heart break looking out of her tearful eyes. Everything in the memory brought tears to Marilla's own eyes. I declare, my recitation has made you cry, Marilla," said Anne, gaily stooping over Marilla's chair to drop a butterfly kiss on that lady's cheek. Now I call that a positive triumph. No, I wasn't crying over your peace," said Marilla, who would have scorned to be betrayed into such weakness by any poetry stuff. I just couldn't help thinking of the little girl you used to be, Anne.  You've grown up now, and you're going away, and you look so tall and stylish and so—so different altogether in that dress, as if you didn't belong in Avonlea at all. And I just got lonesome thinking it all over. Marilla—Anne sat down on Marilla's gingham lap, took Marilla's lined face between her hands and looked gravely and tenderly into Marilla's eyes. I'm not a bit changed, not really. I'm only just pruned down and branched out. The real me, back here, is just the same. It won't make a bit of difference where I go or how much I change outwardly. At heart I shall always be your little Anne, who will love you and Matthew and dear Green Gables more and better every day of her life. Anne laid her fresh young cheek against Marilla's faded one, and reached out a hand to pat Matthew's shoulder. Marilla would have given much just then to have possessed Anne's power of putting her feelings into words. But nature and habit had wielded otherwise, and she could only put her arms close about her girl and hold her tenderly to her heart, wishing that she'd never let her go. Matthew, with a suspicious moisture in his eyes, got up and went out of doors. Under the stars of the blue summer night he walked agitatedly across the yard to the gate under the poplars. Well, now, I guess he ain't been much spoiled, he muttered proudly. I guess my putting my aura in occasional never did much harm after all. She's smart, and pretty, and loving too, which is better than all the rest. There's been a blessing to us, and there never was a luckier mistake than what Mrs. Spencer made, if it was luck. I don't believe it was any such thing. It was Providence, because the Almighty saw we needed her, I reckon. The day finally came when Anne must go to town. She and Matthew drove in one fine September morning, after a tearful parting with Diana and an un-tierful practical one, on Marilla's side at least, with Marilla. But when Anne had gone, Diana dried her tears and went to a beach picnic at White Sands, with some of her Carmody cousins, where she contrived to enjoy herself tolerably well. While Marilla plunged fiercely into unnecessary work and kept at it all day long with the bitterest kind of heartache, the ache that burns and gnaws and cannot wash itself away in ready tears. But that night, when Marilla went to bed, acutely and miserably conscious that the little gable room at the end of the hall was untenanted by any vivid young life and unstirred by any soft breathing, she buried her face in her pillow, and wept for her girl in a passion of soves that appalled her when she grew calm enough to reflect how very wicked it must be to take on so about a sinful fellow creature. Anne and the rest of the Avonlea scholars reached town just in time to hurry off to the academy. That first day passed pleasantly enough in a world of excitement, meeting all the new students, learning to know the professors by sight and being assorted and organized into classes. Anne intended taking up the second year work, being advised to do so by Miss Stacey. Gilbert Blythe elected to do the same. This meant getting a first-class teacher's license in one year instead of two if they were successful, but it also meant much more and harder work. Jane, Ruby, Josie, Charlie, and Moody Spurgeon, not being troubled with the stirrings of ambition, were content to take up the second-class work. Anne was conscious of a pang of loneliness when she found herself in a room with fifty other students, not one of whom she knew, except the tall, brown-haired boy across the room, and knowing him in the fashion she did did not help her much as she reflected pessimistically. But she was undeniably glad that they were in the same class. The old rivalry could still be carried on, and Anne would hardly have known what to do if it had been lacking. I wouldn't feel comfortable without it, she thought. Gilbert looks awfully determined. I suppose he's making up his mind here and now to win the medal. What a splendid chin he has. I never noticed it before. I do wish Jane and Ruby had gone in for first-class, too. I suppose I won't feel so much like a cat in a strange garret when I get acquainted, though. I wonder which of the girls here are going to be my friends. It's really an interesting speculation. Of course, I promise Diana that no queen's girl, no matter how much I liked her, should ever be as dear to me as she is, but I have lots of second-best affections to bestow. I like the look of that girl with the brown eyes and the crimson waist. She looks vivid and red-rosy. There's that pale fair-wong gazing out of the window. She has lovely hair, and looks as if she knew a thing or two about dreams. I'd like to know them both. Know them well.  But just now I don't know them, and they don't know me, and probably don't want to know me particularly. Oh, it's lonesome. It was lonesomer still when Anne found herself alone in her hall bedroom that night at twilight. She was not to board with the other girls who all had relatives in town to take pity on them. Miss Josephine Barry would have liked to board her, but Beechwood was so far from the academy that it was out of the question. So Miss Barry hunted up a boarding-house, assuring Matthew and Marilla that it was the very place for Anne. The lady who keeps it is a reduced gentlewoman, explained Miss Barry. Her husband was a British officer, and she is very careful what sort of border she takes. Anne will not meet with any objectionable persons under her roof. The table is good, and the house is near the academy in a quiet neighborhood. All this might be quite true, and indeed proved to be so. But it did not materially help Anne in the first agony of homesickness that seized upon her. She looked dismally about her narrow little room with its dull-papered, pictureless walls, its small iron bedstead and empty bookcase, and a horrible choke came into her throat as she thought of her own white room at Green Gables, where she would have the pleasant consciousness of a great, green still outdoors, of sweet peas growing in the garden and moonlight falling on the orchard, of the brook below the slope and the spruce boughs tossing in the night wind beyond it, of a vast starry sky and the light from Diana's window shining out through the gap in the trees. Here there was nothing of this. Anne knew that outside of her window was a hard street with a network of telephone wires shutting out the sky, the tramp of alien feet, and a thousand lights gleaming on stranger faces. She knew that she was going to cry and fought against it. I won't cry. It's silly and weak. There's the third tear splashing down my nose. There are more coming. I must think of something funny to stop them. But there's nothing funny except what is connected with Avonlea, and that only makes things worse. Four. Five. They're going home next Friday, but that seems a hundred years away. Oh! Matthew is nearly home by now, and Rubella is at the gate looking down the lane for him. Six. Seven. Eight. Oh! There's no use in counting them. They're coming in a flood presently. I can't cheer up. I don't want to cheer up. It's nicer to be miserable. The flood of tears would have come, no doubt, had not Josie Pie appear to that moment, in the joy of seeing a familiar face, Anne forgot that there had never been much love lost between her and Josie. As a part of Avonlea's life, even a pie was welcome. I'm so glad you came up, Anne said sincerely. You've been crying, remarked Josie, with aggravating pity. I suppose you're homesick. Some people have so little self-control in that respect. I've no intention of being homesick, I can tell you. Town's too jolly after that pokey old Avonlea. I wonder how I ever existed there so long. You shouldn't cry, Anne.  I had a perfectly scrumptious time in the academy today. Our French professor is simply a duck. His moustache would give you co-wallops of the heart. Have you anything eatable around, Anne? I'm literally starving. Ah!  That's why I called round. Otherwise, I'd have gone to the park to hear the band play with Frank Stockley. He bored same place I do, and he's a sport. He noticed you in class today, and asked me who the red-headed girl was. I told him you were an orphan that the Cuthberts had adopted, and nobody knew very much about what you'd been before that. Anne was wondering if, after all, solitude and tears were not more satisfactory than Josie Pie's companionship when Jane and Ruby appeared, each with an inch of Queen's colour ribbon, purple and scarlet, pinned proudly to her coat. As Josie was not speaking to Jane just then, she had to subside into comparative harmlessness. Well, said Jane with a sigh, I feel as if I'd lived many moons since this morning. I ought to be home studying my Virgil, that horrible professor gave us twenty lines to start in on to-morrow, but I simply couldn't settle down to study to-night. Anne, me thinks I see the traces of tears. If you've been crying, do own up. It will restore my self-respect, for I was shedding tears freely before Ruby came along. I don't mind being a goose so much if somebody else is goosey, too. Cake? You'll give me a teeny-piece, won't you? Thank you. It has the real Avonlea flavour. Ruby, perceiving the Queen's calendar lying on the table, wanted to know if Anne meant to try for the gold medal. Anne blushed and admitted she was thinking of it. Oh, that reminds me, said Josie. Queen's is to get one of the Avery Scholarships after all. The word came to-day. Frank Stockley told me. His uncle is one of the Board of Governors, you know. It will be announced in the Academy to-morrow. An Avery Scholarship. Anne felt her heart beat more quickly, and the horizons of her ambition shifted and broadened as if by magic. Before Josie had told the news, Anne's highest pinnacle of aspiration had been a teacher's provincial license, first class, at the end of the year, and perhaps the medal. But now in one moment Anne saw herself winning the Avery Scholarship, taking an arts course at Redmond College and graduating in a gown and mortarboard before the echo of Josie's words had died away. For the Avery Scholarship was in English, and Anne felt that here her foot was on native heath. A wealthy manufacturer of New Brunswick had died and left part of his fortune to endow a large number of scholarships to be distributed among the various high schools and academies of the Maritime provinces, according to their respective standings. There had been much doubt whether one would be allotted to Queens, but the matter was settled at last, and at the end of the year the graduate who made the highest mark in English and English literature would win the scholarship, two hundred and fifty dollars a year for four years at Redmond College. No wonder that Anne went to bed that night with tingling cheeks. I'll win that scholarship if hard work can do it," she resolved. Wouldn't Matthew be proud if I got to be a BA? Oh, it's delightful to have ambitions. I'm so glad I have such a lot. And there never seems to be any end to them. That's the best of it. Just as soon as you attain one ambition you see another one glittering higher up still, it does make life so interesting. Anne's homesickness wore off, greatly helped in the wearing by her weekend visits home. As long as the open weather lasted, the Avonlea students went out to Carmody on the new branch railway every Friday night. Diana and several other Avonlea young folks were generally on hand to meet them, and they all walked over to Avonlea in a merry party. Anne thought those Friday evening gypsy-ings over the autumnal hills in the crisp golden air with the home lights of Avonlea twinkling beyond were the best and dearest hours in the whole week. Gilbert Blythe nearly always walked with Ruby Gillis and carried her satchel for her. Ruby was a very handsome young lady, now thinking herself quite as grown up as she really was. She wore her skirts as long as her mother would let her and did her hair up in town, though she had to take it down when she went home. She had large, bright blue eyes, a brilliant complexion, and a plump, showy figure. She laughed a great deal, was cheerful and good-tempered, and enjoyed the pleasant things of life, frankly. But I wouldn't think she was the sort of girl Gilbert would like, whispered Jane to Anne. Anne did not think so, either, but she would not have said so for the Avery Scholarship. She could not help thinking, too, that it would be very pleasant to have such a friend as Gilbert to jest and chatter with and exchange ideas about books and studies and ambitions. Gilbert had ambitions, she knew, and Ruby Gillis did not seem the sort of person with whom such could be profitably discussed. There was no silly sentiment in Anne's ideas concerning Gilbert. Boys were to her, when she thought about them at all, merely possible good comrades. If she and Gilbert had been friends, she would not have cared how many other friends he had, nor with whom he walked. She had a genius for friendship, girl friends she had in plenty, but she had a vague consciousness that masculine friendship might also be a good thing to round out one's conceptions of companionship and furnish broader standpoints of judgment and comparison. Not that Anne could have put her feelings on the matter into just such clear definition. But she thought that if Gilbert had ever walked home with her from the train, over the crisp fields and along the phrony byways, they might have had many and merry and interesting conversations about the new world that was opening around them and their hopes and ambitions therein. Gilbert was a clever young fellow, with his own thoughts about things and a determination to get the best out of life and put the best into it. Ruby Gillis told Jane Andrews that she didn't understand half the things Gilbert Blythe said. He talked just like Anne Shirley did when she had a thoughtful fit on, and for her part she didn't think it any fun to be bothering about books and that sort of thing when you didn't have to. Frank Stockley had lots more dash and go, but then he wasn't half as good-looking as Gilbert, and she really couldn't decide which she liked best. In the academy Anne gradually drew a little circle of friends about her, thoughtful, imaginative, ambitious students like herself. With the rose-red girl Stella Maynard and the dream girl Priscilla Grant she soon became intimate, finding the latter pale, spiritual looking maiden to be full to the brim of mischief and pranks and fun, while the vivid black-eyed Stella had a heart full of wistful dreams and fancies as aerial and rainbow-like as Anne's own. After the Christmas holidays the Avonlea students gave up going home on Fridays and settled down to hard work. By this time all the Queen scholars had gravitated into their own places in the ranks and the various classes had assumed distinct and settled shadings of individuality. Certain facts had become generally accepted. It was admitted that the metal contestants had practically narrowed down to three, Gilbert Blythe, Anne Shirley, and Louis Wilson. The Avery Scholarship was more doubtful, any one of a certain six being a possible winner. The bronze medal for mathematics was considered as good as one by a fat, funny little up-country boy with a bumpy forehead and a patched coat. Ruby Gillis was the handsomest girl of the year at the academy. In the second-year classes Stella Maynard carried off the palm for beauty, with a small but critical minority in favour of Anne Shirley. Ethel Marr was admitted by all competent judges to have the most stylish modes of hairdressing, and Jane Andrews, Elaine, Plotting, Conscientious Jane, carried off the honours in the Domestic Science course. Even Josie Pie attained a certain preeminence as the sharpest tongue-young lady in attendance at Queen's. So it may be fairly stated that Miss Stacy's old pupils held their own in the wider arena of the academical course. Anne worked hard and steadily. Her rivalry with Gilbert was as intense as it had ever been in Avonlea School, although it was not known in the class at large. But somehow the bitterness had gone out of it. Anne no longer wished to win for the sake of defeating Gilbert, rather for the proud consciousness of a well-won victory over a worthy foeman. It would be worthwhile to win, but she no longer thought life would be insupportable if she did not. In spite of lessons the students found opportunities for pleasant times. Anne spent many of her spare hours at Beechwood and generally ate her Sunday dinners there and went to church with Miss Berry. The latter was, as she admitted, growing old, but her black eyes were not dim nor the vigor of her tongue in the least debated. But she never sharpened the latter on Anne, who continued to be a prime favorite with a critical old lady. That Anne girl improves all the time, she said. I get tired of other girls. There is such a provoking and eternal sameness about them. Anne has as many shanes as a rainbow and every shade is the prettiest while it lasts. I don't know that she is as amusing as she was when she was a child, but she makes me love her and I like people who make me love them. It saves me so much trouble in making myself love them. Anne, almost before anybody realized it, spring had come. Out in Avonlea the mayflowers were peeping pinkly out in the seer barrens where snow wreaths lingered, and the mist of green was on the woods and in the valleys. But in Charlottetown, harassed queen students, thought and talked only of examinations. It doesn't seem possible that the term is nearly over, said Anne, while last fall it seemed so long to look forward to, a whole winter of studies and classes. And here we are, with the exams looming up next week. Well, sometimes I feel as if those exams meant everything, but when I look at the big buds swelling on those chestnut trees and the misty blue air at the end of the streets, they don't seem half so important. Jane and Ruby and Josie, who had dropped in, did not take this view of it. To them the coming examinations were constantly very important indeed, far more important than chestnut buds or maytime hazes. It was all very well for Anne, who was sure of passing at least, to have her moments of belittling them. But when your whole future depended on them, as the girls truly thought theirs did, you could not regard them philosophically. I have lost seven pounds in the last two weeks, sighed Jane. It's no use to say, don't worry, I will worry. Worrying helps you some. It seems as if you were doing something when you're worrying. It would be dreadful if I fail to get my license after going to Queens all winter and spending so much money. I don't care, said Josie Pie. If I don't pass this year I'm coming back next. My father can afford to send me. Frank Stonkley says that Professor Tremaine said Gilbert Blythe was sure to get the medal, and that Emily Clay would likely win the Avery Scholarship. That may make me feel badly to-morrow, Josie, laughed Anne, but just now I honestly feel that as long as I know the violets are coming out all purple down in the hollow below green gables, and that little ferns are poking their heads up in Lovers Lane, it's not a great deal of difference whether I win the Avery or not. I've done my best, and I begin to understand what is meant by the joy of the strife. Just a trying and winning, the best thing is trying and failing. Girls, don't talk about exams. Look at that arch of pale green sky over those houses and picture to yourself what it must look like over the purpley, dark, beach-woods back of Avonlea. What are you going to wear for commencement, Jane? asked Ruby practically. Jane and Josie both answered at once, and the chatter drifted into a side-eddy of fashions. But Anne, with her elbows on the windowsill, her soft cheek laid against her clasped hands, and her eyes filled with visions, looked out unheatingly across city roof inspired to that glorious dome of sunset sky and woe of her dreams of a possible future from the golden tissue of youth's own optimism. All the beyond was hers with its possibilities lurking rosely in the oncoming years. Each year a rose of promise to be woven into an immortal chaplet. On the morning when the final results of all the examinations were to be posted on the bulletin board at Queens, Anne and Jane walked down the street together. Jane was smiling and happy, examinations were over, and she was comfortably sure she had made a pass at least. Further considerations troubled Jane not at all. She had no soaring ambitions, and consequently was not affected with the unrest attendant thereon. For we pay a price for everything we get or take in this world, and although ambitions are well worth having, they are not to be cheaply won, but exact their dews of work in self-denial, anxiety and discouragement. Anne was pale and quiet. In ten more minutes she would know who had won the medal and who the Avery. Beyond those ten minutes there did not seem just then to be anything worth being called time. Of course she'll win one of them anyhow, said Jane, who couldn't understand how the faculty could be so unfair as to order it otherwise. I have not hope of the Avery, said Anne. Everybody says Emily Clay will win it. And I'm not going to march up to that bulletin board and look at it before everybody. I haven't the moral courage. I'm going straight to the girl's dressing room. You must read the announcements and then come and tell me, Jane, and I implore you in the name of our old friendship to do it as quickly as possible. If I have failed, just say so without trying to break it gently. And whatever you do, don't sympathize with me. Promise me this, Jane." Jane promised solemnly. But as it happened there was no necessity for such a promise.  For a moment Anne felt one sickening pang of defeat and disappointment. So she had failed and Gilbert had won. Well, Matthew would be sorry. He had been so sure she would win. And then somebody called out, three cheers from Miss Shirley, winner of the Avery. Oh, Anne gasped, Jane, as they fled to the girl's dressing room amid hearty cheers. Oh, Anne, I'm so proud. Isn't it splendid? And then the girls were around them. And Anne was the center of a laughing, congratulating group. Her shoulders were thumped and her hands shaken vigorously. She was pushed and pulled and hugged and among it all she managed to whisper to Jane, oh, won't Matthew and Marilla be pleased? I must write the news home right away. Commencement was the next important happening. The exercises were held in the big assembly hall of the academy. Addresses were given, essays read, songs sung, the public awarded diplomas, prizes, and medals made. Matthew and Marilla were there, with eyes and ears for only one student on the platform. A tall girl in pale green, with faintly flushed cheeks and starry eyes, who read the best essay and was pointed out and whispered about as the Avery winner. Wrecking your glad we kept to Marilla? whispered Matthew, speaking for the first time since he had entered the hall when Anne had finished her essay. It's not the first time I've been glad, retorted Marilla. You do like to rub things in, Matthew Cuthbert. Miss Barry, who was sitting behind them, leaned forward and poked Marilla in the back with her parasol. Aren't you proud of that, Anne, girl? I am, she said. Anne went home to Avonlea with Matthew and Marilla that evening. She had not been home since April, and she felt that she could not wait another day. The apple blossoms were out, and the world was fresh and young. Diana was at Green Gables to meet her, in her own white room where Marilla had set a flowering house-rose on the windowsill, and looked about her and drew a long breath of happiness. Oh, Diana, it's so good to be back again. It's so good to see those pointed furs coming out against the pink sky and that white orchard against the old Snow Queen. Isn't the breath of the mint delicious? And that tea-rose, why, it's a song and a hope and a prayer all in one. And it's good to see you again, Diana. I thought you liked that Stella Maynard better than me, said Diana reproachfully. Josie Pie told me you did. Josie said you were infatuated with her. Anne laughed and pelted Diana with the faded June lilies of her bouquet. Stella Maynard is the dearest girl in the world except one, and you are that one, Diana, she said. I love you more than ever, and I've so many things to tell you. But just now I feel as if it were joy enough to sit here and look at you. I'm tired, I think, tired of being studious and ambitious. I mean to spend at least two hours tomorrow lying out in the orchard grass thinking of absolutely nothing. You've done splendidly, Anne. I suppose you won't be teaching now that you've won the Avery. I'm going to Redmond in September. Doesn't it seem wonderful? I'll have a brand new stock of ambition laid in by that time after three glorious golden months of vacation. Jane and Ruby are going to teach. Isn't it splendid to think we all got through, even to Moody's Spurgeon and Josie Pie? The Newbridge trustees have offered Jane their school already, said Diana. Gilbert Blythe is going to teach, too. He has to. His father can't afford to send him to college next year after all, so he means to earn his way through. I expect he'll get the school here if Miss Ames decides to leave.  She had not known this. She had expected that Gilbert would be going to Redmond also. What would she do without their inspiring rivalry? Would not work, even at a coeducational college with a real degree in prospect, be rather flat without her friend the enemy? The next morning at breakfast it suddenly struck Anne that Matthew was not looking well. Surely he was much grayer than he had been a year before. Marilla—she said hesitatingly when he had gone out—is Matthew quite well? No, he isn't, said Marilla, in a troubled tone. He's had some real bad spells with his heart this spring, and he won't spare himself a might. I've been real worried about him, but he's some better this while back, and we've got a good hired man, so I'm hoping he'll kind of rest and pick up. Maybe he will, now you're home. You always cheer him up. Anne leaned across the table and took Marilla's face in her hands. You're not looking as well yourself as I'd like to see you, Marilla. You look tired. I'm afraid you've been working too hard. You must take a rest now that I'm home. I'm just going to take this one day off to visit all the dear old spots and hunt up my old dreams, and then it will be your turn to be lazy while I do the work. Marilla smiled affectionately at her girl. It's not the work. It's my head. I've got a pain so often now behind my eyes. Dr. Spencer's been fussing with glasses, but they don't do me any good. There is a distinguished oculus coming to the island the last of June, and the doctor says I must see him. I guess I'll have to. I can't read or sow with any comfort now. Well, Anne, you've done real well at Queens, I must say, to take first-class license in one year and win the Avery Scholarship. Well, well. Mrs. Linn says pride goes before a fall, and she doesn't believe in the higher education of women at all. She says it unfits them for a woman's true sphere. I don't believe a word of it. Speaking of Rachel reminds me, did you hear anything about the Abbey Bank lately, Anne? I heard it was shaky, answered Anne. Why? That is what Rachel said. She was up here one day last week and said there was some talk about it. Matthew felt real worried. All we have saved is in that bank, every penny. I wanted Matthew to put it in the Savings Bank in first place, but old Mr. Abbey was a great friend of Father's, and he'd always banked with him. Matthew said any bank with him at the head of it was good enough for anybody. I think he has only been its nominal head for many years, said Anne. He is a very old man. His nephew is a really at the head of the institution. Well, when Rachel told us that I wanted Matthew to draw our money right out and he said he'd think of it, but Mr. Russell told him yesterday that the bank was all right. Anne had her good day in the companionship of the outdoor world. She never forgot that day. It was so bright and golden and fair, so free from shadow and so lavish of blossom. Anne spent some of its rich hours in the orchard. She went to the Dryad's bubble and Willowmere and Violet Vale. She held in at the manse and had a satisfying talk with Mrs. Allen. And finally in the evening she went with Matthew for the cows through lovers' lane to the back pasture. The woods were all gloried through with sunset and the warm splendor of it streamed down through the hill gaps in the west. Matthew walked slowly with bent head. Anne, tall and erect, suited her springing step to his. You've been working too hard today, Matthew, she said reproachfully. Why don't you take things easier? Well, now? I can't seem to, said Matthew as he opened the yard gate to let the cows through. It's only that I'm getting old, Anne, and keep forgetting it. Well, well, I've always worked pretty hard and I'd rather drop in harness. If I had been the boy you sent for, said Anne wistfully, I'd be able to help you so much now and spare you in a hundred ways. I could find it in my heart to wish I had been just for that.  Just mind you that, rather than a dozen boys. Well, now, I guess it wasn't a boy that took the Avery scholarship, was it?  He smiled his shy smile at her as he went into the yard. Anne took the memory of it with her when she went to her room that night, and sat for a long while at her open window, thinking of the past and dreaming of the future. Outside the snow queen was mistily white in the moonshine, the frogs were singing in the marsh beyond orchard slope, Anne always remembered the silvery, peaceful beauty and fragrant calm of that night. It was the last night before sorrow touched her life, and no life is ever quite the same again when once that cold, sanctifying touch has been laid upon it. CHAPTER XXXVII. A Vand of Green Gables. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. Read by Karen Savage, Waco, Texas, June 2007. Anne of Green Gables. By Lucy Maud Montgomery. CHAPTER XXXVII. THE REAPER WHOSE NAME IS DEATH. Matthew? Matthew! What is the matter? Matthew, are you sick? It was Marilla who spoke, alarm in every jerky word.  It was long before Anne could love the sight or odor of white Narcissus again, in time to hear her and to see Matthew standing in the porch doorway, a folded paper in his hand, and his face strangely drawn and gray. Anne dropped her flowers and sprang across the kitchen to him at the same moment as Marilla. They were both too late. Before they could reach him, Matthew had fallen across the threshold. He's fainted, gasped Marilla, and run for Martin, quick! Quick! He's at the barn! Martin, the hired man, who had just driven home from the post office, started at once for the doctor, calling at Orchard Slope on his way to send Mr. and Mrs. Barry over. Mrs. Lynde, who was there on an errand, came too. They found Anne and Marilla distractedly trying to restore Matthew to consciousness. Mrs. Lynde pushed them gently aside, tried his pulse, and then laid her ear over his heart. She looked at their anxious faces sorrowfully, and the tears came into her eyes. Oh, Marilla! She said gravely. I don't think we can do anything for him. Mrs. Lynde! You don't think—you can't think—Matthew is—is— Anne could not say the dreadful word.  Child, yes, I'm afraid of it. Look at his face. When you've seen that look as often as I have, you'll know what it means. Anne looked at the still face, and there beheld the seal of the great presence. When the doctor came, he said that death had been instantaneous and probably painless, caused in all likelihood by some sudden shock. The secret of the shock was discovered to be in the paper Matthew had held, and which Martin had brought from the post office that morning. It contained an account of the failure of the Abbey Bank. The news spread quickly through Avonlea, and all day friends and neighbors thronged Green Gables and came and went on errands of kindness for the dead and living. For the first time, shy, quiet Matthew Cuthbert was a person of central importance. The White Majesty of Death had fallen on him and set him apart as one crowned. When the calm night came softly down over Green Gables, the old house was hushed and tranquil. In the parlour lay Matthew Cuthbert in his coffin, his long grey hair framing his placid face, on which there was a little kindly smile as if he but slept, dreaming pleasant dreams. There were flowers about him, sweet, old-fashioned flowers which his mother had planted in the homestead garden in her bridal days, and for which Matthew had always had a secret, wordless love.  It was the last thing she could do for him. The barris and Mrs. Lynde stayed with them that night. Diana, going to the East Gable, where Anne was standing at her window, said gently, Anne, dear, would you like to have me sleep with you tonight? Thank you, Diana. Anne looked earnestly into her friend's face. I think you won't misunderstand me when I say I want to be alone. I'm not afraid. I haven't been alone one minute since it happened, and I want to be. I want to be quite silent and quiet, and try to realize it. I can't realize it. Half the time it seems to me that Matthew can't be dead, and the other half it seems as if he must have been dead for a long time, and I've had this horrible, dull ache ever since. Diana did not quite understand. Marilla's impassioned grief, breaking all the bounds of natural reserve and lifelong habit in its stormy rush, she could comprehend better than Anne's tearless agony. But she went away kindly, leaving Anne alone to keep her first visual with sorrow. Anne hoped that the tears would come in solitude. It seemed to her a terrible thing that she could not shed a tear for Matthew, whom she had loved so much and who had been so kind to her. Matthew, who had walked with her last evening at sunset, and was now lying in the dim room below with that awful peace on his brow. But no tears came at first, even when she knelt by her window in the darkness and prayed, looking up to the stars beyond the hills. No tears. Only the same horrible, dull ache of misery that kept on aching until she fell asleep, worn out with the day's pain and excitement. In the night she awakened, with the stillness and the darkness about her, and the recollection of the day came over her like a wave of sorrow. She could see Matthew's face smiling at her as he had smiled when they parted at the gate the last evening. She could hear his voice saying, my girl, my girl that I'm proud of. Then the tears came, and Anne wept her heart out. Marilla heard her and crept in to comfort her. There, there, don't cry so, dearie. It can't bring him back. It—it isn't right to cry so. I knew that today, but I couldn't help it then. He'd always been such a good, kind brother to me. But God knows best. Oh, just let me cry, Marilla, sobbed Anne. The tears don't hurt me like that ache did.  I couldn't have Diana stay. She's good and kind and sweet, but it's not her sorrow. She's outside of it, and she couldn't come close enough to my heart to help me. It's our sorrow, yours and mine. Oh, Marilla, what will we do without him? We've got each other, Anne. I don't know what I'd do if you weren't here, if you'd never come. Oh, Anne, I know I've been kind of strict and harsh with you, maybe, but you mustn't think I didn't love you as well as Matthew did for all that. I want to tell you now, when I can—it's never been easy for me to say things out of my heart—but at times like this it's easier. I love you as dear as if you were my own flesh and blood, and you've been my joy and comfort ever since you came to Greengables. Two days afterwards they carried Matthew Cuthbert over his homestead threshold and away from the fields he had tilled and the orchards he had loved and the trees he had planted, and then Avonlea settled back to its usual placidity, and even at Greengables affairs slipped into their old groove and work was done and duties fulfilled with regularity as before, although always with the aching sense of loss in all familiar things. Anne, new to grief, thought it almost sad that it could be so—that they could go on in the old way without Matthew. She felt something like shame and remorse when she discovered that the sunrises behind the furs and the pale pink buds opening in the garden gave her the old inrush of gladness when she saw them, that Diana's visits were pleasant to her, and that Diana's merry words and ways moved her to laughter and smiles, that, in brief, the beautiful world of blossom and love and friendship had lost none of its power to please her fancy and thrill her heart, that life still called to her with many insistent voices. It seems like disloyalty to Matthew somehow to find pleasure in these things now that he is gone. She said wistfully to Mrs. Allen one evening when they were together in the man's garden. I miss him so much, all the time, and yet, Mrs. Allen, the world and life seemed very beautiful and interesting to me for all. Today Diana said something funny and I found myself laughing. I thought when it happened I could never laugh again, and it somehow seems as if I oughtn't to. When Matthew was here he liked to hear you laugh, and he liked to know that you found pleasure in the pleasant things around you, said Mrs. Allen gently. He is just away now, and he likes to know it just the same. I am sure we should not shut our hearts against the healing influences that nature offers us. But I can understand your feeling. I think we all experience the same thing. We resent the thought that anything can please us when someone we love is no longer here to share the pleasure with us, and we almost feel as if we were unfaithful to our sorrow when we find our interest in life returning to us. I was down to the graveyard to plant a rose-bush on Matthew's grave this afternoon, said Anne dreamily. I took a slip of the little white scotch rose-bush his mother brought out from Scotland long ago. Matthew always liked those roses the best.  It made me feel glad that I could plant it by his grave, as if I were doing something that must please him in taking it there to be near him. I hope he has roses like them in heaven. Perhaps the souls of all those little white roses that he has loved so many summers were all there to meet him. I must go home now. Marilla is all alone, and she gets lonely at twilight. She will be lonelier still, I fear, when you go away again to college, said Mrs. Allen. Anne did not reply. She said good night and went slowly back to Green Gables. Marilla was sitting on the front door steps, and Anne sat down beside her. The door was opened behind them, held back by a big pink conch shell, with hints of sea sunsets in its smooth inner convolutions. Anne gathered some sprays of pale yellow honeysuckle and put them in her hair. She liked the delicious hint of fragrance as some aerial benediction above her every time she moved. Dr. Spencer was here while you were away, Marilla said. He says that the specialist will be in town tomorrow, and he insists that I must go in and have my eyes examined. I suppose I'd better go and have it over. I'll be more than thankful if the man can give me the right kind of glasses to suit my eyes. You won't mind staying here alone while I'm away, will you? Martin will have to drive me in, and there's ironing and baking to do. I shall be all right. Diana will come over for company for me. I shall attend to the ironing and baking beautifully. You needn't fear that I'll starch the handkerchiefs or flavor the cake with liniment. Marilla laughed. What a girl you were for making mistakes in them days, Anne. You were always getting into scrapes. I did used to think you were possessed.  Yes, indeed. I shall never forget it," smiled Anne, touching the heavy braid of hair that was round about her shapely head. I laugh a little now, sometimes when I think what a worry my hair used to be to me. But I don't laugh much, because it was a very real trouble then. I did suffer terribly over my hair and my freckles.  She informed me yesterday that she really thought it was redder than ever, or at least my black dress made it look redder, and she asked me if people who had red hair ever got used to having it. Marilla, I've almost decided to give up trying to like Josie Pie. I've made what I would once have called a heroic effort to like her, but Josie Pie won't be liked. Josie is a pie, said Marilla sharply, so she can't help being disagreeable. I suppose people of that kind serve some useful purpose in society, but I must say I don't know what it is, any more than I know the use of thistles. Is Josie going to teach? No, she is going back to Queens next year. So are Moody Spurgeon and Charlie Sloan. Jane and Ruby are going to teach, and they have both got schools. Jane at Newbridge and Ruby at some place up west. Gilbert Blythe is going to teach, too, isn't he? Yes. Marilla is going to teach quickly. What a nice-looking fellow he is, said Marilla absently. I saw him in church last Sunday, and he seemed so tall and manly. He looks a lot like his father did at the same age. John Blythe was a nice boy. We used to be real good friends, he and I. People called him my beau. Anne looked up with swift interest. Oh, Marilla! And what happened? Why didn't you...? We had a quarrel. I wouldn't forgive him when he asked me to. I meant to after a while, but I was sulky and angry, and I wanted to punish him first. He never came back. The Blythe's were all mighty independent, but I always felt rather sorry. I've always kind of wished I'd forgiven him when I had the chance. So you've had a bit of romance in your life, too, said Anne softly. Yes, I suppose you might call it that. You wouldn't think so to look at me, would you? But you never can tell about people from their outsides. Everybody has forgotten about me and John. I'd forgotten myself. But it all came back to me when I saw Gilbert last Sunday. End of Chapter 37 Chapter 38 Van of Green Gables This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. Read by Karen Savage, Waco, Texas, June 2007. Anne of Green Gables By Lucy Mod Montgomery Chapter 38 The Bend in the Road Marilla went to town the next day and returned in the evening. Anne had gone over to Orchard's Slope with Diana and came back to find Marilla in the kitchen, sitting by the table with her head leaning on her hand. Something in her dejected attitude struck a chill to Anne's heart. She had never seen Marilla sit limply inert like that. Are you very tired, Marilla? Yes. No. I don't know, said Marilla, wearily looking up. I suppose I am tired. But I haven't thought about it. It's not that. Did you see the Oculus? What did he say? Asked Anne anxiously. Yes, I saw him. He examined my eyes. He says that if I give up all reading and sewing entirely and any kind of work that strains the eyes, and if I'm careful not to cry and if I wear the glasses he's given me, he thinks my eyes may not get any worse and my headaches will be cured. But if I don't, he says I'll certainly be stone blind in six months. Blind. Anne just think of it. For a minute Anne, after her first quick exclamation of dismay, was silent. It seemed to her that she could not speak. Then she said bravely, but with a catch in her voice, Marilla, don't think of it. You know he has given you hope. If you are careful you won't lose your sight altogether, and if his glasses cure your headaches it will be a great thing. I don't call it much hope, said Marilla bitterly. What am I to live for if I can't read or sew or do anything like that? I might as well be blind or dead. And as for crying, I can't help that when I get lonesome. But there, it's no good talking about it. If you'll get me a cup of tea I'll be thankful. I'm about done out.  I can't bear that folk should come here to question and sympathize and talk about it. When Marilla had eaten her lunch, Anne persuaded her to go to bed. Then Anne went herself to the East Gable and sat down by her window in the darkness alone with her tears and her heaviness of heart. How sadly things had changed since she had sat here the night after coming home. Then she had been full of hope and joy and the future had looked rosy with promise. Anne felt as if she had lived years since then. But before she went to bed there was a smile on her lips and peace in her heart. She had looked her duty courageously in the face and found it a friend, this duty ever is, when we meet it frankly. One afternoon a few days later Marilla came slowly in from the front yard where she had been talking to a caller, a man whom Anne knew by sight as Saddler from Carmody. Anne wondered what he could have been saying to bring that looked Marilla's face. What did Mr. Saddler want, Marilla? Marilla sat down by the window and looked at Anne. There were tears in her eyes in defiance of the oculus prohibition and her voice broke as she said. She heard that I was going to sell green gables and he wants to buy it. Buy it? Buy green gables? Anne wondered if she had heard a right. Oh, Marilla, you don't mean to sell green gables? Anne, I don't know what else is to be done. I've thought it all over. If my eyes were strong I could stay here and make out to look after things and manage with a good hired man. But as it is I can't. I may lose my sight altogether, and anyway I'll not be fit to run things. Oh, I never thought I'd live to see the day when I'd have to sell my home. But things would only get behind worse and worse all the time till nobody would want to buy it. Every cent of our money went in that bank, and there's some notes Matthew gave last fall to pay. Mrs. Lynde advises me to sell the farm and board somewhere, with her, I suppose. It won't bring much. It's small and the buildings are old. But it'll be enough for me to live on, I reckon. I'm thankful you're provided for with that scholarship, Anne. I'm sorry you won't have a home to come to in your vacations, that's all. But I suppose you'll manage somehow. Marilla broke down and wept bitterly. You mustn't sell green gables," said Anne resolutely. Oh, Anne, I wish I didn't have to. But you can see for yourself. I can't stay here alone. I'd go crazy with trouble and loneliness. And my sight would go, I know it would. You won't have to stay here alone, Marilla. I'll be with you. I'm not going to Redmond. Marilla lifted her worn face from her hands and looked at Anne. Why—what do you mean? Just what I say. I'm not going to take the scholarship. I decided so the night after you came home from town. You surely don't think I could leave you alone in your trouble, Marilla, after all you've done for me? I've been thinking and planning. Let me tell you my plans. Mr. Barry wants to rent the farm for next year, so you won't have any bother over that. And I'm going to teach. I've applied for the school here, but I don't expect to get it, for I understand the trustees have promised it to Gilbert Blythe. But I can have the Carmody School. Mr. Blair told me so last night at the store. Of course, that won't be quite as nice or convenient as if I had the Avonlea School. But I can board home and drive myself over to Carmody and back, in the warm weather at least. And even in winter I can come home Fridays. We'll keep a horse for that. Oh, I have it all planned out, Marilla.  You shan't be dull or lonesome. And we'll be real cosy and happy here together, you and I." Marilla had listened like a woman in a dream. Oh, Anne, I could get on real well if you were here, I know. But I can't let you sacrifice yourself so for me. It would be terrible. Nonsense. Anne laughed merrily. There is no sacrifice. Nothing could be worse than giving up green gables. Nothing could hurt me more. We must keep the dear old place. My mind is quite made up, Marilla. I'm not going to Redmond, and I am going to stay here and teach. Don't you worry about me a bit. But your ambitions—and I'm just as ambitious as ever. Only I've changed the object of my ambitions.  Besides, I mean to study at home here and take a little college course all by myself. Oh, I've dozens of plans, Marilla. I've been thinking them out for a week. I shall give life here my best, and I believe it will give its best to me in return. When I left Queens my future seemed to stretch out before me like a straight road. I thought I could see along it for many a milestone. Now there is a bend in it. I don't know what lies around the bend, but I'm going to believe that the best does. It has a fascination of its own, that bend, Marilla. I wonder how the road beyond it goes. What there is of green glory and soft, checkered light and shadows. What new landscapes. What new beauties. What curves and hills and valleys further on. I don't feel as if I ought to let you give it up, said Marilla, referring to the scholarship. But you can't prevent me. I'm sixteen-and-a-half, obstinate as a mule, as Mrs. Lynde once told me, laughed Anne.  I don't like to be pitied, and there is no need for it. I'm heart-glowed over the very thought of staying at Dear Green Gables. Nobody could love it as you and I do, so we must keep it. You blessed girl, said Marilla, yielding. I feel as if you'd given me new life.  But I know I can't, so I ain't gonna try.  When it became noise abroad in Avonlea that Anne Shirley had given up the idea of going to college and intended to stay home and teach, there was a good deal of discussion over it. Most of the good folks, not knowing about Marilla's eyes, thought she was foolish. Mrs. Allen did not. She told Anne so in approving words that brought tears of pleasure to the girl's eyes. Later did good Mrs. Lynde. She came up one evening and found Anne and Marilla sitting at the front door in the warm, scented summer dusk.  I declare I'm getting glad to sit down. I've been on my feet all day, and two hundred pounds is a good bit for two feet to carry round. It's a great blessing not to be fat, Marilla. I hope you appreciate it. Well, Anne, I hear you've given up your notion of going to college. I was real glad to hear it. You've got as much education now as a woman can be comfortable with. I don't believe in girls going to college with the men and cramming their heads full of Latin and Greek and all that nonsense. But I'm going to study Latin and Greek just the same, Mrs. Lynde," said Anne, laughing. I'm going to take my arts course right here at Green Gables and study everything that I would at college. Mrs. Lynde lifted her hands in holly horror.  Not a bit of it. I shall thrive on it. Oh, I'm not going to overdo things, as Josiah Allen's wife says, I shall be medium. But I'll have lots of spare time in the long winter evenings, and I've no vocation for fancy work. I'm going to teach over at Carmody, you know. I don't know it. I guess you're going to teach right here in Avonlea. The trustees have decided to give you the school. Mrs. Lynde," cried Anne, springing to her feet in surprise, why I thought they had promised it to Gilbert Blythe. So they did. But as soon as Gilbert heard that you had applied for it, he went to them. They had a business meeting at the school last night, you know, and told them that he withdrew his application and suggested that they accept yours. He said he was going to teach at White Sands. Of course, he knew how much you wanted to stay with Marilla, and I must say I think it was real kind and thoughtful in him, that's what. He's still self-sacrificing too, for he'll have his board to pay at White Sands, and everybody knows he's got to earn his own way through college. So the trustees decided to take you. I was tickled to death when Thomas came home and told me. I don't feel that I ought to take it, murmured Anne. I mean, I don't think I ought to let Gilbert make such a sacrifice for—for me. I guess you can't prevent him now. He signed papers with the White Sands trustees, so it wouldn't do him any good now if you were to refuse. Of course you'll take the school. You'll get along all right, now that there are no pies coming. Josie was the last of them, and a good thing she was, that's what. There's been some pie or other going to Avonlea School for the last twenty years, and I guess their mission in life was to keep schoolteachers reminded that Earth isn't their home. Bless my heart! What is all that winking and blinking at the barry-gaple mean? Diana is signalling for me to go over, laughed Anne. You know we keep up the old custom. Excuse me while I run over and see what she wants. Anne ran down the clover slope like a deer and disappeared in the furry shadows of the haunted wood. Mrs. Lynde looked after her indulgently. There's a good deal of the child about her yet in some ways. There's a good deal more of the woman about her in others, retorted Marilla, with a momentary return of her old crispness. But crispness was no longer Marilla's distinguishing characteristic. As Mrs. Lynde told her Thomas that night, Marilla Cuthbert has got mellow, that's what. Anne went to the little Avonlea graveyard the next evening to put fresh flowers on Matthew's grave and water the scotch rose-bush. She lingered there until dusk, liking the peace and calm of the little place, with its poplars whose rustle was like low friendly speech and its whispering grasses growing at will among the graves. When she finally left it and walked down the long hill that sloped to the lake of shining waters, it was past sunset, and all Avonlea lay before her in a dream-like after-light, a haunt of ancient peace. There was a freshness in the air as of a wind that had blown over honey-sweet fields of clover. Home-lights twinkled out here and there among the homestead trees. Beyond lay the sea, misty and purple, with its haunting, unceasing murmur. The west was a glory of soft, mingled hues, and the pond reflected them all in still, softer shadings. The beauty of it all thrilled Anne's heart, and she gratefully opened the gates of her soul to it. Your old world, she murmured, you are very lovely, and I am glad to be alive in you. Halfway down the hill a tall lad came whistling out of a gate before the blithe homestead. It was Gilbert, and the whistle died on his lips as he recognized Anne. He lifted his cap courteously, but he would have passed on in silence if Anne had not stopped and held out her hand. Gilbert, she said with scarlet cheeks, I want to thank you for giving up the school for me. It was very good of you, and I want you to know that I appreciate it. Gilbert took the offered hand eagerly. It wasn't particularly good of me at all, Anne. I was pleased to be able to do you some small service. Are we going to be friends after this? Have you really forgiven me my old fault?" Anne laughed and tried unsuccessfully to withdraw her hand. I forgave you that day by the pond landing, although I didn't know it.  I've been—I may as well make a complete confession. I've been sorry ever since. We are going to be the best of friends, said Gilbert jubilantly. We were born to be good friends, Anne. You've thwarted destiny enough. I know we can help each other in many ways. You are going to keep up your studies, aren't you? So am I. Come. I'm going to walk home with you." Marilla looked curiously at Anne when the latter entered the kitchen. Who was that came up the lane with you, Anne? Gilbert Blythe answered Anne, vexed to find herself blushing. I met him on Barry's hill. I didn't think you and Gilbert were such good friends that you'd stand for half an hour at the gate talking to him, said Marilla with a dry smile. We haven't been—we've been good enemies—but we have decided that it will be much more sensible to be good friends in the future. Were we really there half an hour? It seemed just a few minutes. But you see, we have five years lost conversations to catch up with Marilla. Anne sat long at her window that night, companioned by a glad content. The wind purred softly in the cherry-bows, and the mint breaths came up to her. The stars twinkled over the pointed furs in the hollow, and Diana's light gleamed through the old gap. Anne's horizons had closed in since the night she had sat there after coming home from Queens. But if the path set before her feet was to be narrow, she knew that flowers of quiet happiness would bloom along it. The joy of sincere work and worthy aspiration and congenial friendship were to be hers. Anne could rob her of her birthright of fancy or her ideal world of dreams, and there was always the bend in the road. God's in his heaven, all's right with the world, whispered Anne softly.


I'm Barney, Barney Hanlon and I was asked before we kicked off what's that from and so I'll just clarify that I am a massive Battlestar Galactica fan. If you don't know the series, well no questions from you until you answer that. So firstly, today's a very special day for me and this is not only my first ever talk at the conference but it's my 10th conference which when I look back actually feels really amazing and I'd like to thank PHP Southwest especially because last month they invited me up to give this talk so I got a lot of really good positive feedback from them and they were lovely and if you want to do speaking and come up here I don't think you'll need to do nine conferences before you attempt it. But I would recommend that you go to PHP Bristol and practice your talk and then come up here. So what do I do? Well the sharp-eyed amongst you might have noticed this little logo on here and as my manager is in front there so I work for World First. We are foreign currency and payment specialists so transferring euros to dollars, pounds, whatever you want around the world. There's 60 of us in IT, developers, DevOps, infrastructure.  None of my stories are getting through now. Guess what, probably like a lot of people here, we're hiring. So I work as a developer specialising in mentoring internally on better practices, improving code and so forth. And my team love me, they've shortened how they've described me as the Dementor. So anyhow, it's a great company to work for but it's not without problems. We had huge growth which led to developers sticky taping on more and more to a monolith. And then we've obviously identified that and we start to try and solve that. But finance, fintech is a rapidly changing market. There's a lot of deregulation happening, a lot of new products out there and we have to be competitive or beat our competition as well. On top of the changes in the regulations, there's also needs to be more compliant, be aware of security changes and when you have a monolith that becomes obviously very heavy to make any changes, so refactor all the things. So we started coming up with some solutions in 2016 towards this. Start moving with a domain driven design approach, moving more to micro-ish services and adopting TDD and BDD everywhere. I don't think that's groundbreaking by any means. I think most people have tried that or are doing that themselves. And it's not the answer to everything, we still have some problems. With new products comes a lot of changes in the domain logic. We adopted the Spotify model. Who is familiar with the Spotify model? A few hands. Actually not that many hands. Hands up if you hate audience participation. Okay. So we started to split up the squads and give them more independence but what that starts leading to is a fracturing in frameworks, a lot more libraries being used as different squads go with a particular approach. And that's great but it also means that you're having to learn a new framework if you move squad. It also means that because the squads are sort of working independently and choosing a lot of ways to do stuff themselves, we start having like a zillion internal endpoints for our APIs. Which is okay but then you start having to just learn another squad to Jason. This is perhaps my favorite ever recruiter's email to me. Unfortunately it does become a thing that you become a Jason programmer. So we started to think about this last year and how are you going to solve this. So quoting the great philosopher Vanilla Ice, he then went on to say that he was back for the brand new invention but we can leave that. But some of the things that he would have sung about as well is that we're not going to refactor all of these working APIs just so that they have the same framework. It doesn't give us anything. There's tests. If somebody's using Lumin or Laravel because they're masochistic or they're using Symphony or whatever. I've mentioned that specifically because of a chat last night. But it doesn't matter what your framework is. If it's working, don't replace it. There is no need for a company-wide framework. But we do need to handle away to all of these different changes and how we're going to get things to work in a common kind of way. And we need to plug in this new functionality. We've got new products and we need to, you know, slot them in to these APIs. So we started to think about how we're going to do this. And we came up with a couple of solutions. So we're now going to use command buses to tell our domain that we want to do something. Then we're going to use event buses to inform our domain that something has been done. And then we're going to use action domain responder pattern to control the interaction between the framework and the command bus. So it's really now about how we be commanding. OK. Problem is, the term is overloaded. If you start thinking about what a command is, if you type command PHP into Google, that would probably bring back a lot of results, none of which would be very useful to you. Gang of four talk about the command pattern. OK. That's one. Domain driven design refers to commands within business processes when you do domain mapping. And then, of course, another popular one which was mentioned in the talk just before mine, CQRS. We'll start with CQRS because whilst all of these patterns are different, they play nicely together and they're not mutually exclusive. So, CQRS is command query responsibility segregation. And the heart of it is this notion that you can use a different model to update information than a model you use to read information. If you start, if you come from using doctrine, early doctrine usage, you'd probably see that you have like one entity that does everything. You know, it has a column. It's basically mapping to every single column in your tables or related tables. If you have a user table with 30 bits of information, that entity has 30 private variables or protective variables in the case of doctrine. But you're only going to be using a small subset of those during certain operations. But you've now created this massive one that you have to test and use and make sure it's working. It's not necessarily helpful. It's also not being a single responsibility. It's now everything to do with user. Well, when I'm registering a user, they're not a user. They're a customer or they're a client. I only need maybe an email address and password. Why do I have all of this stuff about their account number? Now, that could be that you just go, oh well, normalise your database. Potentially. But you're already in this place. The thing is to have smaller models that are more related to how you use your app rather than just one supermodel. And along comes a command pattern. Now, I couldn't find my gang of four book to look up their definition, so I want on the ever-reliable Wikipedia. So it's saying, in object-oriented programming, the command pattern is a behavioural design pattern in which an object is used to encapsulate all information needed to perform an action or trigger an event at a later time. This information includes the method name, the object that owns the method, and values of the method parameters. OK, fair enough. That's a good dictionary description, but in a more helpful kind of way, they're very simple data transfer objects. They don't know how they're going to be used. But only enough information so that they can be used. So enough to complete the command, basically. And if you have this command that you've created, and you have another command that's got the same values, it is equal. Simple value object. I have some code now to show you. The launch viper's command. So it's very simple. We've got a constructor, some private variables. It takes the launch time in and creates it as an immutable. And it's got some simple getters. Nothing really useful about it in that sense. Apart from its name is quite fixed. It's launch viper's command. It's clear what it does, even if it doesn't know what it's going to do. So if you look at command buses, so there's less on this. The first proper reference I came across this was on the League of Extraordinary Packages. It's when you combine the command pattern with the service layer. Its job is to take a command object, which describes what the user wants to do, and match it to a handler which executes it. This can help structure your code neatly. I firmly believe, after a year of using it, on that last sentence, it does make your code very neat. There are two libraries that I'm familiar with. I was reminded of one just before this talk, is Simple Bus, which I have excluded from this, which is a bit of a shame. But the one that we'll be using today is Tactician, which is by the League. And another one is called Broadway. Now Broadway is very interesting, because it's actually full event sourcing, which we'll touch on the periphery of this talk. I've used Broadway, and I like it. I think everybody can help by giving them some pull requests for some better documentation, because they have some good examples, but it's not the easiest thing to immediately jump into. But I would certainly recommend it if you want to save your events to a database. And so here's a simple handler. See, we're going to use the Deck Crew Service. And so this is the Launch Vipers Handler. In the case of Out of the Box, Tactician will take a command, so it's called Launch Vipers Command. This is called the Launch Vipers Handler. It will automatically map for two. And we have one method, Handle, which takes in the command, and it's going to take the Deck Crew Service and tell it to get the birds in the air for a given Battlestar from a flight pod with that squadron. As you can see, it's getting everything that it needs from the command. It doesn't need to know about anything else apart from the service that was injected into its constructor. And then tying this all together, there's a lot of code there, actually. Gosh, make a note of that. So we're going to create Tirl's Deck Gang as the Deck Crew Service. We're going to set up the handler with it, and then we're going to use Tactician's Quick Start method, and we just say, OK, to make sure that we're explicit about it, the command of that class will go to that handler. Simple map.  We don't need to know much about the command bus itself. It's a simple enough map for us and gives us a point of abstraction.  So let's talk about event buses. So that's command buses. They're fairly simple. The emission is the other side of it. And PHP has certainly had event bus-like structures for some time. Probably the first one that I came across was Drupal and its hook system. It's a very simple pub subsystem before there were real events and listeners. Zen framework then took it a little bit further with pre-dispatch and post-dispatch, and although it didn't provide as many hooks as Drupal, what it did bring was prioritisation, which is an important aspect to event listening. Then, somebody wrote SPL Observer, which is there, but I haven't really seen a lot of people use. And then probably the most popular one is the Symphony Event Dispatch, which you see regularly being used within, I think even PHP spec and BHAT use it. PHP unit might use a variation of it. I can't remember. There is another one coming soon, which I'm hoping to finish this year, which I've written it three times because I keep coming up with different ideas. The one thing that I'm trying to improve is that all of the event dispatchers, and I think the term dispatcher has come from their history within Zen framework or Symphony as being the backbone of an MVC system, League has an event system, they call it Emission, which in some way sort of correctly helps split the mindset because otherwise we're not really using events inside MVC in the right way, I feel. We should call them Emission. We're saying, hey, something has happened and bounce when I finally finish it has a cue so that, because at the moment all of the systems out there only accept one event at the time. Which is breaks how you want the application to flow sometimes. So a very simple event. I rewatched the miniseries two nights ago to make sure I got this correct. Radiological alarm was triggered event. So we have an inbound Cylon Raider and it has a number of nukes that it's going to launch. And again, we're doing very simple getters. Now we want a listener for this. Now if it's a Symphony listener then it's just a simple callable. So we're going to use invoke on it. And clearly what we want is we don't want to be hit by nukes. So we're going to have the listener if there are inbound nukes. We're going to send our viper to intercept the nukes. And we'll see if we're successful later on. But now we'll set it up in some ways. It's very similar to how we set up the command bus. As you can see, again, we say to the event bus, in this case it's the Symphony event dispatcher. We're going to add a listener and we're going to say, okay, you're going to listen on this event. And then we dispatch the event to the event bus. And hopefully the listener will act and stop the nukes. If you compare them, they're pretty simple, pretty similar, but there are some differences. They're both very simple DTOs. I like to think of them as beautifully dumb. There is almost nothing to test on an event or a command. Apart from I've put something in your constructor, can I get that thing out? They should be self-validating, however. You should not be able to create a command or an event within valid data. There should be something within its constructor that says, hey, in some cases that might be just as simple as type hinting, but it might be that it does a little bit more. The main difference is that commands know or have a one-to-one relationship with a single handler, whereas events don't have that relationship with listeners. They may have a very simple example here. We have one event with one listener, but there could be n number of listeners and the names mean nothing at that point. They also don't know anything about the mechanism. There was nothing in there that said, you're coming from the command line or HTTP or the end of a queue. So their world, the world of a handler and the world of a listener is basically whatever you put inside the command or the event, which makes them extremely easy to test because you're in full control of that command or that event. The command bus abstracts away the direct link between the command and the handler, and you switch out stuff, but it's still one-to-one. The event bus' role is to manage a many-to-many relationship because there's nothing stopping a listener listening on n number of events or vice versa. Okay, that's commands and events, but how do we use them or what is the advantage of them? We'll talk briefly about hexagonal architecture. It's also known as ports and adapters. Are you familiar with hexagonal architecture? Some raised hands. Okay, not enough raised hands, so we will go through this. So allow an application to be driven equally by users, programmes, automated tests or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases. This is by Cockburn, who I believe, well, he's certainly the one that comes up highest on Google for knowing about this. This diagram, I'm sure, if you've seen hexagonal architecture before, you'll be aware of this, but we can see that we have adapters around the edge, so we have UI, test agent integrations, and we even have it at the other end with our mock database or a real database. So we're in control, and then our application is in the centre of that. The nice thing is that the application is beautifully ignorant of the nature of the input device. So what, from a PHP perspective, are those adapters? Well, HTTP. It could be Laravel, Lumen, Symfony, and even Drupal if you're using Whiskey. Or it could be the command line if you're using Symfony Console or Artisan. It could be just a QListener, or it could be your testing framework. These are all the inputs, and they should be treated as adapters. So when you're using the command pattern, here's a diagram that basically shows that you can think of this as your HTTP adapter, and that could be an entire Symfony Flex stack or just a slim micro framework. It doesn't really matter. The important thing is that your domain logic is way over there. It doesn't know about it, and you use the command bus to communicate with it. Now, why bother? You might think, well, it's just another level of abstraction. What do I gain from it? Can anybody say which CEO said this? Take as long as you need to understand your domain logic before building a working product. Your product can change, your logic shouldn't. Anyone? No? No CEO has ever said... This. When it comes to writing domain logic, the reality is key people are unavailable. If you go to the head of compliance and you say, can I speak to you about how are we compliant in Singapore? And they say, sure, I've got a slot in my diary in five weeks' time for half an hour. Can you delegate that to somebody else? Yeah, they'll be available in three weeks. OK. Well, it doesn't mean that we can't write any code to do with compliance for three weeks. Or could we do the rest of the stuff? You've got to get your app towards the finish line. You need points where you can just say, we'll come back to this. The reality is that that's just how it's going to be. You also can't mock something unless you know what it is. You need to know a name. You need to know a method that you're going to say, ah, it will return true or it will return false or whatever it might be. So let's take a look at an app without a bus. This is Launch Vipers Controller. So we're going to use the... We'll have an index action. And we're reading from a server request. We're going to get the type of the viper. We're going to set up a battle star. It's name and number, which I assume would be 75. We're going to read what flight pod it is. We're going to create the launch time as now or... No, sorry, some point in the future. And then we're going to go to the deck crew and say, get the birds in the air. And then we've got some catching for if any of that data is invalid. The thing with this, though, is I'm now doing the same with my console command. Let's say that I want to be able to do this from two sources. So I'm doing the same sort of stuff now, but I'm also then going down to the deck crew and saying, get the birds in the air. OK, this works. But there are some downsides. Apart from the obvious duplication, what's happening now is we knew some things. We knew that we were going to use a deck crew service. And we knew that the deck crew service had a method on it. So we were already done a little bit of exploring of our domain. OK. But if we don't know anything upfront, then we're having to wait to get at least that bit of information. OK, that's great. If you know a little bit about your domain, perfect. If you have an unexplored domain, then here's the command controller. We know that there is some functionality that launches vipers. We don't know that it's anything to do with the deck crew because we haven't interviewed the crew and gone, hey, how do you actually launch a viper? But we know that we can see that vipers clearly are launched and we can see that clearly they happen in result of something. So in this case, we can say, well, there is a command. And we know some bits of data that we collect. Another example of this would be registration. How do we register users? Well, we know that we collect email and password because that's on every wireframe. Where are we going to save it? How do we save it? Do we tell compliance and so forth? We don't know yet. We can defer knowing that. So instead, though, we do know that there is a command that we're going to issue. And we're going to take the information from the request. We dump it onto the command bus. Now, the advantage of that is you're turning the controller back into just knowing about HTTP. It knows about one command. But really what it's doing is going, hey, I'm going to interrogate this request and use the data within it. You're in control of the command bus. So it's nice and easy to mock it. You can say, hey, that command bus through an exception. Or did the command bus just go, yep, good job. Nice and easy breakpoint for your tests. So you don't need to have any of the services. If you go and you had to write that back and you'd started with services, if something new came in, you would have to go back into every single controller that did it and change it over. Which means you have to run your tests again, build. Maybe that's minor, but it's not great. We just did one single service. If we did that for three or four services, we're doing that over and over and over again. The command bus allows us to have it all in a handler away from our code. So the other advantage is, if you're doing front-end work is, you can just say, okay, well now we can design this front-end. We can have the 404 page, or we can have success. We can just assume that the command handler appropriately behaves, and then we can go back and solve that later. So this application flow, it's not only within the teams that will first use it, we call this the do-done cycle.  Do something, and just hands it to the command bus. Command bus then says, okay, this is the correct command handler to deal with this command. Then at that point, the handler will always have within it an event bus and say, I've done something. That goes to the event bus, and then that may then generate more stuff itself. So here we are. We've got the commenced FTL jump handler. So we're going to spool up. We're going to handle the commenced FTL jump, and we're going to jump the battle style. We have some coordinates that come out of it. And we go, we'll verify this with the navigation computer. And if it's successful, we'll fire an event saying jump was successful. If not, we'll fire a jump was off course event. So then on the other side, we have a listener who's going, oh right, okay, I'm listening for a bad jump event. When that happens, I'm going to take time to calculate as a plot device the new coordinates because they will fill several episodes with bad jumps. And then this is another listener that says, okay, I'm going to handle the replot of the FTL jump command. I've actually just gone, the listener in this case doesn't do anything itself. It just uses the command bus itself. So you only have writing doing in command handlers. Your listeners then don't even do anything. They just appropriately generate a new command themselves. So this leads to this pattern where you can go, okay, a command will fire an event, which then, because there are maybe three, four listeners listening for that event, generate three commands themselves. Those then fire events. And then of course, there may not be anything listening on two of those events.  And then one of those events is important.  So with this model, we use action domain responder, which is a pattern that I first heard about reading through the SLIM framework documentation. There's a little bit in there. It describes it as a web-specific refinement of the MVC pattern and is like more suited to the closure-based micro frameworks. If you want to read up on it directly rather than just through the SLIM documentation, there is the link to it. It's quite a useful pattern that the important stuff from it is MVC model view controller. Do we really have views anymore in the same sense? Do we have models like that in the same way? Whereas ADR talks about actions and it uses actions in the sense of the SLIM documentation talks about invocable callables.  The domain, well, we've talked about domain logic in the sense of hexagonal architecture. A responder, with views being quite clever, you have conversations with front-end devs that don't dismiss the presentation logic of an application. There's important stuff going on in there. A lot of the complexity in JavaScript frameworks like Flux, which they're clever, but let's not get around. They are more complex for the first-time user of it than we would like. There is some cunning going into our presentation logic. The responder is effectively handling all of that. The nice thing is that by having a separate responder you can have responders specific to the mechanism. You can have an HTTP responder or a console responder or for a queue you might not say anything apart from, hey, Synac, yeah, good job, this happened. You're not using a view. It could be multiple views. Your idea of what a view is in MVC is probably going to be more complex than the examples that you see in a lot of online documentation. You will want that complexity and you will want a responder to handle that complexity. Taking ADR further, the easiest way to describe this is using the commands in a useful way to cause this cascade of events. In comes a request. Now we have an action. The action is probably... We're going to use slim for this example, I think. All we're going to do is set up at forward slash that there is some index action and we'll run it. Fine, it doesn't really do much, but it's going to fire off a command to the command bus. Here we go. This is moving away from Battlestar because I was running out of episodes to watch. This is check balance. It's made up. This is not real code. It's okay. It's okay, boss. We throw into the constructor of it a command bus interface and a responder interface. In this case, we are certainly dealing with HTTP, so it's an HTTP responder interface. Again, it needs to be just a simple invocable, so we're going to take in the request. We're going to pull apart a UUID from the header and say, okay, there's a user. Then we're just going to create a new check user balance command with that user ID and give it to the command bus. Nice and simple. Now we need a handler. The handler is going to talk to a service. Or multiple services. It doesn't really matter at this point. Certainly, from the point of view of your action, it doesn't care. It's way over there. This is your real domain logic here. This is the bit where you actually care about and the bit that you're going to be talking to your stakeholders about. Here we go. This is a simple check user balance handler. Ask an authorization service if they're authorized with that user ID. I can guarantee our security model is a lot tighter than this. Just in case you're worried. We go, okay, yeah, you're authorized. You can now see a balance. Let's emit onto the event bus a new user balance was checked event. We're going to give it the balance for that user. That event is now coming out. What is that? It's pretty simple. Again, it has the actual balance. It has the user ID, simple getters. That's now going on to an event bus. From the event bus, it's going to go to any number of listeners. At this point, you can probably see where this is going. We're going to listen and we go, user balance was checked. This has a balance responder inside it. In this case, the balance responder and the HTTP responder interface are one and the same class. One cares about, hey, I'm for HTTP. The other interface cares that it can accept a user's balance. We're just going to say, hey, responder, update the user balance. In reality, what's going to happen is that could be very complex. That could be a whole twig templating system inside there going, okay, well, if the user's balance is higher than 1,000, we give them a gold star. It doesn't matter what it is. It could be anything you want on there. Or there could be things like, you've got a negative balance and we use this style sheet. Which is not appropriate for an API or a command line. It is appropriate though for when you're looking at the site over HTTP. So the balance responder, it takes care of that. In fact, if you were testing this via CLI, you would just get back, I think you would use writeLN and just say, hey, here's the user balance. But it would accept the same parameters. So, okay, so now the listener's updated the responder. And now we get a response back. Nice and simple. I hope so anyway. So in this example here, we're taking this and once we've done all of this, we go this responder response, which in this case returns a response interface. The domain doesn't know about any of that. Didn't care or isn't aware in any way that this is to do with HTTP. I know it's a PSR7 responder. Doesn't know any of that. It's just that these two are the same linked object. So it's nice and easy for us to switch out the action responder pair for any adapter. If you're doing testing, for example, we just have it. Well, you're not interested actually in the output, generally speaking. You're not going to go, well, is the style sheet looking appropriate or whatever like that. What you want to see is does that responder have the data in it that the cycle of work from all of those listeners and events, does it actually do what it's supposed to do? So responders can be as smart or as dumb as you like in this pattern. One of the things that you can do is because you're listening, you have n number of listeners populating a responder. So you can start getting into multiple events, iterating over a responder and building it up. So if a user has logged in or a user is authorised, well, I'm a responder that says, welcome Barney. So all I do is I'm just going to tell the responder, hey, welcome the user or yes, they're logged in. The responder's role then is go, well, I know that the heading on this page will have my name on it or the customer name on it. But you don't care about that for the CLI or maybe you do but in a completely different way. So they can be smart and they can be built up over time. Now because your world when you're moving through your app is just commands and events, these are really small. So it fits well with CQRS. Going back to when we were talking about how the patterns fit together nicely or at least are not mutually exclusive, you can literally write for a lot of things on your domain map when you're going through and going, all right, we're going to do domain-driven design and say this is a command. Have it literally as code and say this is a command, register this user, check this balance, move this money to here and actually use that terminology so you're doing tell-down tasks within your system. So here inside the balance responder, in this case, I'm taking a response interface. Response interface, as you probably know, is immutable. So in this case, we're just going to add a header to it. We'll just say it's an API. It's just going to respond back with your balance in the response header. It could just as well be any of the other types I mentioned before. The important thing is that because you're moving through your application with self-validating DTOs, these commands and events, you don't need to wait for a response from your command bus or you shouldn't get anything back from your command bus. Instead, you're just going, well, if I form this command and I gave it to the command bus and I want to use that data here and now, it must be valid because the command bus didn't throw a big wobbly or the event bus didn't throw an exception. Things must be working. So now I've created a user ID like a UUID. I've got that to hand. So that UUID must be valid. I can just respond directly. If I don't want to use a responder, I can just go directly back and say, here's your user ID, well done. So it does sound complex and I have some caveats. I don't actually have caveats. I really like the pattern. So this is my first talk and I've run it a little bit quicker than I expected. So I'd like to say thank you very much.


Have you ever heard of debugging a program? This is the way you figure out what's not working. When you debug code, you identify and remove errors. So here we're given a few blocks already in our workspace. We're going to use the step button to walk through the blocks step by step to see if this is the right solution and where we may need to fix it. Looks like there's our problem. We need one more move forward block. The step button helps us debug our program by identifying where the error is so we can fix it.