and welcome to the First Unitarian Society. I'm Kelly Crocker, one of the ministers here, and my colleague, Roger Birchhausen, and I are joined today by Drew Collins, Linda Warren, Heather Thorpe, Daniel Karns, Steven Gregorius, the Mortensen family who will be sharing a piece of their FUS story, and the Bergeson Galoon family who will lead us in our chalice lighting. We are so glad to have you joining us virtually today. Though not together here in this cherished gathering space, we remain tied together through the bonds of community and affection. Here in this community, we gather to grow our souls, connect with one another, and embody our UU values in our lives, in our community, and in our world. We hope you will join us in the virtual coffee hour immediately after today's service. The information for that will be on your screen again after the postlude. And I invite you now to join in a moment of silence to center yourselves and bring yourselves fully into this time as we join together once again in community. Opening words come from Gwen Matthews. Feel that? Each breath, every inhale, exhale, we are living, breathing, connected. We are the whole, complete, beautiful selves that we were born to be. Feel that?  That is the extraordinary you. The you who was born for this time, this place, this moment. Feel that? The struggle, the worry, the pain, the loss, the grief. It is still you. You are still whole, complete, beautiful, extraordinary. Feel that? And we invite you now to join in the chalice lighting by lighting a chalice or a candle in your home as the Berguson Galoon family leads us in our words of affirmation. We come together every week bound not by a creed, but by a belief. That how we are in the world matters. We light this chalice in the knowledge that love and not fear can change this world. Prize in body and your spirit, precious day. When I was young, I lived in a city that was mean and hard and ugly. Its streets were dry as dust, cracked by heat and cold and never blessed with rain. A gritty, yellow wind blew constantly, scratching round the buildings like a hungry dog. Nothing grew, everything was broken, no one ever smiled. The people had grown as mean and hard and ugly as their city. And I was mean and hard and ugly too. I lived by stealing from those who had almost as little as I did. My heart was as shriveled as the dead trees in the park. And then one night, I met an old lady down a dark street. She was frail and alone, an easy victim.  But when I tried to take it from her, she held on with the strength of heroes. To and fro, we pulled that bag until at last she said, if you promise to plant them, then I'll let go. What did she mean? I didn't know or care, I just wanted the bag. So I said, all right, I promise. She loosened her grip at once and smiled at me. I ran off without a backward look, thinking of the food and money in the bag. But when I opened it, there were only acorns, so green, so perfect, and so many. And I understood the promise I had made. I held a forest in my arms and my heart was changed. I forgot the food and money. And for the first time in my life, I felt lucky, rich beyond my wildest dreams.  And in the morning, I began to keep my promise. I planted beside roads on roundabouts, among rubble ruins and rusty railings, by train tracks, tram lines, and traffic lights. In abandoned parks and gardens, laced with broken glass, behind factories and shopping malls, at bus stops, cafes, blocks of flats, I pushed aside the mean and the hard and the ugly. And I planted, planted, planted. Nothing changed at first. The gritty wind still scratched the parched, cracked streets. The people scowled and scuttled to their homes like cockroaches. But slowly, slowly, slowly, shoots of green began to show. Trees, first here, then there, then everywhere. People came onto the streets to see. They touched the leaves in wonder and they smiled. They took tea together by the tiny trees. They talked and laughed. And pretty soon, they were planting too. Trees and flowers, fruit and vegetables in parks and gardens on balconies and rooftops. Green spread through the city like a song, breathing to the sky, drawing down the rain like a blessing. But by then, I was already far away, planting in another sad and sorry city. And another, and another, and another. And then, last night, in a lonely alley, a young thief fought me for my bag of acorns. I smiled and made the old bargain, knowing how a heart can change, knowing that my planting will go on. We warmly invite you to attend today's Stewardship Cottage Meeting at 11.30, which will feature a conversation on planned giving as well as information about our current Stewardship campaign. We hope you will join us. The link is the same as coffee hour, and you can find that on our homepage, fussmedicine.org. Today, we are especially grateful for the Mortensen family who is joining us to share a piece of their FUS story and what this community means to them. Hi, everybody. We are the Mortensen's. This is Indi May and Summers and Ruby. This is Juno and I'm Emily. And we wanted to share with you what we love about FUS. One thing that's really important to us is that we used to live in Madison, but then last year we had to move at the beginning of the year. And although the pandemic hasn't been fun and it's been really hard for a lot of people, one really special thing for us is that we have been able to still be a part of FUS. We can attend church on Sundays. We can watch it on a different day if Sunday doesn't work. And the girls have also been able to do their RE classes, which are so amazing. So the girls drew some pictures of things that they love. So we have this one. I don't know if you can see it very well, but this picture is of FUS. Come here, Juni. And what Ruby wrote on it is, this is what FUS means to me. She wrote happiness and love. And those are her teachers up at the top. And then Juni, hi. This one is from Indie Mae and Summers. And this is another picture of FUS. Very colorful there. And what Indie Mae wrote is she wrote, I love the stories. That's what she loves in her class. I did not explain the tiles in the paint. So the tiles are striped just like the roof at FUS. Right? Yeah. Okay. Okay. What's the paint? Okay. So there's the door and the steps and the paint of FUS, which we love and miss very much. So thank you all for what you do at FUS and for letting us still be a part of it. Bye-bye. In a little bit, I'm going to share a poem about Easter. But first, I should acknowledge that sharing a poem about Easter with two weeks left in Lent is, well, it's not Orthodox. At this point in the arc of the story, Jesus hasn't even entered Jerusalem on Palm Sunday. There's a sense of foreboding in the story, but it's not clear how it's going to end. Well, I'm going to jump ahead anyway to Easter, and it's a good thing as Unitarian Universalists were not Orthodox. But actually, I'm not going to completely jump ahead. The poem I'm going to share has a fair amount of the Good Friday stuff, at least around the edges. The poem acknowledges the presence of shipwrecks, getting lost and sneering and complaining, the abyss, ruts, disasters, and just the plain old mundane. So in fact, sharing the poem now is not actually contrary to Easter. Easter makes no sense without the hellish parts of the story that come before the resurrection. Easter comes out of the ashes of dashed hopes, broken dreams, terrible suffering, horrific human actions, and even death. Well, Easter is tricky terrain for Unitarian Universalists. Many of us really struggle with this one. As a result, many Unitarian Universalists skip most of the difficult Good Friday parts of the story and jump right to Easter as a symbol of the new life that abounds in the spring. Daffodils, chicks, eggs, let's make this another feel-good holiday just like Christmas. Even when it's not Easter, a lot of us bring a fair amount of baggage from our religious paths with us when we come to services. Sometimes I visualize what it might look like if that religious baggage we bring with us was actually literal baggage. I picture baggage just luggage piled up around us in the worship space. On Easter, though, we wouldn't be able to fit all that baggage in the auditorium where we meet. We would have to let it spill over into the commons, into the CRE classrooms. There's so much baggage that we'd have to park some of it in the landmark building and in the nursery school and in the Isom House. And heck, we might even have to rent some space at the VA hospital for Easter weekend for our baggage. That's a pretty good image, right? Okay, now I'm ready to share the poem, even though it's not Easter yet. I think we're prepared now. The poem is called Easter Exalted and it's by the beat poetry forerunner, James Broughton. Shake out your qualms. Shake up your dreams. Deepen your roots. Extend your branches. Trust deep water and head for the open, even if your vision shipwrecks you. Quit your addiction to sneer and complain. Open a lookout. Dance on a brink run with your wildfire. You are closer to glory leaping in abyss than upholstering a rut. Not dawdling, not doubting. Intrepid all the way walk toward clarity. At every crossroad, be prepared to bump into wonder. Only love prevails. Enroute to disaster insist on canticles. Lift your ineffable out of the mundane. Nothing perishes. Nothing survives. Everything transforms. Honeymoon with big joy. Wow, I really love that poem. Broughton must have too because later in his life, he sometimes actually went by the name Big Joy. So this poem is, as the title suggests, all about Easter. The late Unitarian Universalist Minister Forrest Church observes a book he wrote as he was struggling with cancer that ultimately would kill him. He wrote that Easter is about the spiritual rebirth of Jesus' followers. And more importantly, it's about what he called a saving transformation as available to us today as it was to the disciples in the Easter story. So what does Forrest Church mean by this? Well, he asks us to think about the contour of the story for Jesus' followers. On Palm Sunday, Jesus triumphantly enters into Jerusalem. His followers are brimming with hope. He really is the Messiah, a new era marked by justice and mercy and inclusion and love that cornerstones of his teaching is about to dawn. And within a week, it all comes crashing down. Jesus is betrayed by his friends, arrested, humiliated, tortured, subjected to a sham trial, condemned, and executed in a breathtakingly cruel way. And he struggles in all this, like a human being would struggle, not like some impervious divine entity. He cries out on the cross, my God, my God, why have you forsaken me? I thirst. He isn't superhuman. He's a vulnerable, suffering, lonely human being who feels abandoned. Some triumphant new age. This is not the ending his followers expected just a week earlier. So they scatter in terror. They must be thinking, will I be the next one to be arrested and put through such hell? Peter, one of the most faithful of them, denies Jesus three times. Hiding in terror, his followers must feel overcome by fear, bitter disappointment, isolation, and hopelessness. And just about every one of them must feel terrible about how they abandoned their leader in his time of need. And it's at that desolate moment that the key twist in the story happens. Slowly, with Jesus' women followers in the lead, the last shall be first, he preached. They realize that all is not lost. Maybe the first hints of this are remembering Jesus' teachings about forgiveness. Maybe some of them start to wonder if that message of forgiveness might even apply to them. Perhaps a little desolation slips away as they begin to forgive themselves. And then they remember his teachings about love. God is love. That was the heart of his message. That teaching they realized, that teaching was not crucified and buried. It's still there in their hearts, tender, fragile, but alive. So they start feeling love for themselves and their fellow disciples. They remember that Jesus even applied that teaching to his enemies. Probably not today, but maybe someday, they will even be able to find some love for the Roman authorities and those who did their bidding. So their friend and their leader is gone, but now they understand that his teachings remain. The forgiveness and the love that he showered on them is still alive in their hearts, in their memories, in their spirits, and maybe even in their actions. And there you have it. Jesus' gift of love triumphs over death. Where is thy victory? O grave? Nowhere. Oppression and death and destruction cannot ultimately kill love. Not now. Not ever. Thus it has always been in Selma, in Soweto, even in Mrs. Howard, even in Auschwitz. In the Easter story, the gift of love transcends the power of death and destruction and hate. Forest Church puts it this way. Jesus suffered, wept, forgave, and died. His followers failed, scattered, wept, found forgiveness, lived, reborn of his death, children of his undying love. For him and for them, even after death in his love, Jesus lived on. In his disciples' hearts, he reigned as never before. Jesus lived within them, not simply among them. That, Forest Church writes, is the essence of the Easter experience. A transformation occurred. Jesus was reborn in their hearts. Death was the occasion, loved the medium, and forgiveness the catalyst. Let me just say that last line of his again. It's incredible. Death was the occasion of transformation, love the medium, and forgiveness the catalyst. Well, I invite you to completely disregard the story if you have never felt disappointed in yourself or others, if you have never felt alone or abandoned. I invite you to just ignore the story if you have never wept in grief or despair.  Forget about this if you have never awoken in the middle of the night filled with anxiety and not been able to go back to sleep. But if you felt any of these things ever, then the story might have something to teach you. And so we come to big joy. Easter is an opportunity to open ourselves to big joy, to shout hallelujah to wear fancy hats and eat delicious treats. It's a day to dance on a brink, to run with our wildfire. Yes, there's an abyss right there in front of us, and maybe we are closer to glory when leaping the abyss than when we're upholstering a rut. Be prepared to bump into wonder, even as you face your mistakes in the fact of death.  Only love prevails. Nothing perishes. Nothing survives. Everything transforms. Honeymoon with big joy on Easter. Even better, honeymoon with big joy every day, not just Easter. Well, this last thing, honeymooning with big joy every day sure isn't easy. Saying yes to life is not always easy. Some days it even feels impossible. I'm guessing that a lot of us have had maybe more of those days in this past difficult year than usual. I've been thinking about this weekend as we struggle with yet another mass shooting this one, reeking of misogyny and racism. I've been thinking about this as the birthday of my dear friend who died of COVID last fall came on Friday. He probably got COVID when he went to a Walgreens store last fall to get a flu shot. Others in the store were not masked even as COVID was running wild in Appleton. Although he had a bad lung disease, his death was among those hundreds of thousands of avoidable deaths. If we only had had good leadership, if we had only all cared about one another in the common good. Grief, anger, even the abyss have been there for so many of us through this past year of COVID in a beginning reckoning with racism and insurrection and now yet another mass shooting. Many of us, especially those marginalized communities, have had one hell of a lent and it's gone on for more than a year. I can feel light at the end of the COVID tunnel but it's not over. In any way, the point of the Easter story isn't really to wait until everything's hunky-dory, everything's copacetic to see big joy. It's to try to make big joy in our space for big joy in our lives now, right here, even when that feels impossible. Saying yes to life is a spiritual practice. Practice, as in we make mistakes and then we practice some more. Practice is in we can get better at this. Sure, some days we are not able to honeymoon with big joy but we can try, or at least we can say, well I'm going to try again tomorrow. We can try to practice seeing the light even on those days when the clouds gather overhead. We can look anew for the new sun beginning to rise. I invite you into this time of giving and receiving where we give freely and generously to this offering which sustains and strengthens our community within and beyond First Unitarian Society. Today's offering will be shared with the UW Madison Odyssey Project. Odyssey takes a whole family approach to increasing confidence through reading, writing, and speaking. It has empowered over 500 low income adults to find their voices and begin to earn college degrees. Odyssey includes programming supporting the children and grandchildren of adult students and students who are incarcerated. Here is a look at the Odyssey Project. I always wanted to go to school but I knew I didn't have the money or the resources. I was like free school, bring it on. Free meant the barrier wasn't there so now that I could be and do what I wanted to do. The natural thought that we have is you have to be rich to go to college so most people don't even think about college as being an option in the first place. I was pretty miserable. I didn't really fit in with anybody. I dropped out. I was homeless for a bit I mean just living on people's coaches. I'm a father of five beautiful kids and just the obstacles that were placed in a way of trying to raise a family at the time prohibited me from going back to school until I found the Odyssey Project. We can invite friends over just because you didn't have anything and then you're hungry. We were the ones that people said couldn't didn't want it. Couldn't do it. They don't want to read any Shakespeare. Like what do we want to do? Odyssey, if you don't know is just an amazing program. It's a year long course in Humanities so we studied Plato, Socrates Frederick Douglass, Emily Dickinson the list goes on. So that instilled in me a validation that I could be a lifelong learner. Even when we got into Plato, you would hear people kind of like I don't know Plato, but I played this out in my life. Being in that class for a lot of people was the first time they ever felt like they were smart. We had people from all different walks of life that everybody was hungry to learn. Like everybody was eager to listen. Returning to school in my 40s while my older kids were still in high school I believe it inspired them so I have three college graduates. The way you talk to your kids was going to be different. The way you encouraged them was going to be different. Odyssey Junior is wonderful. I mean a lot of the times I would not know. I wouldn't be able to come to school. I wouldn't be able to attend regular classes without having child care for my children. Thank goodness Odyssey does offer that. I come to class, my children go to class, we have a ball, they look for it to Wednesdays every week. Mom is it Wednesday yet? Is it Wednesday yet? So here I am in a role as a teacher of Odyssey Junior and I was so deeply inspired by the team of teachers that conduct the classes for the adults that I feel like I can give back and hopefully I can have an impact on the youth just like they had an impact on me. Before I took the Odyssey class I was more reserved and like more introverted I guess. And one thing they really do a good job with is helping you discover your own voice. The Odyssey program has given me strength, belief. I have belief in myself that I can conquer anything. I'm going to college. Really changed the trajectory of my life and sparked the artistry back in me made me believe that I was able to attain in a career as an artist. It's been all days singing the praises of the Odyssey project because you know there's school but this transcends school so we had all these amazing learning opportunities but we finished you inherit a family supported and love. Odyssey project epitomizes the Wisconsin idea like nothing I've ever saw. The sky is the planet. You will see on your screen that you can donate directly from our website FUSMadison.org. You will also see our text to give information there as well. We thank you for your generosity and your faith in this life we create together. The care of the congregation in grief and anger is again a person with a gun has committed another mass shooting atrocity. Misogyny, racism, easy access to weapons once again bring terror particularly this time to the Asian American community. This community who have so keenly felt the terrible impact of racist rhetoric coming from some of the supposed leaders of our nation over this past year. Our hearts break. We light a candle this morning in honor and in memory of the victims in support of their loved ones and for all who feel even more afraid and vulnerable today. And we light a second candle for the Wisconsin 7. We light a candle for the Wisconsin 7 activists who stopped eating on March 4 and are now in the 17th day of their water only fast demanding that the governor's funding proposals for climate justice, equity, green jobs and lead pipe removal be kept in the 2021-23 state budget. May they be safe and healthy in the coming last days of their hunger strike. What we are willing to do for climate justice and for creating a livable planet for those who come after. And we light a third candle of gratitude for Eva Wright who expresses her heartfelt thanks for the prayers and good wishes as she recuperates from the installation of a new pacemaker. Eva reports that this is one of the really little ones embedded in the chest actually the size of a pill. Eva we wish you continued healing, good healing in these coming days. And then finally we light a last candle that represents the unspoken joys, concerns and sorrows that we bring with us today. There is a love May you keep your hearts open to the possibility that big joy is there even in the difficult, even in the painful, even in the mundane. May you keep looking for ways to say yes to life. May you keep looking for the new sun beginning to rise. May you go in peace.


