Going to change topics and go to southern rust and some nematode issues in corn. I think most of you have been growing corn and probably seen southern rust in your corn. Very noticeable yellow to yellow orange pustules on the leaves, which also show up on the corn husks. They'll show up on the stalks. Pretty much all the corn plant is sensitive to being colonized by the southern rust fungus. We do have common rust on corn and the pustules are a little bit different color. They show up a little earlier in the season and the disease does not move nearly as quickly as southern rust does. Now southern rust is not a, for one thing, the fungus doesn't over season here. It's a buccaneous species. It comes in from either the Caribbean or from Mexico, probably Mexico. And we need certain types of weather patterns, particularly a frontal zone with a low pressure system moving out of the Gulf, coming out of Mexico and then coming into Alabama to bring a spore cloud into this area. The other possibility would be a tropical storm. An early season tropical storm would bring, again, bring inoculum into this area. The fungus is active in the wintertime in Florida where they grow sweet corn in extreme southern Florida. So there's actually a different track for that disease to move up into Georgia and into the Carolinas. It's not an every year disease in this area. Even down in Baldwin County where more or less is our rust center in the state. Maybe see serious problems every three to five years. If you go and look at double crop corn, which we do have some folks down along the coastal plant corn after weed or they'll actually plant corn after corn, that's almost an every year occurrence. It'll get into that corn pretty badly, that second corn crop. But normally speaking, our early corn, really not all that often. Now we did have a big rust outbreak in 2014. Primarily down here in Baldwin, Mobile County, right along the Florida Panhandle, it showed up when the corn was starting to tassle, which is typically that window where if it shows up in that timeframe it's going to really tear the corn up pretty good. The later it shows up, the less likely it is to have an impact on yield. There was a moderate amount of rust in this zone in the lower counties. There was certainly enough in that area to treat, particularly for those growers that were growing, that make 250 or so bushels per acre. For regularly early corn, there was no rust in central Alabama and none in the northern part of the state. However, again, we had some corn planted a little bit later in these areas and the corn hit it with both feet, so that delayed planting is going to be an issue. There's always a question as to how much impact this disease has on yield. As I mentioned before, the earlier it shows up, the more likely it will have an impact on yield. This is just a test this past summer in some May planted corn and two applications per ax or we made 150 bushels and in the control we made 109. So that's what 41 bushel yield decline due to rust in this particular instance. Bob Kimmelwright sent me the results of a fungicide trial that he had over in Georgia. He saw a year of the location and in his test he saw 70 bushel yield decline between the best fungicide treatments and the non-treated control. We'll talk a little bit more about that later. But basically from all indications, the earlier planting goes in, the less likely it is to have issues with rust. Now, it doesn't mean it won't show up, it just greatly reduces the risk. It generates some information on corn varieties. And the problem we have at this point in time is we had one gene out there in the marketplace that conferred a fairly high level of rust resistance in corn varieties. It was really only found in one line and that line is no longer available. So when we have ideal conditions for rust and this is ear rust, leaf severity rating, it goes up to 11 which is a dead leaf at black layer. We're having 7s and 8s on all these varieties. And it doesn't matter whether it's a pine ear variety, the cab variety, they're all sitting ducks when we had this much inoculant pressure and really ideal weather patterns for disease development. This is a test that was up at Bruton which is about 70 miles northeast of Fairhope. And there was a lot less rust pressure at this location than there was in Fairhope, though again some of the varieties had a fair amount of rust on that flag leaf. We did have one variety, it's a pine ear tropical corn 30F35H. And it basically had no rust on it. And it is the only variety that I'm aware of around here that has that RPP9 gene in it. So these other ones do not. But even there there's some differences in the rate of disease development on some of these other lines. And I mentioned the RPP9 gene, the only variety used to have it was pine ear 33M52. And it disappeared from the market this past year. In a lot of the trials that I ran you did see that this variety yielded a little bit less than the other 33M type variety. So there was a little bit of yield drag with that gene in it. The problem is we now have a race of the rust fungus that is virulent on varieties with this gene. So it's not as good as it once was. It's now called slow rusting rather than resistance. And the problem we have, the other problem we have with corn varieties is we can't really figure out what rust races we have anymore because the corn lines originally used to assess or identify races of southern rust have disappeared. So we just don't even have the genetic material to figure out what we've got out there in the field. There are a lot of fungicides out there and there are more all the time being registered on corn. We don't have a lot of information and that's what I'm going to talk about in a minute on the performance of these different products but the companies are coming out with newer chemistries now and you're seeing a lot more products registered in corn. The timing, again there's not a lot of information from field trials on the performance of these materials with respect to timing. I usually suggest to the growers they use a scouting program, look for symptoms usually starting around VT and then come back with a second application if you need one. There's a growth stage which is basically when the corn hits tassel and go ahead and make the first application follow with the second one about two weeks later. There's also some early calendar programs where we're looking at either applications maybe as early as V6 or V8 and then coming back at VT or blister stage to make that second fungicide application. This year it was able to get in some different growth stage trials to look at what we're seeing with the timing of the products as well as their efficacy among products. If you look at ear rust severity the controls were blasted in this test down in Fairhope. At V6 there was a little bit reduction in rust but as we got later in the season the rust control got a little better with a single application at VT and then you saw even better rust control with two applications which you would expect to see. This test did have some issues with nitrogen variability but there really wasn't that much difference in the yield response whether as far as timing is concerned or the number of applications. We almost got as much of a yield gain out of a treatment with the V6 as we did with the two applications later on and there's about a 50 bushel yield decline in this particular trial with rust. And these are the Stratigo headline and headline I'm sorry the Quilt XL were about the best treatments out there. When you're rating rust you really look at color and the yellower they are the worse the rust is. And we're looking at the ear leaf not the lower part of the plant but that's still an indication as the amount of rust pressure there is out there. Another test at Fairhope there's still a lot of rust activity in this test. Some V6 applications didn't get a reduction in rust but we did with VT and then the best treatment out there as a standard was two applications of a high rate of paraxor and there was virtually no rust out there at all. Did get a yield boost with most of the treatments we had. I'm sorry not here these are actually statistically the same as the control. Here's the paraxor at about an 80 bushel yield gain in this particular location and these are the remaining treatments in the tests. Some V6 VTs and some other timings out there. The later the sprays were the better the control and then more consistent yield gains with those two spray programs as compared with the ones. There's also a difference in fungicide efficacy. Just because they have a registration doesn't necessarily mean they all work the same. And George Jean mentioned that on SCAB the same thing holds true here. The generic products in this test at Bruton which was planted in May did not work very well and the yields were the same as we saw with the non-treative controls. There were a number of other treatments kind of in the middle where we got fair not really good control a pretty good control moderate yield gains here and then we had four different treatments the paraxor, headline amp, headline and quilt XL gave a very high level of control and very good yield gains from those treatments about 65 bushels in this particular instance. And these are just what some of these treatments look like. Here's the control it's burned up well up into the top of the canopy whereas the paraxor is nice and green. So we got a good control with that treatment and quilt XL and the headline amp. So you looked at the summary of the trials we had. The single applications actually did better than what I would have thought. I wouldn't think that a V6 application would have provided any control out to the point of black layer but they did slow the disease down at least enough so that yields oftentimes came up a bit. So you know we'll see I'll try these again this coming year and see how they perform I intended to get more consistent control and particularly if you know these are insurance policies when you're buying a fungicide you're probably better off spending a little extra money to make sure you get a little bit better control at the end of the season because you never really know what the weather is going to do at the end of the year. And fungicide choice did matter it looks like the generics don't work very well. I know generic tab is it's actually more expensive to buy the surfactant than it is to buy the fungicide now but it just doesn't seem like it works well. So the name brands were better and there are some of those products hopefully we can get in another year of data that look like they're better than some of the other ones. Talk a little about root knot and nematodes in corn. Historically we don't think of nematodes being that big of an issue in corn here but now we're growing high yields and it also turns out that root knot that we see in cotton also goes to corn. And I did a rotation study down at Fairhope. I'm not Fairhope down at Plank breeding unit about five to eight years ago and one of the things that showed up was when we had corn behind cotton it tended to stay green much later than the continuous corn plots and it turned out we had very high levels of cotton root knot in this area and almost none here when corn was cropped behind peanuts. And this is just some of the data out of this study showing that as populations of root knot juveniles go up the yield goes down and overall in the study it looked like we got about a 25 to 30% reduction in yields of corn when we had very high levels of cotton root knot juveniles out there in this field. The other nematode that we've had some issues with is stubby root. This is down at the field crops unit at E.V. Smith and there's a noticeable stunning of the plants and uneven stand when we have stubby root nematode. It almost looks like it's a nitrogen deficiency or maybe a hard pan in these areas it gives you the same type of symptom pattern. The one thing is these large nematodes feed on the root tips and you get these basically a witches brooming of the root tips into these very odd patterns which is not what you'd expect to see with a healthy corn root system. And as I mentioned before rotation makes a difference. This is just some of the numbers out of that study with corn after cotton, corn or peanuts and in three or four years we got higher yields with corn behind peanuts than either of the other two crops and that's that root knot talking out there. There are some situations where we need more than rotation to manage these nematodes and this is the list of nematocyte treatments that we have in corn at this point in time. Two of them are seed dressings which come on the seed it's a custom applied treatment that you order at the time when you order seed. The other two are some old insecticide nematocytes they've probably been around for 50 years. Granular treatments put out in furrow and in those rotation studies and some other tests I have worked a lot with counter and by and large when we have nematodes present we get a nice yield boost with countering corn. Maybe up to about 20 bushels per acre. There are some instances where we have, no we have root knot out there we don't get a yield response with counter it's not 100% effective but it tends to be pretty good. Started to look at some of the nematocyte seed treatments and see how well they performed in comparison with counter and two of these treatments the cruiser this is the fungicide component the cruiser and poncho are just insecticides they're widely used on corn here are your two nematocyte treatments as the main plots didn't have any effect in this test on root knot reproduction no effect on seedling weight again you're looking for that difference in growth with a nematocyte treatment as compared with a control and no impact on yield. In this case this is the counter treatment which was a sub plot treatment to these other nematocyte the seed treatment nematocyte insecticides didn't have any effect on root knot reproduction but we did get a bigger plant with the counter which translated into a 14 bushel yield gain in this particular test. This second test was done at Bruton the other one was a plant breeding unit a much higher rate of nematode reproduction here but none of these treatments had any effect on plant growth the counter sub plot we did get a reduction in root knot reproduction and the plants were twice the weight of the non-treated plants so they were much bigger and this slide illustrates that point here's the evicted duo corn down here here's the evicted duo plus counter those plants are much larger here's the poncho votivo in the foreground there's some nematocyte treated plots in the background you can see the difference in the plant height and then here is these adjoining plots treated with counter so they were much larger plants with the counter than without this is the yield response and it was kind of odd it was a little different than what I would have response than what I would have expected on the cruiser treated corn seed we did not get a significant yield gain with counter numerically it was higher but not statistically with the evicted duo corn the two yielded the same regardless of whether we had counter out there or not which was a bit of a surprise but with poncho votivo or poncho the yield gain was 21 bushels here and 22 bushels in this particular instance so as I said counter's not effective in 100% of the cases but here at least with this particular seed treatment we got a sizable yield gain so overall it looks like and near some other studies I've done that the nematocyte seed dressings on corn just don't seem to work and we're not seeing a yield gain with those treatments with root knot in corn the counter doesn't always suppress root knot reproduction but that may be because we have a much bigger root system but we tend to see 10 to 20 bushel yield gains out of that treatment one of the things I haven't done at least at this point in time we haven't gotten corn into the 200 bushel yield area when evaluating these materials and that's something I need to take care of this year plus I haven't found a location with stubby root nematode where I can put in some trials Kip Balkam's got that area right now and I need to get it away from him I don't know how he's going to feel about that but we'll see I haven't, but I didn't get him off of it last year let me put it that way so if you're going to use counter use it in fields with established root knot population I've done some other trials with counter where I don't have root knot out there I don't get a yield response from it so specifically it is a treatment in those fields where we have some root knot issues if you've got some soil insect issues then you might see a benefit from counter or mocap but I have not shown a yield bump in any of the trials that I've worked on so if you have any questions I'll be glad to answer them both of these we're working on both the corn rust issues maybe it'll show up again this year like it did last year which is good for me, bad for you and we're still working on the corn nematodes and we'll have some information summarizing these research trials on the internet by the spring or late winter, I haven't got to it yet so if you have any questions I'll be glad to answer them it's not labeled it does have activity the difference is you've got some propochonazole in the Quilt XL in the Quadrus it's just the azoxy strobe component but the strabine and fungicides do have good activity against rust it's just usually most of the formulations have a triazole in there with them or the newer products have a carboxyamide type fungicide to give them a little more kick no, we're not rigged to put it out that's the problem we have with our equipment and you'd have to have pictures about Dow Chemical to get any tell on that I mean they won't cut any loose even for research purposes I had to spray it twice it's about, the only year I've never seen rust on Lake Corn was 2013 every other year I put out Lake Corn we've had a lot of rust issues and two applications of headline amp or headline parax or they'll do a pretty good job Stratego yield generally does better than it showed here too but I actually put it out at VT and R2 I've done a couple of tests down in Bruton and unfortunately every time I keep increasing the number of fungicide applications my yields keep going up with Lake Corn June yeah it's June, it will be planted after a week