Tonight on EKB Evening News at 6, a Pike County church goes up in flames. Good evening. I'm Cindy Mae Johnson. And I'm Gary Slum. Members of Meathouse Free Will Baptist Church are vowing to rebuild after a fire claimed their church this morning. EKB News reporter Shelby Steele went to the church where she found an unshaken faith even after plans for summer fun had suddenly been replaced by tears and determination. Residents in the Meathouse community woke up today expecting to gear up for Vacation Bible School. Instead, they woke up to find their church destroyed. The Kemper Volunteer Fire Department received a call at 8.45 this morning, notifying them that the Meathouse Free Will Baptist Church was on fire. When I arrived on scene, a thaw was coming through the middle of the church and the roof. We were already starting to collapse whenever we showed up and we started spraying water just a second.  They was in there two or three minutes and the roof on the back here started to collapse and so I pulled them out. When Kemper Volunteer Fire Department arrived, the chief immediately called for assistance. I called post and told them to get me Johns Creek up here ASAP, but I needed it bad. Vacation Bible School Director Stacy Smith says this was a difficult sight to wake up to. It was a nightmare. I opened my back door and just saw flames shooting out of the roof and you know I moved here beside of the church because of the church, so just to see it go down it's heartbreaking. Smith says even though this is a difficult time, Meathouse Free Will Baptist Church will still go on. We'll do something. We'll have church somewhere. You know we will rebuild and God will see us through it. The cause of the fire still remains under investigation. For EKB Evening News at 6, I'm Shelby Steele. Overnight another fire. This one at the Myers Tower High Rise in Pikeville caused little damage, but the building's sprinkler system is another story. Firefighters were called around 1.40 in the morning following a report of a fire on the ninth floor. By the time they arrived, the sprinklers had already extinguished the blaze, but difficulty in shutting off the system allowed water to continue to run, flooding several floors. The entire building was evacuated during the event. There were no injuries. The incident remains under investigation. Independence Day is often associated with fireworks, parades, barbecues and other celebrations. With all of the excitement going on for the 4th of July, it's important to remain safe. Teams fields with Kentucky Commercial Vehicle Enforcement tells EKB News some of the major incidents that the Kentucky State Police observe on this day and how to prevent a major accident. What we see is the Kentucky State Police, we see a lot of speeding, a lot of distracted driving and being this particular holiday, a lot of impaired driving. Pretty much what we want to do, we want to try to stop the impaired driving, kind of watch when you take, get off the road when you take some speed and watch your speed because the enforcement will be out this weekend. With the fireworks going on, especially on the main roads too, when you come up on these congested areas, you want to watch your speed slow down, be careful because there will be people crossing the road, there will be cars pulling out in front, be a lot of traffic, a lot of traffic in the area, so watch your speed and just kind of go slower than usual through these areas. Being the fireworks that I'll shoot until they get dark and then there will be a lot of kids out, a lot of children out that's going to be crossing roads back and forth. Commercial Vehicle Enforcement encourages everyone to have a designated driver already in place before heading out to enjoy the fourth. A Boone County man arrested on drug charges in May has been indicted by a federal grand jury. Lionel Vivian Castellanos was arrested May 21st after police conducted a search of his home and found 51 grams of methamphetamine. This week Castellanos was indicted on one count of conspiracy and five counts of distributing meth. The offenses are alleged to have taken place in Danville, Madison and South Charleston. He continues to be held in the southwestern regional jail. He'll be arraigned on the charges next week. Coming up the 4th of July always means carnival time in Prestonsburg. This year's celebration will include music. Alright, and a winner was crowned during last night's road to fame finals. We'll tell you who sunk her way to the top when we return. Last night a dozen singers took to the stage at the Mountain Art Center in Prestonsburg for the road to fame finals. Only one would emerge victorious, but all took home valuable lessons and new opportunities. EKB News Courtney Levin attended the concert and brings us this report. Thursday night the Mountain Art Center hosted the country music highway road to fame competition finals. Original songs and covers, ballads and upbeat tunes played throughout the night as 12 local singers took the stage in hopes of emerging victorious out of a pool of what was originally 63 singers. The winner was Whitley Tate from Cornetsville and Perry County and she won a $1500 check and a chance to record at the Mountain Art Center. Fred James presided over the event and explained how this competition helps these singers. They have explained to me that they have learned more by participating in this competition because it brings out their very best. So that's what the final product is, is giving them confidence to continue their maybe their recording career or maybe their future in singing. So that's what really is going on. So we invite everybody to participate. Last year's winner Jason Goble performed during the show and later on Kelsey May who was a contestant on The Voice came out to perform some of her original songs for the crowd while the judges deliberated. She spoke about her opinion on the competition and the singers that performed. I think that this is a tremendous like awesome thing to do for people because it gives them the experience to be on stage plus it gives them a huge platform around this area and it opens up a lot of doors plus they get to work with an amazing band that they probably will get to work with you know if they didn't do something like this. So I just think all the way around it's great. I think that they all sound just awesome. I love I know a lot of these songs that they're doing so I think it's great and they're doing a lot of originals as well which I think is really really cool that we have some songwriters here. For EKB Evening News at 6, I'm Courtney Leverin. There are many 4th of July festivities going on in the region. One of them this weekend is in Prestonburg at Archer Park. Last night was the first night of a three-day carnival in the park. Casey's Rides is supplying the thrills. The carnival offers rides for kids and adults as well as fried food you might expect that and games. And for the 4th the festival goers will also be treated to a day of concerts. Well this is the second year we've had Casey's rides at the park. Last year we really enjoyed having them in. Had a big crowd. We had concerts last year this year. We've got a few things on the schedule again. Well Saturday we're having three concerts, one from 2 to 5 and one from 7 to 8 then 8 to midnight. Three different groups and 9 o'clock we're going to draw and give away bicycles to kids. So when you come through the gate Saturday save your ticket for the drawing at 9. Now carnival goers will be able to see the Prestonburg fireworks on Saturday night from Archer Park. The Pikeville police and fire departments have joined together to establish an annual scholarship for local students. Each year beginning with the 2015-16 school year a $1,000 scholarship will be presented to a graduating Pikeville high school senior planning to attend the University of Pikeville. Pikeville police chief Philip Reed told us he hopes the scholarship will help alleviate some of the financial stress placed on students. I went through four years of college myself. I know the expense that's involved. There's a lot of stress put on the student as far as book work. So why not alleviate a little bit of that stress as far as, you know, you look at and it's not a lot of money but, you know, that might cover books for a semester. That might cover something that helps him just a little bit ease the stress to worry about coming up with money to buy something that they need. To apply for the scholarship, students may contact the admissions office at UPIKE by calling<PHONE_NUMBER> or emailing wewantyou at upike.edu. Coming up, a local football player is just hours away from announcing where he's going to play college football. Joe Kinzer will be here to give us a preview. But first Matt Hawkins will be in to get us ready for the holiday weekend with us weather forecast. We'll be right back. You know, Lathan has been out all week. We've enjoyed having you here. I've enjoyed being here. Done a great job. But now the big job you've got to do is make sure everybody can enjoy their fireworks tomorrow night. I will certainly try because, you know, I typically like fireworks. I like the ones that boom real loud and draw a picture in the sky. Yeah, that's the best one. So far, are we hearing about any being postponed due to weather? At this point, there's not anything being postponed due to the weather. So it could be a factor in the area right now. There's not much going on in our eastern area. But the flash flood watch that we've been under, that's actually supposed to expire around 8 o'clock, has been extended another 12 hours to 8 a.m. tomorrow. So a lot to watch. Yeah, there is a lot to watch. Right now, the area, nothing much going on towards the Pikeville, Prestonsburg, Hainesville area. However, if you look off to the northwest around Stanton and even further to the west of Lexington, there were flood warnings issued out in that area. But we are going to get our rainfall coming from that area and also from the southwest. Just kind of moving through the area, you'll probably see most of that occur around eight to nine o'clock hours and maybe even later. So it would be a lot of rainfall. Notice how last night it was just kind of like a surprise to us. And then all of a sudden it hit us. It may not hit us quite as hard, but we'll definitely keep a look out for that. Now, temperatures at this hour, 73 in Pikeville, 75 in Prestonsburg, 76 in Paintsville, 75 in Siresville, 74 West Liberty, Jackson at 75 and Hazard at 74. Off to the east, Logan 74 and Williamson 73, the cool spots again to the south, Dorton 71 and Wyze checking in at 69 degrees. The observed high for today, 75 much lower than what's normal for this time of year. Although a little above the low mark with an observed low of 67 today. Record high set back in 2012 of 94 degrees and then just three years before that, 2009, the record low on the state, 56 degrees for that. Now as we look toward the evening, 7pm, 73 will be the low showers and storms will come into the area. That will kind of translate more into rainfall off and on. Now as we get into the sunset hour, this 8 o'clock, 9 o'clock hour, we might see more rainfall occur. Now the fireworks that will be taking place in Williamson tonight around 10 o'clock in the Southside Mall, they may actually have a chance to have the rain just miss them. But now for Pikeville's an area like that, you may actually have to wait for it to go and then you might have a chance to actually see the fireworks after the rain has passed. Slight chance of that will see more of that rainfall increase and kind of go off and on with pop up showers, bringing our cooler temperatures down to the 60s for overnight. Now where are the storms actually coming from? They're coming from again, they've been coming from the Northwest. But if we look off to this right here, there's nothing in the Northwest right now. And that means actually the rain is going to taper off as we get through the latter part of the weekend and into midweek. But now it's coming kind of in an easterly north easterly of direction. That's a good thing. The fact that it's not moving east, but going northeast means it will move quicker through our area. As you can see the past four hours, the strong cells over Lexington and over here in the southwestern part of the state are what's feeding the rain that will be hitting us in the next few hours for tonight, though. However, 66 a flash flow watch continues that is in effect until eight a.m. tomorrow. Originally it was for eight p.m. tonight. Showers and storms will continue on into the night. Now tomorrow it's 84 degrees. This is something we haven't seen in quite a while. Mostly cloudy skies keeping it warm. Scattered showers and storms continue. We may see a tapering off of that toward the afternoon, especially in the evening hours, maybe only about a 30% chance for tomorrow evening. Faith pharmacy located in the Adams Plaza in Pikeville, not much of a factor on the pollen count. 1.2. Our sky is going to be mostly filled with fireworks for tomorrow night. And 3.1 for Sunday and 3.5. The reason for that, of course, is the rain starts to taper off. We'll actually see more sunshine, partly sunny skies. And still the pollen, not really a factor. Now for the 4th of July, a 40% chance of showers during the day part, we may actually see that on the increase in some areas. But as the day goes along, we may actually see it decrease and may have time for the fireworks to actually be rain free or almost rain free. Overnight load tomorrow night 66. For Sunday, the highs bumping into the mid 80s to the upper 80s almost in the first part of the week. Now the rain will taper off. That's why we're getting a little bit warmer. But in mid week, it's going to come back. Our load's kind of around the mid to upper 60s. So we've got the brunt of the rain passing through tonight and the first part of tomorrow, especially in the morning. And then after tomorrow night, not so much. First part of the week should be a little bit better. Well, I'm keeping my fingers crossed about fireworks. But we talked about things being canceled. We have this just in. Yes. Main Street Live is canceled tonight because of the weather concerns. That's downtown Pikesville at the Billy Johnson stage. Always a fun thing. And they've they've decided the weather, Mr. Weatherman is going to keep him away. It is a concern because there are pop-up showers that occur. And those are actually much harder to detect. But for the most part, we will see rain on and off through the evening. Thanks, man. Thanks. In the second installment of a special two-part outdoor adventure, videographers Ronnie Hilton and Charles Mims returned to visit with Floyd County bowyer, Chris Riley. Tonight, he's going to talk about the other side of his art, making arrows. And he'll also discuss how an artist can use self-doubt as an asset. Tonight, traditional bowmaker Chris Riley shows us the other side of his work. Along with making traditional style long bows, Chris makes his own arrows out of all natural materials as well. OK, arrows are kind of a different beast altogether. Some things are similar to creating bows. There's two schools of thought with arrows. There's what you call natural shaft and what you call split shaft. Split shaft is when you get your arrow from a log the same way I do a bow. And the process is the same. It starts with splitting the log up and getting a board from that, splitting that board into blanks. For a natural shaft arrow, which would be something like bamboo or river cane or wild rosewood, which is actually here behind me.  And that can take up six months to a year right off the bat. But with arrows, they don't need to be fully cured when you make them because they're not going to be bending like a bow. So on average, I'd say to make a set of six natural shaft arrows. I would say maybe about four to six months. Chris explains how he overcomes a struggle that every artist or craftsman may endure while working on their projects. A self doubt, I feel like something is it's something that probably every artist suffers from to some degree. And I think that self doubt can be a useful tool. It can cause you to kind of look at your work with a critical eye to see if, you know, something might need changed or altered or if the piece may just need to be scrapped altogether. But I think there's definitely a point where self doubt can impede on your creative process. And I think that every artist needs to be aware of where that line is and needs to be really careful not to let that happen. Self taught and using only natural resources to create traditional bows and arrows. Chris Riley is the type of person that makes our region truly special. For EKB Evening News at Six, I'm Ronnie Hilton. Guys got an impressive art going on here. He does. Very impressive. And we'll be right back with sports. Well, tomorrow is going to be a big day for Cash Daniel. Oh, it's a busy day for that young man. Thanks a lot, Gary and Cindy. Tomorrow is a day that has been patiently waited for by sports fanatics around the area. The six foot three, two hundred and thirty pound Paceville High School football standout Cash Daniel will announce his verbal commitment tomorrow afternoon at one o'clock at the Paceville High School gym to select one of three schools. His choices are between Kentucky, Louisville and South Carolina. The word is being getting around about Daniel after he was rated four stars in his ranked the best eighth inside linebacker in America. Some people may think that he has made it clear that Kentucky will be his decision, but he's been noticed all around the country from teams and coaches such as Ohio State, Florida, Purdue and USC. In his junior season, Cash had 111 solo tackles, 69 assisted tackles, four interceptions and two return for touchdowns. The Reds will begin their series with the Brewers at Great American Ballpark this evening at 7 10. Mike Fires will be on the mound for Milwaukee while Michael Lorenzen will be pitching for the Reds. The 33 and 48 Brewers will try to continue closing the gap between themselves and the fourth place Reds who have a record of 36 and 41. But Cincinnati has taken the last three series with Milwaukee, including five of seven games this season. Some may not think it's a sport, but we think it's worth a mention. The annual World Famous Nathan's International Hot Dog Eating Contest is tomorrow. On every 4th of July, thousands of people will send up on Coney Island to witness a well-known event around the world. Joey Chestnut, his nickname is Jaws, has been named the defending champion since 2007 and will be going for his ninth consecutive title. Chestnut holds the record for eating 69 hot dogs in only 10 minutes. And we've got to wrap up sports with this story. Get this, folks. There is now an online dating site just for Kentucky fans called BBNMeetUp.com. This free dating website is just for members of Big Blue Nation. The site has not fully been launched yet, but you can register on the website. According to the site's press release, this site is for people that find sharing for Kentucky sports an important part of their lives and consider it important for their potential life partner to share this interest. And let's not forget to mention the White Lightning Half Marathon 5K tomorrow morning, Sandy. It begins at 6 o'clock at the Pikeville-Pyke County Airport. How could we forget it? You're going to run in it. I don't know. Through the creeks we go. Yeah, are you all ready?  Everything's good to go? As long as I don't drown going through the creek, I don't know how to swim. Oh, my. Okay. I'll get the floaties on. Nothing more than ankle deep. Okay? Maybe calves deep. We'll be right back. Well, guys, we've never closed out a newscast while holding food before. I know. It's a first. Are you the one responsible for this? I extended the show's budget tonight. Yes, I'm the guilty party. Hey, I'm in the American mood. I mean, hot dogs and, you know, the Joey Chaston are going for nine in a row. I'm in the mood. There's nothing more American than the Fourth of July hot dogs. Exactly. So you're going to recap things here. Yeah. Can I eat first or not? No. Hard to talk with your mouth. We'll definitely eat first. Okay. Flash flood watch, still in effect until tomorrow morning around eight o'clock. As you can see the storm progressing to our area at a very slow rate. So for fireworks, for cold run tonight, it might be hit or miss. You might actually get the fireworks out of the way before it comes in at the South Side Mall. Williamson tonight for the extended forecast, for tomorrow evening fireworks are a great possibility. Grilling not so much.  But for the rest of the weekend, the rain starts to taper off, especially get into the first part of the week and highs in the mid-eighties for most of the week next week. Getting back into the warmer way, the way summer should be. Oh yeah. With hot dogs. Of course. Typical July weather. Now there's a special full throttle tonight. Yes, they are with videos that's coming up at seven o'clock and also we got fireworks in and around the area tonight and tomorrow. So celebrate and eat your Fourth of July hot dogs watching full throttle. Absolutely. Well, that will do it for tonight's EKB Evening News. Remember, you can get more local news anytime by listening to the radio stations of East Kentucky Broadcasting. You can follow EKB News and EKB TV on Facebook. We're going to leave you tonight with a look at some of the bounty that's beginning to emerge from everybody's gardens. We'll also leave you eating our hot dogs. Good night. Have a happy and safe Independence Day, everybody.


Hello one and all it's Ronnie here with an update on all things Warpath universe Let's jump back to October last year when Deadzone came out too much applause Largely, I think to the people that loved it. We just needed a freshen up It'd been a few years since that edition But slowly but surely they drew in more and more fans. Why because it is simply the best sci-fi skirmish game in the world The integration between the terrain Your figures the game the models the number of scenarios the wonderful rules committee that developed it worked it up and It's smooth. It's slick. It's beautiful. It's culminated in a campaign that's running right now and It's just finishing up which won't keep moving the storyline on But on the back of that rather ambitiously and maybe a little cheeky some might say but that's how we do it Mancing that's how we roll. We know back down we double down Out came firefight We didn't quite get this right the first time we launched it a while ago more part of the firefight It was supposed to be a kind of move on from Deadzone you start with a few models You realize you've got a squad painted you want to go a bit more and you move up and It didn't it didn't it didn't fit that path. It was kind of its own thing. So people loved it But a lot of people just couldn't follow that journey up So I'll use you kept your minis because that's the expensive bit in terms of time and effort and painting and You know the rules were very different. Well now no longer This is a beautiful escalation from a single-figure skirmish game where you know that guy has a grenade And he's throwing it into that space there to squad-based battles few flyers six before gaming table and Boy a boys game crazy, you know It's really started to take off because I think people love the slick gameplay You will not spend your time arguing over the rulebook. You'll be spending your time trying to outmaneuver outgun Your phone you can't mim match your army list to create an all-killing or powerful turn one winning list Well, if you can we haven't found anyone's done it yet. So there's you there's your throwdown There's your throwdown See where we get it and we'll that we'll have to deal with it So and another one of the thing is because we did take it to Kickstarter many years ago We've not only got vehicles. We've got infantry. We've got beautiful resin models and heroes and some of your commanders We've got a fantastic range of terrain with the With the fire for the dead zone terrain all the goes there again integrates exactly because we know the sizes of it so look Firefight is absolutely beautiful if you're looking to get into sci-fi gaming if you're looking to add something new to your gaming Again, as always mantik. There's out. There's some free trial get you started rules For you to download and have a look at have a play with and then start collecting all of your armies So very excited for fire fight keep watching more releases coming Marauders just out Dive on in there. Have a look and yeah, watch the videos. Please come join us place in London You