Song of Myself by Walt Whitman Red for LibriVox.org by Alan Davis Drake The pure contralto sings in the organ loft. The carpenter dresses his plank. The tongue of his foreplane whistles its wild ascending lisp. The married and unmarried children ride home to their Thanksgiving dinner. The pilot seizes the kingpin. He heaves down with a strong arm. The mate stands braced in the whaleboat. Lance and harpoon are ready. The duck shooter walks by, silent and cautious stretches. The deacons are ordained with crossed hands at the altar. The spinning girl retreats and advances to the hum of the big wheel. The farmer stops by the bars as he walks on a Friday loaf and looks at the oats and rye. The lunatic is carried at last to the asylum, a confirmed case. He will never sleep any more as he did in the cot in his mother's bedroom. The juror-printer with gray head and gaunt jaws works at his case. He turns his quid of tobacco while his eyes blur with the manuscript. The malformed limbs are tied to the surgeon's table. What is removed drops horribly in a pail. The quadruined girl is sold at the auction stand. The drunkard nods by the bar room stove. The machinist rolls up his sleeves. The policeman travels his beat. The gatekeeper marks who pass. The young fellow drives the express wagon. I love him, though I do not know him. The half-breed straps on his light boots to compete in the race. The western turkey shooting draws old and young. Some lean on their rifles, some sit on logs. Start from the crowds steps the marksman. Takes his position, levels his peace. The groups of new-come immigrants cover the wharf or levee. As the woolly-pates hoe in the sugar field, the overseer views them from his saddle. The bugle calls in the ballroom. The gentlemen run for their partners. The dancers bow to each other. The youth lies awake in the cedar-roofed garret and harks to the musical rain. The wolverine sets traps on the creek that helps fill the huron. The squaw wrapped in her yellow hemmed cloth is offering moccasins and bead bags for sale. The connoisseur appears along the exhibition gallery, with half-shut eyes bent sideways. As the deck-hands make fast the steamboat, the plank is thrown for the shore-going passengers. The young sister holds out the skein, while the elder sister winds it off in a ball and stops now and then for the nuts. The one-year wife is recovering and happy, having a week ago borne her first child. The clean-haired Yankee girl works with her sewing machine or in the factory or mill. The paving man leans on his two-handed rammer. The reporter's lead flies swiftly over the notebook. The sign-painter is lettering with blue and gold. The canal-boy trots on the tow-path. The bookkeeper counts at his desk. The shoemaker waxes his thread. The conductor beats time for the band, and all the performers follow him. The child is baptized. The convert is making his first profession. The regatta is spread on the bay. The race has begun. How the white sails sparkle. The drover watches his drove, sings out to them that would stray. The peddler sweats with his pack on his back. The purchaser higgling about the odd scent. The bride unrumples her white dress. The minute hand of the clock moves slowly. The opium eater reclines with rigid head and just opened lips. The prostitute dragles her shawl. Her bonnet bobs on her tipsy and pimpled neck. The crowd laugh at her blackered oaths. The men jeer and wink to each other. Miserable, I do not laugh at your oaths, nor jeer you. The president holding a cabinet council is surrounded by the great secretaries. On the piazza walk three matrons, stately and friendly, with twined arms. The crew of the fish-smack pack repeated layers of halibut in the hold. The Missourian crosses the plains, toting his wares and his cattle. As the fare collector goes through the train, he gives notices by the jingling of loose change. The floormen are laying the floor. The tinners are tinning the roof. The masons are calling for mortar. In single file each shouldering his hod pass onward the laborers. Seasons pursuing each other, the indescribable crowd is gathered. It is the fourth of seventh month. But salutes of cannon and small arms. Seasons pursuing each other, the plower plows, the mower mows, and the winter grain falls in the ground. Off on the lakes the pike-fisher watches and waits by the hole in the frozen surface. The stumps stand thick round the clearing. The squatter strikes deep with his axe. Oak boatmen make fast towards dusk, near the cottonwood or the pecan trees. Coon seekers go through the regions of the Red River, or through those drained by the Tennessee, or through those of the Arkansas. Torches shine in the dark that hangs on the Chattahoochee or the Altamahoa. Patriarchs sit at supper with sons and grandsons and great-grandsons around them. In walls of adobe, in canvas tents, rest hunters and trappers, after their day's sport. The city sleeps, and the country sleeps.  The old husband sleeps by his wife, and the young husband sleeps by his wife. And these tend inward to me, and I tend outward to them. And such as it is to be of these, more or less I am. And of these one and all, I weave the song of myself. End of POM. This recording is in the public domain. On the Morning of Christ Nativity by John Milton. 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 Leon Meyer. On the Morning of Christ Nativity. This is the month, and this the happy morn, wherein the Son of Heaven's eternal King, of wedded maid and virgin mother, born. Our great redemption from above did bring, for so the holy sages once did sing, that he our deadly forfeit should release, and with his father work us a perpetual peace. That glorious form, that light unsufferable, and that far-beaming blaze of majesty, wherewith he want at Heaven's high council-table to sit the midst of trinal unity. He laid aside, and here with us to be, forsook the courts of everlasting day, and chose with us a darksome house of mortal clay. Say, heavenly muse, shall not thy sacred vein afford a present to the infant God? Hast thou no verse, no hymn, or solemn strain, to welcome him to this his new abode? Now while the Heaven, by the Son's team untrod, hath took no print to the approaching light, and all the spangled host keep watch in squadrons bright? See how, from far upon the eastern road, the star-led wizards haste with odour sweet, O run, prevent them with thy humble oad, and lay it lowly at his blessed feet. Have thou the honour first thy Lord to greet, and join thy voice unto the angel choir, from out his secret altar, touched with hallowed fire? The hymn. It was the winter wild, while the Heaven-born child, all meanly wrapped in the rude manger lies, Nature, in awe to him, had doff'd her gaudy trim, with her great master so to sympathize, it was no season then for her to wanton with the sun her lusty paramour.  But he, her fears to cease, sent down the meek-eyed peace. She, crowned with olive-green, came softly sliding down the turning sphere, his ready harbinger, with turtle-wing the amorous clouds dividing, and, waving wide her myrtle wand, she strikes a universal peace through sea and land. No war or bat-tail sound was heard the world around. The idle spear and shield were high up hung. The hook-chariot stood, unstained with hostile blood. The trumpets spake not to the armed throng, and King sat still with awful eye, as if they surely knew their sovereign lord was by. But peaceful was the night wherein the prince of light, his reign of peace upon the earth began. The winds, with wonder wist, smoothly the waters kissed, whispering new joys to the mild ocean, who now hath quite forgot to rave, while birds of calm sit brooding on the charmed wave. The stars with deep amaze stand fixed in steadfast gaze, bending one way their precious influence, and will not take their flight, for all the morning light, or lucifer that often warn them thence. But in their glimmering orbs did glow, until their lord himself bespake, and bid them go. And though the shady gloom had given day her room, the sun himself withheld his wanted speed, and hid his head of shame, as his interior flame, the new enlightened world no more should need. He saw a greater sun appear, than his bright throne or burning axeltree could bear. The shepherds on the lawn, or ere the point of dawn, sat simply chatting in a rustic row. Little-little thought they, then that the mighty pan was kindly to come with them below. Perhaps their loves, or else their sheep, was all that did their silly thoughts so busy keep. When such music sweet their hearts and ears did greet, as never was by mortal finger struck, divinely warbled voice, answering the stringid noise, as all their souls in blissful rapture took. The air, such pleasure loth to lose, with thousand echoes still prolongs each heavenly close. Nature that heard such sound beneath the hull around of Cynthia's seat the airy region thrilling, now was almost one to think her part was done, and that her reign had here its last fulfilling. She knew such harmony alone could hold all heaven and earth in happier union. At last surrounds their sight a globe of circular light, that with long beams the shame-faced night arrayed, the helmet cherubim and sordid seraphim are seen in glittering ranks with wings displayed, harping in loud and solemn choir with unexpressive notes to heaven's newborn air. Such music, as Tiz said, before was never made, but when of old the sons of morning sung, while the Creator great his constellation said, and the well-balanced world on Hinge's hung, and cast the dark foundations deep, and bid the weltering waves their oozy channel keep. Bring out ye crystal spheres, once bless our human ears, if ye have power to touch our senses so, and let your silver chime move in melodious time, and let the base of heaven's deep organ blow, and with your ninefold harmony make up full consort of the angelic symphony. For if such holy song and rap are fancy long, time will run back and fetch the age of gold, and speckled vanity will sicken soon and die, and leprous sin will melt from earthly mold, and hell itself will pass away, and leave her dolerous mansions of the peering day. Yes, truth and justice then, will down return to men, the enameled auras of the rainbow wearing, and mercy set between, throned in celestial sheen, with radiant feet the tissueed clouds down steering, and heaven, as at some festival, will open wide the gates of her high palace hall. But wisest fate says no, this must not yet be so, the babe lies yet in smiling infancy, yet on the bitter cross must redeem our loss, so both himself and us to glorify, yet first to those chained in sleep the wakeful trump of doom must thunder through the deep. With such a horrid clang as on Mount Sinai rang, while the red fire and smoldering clouds outbreak, the aged earth, aghast with terror of that blast, shall from the surface to the center shake, when at the world's last session the dreadful judge in middle air shall spread his throne. And then at last our bliss, full and perfect is, but now begins, for from this happy day the old dragon underground in strater limits bound, not half so far cast his usurp sway, but wroth to see his kingdom fail, swinges the scaly horror of his folded tale. The oracles are dumb, no voice or hideous hum runs through the arched roof in words deceiving. Apollo from his shrine can no more divine will hollow shriek the step of Delphos leaving. No nightly trance or breathed spell inspires the pale-eyed priest from the prophetic cell. The lonely mountains oar, and the resounding shore, a voice of weeping herd and loud lament, edged with poplar pale from haunted spring and dale, the parting genius is with sighing scent, with flower and woven tresses torn, the nymphs and twilight shade of tangled thickets mourn. In consecrated earth and on the holy hearth the lars and limerace moan with midnight plain, in urns and alters round a drear and dying sound affrights the flamens at their service quaint, and the chill marble seems to sweat, while each peculiar power foregoes his wanted seat. Peor and Balaam forsake their temple's dim, with that twice-battered god of Palestine and mooned ashtaroth, heaven's queen and mother both, now sits not girth with tapers holy shine. The Libic Hammond shrinks his horn. In vain the Turrian maids their wounded Tammuz mourn. And so in Malak, fled, hath left in shadows dread, his burning idol all of blackest hue, in vain with cymbals ring they cull the grizzly king, in dismal dance about the furnace blue, the brutish gods of Nile as fast, Isis and Oris, and the dog Anubis, haste. Nor is Osiris seen, in minfian grove or green, trampling the unshowered grass with lowings loud. Nor can he be at rest, within his sacred chest.  In vain with timbreled anthems dark, the sable-stolled sorcerers bear his worship dark. He feels from Judah's land, the dreaded infant's hand, the rays of Bethlehem, blind his dusky eye. Nor all the gods beside, longer dare abide, not typhon huge, ending in snaky twine, our babe, to show his got-head true, can, in his swaddling bands, control the damned crew. So when the sun in bed, curtained with cloudy red, pillows his shame upon an orient wave, the flocking shadows pale, troop to the infernal jail, each fettered ghost slips to his several grave, and the yellow-skirted face, fly after the night's deeds, leaving their moon-loved maze. But see, the virgin blessed, had laid her babe to rest. Time as our tedious song should hear have-ending, Heaven's youngest team star, hath fixed her polished car, her sleeping lord, with handmade lamp attending, and all about the courtly stable, bright, harnessed angels, sit in order, serviceable. End of On the Morning of Christ's Nativity by John Milton. Once upon a midnight dreary, while I pondered, weak and weary, over many a quaint and curious volume of forgotten lore, while I nodded, nearly napping, suddenly there came a tapping, as of someone gently wrapping, wrapping at my chamber-door. Tis some visitor, I muttered, tapping at my chamber-door, only this and nothing more. Odd distinctly I remember, it was in the bleak December, and each separate dying ember wrought its ghost upon the floor. Eagerly I wished that the morrow, vainly I had sought to borrow, from the books there ceased of sorrow, sorrow for the lost Lenore, for the rare and radiant maiden whom the angels named Lenore, nameless here for evermore. And the silken sad uncertain, rustling of each purple curtain, thrilled me, filled me with fantastic terrors never felt before. So that now, to still the beating of my heart, I stood repeating, tis some visitor and treating entrance at my chamber-door, some late visitor and treating entrance at my chamber-door. This is it and nothing more. Presently my soul grew stronger, hesitating then no longer, sir said I, or madam, truly your forgiveness I implore. But the fact is I was napping, and so gently you came wrapping, and so faintly you came tapping, tapping at my chamber-door. That I scarce was sure I heard you, here I opened wide the door, darkness there, and nothing more. Deep into that darkness peering, long I stood there wondering, fearing, doubting, dreaming dreams no mortal ever dared to dream before. But the silence was unbroken, and the darkness gave no token, and the only word there spoken was the whispered word, Lenore. As I whispered in an echo murmured back the word, Lenore, merely this and nothing more. Back into the chamber turning, all my soul within me burning, soon again I heard a tapping, somewhat louder than before. Surely, said I, surely that is something at my window lattice. Let me see then, what there at is, and this mystery explore.  Tis the wind, and nothing more. Open here I flung the shutter, when with many a flirt and flutter, and there stepped a stately raven of the saintly days of yore. Not the least obeisance made he, not a minute stopped, or stayed he, but with mean of lord or lady, perched above my chamber-door, perched upon a bust of palace, just above my chamber-door, perched and sad, and nothing more. In this ebony bird beguiling, my sad fancy end is smiling, by the graven stern decorum of the countenance at war. Though thy crest be shorn and shaven, thou I said art sure no craven, ghastly grim an ancient raven, wandering from the nightly shore. Tell me what thy lordly name is, on the night's plutonian shore. Quote the raven, never more. Much I marveled this ungainly, foul to hear discourse so plainly, though his answered little meaning, little relevancy bore. For we cannot help agreeing that no living human being ever yet was blessed with seeing bird above his chamber-door. Bird or beast upon the sculptured bust above his chamber-door, was such a name as never more. But the raven sitting lonely, on the placid bust spoke only, that one word as if his soul and that one word he did outpour. Nothing further than he uttered, not a feather than he fluttered, till I scarcely more than uttered. Other friends have flown before. On the morrow he will leave me, as my hopes have flown before. Then the bird said, never more. Starled at the stillness broken, by reply so aptly spoken, doubtless said I, what it utters is its only stock in store. Far from some unhappy master, whom a merciful disaster, followed fast and followed faster, till his songs won burden bore, till the dirges of his hope, that melancholy burden bore, of never, never more. But the raven still beguiling, all my sad soul into smiling, straight I wheeled a cushioned seat in front of bird and bust and door. Then upon the velvet sinking, I betook myself to linking, fancy unto fancy thinking, what this ominous bird of yore, what this grim, ungainly, ghastly gaunt, and ominous bird of yore, meant in croaking never more. This I sat engaged in guessing, but no syllable expressing, to the foul whose fiery eyes now burned into my bosom's core. This and more I sat dividing, with my head at ease reclining, on the cushioned velvet lining that the lamplight gloated over, but whose velvet violet lining with the lamplight gloating over, she shall press, ah, never more. Then me thought the air-grew denser, perfumed from an unseen censor, swung by seraphine whose footfalls tinkled on the tufted floor. Wretch I cried, that gath hath lent thee, by these angels he hath sent thee, respite, respite, and knee-penth from thy memories of Lenore. Quaff, oh quaff, this kind knee-penth, and forgot this loth Lenore. Quote the raven, never more. Prophets said I, thing of evil. Prophets still, if bird or devil. Whether tempt is sent, or whether tempt is tossed, thee here ashore. Desolate, yet all undaunted, on this desert land enchanted. On this home, by horror haunted, tell me truly I implore. Is there, is there balm agilead? Tell me, tell me I implore. Quote the raven, never more. Prophets said I, thing of evil. Prophets still, if bird or devil. By the heavens that bend above us, by the God we both adore. Tell the soul with sorrow laden, if within the distant aiden, it shall clasp a sainted maiden whom the angels name Lenore. Clasp a rare and radiant maiden whom the angels name Lenore. Quote the raven, never more. Be that word our sign of parting, bird or fiend I shrieked upstarting. Quote thee back into the temptest and the nice plutonian shore.  Leave my loneliness unbroken, quit the bust above my door. Take thy beak from out my heart, and take thy form from off my door. Quote the raven, never more. And the raven never flitting, still is sitting, still is sitting. On the pallid bust of palace, just above my chamber door. And his eyes have all the seeming of a demon's that is dreaming. And the lamplight or him streaming throws his shadow on the floor. And my soul from out that shadow that lies floating on the floor shall be lifted, never more. End of THE RAVEN. Portrait of a Lady by T. S. Eliot Recorded for LibriVox.org by Catherine Eastman Now hast committed fornication, but that was in another country, and besides, the wench is dead. The Jew of Malta 1. Among the smoke and fog of a December afternoon, you have the scene arrange itself, as it will seem to do, with, I have saved this afternoon for you. And four wax candles in the darkened room, four rings of light upon the ceiling overhead, an atmosphere of Juliet's tomb, prepared for all the things to be said, or left unsaid. We have been, let us say, to hear the latest pole transmit the preludes through his hair and fingertips. So intimate, this Chopin, that I think his soul should be resurrected only among friends, some two or three, who will not touch the bloom that is rubbed and questioned in the concert room. And so the conversation slips, among the laities and carefully caught regrets, through attenuated tones of violins, mingled with remote cornets, and begins. You do not know how much they mean to me, my friends, and how, how rare and strange it is to find in a life composed so much, so much of odds and ends. For indeed I do not love it, you knew, you are not blind, how keen you are to find a friend who has these qualities, who has, and gives those qualities upon which friendship lives.  Among the windings of the violins and the ariettes of cracked cornets, inside my brain a dull dom-dom begins, absurdly hammering a prelude of its own, capricious monotone, that is at least one definite false note. Let us take the air in a tobacco trance, admire the monuments, discuss the late events, correct our watches by the public clocks, then sit for half an hour and drink our box. Two. Now that Lilex are in bloom, she has a bowl of Lilex in her room, and twists one in her fingers while she talks. Ah, my friend, you do not know, you do not know what life is, you should hold it in your hands, slowly twisting the Lilex stocks.  And youth is cruel and has no remorse, and smiles at situations which it cannot see.  Yet with these April sunsets that somehow recall my buried life and Paris in the spring, I feel immeasurably at peace, and find the world to be wonderful and youthful after all. The voice returns like the insistent out of tune of a broken violin on an August afternoon. I am always sure that you understand my feelings, always sure that you feel, sure, that across the gulf you reach your hand. You are invulnerable, you have no Achilles heel, you will go on, and when you have prevailed you can say, at this point many a one has failed. But what have I, but what have I, my friend, to give you, what can you receive from me? Only the friendship and the sympathy of one about to reach her journey's end. I shall sit here, serving tea to friends. I take my hat. How can I make a cowardly amends for what she has said to me? You will see me any morning in the park reading the comics and the sporting page, particularly I remark an English countess goes upon the stage. A Greek was murdered at a Polish dance, another bank defaulter has confessed. I keep my countenance, I remain self-possessed, except when a street piano, mechanical and tired, reiterates some worn out, common song, with the smell of hyacinths across the garden, recalling things that other people have desired. Are these ideas right or wrong? Three. The October night comes down, returning as before, except for a slight sensation of being ill at ease. I mount the stairs and turn the handle of the door, and feel as if I had mounted on my hands and knees. And so you are going abroad, and when do you return? But that's a useless question, you hardly know when you are coming back. You will find so much to learn. My smile falls heavily among the bric-a-brac. Perhaps you can write to me. My self-possession flares up for a second, this is as I had reckoned. I have been wondering frequently of late, but our beginnings never know our ends, why we have not developed into friends. I feel like one who smiles, and turning shall remark suddenly his expression in a glass. My self-possession gutters, we are really in the dark. For everybody said so, all our friends, they all were sure our feelings would relate so closely, I myself can hardly understand. We must leave it now to fate, you will write at any rate. Perhaps it is not too late. I shall sit here, serving tea to friends. And I must borrow every changing shape to find expression.  Let us take the air in a tobacco trance. Well, and what if she should die some afternoon?  Doubtful for quite a while, not knowing what to feel or if I understand, or whether wise or foolish, tardy or too soon, would she not have the advantage after all? This music is successful with a dying fall, now that we talk of dying. And should I have the right to smile? End of poem. This recording is in the public domain.