came on live. Um, we had, um, Jordy from, uh, Scotland, the BC beer review from Michigan, uh, camera minority in Florida, um, Michael Hilton in San Francisco, Jason Cleveland in the comment section, Bart, Bart Robinson, the New Yorkie, uh, uh, uh, um, Ronnie S. Stoppie, Masumi Stoppie from Japan, Tommy Carroll, and thank, thank you, everybody. And thank, thank you, everybody. And, um, some messages from, uh, Mike Hilton. So, uh, uh, the clam sauce. Yeah, I did, I did a show, but I mean, I did a, uh, a consumer advocate, chisels haul the shame segment on that Luigi Vitale clam sauce, that despicable excuse for clam sauce.  Take care, everyone, adios. Have a great week, a great holiday week. Yeah, very, very Christmas to all because we, our shows are Sunday, so take care, everyone.  It's really, really, I brought them up. You could use them for deer hunting. You know, uh, um, well, I'm sure possums and raccoons would, would love to chow down on that garbage.  You know, they're opportunist eaters, man.  They're like goat. Whatever they can find, they will eat. They're, they're, they're predatory. They're scavengers, like they'll eat something dead. They're vegetarian, vegan. Oh, so they're omnivorous. They're omnivorous, they're omnivorous opportunist, which means they, they can be predatory, but then again, they can be scavengers also.   A skink will eat fruit, veggies.  They're just all the above, all the above. So anyway, uh, well, we're not all the above because otherwise we'd be in a hospital with food poisoning. But their digestive system can handle roadkill with rigor mortis. All of the diseases. Yeah.  It'll actually, it'll go after the bones more than anything else. It'll swallow the bones and digest the bones of the carcass. It's called the bearded vulture. It's amazing mother nature. You know, I buy everybody.


All right, so it's time and welcome to the first interactive session of EuroPython 2021 by Mauro Perlucci. Yes, so now Mauro is a senior data scientist and a big data engineer. And Mauro seems to also have a lot of very interesting collaborations with the University of Milano Picolka. I don't know whether I pronounced that correctly. Oh, thank you. So I'm sure he could also tell you a lot more about the collaborations and interesting projects he's involved with. And today he will show us data injection and big data, build a data set from zero to solid. You can take it away, Mauro, and so if anybody at any point has any questions, you can just basically talk directly into the Zoom if you want to, and you could also text by chat, by chatting to the matrix room in argument clinic. So yeah, there you go, Mauro. Thank you, Raquel. Thank you for your beautiful introduction. So my name is Mauro Perlucci, not Perlucci, but it's the same because I usually work with a lot of English guys, so Perlucci is okay for me. So hello everyone and welcome to this first interactive session of EuroPython 2021. First of all, I'd like to thank you, the EuroPython organizer. I'd like to thank you, Raquel, for an assistant today, and also thank you to everyone who will be here today with me and will follow my presentation. So I think I will try to make this a more session, less remote if possible, so only three topics. If you have any questions, please unmute and try to send me the question. You can use also the Zoom chat. I have Zoom chat on my screen, so if you want, you can put your question on the chat and for me it's a pleasure to try to respond to you. Of course, you can use the magic server to send me the question, and Raquel will assist me for each question, and of course the material of this interactive section is already shared on my GitHub repo. So my GitHub repo is Maurope Lucci, EuroPython 2021. I am putting the link directly in the chat, so you have the link in the chat. Please, Raquel, can you share also the link in the magic server, so if someone in this will come later, they will have the link. So, let me to speak about this interactive section. This interaction is about data ingestion and big data, so what we will try to do in one hour, and we will try to build a set with web scripting. You know, the scope of web scripting is to create a set. So when I speak about the set, I'm speaking about rows and columns, because the result of scripting activity is not auditory, is not a sort of abstract data, but the scope of the session today is trying to build something structured. So it's like, let me to use this uncommon term, it's like an Excel file, so we will try to produce a dataset with rows and columns. Of course, in some of these columns, we will store something very structured, like image and text. But the goal today is to start from a website, try to create the data and build a dataset. We will use, of course, Python code, we are at Python, and we will use Google Colab, so it's only in exercise, but in this case, Google Colab is very useful to try to make this interactive session more interactive. Of course, you can reuse my code for your purpose. Okay, I don't know if you want to create a dataset, if you want to reproduce yourself, this site is good for me, not a problem. And you can use Google Colab, of course, but you can also move the notebook on your local environment, it's not a problem. In the notebook, you will find some topic to move the notebook from Google Colab. To a Jupyter notebook, JupyterLab, I don't know, where you want them. Of course, when we speak about the data, you have to have in mind the 3D about the data, because I have an experience of 20 years in data, and I think I am working with big data since 2010, so in the last 10 years. But usually when we have in mind big data, we focus in on the volume, on the variety, and on the velocity, so the volume, because we have big data, we have a lot of data, we have velocity, because we can collect this data, and this data are generated with, as you need this faster, I don't know, you have in mind IoT systems, smart phones, and the variety, because in the web, you know, we can collect images, videos, text, so the structure of the data is not by default. Of course, if we have in mind these 3 features of big data, we have in mind 3 technology features of big data, because the volume, the variety, and the velocity are technology features. But remember guys that when we speak about big data, we have also other features, and in my mind they are more important, we have the velocity, because when we collect the data from the web, we will see today that we collect a lot of noise, and we don't have a clear idea of the data collected. So the scope today is only to give a look to the data ingestion, but remember, after the ingestion, there are some other mandatory steps to use big data to make decisions, because when I have an important feature of big data, it's the video. If we are not able to produce video from big data, from the data collected from the web, our exercise is not good, because the scope is not the technology exercise, it's not to collect everything. Of course, if we are able to produce a system that collects everything from the web, it's good, but we will spend a lot of money, we will spend a lot of time, but the story, we will have a lot of data, but no one will use this data. The scope of collected data from the web is to produce video for the end users. So keep in mind that after the ingestion, we will have always a phase of data processing, data preprocessing with machine learning, I don't know. Of course, we will have a phase of data processing where we will put in quality this data, and where we will prepare the data for the analysis, and at the end of the story, we will store the data inside the browser, because the scope of the data science system is to support the event user to make decisions. This is the overall data flow of the data science system, so data ingestion, data processing, data presentation, and final, I don't know, we can use some business intelligence tools, some models, I don't know, but keep in mind when we speak about big data, we have to remember the three traditional features, volume, very thin velocity, but we have also the velocity and the video. So, Raquel already introduced me, so I don't want to speak a lot about me, of course, it's not the path for today, but I am an engineer and exercise, so my role is quite a bit between the two main topics of exercise, so engineering and modeling. Currently I'm working for MSI Bar in Glass, MSI Bar in Glass is a company that collected data from the web to produce a video, only to give you a full overview of the system, I want to show you the final result of scraping activities. It's because I am very responsible, I am the main engineer of a big project for the European Union, it's a public project, and this project is called real time labor market information system on skin requirements, so I try to simplify now the question. This project is about the collection of job posting on the web, you have in mind job posting on the web, we have a title, a description, so our scope, the scope of the European Union for this project is to try to collect every job post published in the European Union, to create the warehouse, to support the decision maker and buy the product. So, only to share with you, this is the result, for example, this is the final phase, this is the intelligence tool over this data collected with web scraping. I'm sharing the link in the chat, in the chat. So this result is called the skills, the skills online because analysis tool for Europe, so this final result is based by Tableau, but we can also use another BI tool, I am not a fan of Tableau. So as you can see, we collect, I don't know, Rachele, we have a question in the chat about the screenings, share it correctly. Okay, thank you. Okay, so as you can see, we collect a lot of job posting on the web, we don't have the final number here, but we are collecting the last four years, something like 400 million job posting. Of course, we have a process to clean the data, the duplicate the data, and the putting quality, and we use a lot of machine learning to try to normalize the data, to normalize the data. As you can see, I can select, for example, a country, I'm starting from Italy because I am from Italy, and I can go deeper in detail. So as you can see, the result of web scraping activities is not only to collect data, but is to try to collect the data, create a data set, and support the decision maker. In this case, for example, if I go to the professional, I can see that the main profession, as we each, for example, to the occupation insight, the main profession required by the employers in Italy. I can use a professional, I go, for example, to Italy, the system is open, so you can try to use it, I go to the SIT professional, and of course it's fun because the most required profession in Italy, but not in Italy, you know, is a software developer. So remember, have in mind what is a job posting in the web. We don't have, so we can have a title, we can have a request for a job posting about software developer, but not only. A lot of time we have a Java developer, Python developer, I don't know, C sharp developer. So the goal is not the challenge is not at the end when we collect the data. So the scope of today of the next 15 minutes is to collect the data. But the complete exercise is to apply machine learning, apply some, I don't know, some system based on rule to try to normalize the data and produce a video. Another nice tool produced by this system is this one. It's a tool most simple, for example, I can go deeper, I don't know, in German, and I can analyze the economic sector in German, and also this data are connected with web scraping. So let me to continue now. I don't have a question in chat. So I can continue a small agenda for today. Of course, we will, we will speak something about the decision just in patterns. We will see the difference between scraping and crawling. For example, for the European project that I have mentioned a couple of minutes ago, we are using scraper, but also crawler, because it's difficult to maintain. We are using 500 different scraper. So in some case, we use some scraping tasks. In our case, we use crawling tasks. Of course, the data produced by the two different methodology are different. And then we will see the different, the main difference between these two tools. The first part of the agenda today is to create a data set. So the goal is to try to navigate Indiegogo. Indiegogo is a crowd-funded platform. I don't know if you know it. I think it's very good for scraper and for scraper size. And we will explain why I think it. But the main goal today is to try to navigate Indiegogo with Python and Selenium to create a data set. And at the end, we will speak about ethics. Of course, because everything published on the web, you know, is public. So everyone can take it. So it's difficult to address the ethics challenge. Why is it difficult? Because when you publish something on the web, you don't know if someone will take it. And you don't know if someone will take it and what is the scope. So every time that you will run or scraping activities, every time you will collect data from a web, you will have to keep attention to the data. Because in this case, the staff is not about who publishes the data, but is on the side who collect the data. So you have to keep in mind that to repeat yourself the question, can I collect this data? Can I collect this data for my purpose? Can I collect data for my purpose? Or I have to inform the original owner of the data. And we will speak a little about ethics. So let me start from the interesting part.  So when we speak about a big picture in this case, it's the overall flow. We have, of course, to collect data from the web, but the data collected from the web are, we have a lot of noise, we have a lot of uncompleteness. The accuracy is very slow. So when we design a system based on data collected from the web, you have to keep in mind that the main tasks are data ingestion, the data processing, the data presentation, and the final visuals of the data. And during these four steps, we have always to measure the quality of the data. So the completeness, the accuracy, the, I don't know, the presence of empty values because the scope of the first task, the ingestion, is to collect data. The scope of the processing is to increase the quality of the data. The scope of the presentation is to store the data in the overall system and at the end, the scope of the user is to use the data to produce data. So please keep in mind these four main topics. Of course, today the scope is to speak about the ingestion, so with scraping. So please, Raquel, can you share the first zoom pool? I wanted to give this session a more interactive, so. Yes, I have shared. Thank you, Raquel. Thank you, Raquel. So I wanted to send you a question, what is web scraping? So of course, it's all your joke. I have six respos, of course, where you are right. So I don't wait a lot on this pool. It's only to try to engage you. Of course, the right way, the right answer is B. So the scope of web scraping is to extract, extract the content from our page. And of course we create, we will create during this session an application in Python to run or scraping activities. And for there are a lot of tools to scrape data from the web, tools with different programming language, different framework. There are also some already ready tools that use drag and drop. So visual tools with no programming language to produce data. Of course, the scope today is to use Python. Python is very nice and very flexible to run and scraping activities, of course. But it's not only the tools. And also in Python, there are a lot of libraries. Today, the scope is to use Selenium. Selenium is not all your libraries for scraping. Of course, the scope of Selenium is not scraped data from the web. The scope of Selenium is to try to run a sort of automation of repetitive tasks on a browser. So we can use Selenium to run some scraping activities because it's very nice and it's very flexible to create applications in Selenium to scrape data from the web. So of course, the first difference is about scraping and crawling. Let me start to speak about crawling. The crawling is the job of Google. I think I'm not wrong if I associate the word crawler, the term crawling, the task crawling with Google being and so on because the main task of this player is to try to collect everything from the web. And I think if you have in mind the job of Google, you have in mind the difference between crawling and scraping because the result, the scope of a crawler is to try to store all the data. So, you know, the work, the job of the Google bot is to try to navigate the web and to store in the Talek, in your file system, every page. The scope of the scraper, the scope of scraping activity is a little different. With the scraper, of course, we collect, I don't know, the HTML code of the page, the entire text of the page. But the real scope of the scraper, the real scope of the scraping activities is to create a structured data set. When I speak about structured data set, you have to have in mind an Excel file with rows and columns. Of course, in Excel, we can store a text. We can store an image. We can store a complex structure. It's not a problem. We have no SQL, DBMS. We have, I don't know, Parquet file. We have JSON file. It's not a problem. We don't have to store Excel file, of course. But you have in mind the scope of a scraper is to try to cut and paste some portion of the page in the data set. So in our case, we will scrape data from Indigo Go, Indigo Go has a lot of campaigns about games, art, comics, and so on. And our final data set will contain the title, the ID, the URL, the description, the balance, I don't know the start date and date for each single campaign. So if in Indigo Go, we will find 5,000 different projects, our final data set will contain 5,000 different rows. Every rows will be composed by title, description, balance, currency, start date and date and each category and so on. I don't know if it's clear. Can I continue? I don't know if there are some questions in the matrix. Thank you, Jasper. Jasper. OK. OK. So the main task. The main task when we speak about the scraping is I try to keep the focus to the first topic. So to identify web pages and to understand the structure of a page. Because before to start to write code to program something, we have to explore the, we have to expect, the real term is expect the web page, web page structure, and to understand where the portion that we have to take is stored. So we have to understand something about HTML, we have to understand something about the browser, but it's difficult, of course, because we have a simple browser like Chrome. So for the session today, I think it's better to use Chrome because with Chrome we have a lot of night feature for scraping exercise. So with the browser, we can identify the portion of the page that we need. So the fourth task about scraping is to try to identify this portion of the page and to try to link every portion of the web page to the file that I set, which is the main task. Because at the end of the story, the code is very easy. We will see that we have 10 lines of Python and we can run this script. The first exercise is more complex because we have to use, I don't know, a little of creativity, a little of experience to try to identify the query to run on the web page to extract the data. But before to start the program, before to start to identify the page, please try to respond to answer to the question. Why? Why we scrape data? You can use the chat if you want. You can mute yourself. What are the purpose of scraping data? Maybe because you can get insights of what people are interested in. Okay, of course. Thank you. Okay, that's a collection. Thank you, Jasper. Okay, but that's a collection for what? Try to image. Okay, I built a set. What is the final scope? Because when we scrape data, we can collect everything. But we have to stop at the time because we can create a scrape but scrape everything from the page. So have in mind the final goal of a web scraper. For example, like Osvaldo has mentioned, we can create a scraper for research purpose. So I work in university and a lot of time, someone calls me. Okay, Mauro, can you please scrape data from, I don't know, glass door, from a fan page, from a newspaper, because I wanted to run an academic research. So the first scope to scrape data is to try to create a set for research purpose. I think it is one of the main scope. Second for business purpose, of course. For example, we collect data from European Union but I also collected data to sell data to my school there. So when I use, for example, job posting, why we use, so what is the scope for me to write job posting? Because with job posting, I can run some competitive analysis between two employers. I can measure my online reputation. I can run a product and price comparison. A lot of time, my students in university use web scraping, for example, to collect price from Amazon and compare the price on Amazon with the price of a better employer, a better company. It's normal. For example, we can create some scraper to understand what the competitor is doing, what, I don't know, we can use a scraper to collect data from social network. We can try to detect some fraudulent reviews, for example, because we can scrape data from every website. Everything published on the web could be taken from a web scraper. It's not a problem. You can scrape data from Amazon, Twitter, Facebook, LinkedIn, Reddit. In my ten years of experience about web scraping, I saw a lot of different type of sources. I don't know, we have finance, a lot of newspaper. It's not a problem. Remember the ethics aspect. When you collect data, you have to repeat yourself the question. Of course, I repeat myself, the question, can I collect this data from my purpose? Because the owner of the data don't have the vision to understand what is your purpose. So the ethics aspect on our end, we have to repeat ourselves the question, can I collect the data from my purpose? For example, I collect data about job posting, but never in my work life I sold the data to an employment agency. I don't know, the URL, with the source, I don't know, because my scope is to sell aggregated assets, to sell analysis about labor market. My scope is not to create Mauro Pelucci, it's not my scope. My scope is to collect data from the job post, to create some statistics, some analytics, some KPI about labor market and to sell to my stakeholder aggregated assets. I am not a competitor, for example, of LinkedIn, because my purpose is not to publish, I don't collect the data job posting to publish, to republish job posting because I think it's not correct. So I remind that when you collect the data to repeat yourself the question, can I collect this stuff for my purpose? Of course, there are different tools to run scraping. We have some visual tools like, I mentioned import.io, modgen.com, Octoparse. If I remember, octoparse.com is free, so it's not completely free, but it's free and some free features. Of course, visual tools are very, very good, but it's difficult to use visual tools with complex websites. So I don't use this type of tools. The second frameworks, for example, Natch with solar, Natch with elastic search, HTT Track, I think one of the most famous is Stormcrawler. This type of tools are crawler. We can use Natch, for example, or Stormcrawler to collect everything from the web. It's not difficult. These tools are already ready. We have also to download the tools and use it. Of course, we can write custom code. Custom code in Java with J-Soup, in Python, with scraping, beautiful soup with Selenium. I only mentioned these four libraries in two languages, but there are a lot of different languages, of course. Beautiful soup is different from Selenium because Selenium uses a browser. So mainly we have a Phantom browser to run the scrape. Beautiful soup is only a parser. So in beautiful soup, we have to put in input of the web page, and we can run the parsing activity and run query. So let me to start. I don't know. So in this slide you can see my repo. Let me to reshare in the chat. So if someone was late, you have my repo in the chat. If you navigate in my repo, the notebook folder, the notebook that we will use to run this exercise. So I put also the link of the notebook in the chat. So I don't know if there is a question on chat. I think no on the matrix server. Raquel? No, it was just a very nice answer about why web scrape. Yeah. Can you share the answer? Yes, of course. It says to access the data automatically e.g. daily which is not available via API for further analysis, collection and or ML machine learning. Thank you, Raquel. So I go ahead to my session because this is the main part of the session. So we will start from IndicoGo. We will write some Python code to produce a file. So the main tool to start with a scripting activity is the browser. So we can use so I'd like to use Chrome. So I suggest you to use Chrome because in Chrome or Chrome based browser we also have our browser like Chrome as the same feature but of course with Chrome we have a lot of nice tools that feature to inspect the website because the main part of the scripting is trying to identify the portion of the page. So if we go to the IndicoGo page we will move the zoom bar. So I am putting the link on the chat. So IndicoGo you know is over the site about campaigns. So if you don't know there is a lot of funding and campaign activity about audio, comics, tools, film, games and so on. And our scope is to try to identify each single path for example by title, with description, the balance, the currency and to create our dataset. So I click to oversight. So first of all we have to start from the browser because on the browser you know that you need to go to the main page. You know in the browser under the option so I cannot zoom this part because I cannot zoom the part but under usually if you use Chrome under the more tools developer tools we have on nice tools to try to identify the portion of the page that we need because I am using the elements tab in this case and we will understand why the elements in a couple of minutes but I have this tool the inspect tool. Why the inspect tool? Because with the inspect tool I can move on the page and I can identify each single part of the page. For example if I go here and I click so in this orange, it's an orange green box, if I click as you can see in this area I have the HTML code that use the browser to show me the box. Why the browser? Because I have the HTML code in two tabs the elements and in the sources in the sources I have the HTML part HTML code recite by the server to my browser. In the elements I have the HTML code refactor reworked by the browser so if I use Selenium I am using a browser to run the scripting activity so it's better to use the elements part so Selenium is better than the other tools because with Selenium if the website is with a lot of Ajax script and so on everything could be taken by Selenium so it's not a problem as you can see if I go here I can identify that with the discoverable dash card if I go to the second I have a lot of discoverable dash card so I there is this part with this box if I go down, if I click as you can see I can identify each single part so my goal today is to try to scrape this discoverable dash card and to run query on it to extract the title with description, the balance of course I need the query language why query language because I have to run query on this web page so I have a couple of run here of query of query framework the first of its part its part is not on purpose today because usually I use the CSS selector framework why CSS selector framework because the CSS selector framework in CSS selector framework you can use the tag of HTML code also the class so it's more easy to use the design of the page to identify the portion and it's more easy for us and it's more to use for example the class because if a designer I use the discoverable dash card tag to identify the card of the project on the page I think it's a feature of the website so it's more easy for us to run a query of this type so the query in CSS selector are very easy as you can see the language is not complex like SQL for example because we have for example element div.class and if I run a query with element.class I can take every portion of the page with this element and this class for example if I go here I am in the elements part I use the command f because I am on a Mac or control f to open this find by string selector or its path feature and I can write my query for example I write the query this for example so as you can see I am able to navigate the page I found 14 different portions in my mind there are only 12 portions but it's easy now to identify a single portion because as you can see if I use the expect page I can go here and as you can see I can identify the class I have the class discoverable-title so I can run a query for example with div.discoverable card-title I put the query in the chat and in this case I am finding 12 different title and if I go down with the title with the arrow I can identify each single title of the page so the complex part of the scraping is this one try to identify the right query of course indigo go is very simple because it's very easy I am using indigo go but for example I can try to identify a single category it's very easy because I have the class discoverable-category so if I run a query with discoverable card-category I can find each single category of the website I put also in this case the query in the chat so it's the complex part because it's not every time very easy like in this case so if you are in difficulty you can use also an app from the browser because if you click with the right button on a portion you have the copy menu and under the copy menu there is the copy selector with the copy selector you can have an app to write the query for example if I copy this one as you can see I have a complex CSS selector query but at the end if I remove the first part I have the query but I need of course in this case I have two classes with the syntax element.class I am forcing the condition class the first class and the second class so this is the main part of the exercise let me to identify the description for example in this case is discoverable card description and also in this case it's very easy to identify the description part and putting also this one in the chat so at the end of the story the first task about scraping is to try to write in this slide you have everything of course I am navigating the site but in this slide you will find every single part so the main task is to try to write a table with each single element and the query for example for the link I have to use discoverable dash card for the category dot discoverable card for the title and so on now we can move to Selenium I don't know if there are questions Raquel no ok so because now it's very easy because we have the queries we have only to use Selenium to run the queries so I am going to google collab let me to open the notebook so you can see how to open the notebook I am go to file open notebook you can use the link to my notebook in github if you go to the github tab on google collab and if you put the link google collab open the page and identify the notebook you can click on it ok so we can start the first stuff google collab is in cloud so it is not on our local system so we have to install the libraries so with pipi stall Selenium and apiti get I am installing Selenium ok by the way install Selenium and install the browser so Selenium will use a phantom browser on google collab of course you can run this notebook also on your side it's not a problem you have only to download the notebook and open the notebook on the uptr for example and to download from this link you have the link in the notebook the chrome driver so if you are sensitive to your version of google chrome so please check the version of google chrome has to be the same version of the chrome driver and then you have to edit the connection as in the notebook however in the notebook you will find the code to run the notebook locally so after the process we can import the libraries as you can see I am importing Selenium the tqdm library and the tqdm is only to have a progress bar so it's a nice feature it's not a functional requirement only to make more nice my notebook pandas to produce the print also in this case the pretty print is to print the jace or the dictionary created in a more nice way so after the import I can create the chrome option why chrome option because we have to to give an input to the chrome drivers and parameters for example the edless because I am in a cloud environment so the phantom browser is completely phantom if you run this notebook locally you can remove this option and you will see the browser open the click and so on of course we have to put the user agent what is the user agent is the signature of your browser when your browser run or request run to the server in this case I am putting the signature why because when I run the script the scrolling activities I have to emulate the user so in this case my phantom browser we will present the signature of chrome on a Mac so in some case it's better to use a real signature so to put the user agent in some case it's better to use a custom user agent for example you can use I am a bot and I am scraping your data if you want you can put whatever you want it's not a problem of course if you want to better emulate when the user is better to use a real signature too now we have everything and we can instantiate our phantom browser in this case it's chrome so webdriver.chrome I passed the chrome option input and the boot the object is my phantom web driver as you can see I don't see your browser but if I run or get a request page this page is the same page that I am using here it's the same page if I run or get and on the boot the object if I run the same screenshot I can add the page as you can see it's better to click if it's ok let me open the image if I go here and click on the image I can see the image in this part as you can see my browser is ok because my phantom browser is navigated so now we can use selenium to run our css query so of course let me check we have a lot of nice nice features on the boot the object as you can see we have we can add cookie we can close the page we can have the current url we can delete cookies we can for example get the page source but we have also a lot of like find the element by class name by css selector and find element with the same find element by css path find element by css selector what is the difference between the two different methodology? find element return one single element from your query find elements, return a list of elements so if your query is wrong the find element returns an error if your query is wrong find elements, return an empty array so usually I use every time the find elements because with find elements I have an array not good and with len my array I can check if my query is right not right and I can make a decision if the query is right if the element is present so let me go down a little first of all I want to keep each single box of the indigo go on the site I am using the first query so discoverable dash card if I run the query and if I check the result as you can see I am finding 12 campaigns so it's okay, it's expected because in the first page of indigo go I have 12 projects now I can write the main part of the scraper so as you can see I have 20 lines of code but more or less they are always the same so I run 4 projects in my list of projects this project is the result of the previous operation and on this project I can run query so the previous query stored in my notes are run on each single project on each single area of the indigo go on the site so first of all I can run the query with base condition so if the query returns at least one element I take the first element and the text part of the element if the query doesn't return nothing I leave the variables equal to blank so as you can see with this approach I can scrape the first page of indigo go and we can follow so it's very fast and we can check the result so as you can see I append my data to an array and I find balance the category productivity Euro description image with title I think this is the first if I go here okay as you can see this is the first second so we have built our first scraper on the first page of indigo go now I create a function so I put this code inside the function only to organize better my code so the code is the same of the previous I put input to this function the box, the card of the project I run the scraper and return the conditionary and now I try to run my function on the first page so my expectation is to find 12 campaigns so it's very fast it's very nice because we have also T2DM so it's okay now we have to run the scrape with a lot of pages because in this case we have only 12 campaigns so mainly I can copy and past them very our goal is to try to download everything so the question is how to end the activities I have a lot of possibility not only one I can run the scraper on the first 1000 pages and when I have as a result an error the 404 error page I can stop my scraper I can try to understand what are how many projects are on the website why I have the right number of the projects I have a lot of different features there is not only one only way to stop a scraper of course in this case for example I run a scraper decrease the number from 10 to 5 I try to run the scraper on the first 5 pages so as you can see I can also run a click on the sidebot cookiebot this element identified by a new kd is the banner so with the selenium we can click also an element on the page and I try to run my scraper and download the 12 pages the 12 projects and then I click to the show more with the selenium we can try to click on this object and I have a result ok so my goal is to try to emulate the user so to go down click and scraper to 12 projects go down click and so on so with this 10 line of code I can run click the cookie button it's present then try to check the first page download and so on wait usually I put this time and dot slip because I want to be polite I don't want to make to put in difficult with my scraper of course so I use this time to slip of course to be more polite with the web server and of course to better emulate the users so as you can see I put this free second of wait between click and the next page as you can see as a result we have 251 project and for this project we have all the titles now we can use pandas for example to visualize the data set we have the URL, the title all the data and to download the final data so we have built our data set in the notebook you will find a lot of other possibilities to download other fields so please job with the notebook it's not a problem let me to conclude my interactive session because before start we have to keep in mind that we can also use the API shared by Vistacolder so keep in mind that in the browser we have the elements part but also the network part so let me to show you if I clean with the clear button and if I click the show more in the go go under the fetch slash is hr section show me that there is this discover call if I try to watch this discover call I am lucky because in the preview I can see a JSON file with 12 objects as you can see from 0 to 11 so I can for example copy the JSON I go to JSON viewer online I am using the first one ok so as you can see if I run a request to this page I have 12 projects for each project I have the category the open date the description, the title the project ID of Indiegogo the image URL the found raised amount the found raised percentage the currency a lot of nice features so in this case I think it's better let me to go down my notebook at the end to use for example this request to run the scraper because it's more faster for example as you can see we've only the request library with the request I can run for example a post I can't find the parameter here because if I go to the headers I can see the request payload to use I can use this request dot post to try to emulate this behavior so let me to only for the first 25 so in 22nd I can scrape 24,000 project with a lot of details so remember before start to write code please investigate inspect in the better way the website try to inform the website because only one minute and I finish I stop my because there are a lot of questions about scraping and crawling data from the web a lot of sentences, regularization and alert by the website of course we have to be polite because remember to repeat yourself the question can I scrape this data the first step is to understand if the stakeholder wants that you scrape the data how to check you can go to the website for example you can check the robots.txt the robots.txt is usually used by the crawler to check if the Google bot and so on as you can see in the Google is quite polite you can navigate every page of the site not the account page the project and so on first of all try to check if the site has to download the data for example if I go to the link in the robots it's really different I have a lot of denied so I have also noticed so please second try to inform Mr.Colder because in my experience a lot of time I don't know Mr.Colder doesn't have issue if you scrape the data I want only to be informed about your activities what you do with the data what is your program what is your challenge so please check everything the robots try to engage Mr.Colder try to keep a look to the time to the limits and so on of course because scraping activity is not it's not simple with IndigoGo it's very simple but it could be required a lot of time so before start try to discover if the scraper is the possibility try to engage the web server I don't know I think you have an idea so I am finishing my time I think it's right Raquel yes that's correct I don't know if there are questions or no Lillian said that she would run the Jupyter Notebook from the Google collab I think that Jesper already said that that's good so I think that is yes another suggestion to you guys my notebook is very simple but you can reuse my notebook every time I have a lot of students that are coming from economics degree marketing studies and so on that I use my notebook to create some nice scraper of course Google collab and my notebook are useful to create some one shot scraper but if your scope is to for example investigate the price investigate and reputation is good so you can adjust my notebook to your case and reuse it every time Raquel on matrix we have some questions I don't see any questions so if anybody still has questions feel free to ask just now okay thank you Hugo I'll post all of the links we shared here as well yes in my presentation in the repo you find also my mail my LinkedIn profile feel free to write to me if you have issue with another book or if you want to have more information about my work and the ingestion and also the other part of the work because the ingestion is the first part sometimes I think it is a very more nice part because you see the result of your work of course it's not only part of the science system it's the first part thank you Yash yes I think what Yash said really quite changing was what I feel as well it's seen quite a few of these web scraping tutorials I think this has been one of the best I have seen very clear and thank you so much if anybody has any other questions feel free to still ask on matrix and if you feel like you want to have another session with Mauro if Mauro has the time we could also book you into another session into the city walks that's the open space so that's not recorded you can just hang out with Mauro and ask any questions over there that would be in the conference 6 city walks open space yeah I can that as well you can join the jitzi and then have another video chat alternatively you could also go to Wandermeese Longing Area and then just hang out okay thank you okay thank you very much Mauro so now I guess we can sign off and have a break and then ready for the next session soon okay thank you guys and a picture again for your assistant bye bye