Hello and welcome to the International Daily Roundup by People's Dispatch, where we bring you some of the top stories from around the world. Let's take a look at today's headlines. Sudan's military arrest Prime Minister Abdullah Handog and dissolved transitional government. Health of jailed Indian activist Gautam Nawalakha Wurzans in high-security barrack. Guatemalan forces suppress indigenous lead protest against mining in Alistar. Israel to build another 1,300 illegal settlement structures in the occupied West Bank. In our first story, people took to the streets of Sudan in large numbers on October 25th in rejection of the military coup. Protests broke out following reports that several civilian leaders including the Prime Minister Abdullah Handog had been arrested. Handog was reportedly taken to an undisclosed location after refusing to support a coup. As protests spread in Khartoum, gunfire was reported and at least 12 people were injured. Military Chief General Abdul Fateh al-Buran has dissolved the transitional government and the sovereignty council. He also declared a nationwide state of emergency. Soldiers have blocked most roads and bridges leading to Khartoum. Telecommunication and internet services have also been disrupted. Soldiers also stormed the state radio and television headquarters in the city of Amdurman. Meanwhile, images on social media show protesters blocking roads and highways across the country. Sudan's sovereignty council was set up as a joint civilian military body after the 2019 revolution. It was supposed to serve as a transitional authority until the elections in 2023. However, over the past few weeks, tensions within the council had become increasingly apparent. A coup attempt by a faction of the military was also thwarted in September. Moreover, General Buran told his officers on October 11 that dissolving the transitional government was necessary. Over the past few weeks, millions of people have held protest to defend the revolution. The Sudanese Communist Party, trade unions and resistance committees have now declared a political strike and full civil disobedience. The Sudanese Professionals Association has also called on people to occupy the streets and block all roads. In our next story, concerns have grown around the worsening condition of jailed Indian activist Gautam Naulakha. The 70-year-old journalist was arrested in August 2018 in relation to the Elgar Parishad Bhimakuregao case. It refers to extremist, caste-based violence that took place in the state of Maharashtra in January 2018. However, police later claimed that the violence had been instigated by progressive activists. 16 people were detained in a months-long arrest campaign. They were accused of terror-related activities and of links to the banned Communist Party of India Maoist. Naulakha has been imprisoned without trial at the Taloja jail in the city of Mumbai. On October 12, he was shifted to a high-security barrack. His partner and activist Sabha Hussain has stated that his health has worsened since then. Naulakha has been confined to his cell for 16 hours a day. He has also been denied daily walks in the jail's non-concrete greener areas. This has made specialized medical care an absolute necessity. Hussain has also stated that Naulakha has been denied phone calls to his lawyers and family members. In November 2020, Naulakha's spectacles had gone missing. While Hussain had sent him a new pair, the jail authorities refused to accept the package. There have been numerous reports of activists arrested in the Elgar Parishad case being denied basic necessities. Outrage grew across India following the death of 84-year-old father Stan Swami in July. His health had deteriorated severely and he died in custody awaiting bail in medical grounds. A state of emergency has been imposed in the Alastor municipality in Guatemala. The action followed days of police repression of an indigenous led protest in the area. The Mayan K. Ekchi communities have been opposing the Kampanya Gautamal Tagha Nikyal or the CGN. The mining company is a subsidiary of the Swiss Solvee Investment Group. In June 2020, the constitutional court had suspended CGN's operation. This was based on a complaint by indigenous peoples who stated that they were not consulted about the mining in their area. The government also failed to comply with an environmental impact study. The court ruled that a referendum on the mining operations must be conducted. Meanwhile, despite the ban, CGN operations continued in the area. Human rights ombudsman Jordan Rodas also stated that the government was guarding CGN trucks. Starting October 4, residents of Elastor organised a blockade to prevent the passage of coal-carrying trucks from the Phoenix Mai. However, thousands of police and soldiers descended on the area on October 22. They opened fire and threw tear gas canisters, injuring several protesters. The state of emergency will now give police expanded powers to arrest people without a warrant and restrict protests. In our final story, Israel has announced the construction of an additional 1,355 houses in the occupied West Bank. These will be built across seven illegal settlements in the territory. The government had already authorised over 2,000 houses for settlers in August. It also expected to discuss proposals for another 3,000 structures next week. Around 475,000 Israeli settlers currently occupy and live in West Bank. This is a clear violation of international law. Meanwhile, there has been a marked increase in the demolition of Palestinian homes in the occupied West Bank. The first 8 months of 2021 witnessed a 38% increase in the number of structures demolished or seized. According to United Nations data, 57% more people were displaced this year. All the Palestinian structures were targeted due to lack of building permits. However, these permits are widely known to be impossible to obtain in area C of West Bank and occupied Jerusalem. Settler attacks have also grown since the start of the olive harvest season on October 12. Over 1,400 trees have been destroyed and dozens of Palestinian farmers and villagers have been injured. That's all we have for today's episode. Please visit our website on www.peoplesdispatch.org and also follow us on Facebook, Twitter, Instagram. Thank you.


OK, next up, we have Patrick Dubry, Dubry, sorry. Patrick's a bit of a web guy. He published research into the way people used tabs in 2010. Since then, he's worked on the Android team. And now he's working on the Google Chrome team. He's also a big ice hockey fan, he tells me. Let's give him a big round of applause, Patrick Dubry. I always wanted to speak at a conference where I could walk on stage with theme music like that. Although I always imagined it was going to be a replacement song instead of this, but I'm not too picky. So I think Jeremy's talk is a really good lead-in to what I want to talk about today. I want to talk about the future of the JavaScript language. And right now, the near future of the JavaScript language is something that's called ES6. So ES6 is the sixth version, the sixth revision, of the ECMAScript spec. And most of you probably know ECMAScript is basically the standardized name of the language that we all know and love as JavaScript. But before I talk about the future of JavaScript, let's talk a little bit about the past. So JavaScript appeared in 1995 in the Escape Navigator 2.0. It was famously created in, I think, seven days or 10 days. I can't really remember, but a very, very short period of time. Now, you may not know that JavaScript is actually a trademark term, which is why when Netscape and Microsoft and a few other companies wanted to standardize the language, they decided not to call it JavaScript in the standard. And they took it to the ECMA standards body in 1997, and that's how we ended up with the name ECMAScript.  In 1998, they followed it up with a second revision in the spec, ES2. And then in 1999 came ES3. Now, how many people here were writing JavaScript in 1999, 15 years ago? OK, a few hands, not too many of you. I think this was the year when I really started seriously programming. Like, I got a job as a programmer, and I was writing JavaScript. I have to say, I don't think I remember the world before ES3, because before ES3, JavaScript had no function expressions. There was no try-catch and a few other things. So I don't really remember that world. But ES3 is basically what we know of as JavaScript today. So after 1999, there was kind of this long winter where there was not a lot of talk about future changes to the JavaScript language. And anyone who was around then also remembers that there wasn't a lot of innovation in the browser space either. And that's because we had a single dominant browser between about 1999 to maybe 2004 or 2005 when Firefox started getting popular. And around that time, people started talking about a new version of the spec and standardizing on some of the features that it popped up actually from ActionScript of all places. And this was a really, really big spec. It included things like classes and modules, but it also had optional static typing. And this was such a huge spec that, in fact, the committee could not come to agreement on how to ship these features. And in 2008, they basically decided that there was going to be no such thing as ES4. They completely canceled work on ES4. A finalized version of that spec never happened. And instead, they decided to focus on a small set of features that would be launched in ES5, which came in 2009. And they deferred work on the bigger things, like classes and modules, for a future version of the language, which they called Harmony. Now, five years have since passed since ES5. And we are now getting very close to having this Harmony language. And that's what ES6 is. So if you've ever been confused why sometimes you hear these features referred to as Harmony features, sometimes ES6, it all comes from that decision in 2008 to end work on ES4. So work on ES6 has been ongoing for the past couple of years, but the spec is actually starting to get pretty stable now. And the last I heard, I think they're targeting end of 2014 to have a final spec, but it's possible that could get pushed back a little bit. But a lot of the features are getting really, really stable. They don't anticipate too many changes at this point. So there are a lot of cool features that are coming in ES6. And today in my talk, I want to tell you guys about some of these features. Some of the features that I really like, there's much more than listed here, but classes and modules are obviously something that people have been looking for in JavaScript for a long time. We have arrow functions, destructuring assignment, the spread operator, default parameters. One of my favorite things is generators and iterators. This is a really, really cool feature that I want to go into a bit of detail on near the end. In Jeremy's talk, he talked actually about a lot of these features. You've seen some of these things before in CoffeeScript, like arrow functions. Actually, the arrow functions in ES6 were really influenced by CoffeeScript. And that just shows the power of experimenting with language features and how that can have an influence on the standards process. Other things coming in ES6 are things like promises, maps, weak maps and sets, a bunch of built-ins to string, number, objects, math functions, array, all kinds of good stuff. Now, currently, support for these features kind of varies between browsers. So many of the features are currently supported in Firefox by default. But Chrome has taken sort of a different approach. Chrome and the V8 team, all the ES6 features in Chrome are actually behind a runtime flag. So you can turn these on by going to Chrome Flags and turning on Enable Experimental JavaScript. In Node, of course, it's based on the same V8 virtual machine. So the same features or basically the same set of features is also available behind a Harmony flag. But if I turn on this flag in Chrome and take a look at the compatibility table for ES6, it turns out that Chrome, even when I have this flag on, there's a lot of stuff that's read there. So this shows that the Chrome team is actually taking a fairly conservative approach to developing these features. We're participating in the standards process, for sure. But the thing is that we've seen what can happen when new features that aren't finalized get released into the wild. And I'm sure you've all had to deal with the headaches that come with CSS prefixes. CSS, where you have six different prefixes, because the thing is, as soon as people have this stuff on the open web, they'll start to use it. And I know Flexbox, for me personally, has caused tons and tons of pain. The Safari on iOS supports a different version of the spec. And they had to keep changing the names of the properties to distinguish between which version of the spec they were on. And it was really just difficult to deal with. And this is why on Chrome, we've been much more conservative and waiting for the features to be finalized before they're adopted. But even once Chrome and Firefox and other modern browsers start supporting these features, of course, we all know that it's going to be a long time before you rely on the users of your website having these features. So what I want to talk about is how you can actually get access to these features today. Now, the features that I listed earlier can roughly be broken up into two different categories of features. The first set, so classes and modules, arrow functions, destructuring assignments, stuff like that, these all represent new syntax, new language syntax. So this is something that these are all things that would not be recognized as valid JavaScript today. Second set of features like promises, maps, week maps, et cetera, these are basically library features. And probably a lot of people have experience dealing with library features that are missing. We tend to use polyfills, and as Jeremy pointed out, many polyfills can cause problems. But for the most part, I think people have a good way of dealing with this. As long as you're careful, you can get the functionality that you need, or you can use a library that provides the functionality you need. So I want to focus on this new syntax part. How can you get access to the new syntax today without locking out anyone who's not using the latest version of Firefox or hasn't turned on this flag in Chrome? And one way to do that is to use a compiler like Tracer. So Tracer is a compiler that compiles JavaScript.next, so ES6 features, but also it also supports some proposed ES7 features. It compiles these down to the JavaScript of today. So in principle, it's actually quite similar to CoffeeScript in a way, at least how you integrate it into your development process. Tracer means that you can write ES6 code, and if you have a build step, you can compile this code down to ES5 that you can deploy. Or in most cases, actually Tracer generates ES3 code. I'm not sure if it's quite as good as CoffeeScript at explicitly targeting ES3 features. So one question you might ask is, why would you want to do this? So I think the first answer is obvious, because a lot of these features are really, really cool. And people loved CoffeeScript because it provided all these nice syntax, new syntaxes, new sugars for doing things, sometimes in a safer way than they were doing them before. That's obviously one reason. But a second reason to use ES6 features today is that you can actually help shape the future of the language. ES6 is getting close to stable, so there aren't going to be many changes, but ES7 is still kind of up for debate. And so with Tracer, you can use not only ES6 features, but also ES7. And you can actually try these out in your code and go on ES discuss and actually tell the committee what works for you and what doesn't. And I think this is tremendously powerful. And I wish more people would be involved in the standards process. CoffeeScript, we've seen, has had a really nice influence on things. So to use Tracer, it's pretty straightforward. It's very similar to using CoffeeScript, or if you're using something like Uglify.js in your build process. From Node, you can just, there's a programmatic API you can use if you require Tracer, and you can call the compile function. There's also a command line script you can use, which is what I use. So it's very, very simple to use. If you're using build tools like Grunt or Gulp, there's also plugins for that. And if you're using Browserify, and I'm a really big Browserify fan, there's also ES6ify, which is a Browserify transform that wraps Tracer. But you can also even, I mean, I'm using Browserify, and I still just use the Tracer command line in my build process. It's really simple to use. So let's look at some of the features that Tracer can give you access to. And I wanna show you what it looks like actually when these features get compiled down to ES5 syntax. So one of the features that I really like is arrow functions. I think these were quite inspired by CoffeeScript syntax for this. These basically give you a shorter syntax for function expressions. So you can see, I just have a bare arguments list here. So no function keyword, and no curly braces, and I also have an implicit return. So there's no return keyword, but the result here will be returned. It's this, these semantics are exactly the same as CoffeeScript. And this compiles down into ES5 or ES3 syntax in a pretty straightforward way. Basically just compiles into a straight function expression. Let's look at something a little bit different. One of the other nice features of arrow functions is that they have a lexical this binding. So Jeremy talked about this a little bit earlier. I'm sure everyone has made this mistake before where you have some function that takes a callback and inside that callback, you refer to this. But you didn't mean the dynamic this inside the callback. What you really meant was this binding outside of the callback. And of course, if you try to run this code, you get some kind of error that looks like this. And most of us have seen this thing so many times that we know exactly what we need to fix. So arrow functions actually fix this problem. Inside arrow functions, if you refer to this, it's not dynamically bound. It's actually bound in the scope outside, basically the scope in which the function is declared. And I'll show you the way this is, how this compiles in tracer. It basically mimics what most people are already gonna do by hand, right? Typically you do something like var self equals this and then inside the function you refer to self. But with tracer and arrow functions, this is all done for you. So tracer will generate a variable here and basically it prefixes all the variables that it creates with the dollar sign and it will pick a variable name here that is not in use in your code, right? So if you happen to have something called dollar sign underscore underscore zero, it will pick something different because tracer is analyzing all of your code. And then basically it uses that same binding inside the function. So this frees up a big class of errors that I know personally wasted a lot of time for me. Another nice new piece of syntax in ES6 is destructuring. Jeremy showed this. This is another thing that CoffeeScript has. It's a small thing but it's very, very handy, I find. You can also destructure not only from arrays but also from objects. So if you'd need to just pick out the fields, a couple of fields out of an object that has many more fields. Let's take a look at how tracer compiles this down. It's actually quite similar to how the lexical this binding is implemented. So again we have this temporary variable that gets created by tracer and it assigns the object or the array to that variable and then takes out the fields that it needs. Another nice thing that we have in ES6 is the spread operator. So it basically allows you to unpack an array into another array in place. So in this case I have two arrays and I smash them together using the spread operator. You can also do this in function calls which is super handy and means that you don't have to mess around with apply which, this is all stuff you could do before but it's kind of messier and it obscures the true meaning of your code. And so this allows you to, as the guys on the tracer team say, this allows you to say what you mean. So let's look at how tracer compiles the spread operator. This one's a little bit different, right? We've actually got a reference to a runtime function here. So this is one thing that's really important to know about tracer is that some of the syntaxes actually require a little bit of runtime support code. And this is not a massive library that you need to include. I think it's about 50K unminified. It's very simple to include. From node you can just require tracer bin, tracer runtime or of course you can also just add a script tag if you're running in the browser. Another nice feature similar to spread is called rest assignment. And this is sort of like unspread I guess. So we'll take, if you have a destructuring assignment and you have only two elements in your assignment here but three elements in the array, then the first variable in your destructuring assignment will get the first element of the array and the rest will go into the second element of the destructuring assignment. And you can use this in function declarations as well which again is really handy. It probably means that you never have to touch the arguments object again, which is very nice. More good stuff that's coming in ES6 is template strings. This is, you can do actually quite a bit more with tagged template strings which are really cool. The object initializer shorthand. Once again these are things that you may have used in coffee scripts. And I'm a big fan of coffee scripts which is actually why I like to use these features in ES6. I find that it gets me about 80 or 90% of the way to coffee scripts. Of course we finally have classes. This was one of the features that was talked about in ES4 and it's been a really long time coming to JavaScript. And Jeremy in the last talk really pointed out the benefits of this. Even though it's really something that you could do before, it's a much nicer syntax. And again it lets you say what you mean, right? JavaScript is incredibly flexible and you can do lots of stuff with the prototype chain and not all of it is the same as classes. And so the class syntax actually compiles down to basically the idiomatic way of using prototypes as classes in JavaScript but it lets you be more explicit about what your intentions are. So I thought I should also present something that's actually not in coffee script. Modules is another thing that was a long time coming to JavaScript and in fact it's still not quite finalized. There's still been a lot of discussion about this and it's something that you can use today in Tracer but you should be aware that there's a good chance this syntax will still change before the spec is finalized. But still it's good to play with these and if you have feedback, if you have use cases that don't work, you should absolutely go on ES discuss and tell people. And the cool thing with Tracer is it will actually compile these modules down to common JS modules if you want or AMD modules or it can put everything in line into a single script file. So this is really handy if you want to use ES6 modules in your code. Personally I'm a big fan of using browserify and require so I don't have a whole lot of experience but I have played with these a little bit. So that's a bunch of the cool features that are coming in ES6 but I wanted to save one more thing for the end and the reason I wanted to save it for the end is because this is actually my favorite feature that's in ES6 and I think it's one of the most powerful features that's been missing from JavaScript and I'm really excited to see what people do with this once they have access to that. And this feature is generators. So generators are introduced a few different types or a few new types of syntax. The first thing is this function star syntax here. So this marks this function as being a generator function and a generator function is something, even though it looks just like a regular function it's actually something different. The other piece of syntax that it introduces is the yield keyword. And so if you've ever used generators in Python then you're already familiar with the way that generators work in ES6 but if you've not seen them before it's I think it's a really, really powerful concept. So a generator basically works like this. When you call a generator function it doesn't return the value that you would expect. Actually what it returns is a generator object. And a generator object has a method called next. And when you call next it will basically start running the function and produce a value from the first yield statement that it encounters. And it will return this object that has that value from the yield as well as a boolean which indicates whether the generator is done or not. And so basically the next time basically the function will get paused and the next time you call next it will re-enter the function at the point of the yield. This is really, really cool and it's a really powerful way to represent things like infinite streams. Typically you probably won't be directly calling next like this. Instead you'll be using the new iteration syntax that's coming which looks like this. And we have rather than var x in whatever it's var x of and this basically under the covers will create the generator and call next until the generator indicates that it's done. So generators are very powerful and as such they're actually probably the most complicated transformation that tracer has to do. This is just about half of the code that tracer generates for the generator that a generator function that I had on the last page which is probably the simplest possible generator you could write. But it gives you a sense of how much power is hidden behind generators basically because it pauses the execution of a function. What tracer unrolls this to is basically a big state machine.  So it's really, it's a bit of a complicated transformation and that really highlights the fact that this is something that would be extremely difficult to do before. One last thing that's really cool about generators is not only does this yield keyword return a value basically out of the generator it also returns, this is also an expression that returns a value inside the generator. And I'll show you an example of this. This is another thing that makes generators even more powerful. So if yield was not an expression and Python was like this originally when they introduced generators then generators are really kind of only good for a few things like infinite streams and stuff but by the addition of this you can do some really, really powerful things. So for one we can actually, when we call next we can pass in a value and have the generator the generator function itself react to that value. So in this case rather than having a completely infinite stream of numbers I can actually stop the generator here. So the value gets injected when I call next. So I can pass an argument to next and this argument will actually get assigned here to the stopped variable. So you basically have something that is kind of for those of you who are familiar with them, coroutines. Now I have to put an asterisk beside this because they're not quite coroutines. They're sort of a restricted form but arguably it's actually better because it really makes explicit where the yield points are in the code and this is something that's important in JavaScript. We've always been able to operate under the assumption that our code doesn't get paused at an arbitrary time and with generators that's still the case. You can see by inspecting the code where the yield points are. So in my opinion this is in some ways better than actual coroutines. So that's just a brief introduction. You can really do a lot of powerful stuff with this. If you're interested in this I encourage you to check out a couple things. First check out task.js and there are many more projects that have proposed using generators as the basis for interesting concurrency primitives in JavaScript and this is why I'm so excited about it because concurrency in JavaScript has been one of the curses of JavaScript kind of as Jeremy put it, right? We've never been quite sure what the right way to do things is and I'm convinced in like five years that we will have a much better solution that's based on generators. Generators really give a nice primitive for building all kinds of concurrency constructs. I also wanna point you to Facebook has a project called Regenerator which is a compiler that's similar in spirit to Tracerer except it only does generators. So since, you know, this is my single favorite feature of ES6, if you wanna just play with generators you can also, and you don't feel for whatever reason you don't wanna use Tracerer you can also try Regenerator. So that about covers the things that I wanted to talk about. If you're looking for additional information you can check out the best place to look for information on Tracerer is the GitHub page. For ES6 in general, Adios Manny has a really, really good list of all kinds of tools for transpiling ES6 for polyfills for ES6 features, how to integrate it into your build process, things like that. So you can check that out. My slides are online at this rather obscure URL but I'll send them out on Twitter later. And if you wanna talk more about any of these things, you know, of course I'm gonna take questions afterwards but also please feel free to grab me later today, grab me at the break or at the bar tonight or anything like that, I'd be happy to probably talk your ear off about generators. So thanks. Oh, someone who used to work on the V8 team is about to ask me. I only work near the V8 team. Okay, but this is not about V8 or G. Since your research generators a lot. I actually was going to implement generators in my programming language with Macros and so on but I've been very slow at doing that because when I analyzed the use cases for when using them for coroutines I wanted to be able to save the state. So if you have a generator running in a server and it's something like an asynchronous flow then if something goes wrong in the middle and you want to restart the thing and you want eventually to restart that in a different server, in my opinion you are sort of screwed unless you can sort of serialize the generator state and revive it somewhere else. And I wonder, I don't think this kind of semantic has ever included or contemplated in the spec but are you aware of somebody just thinking of something like this? So if I understand the question correctly you want to be able to essentially clone a generator. Is that like, you want it to not be a one-shot generator? I want a coroutine that can be migrated. They can be what? Migrated. So yes, clone it and transfer it. Okay, so we're talking about like serialization and migration. That's a really good question. I haven't, I'm not familiar of any languages that have implemented this. The only thing I can say is there was a really great paper that was published, I don't know, a few years ago and I can try and dig it up for you later if you want but was basically analyzing how generators work in Python and JavaScript and how coroutines work in various languages and how continuations work in various languages and just kind of like was it was a survey of all the different implementations because these constructs are all very similar, right? In a lot of ways. So maybe that paper talks about some language who has done effectively the serialization. But in some way it feels like with the output that Tracer is generating that you could actually serialize. Well, what I saw, you've got a context variable. If you serialize that, it's probably going to work. Yeah, but I think it's doable. But if nobody does it, I'll do it myself. I mean. It seems like it should be doable. We got another question? Anywhere. I've got one then. How long until we see all of these new features? I was just looking at the compatibility tables and it seems like Tracer's got about 50% of stuff in there, maybe Chrome was sort of 15%. When would you expect this just natively to either be in browsers or be in Tracer? Good question. So as for Tracer's support, I think the majority of syntax features are actually are there. So if you look at the compatibility table, you'll see a lot of red. But that's partly because Tracer has not been focusing on the library features because these are things that can be addressed with polyfills. I know there are some features that are still not complete in the spec. So I believe the let syntax is still not 100% finalized. And modules I mentioned. So some of these things are not 100% supported in Tracer yet just because they're not finalized in the spec. I personally don't have a whole lot of insight into, I read the TC39 notes and follow AS discuss, but I don't really know. I can't really say like when I really think things will get finalized. Cool. Thank you. Round of applause to Patrick.