Check this out.  We are live on SensorTube. Sal and Via are two little kitty cats. They're just chilling on Rumble for now, until we see Rumble kick in. Let's see. Oh, and Rumble kick then. Very nice, very nice. All three up. Gang, this is your job. Welcome to our live stream. Today, today is November 25th. And we're going to be jarring our cannabis harvest for 2023. And we've got some tobacco that I might jar as well. OK, so we're just going to be taking care of some business and harvesting, sort of organizing our crop for the year. Because it's time to put them away for the fall and the winter so we can enjoy the harvest for the rest of the year, right? Fantastic, fantastic. Aside from that, welcome to our live stream. We're all set. Just a heads up for one on Twitch. I've put the warning on Twitch because this involves cannabis. Nicholas, salutations. Hope you're doing well. Welcome, welcome to our live stream. Hope you're doing fantastic in the UK. Salut, salut. List nine, nine, nine. Hey, caught another lab. Hope everyone's good in these strange times. Indeed, indeed. And you caught a good one, list. We're going to be harvesting our cannabis. Well, we're already harvested. We're going to be jarring our... I should have brought a bag too for the tobacco. We can grab it, it's easy-peasy. Mark, metal salutations just harvested yesterday myself. Nice, nice. Mark, are you hanging them to dry? Or are you doing paper bags and stuff? How are you doing it?  Because we're mature. I hang you hanging as well, awesome, awesome. That's what I've done with mine as well, these are hanging. I let them dry too much a little bit, but I was so busy. I didn't have time to dry them earlier. So they might be a little bit too dry. But it is what it is. It is what it is. Bang, bro, salutations. I'm not too mature. I'm off my age, but I don't know about mature. Yeah, it was more of a joke for us. Poor cook salutations. Hope you're doing well. I'll feed the salut, salut, hello, hello. Real xenomorph salutations. Give me a seat, he's in the house. We got some tobacco, we got some tobacco. Beautiful tobacco. Beautiful tobacco, beautiful tobacco. Beautiful tobacco. Here, I'll show you the big bundle. Well, there's three, three, four big bundles. Here, look at this. Beautiful tobacco, awesome. This is the best tobacco harvest I've had ever, right? This is just absolutely amazing, right? I've already smoked a couple of blunts out of this. May, maybe we'll roll the blunt as well for me to enjoy later, right? Fantastic, fantastic. And we've got three different strains of cannabis going on. We'll give everyone another five minutes or something to roll in. And then we'll start jarring and whatnot, right? It's amazing. Like, I love spring and summer, right? But one thing that happens in the summer, we don't use this guy very much. One thing I love about the fall and winter is, and the kitty cats love it. Like, they just chill there. If they wake up, they're sleeping right here. Sal's looking at me going, what'd you point at before? They're sleeping right here. If they get up, the odds are Sal will either go, they, both of them, will either go behind the fireplace or lay in the front there and just sprawl. It's a good life. Chichokitty cat life is a good life. More metals. Was this from an outdoor or indoor grow? The cannabis, the tobacco outdoor, for sure. The cannabis was on our patio, but because it started raining and stuff and I didn't want to get any mold, we ended up finishing inside, finishing it here, right? I harvested, I think I harvested one outside in the patio. I'm not happy to say sure not, maybe not. No, no, I can't remember. But anyway, we finished it here. We had two or three plants here. No, no, no, we had three plants here. We finished here and we harvested them here. So we had them growing here for about a month under minimal lights, minimal lights, no heat lights, LED lights. Okay, shh, shh, give me a sticky dope. Oh, my God. I just watched Doctor Who's 60th anniversary special. I was in a raw, man, rage by the end of it all. Are they still destroying? Crazy. Yeah, I can't watch any of those. The two woke stuff is crazy. Alfeeda, a good book, Smoke, that fireplace on that couch must be epic. It is, it's very nice. Beautiful. Beautiful, right? Beautiful. Mark Meadow's nice. What size pots did you use? The biggest one was this one, take a look. The biggest one was that one right there. So they're not huge pots. And what we're doing with that right now, kitty cats like eating grass. So I, you know, there was grass, I put grass there and it's sort of gotten older. So I wouldn't got them new grass and I'm growing grass. Because kitty cats like eating grass. So we're using that for the grass now. But that's the biggest one by a long shot, right? The other ones would have been three quarters of the size of that or half the size of that, right? So not big, not big. Handwater, mark, mark, handwater, yeah. And I only fed them twice, right? With, no, no, no. I guess three times because I re-soiled everything and inside I put blood meal, organic blood meal, right? I didn't know it was blood, but I don't know if I'm okay with that. Not for food stuff. Eating stuff, I didn't use the blood meal. For the cannabis and the tobacco, I did use the blood meal. Mixed it in with the soil and they went in like that. We groomed from seedlings, right? From seeds and then we had the seedlings going, right? And then once I put, you know, soiled it, seedlings go in there and they started growing.   He jumped on you. He likes jumping on the stools and he didn't see that I had stuff here. He jumped up here.  I'll come and give you some food, come on. Okay, and what do you call it? He almost knocked over the vape, a bowl of olive oil, right? for cleaning the hands when they're sticky. The glass tube for the vape and a glass of water, but it's so nimble that he adjusted before he put his feet down. It's crazy. Here, let me show you what he jumped on and didn't crash anything. Watch this, watch this. Hold on, let me show you this. On this, look at this. He jumped on this and just before he landed, he adjusted his feet so he didn't knock anything. Olive oil, vape, glass, glass. Fast kitty cat. Fast kitty cat. Okay, he's, Sal is a beast. Same with Via, but Via's a little more chill. Sal, should we wait until he meows once? Well, no, no, no, I should defeat him now. And then, regarding the watering of the cannabis, and then I fed them fish, liquid fish, mixed it in the watering pot, just twice. That's it, that's it. Nicholas Chichot, you plan on doing any relationship streams again? Yeah, for sure, we can. Yeah. Enjoy the storage. Chichich, nafayeta, what are you doing? So, living soil medium. Is that what you call living soil? I guess so, is that what it's called? Right? Do you burn wood in that fireplace or pass, it's gas. This is gas. In New York, the police would knock down my door, maybe. No gas. It's heating. Warrior of the cats, all the gods says. Cheryl, how are you doing? Hope you're doing well. I'll share a whole chat with you. Got to love woke souls, got to love them, pray for them, pray for them. They need a prayer. Mr. Carmen, man, salutations. Alley gods on all three platforms. Okay, I'm going to give you guys a countdown. And then I'm going to... So we've got 20 people on Twitch. We've got a couple of people on Rumble, nice. And we've got like seven people on SensorTube. But I will stream the whole thing on SensorTube unless we get knocked. I don't know how cool they are with what we're about to do. But what I'm going to do, I'm going to give Sal some liver and some dental food. I'll be back. And then I'm just going to show you guys what we're going to jar. We're going to weigh it and stuff too. Okay. Sal, come on. You doing okay? Yeah, come here. Say hi to the people. Come on. This is our Sal. Come on. Choo-choo. Hi. Are you doing okay? Come on. You want to go eat? Yeah? Okay. Come on, let's go. Let's go, let's go. What is up in the mirror? And Dia's, Dia's a little sleepy little guy. He's not sharp out of the sleep to movement phase. He's here.  And he's like so slow eating it. Sal just munches it all up. Okay, Sal. Let's give you one more. We're all chill. Fun. Dancing, vigilance, SensorTube, salutations, hope you're doing well. Multiverse of AltarGa. Some arts. Liberalis. Hey, good to catch your stream live for once. Nice, nice, nice. Welcome, welcome on SensorTube. Jeonzook. I got really good hydroponic cannabis today. Very nice, very nice, very nice. Delicious, delicious, delicious. Died to have an old traditional open fireplace in my home. Yeah, yeah, yeah. Wood fire. It's a lot of work. You got to clean, you got to chop wood and stuff like this. But there's nothing like the crack oil. And the heat is deep, right? Heat is really good. Sheryl, it comes with its own issues. Like what? Cleaning. Yeah, cleaning. Nicolas Chichot. Yeah, relationship stream would be cool. Going through an unwanted divorce on my end. Ah, pooper, scooper. And trying very hard to find who I am. I am by myself again. So looking for lots of activity to try to take my mind from the loneliness. Okay, for sure. Nicolas, we'll set one up. We'll set one up. Remind us, oh yeah, I didn't do an intro or anything, gang. Nicolas, remind us on Gilded, we'll set it up. Gang, if you want to follow this work, we're on Gilded, we've got a server there. Fantastic, fantastic. We're on Patreon, Substack, Subscribestar. For those of you who are supporting this work on all those platforms, plus Twitch, plus Rumble, plus Pichu, plus Odyssey, plus Sensor2, all of these platforms gang, including SoundCloud, where we upload some of the podcasts, some of the live streams of podcasts, Twitter, Mines, VK, Gab, Gettr, Substack Notes and all that jazz gang. Thank you very much for the support. And as always and as always, salut salut to the mods. Sorry to hear it, Nicolas. But it's things that you can come out of surprisingly, greatly, enhanced, if you want to say it, right? Cliff Hyde mentioned this. Last stream or interview or something like this. He goes, hardship makes you stronger. Like it's, he was basically echoing Nietzsche's words, right?  And he was talking about suffering and our suffering allows us to empathize with the suffering of others and the troubles that we have makes us more receptive to the suffering of others, empathy of her. So all of the stop, put it, take it all together and all of a sudden you get perspectives. It's an experience, right? It's like pain.  Identification, not by that. Just like, just imagine living a life where you didn't feel any pain. What a effin miserable life that would be, right? If you lived in a society where nobody felt pain, then no one, you wouldn't know something was off, right? Like, I guess because it's relative. But if you personally didn't feel any pain and you could, others felt like it, you'd be missing something, right? And if it was an emotion that didn't exist in the universe, fine, but should it be an emotion that doesn't exist in the universe? I don't know, right? It's interesting. This is a gunjata. Open fireplace, it's with tiny windows. No, no, no windows, just a screen, just a screen, just a screen, yeah. And no, you gotta keep an eye on it, which is going because little, I've had it before, little tinders can fly out if you've got carp in the front. You gotta be very careful. I'm scrolling down again, thank you all to God, thank you all to God, X, how are you doing? Hope you're doing well. Nicholas, yeah, pain is part and parcel of being human. We grow through adversity, yeah.  It is what it is, right? First time chat. Cancer Joe, cancer Joe. Hey, Chicho, my first stream been watching for over 10 years, salutations to old school. Old school is the best school. It's lovely. New school is pretty good too, but old school is pretty good. Thanks for hanging around the long game, brother. Da, da, da. Oh, we got some action on the censor too. Da, da, da, da, da, da. Skates, 1982. Hey, Chicho, first stream, nice, nice, nice. Welcome, you're welcome to our live stream on CensorTube and watching for over 10 years too. Wait a second, are we the same people? No, we're different people. Skates, 1982, and Cancer Joe. Cancer Joe, 10 years real Xenomorph test. That's my YouTube name. Oh, that's you. I was like, wow, synchronicity. Awesome. I'm a big boss, how are you doing? How's it going? Chicho, doing well, brother, doing well. Thank you for popping in, Sean Goddrey. Dancing with Joe, can't hang around today. Got housework to do, uh-oh. Pain, lets you know you're alive. Indeed, indeed. Json came for the comic, stayed for the warm and wise person, I think. Who's I don't know, man? Awesome, well, we got, there cannot be peace without first the great suffering. The greater the suffering, the greater the peace. That's a great saying. Who said that, other God? It can't be Nietzsche, that's too optimistic for Nietzsche. Even that's too optimistic for Nietzsche, hilarious. Gang, should we cut down the cannabis, right? I'm gonna bring each one that they're over here. Each of the different things we have, the strains, and put them in a bowl and then we'll weigh them, okay? Jon's one icon's sensitive to cannabis, dispensaries near me are fantastic. Now the prices are great and they have a great sell. Yeah, yeah, prices have dropped hard core, right? Fantastic, fantastic. Gang, let's do this. Their sell.  He knows how to relax. Hi, Sal, what are you doing?  Okay, check this out, gang. I'm gonna bring this over. Oh, we'll put it in front of Sal. And ta-ta-ta-ta-ta-ta, where's mine? Oh, there it is. Okay, let's do, we're gonna do, by the way, sorry if I'm not gonna read the chat, because I got my glasses on. I don't have my glasses on, this is blurry if I go far away.  Let's take down, or weigh the apricot mimosa first, okay? Apricot mimosa, this is the last plant we took down, okay? This is the last plant we took down. Some of it is not trim, I left it with the leaves on there. I'm not gonna take the leaves, well, some of the bigger leaves. I'm not gonna take the leaves down. This is for my consumption, it's not for selling or anything, it's for sharing for me. So it doesn't matter for me, right? I'm not trying to reach a 10 out of 10, I'm trying to just enjoy my harvest. So we're gonna weigh it, we're gonna first put it in here, and then we're gonna weigh it, and then we're gonna weigh it here. I have my scale stuff, I'm gonna bring the scale here, I'm gonna do it. I should put on my glasses for this. Do it with my hands, maybe. And you know it's ready to be taken down, take a look. When the stems, it's dry. You hear that? That's what you want. So once you have that, you can take it down. And I'm gonna get rid of the, so that's sort of what we're getting, right? That's the top of one of the branches, right? So not bad. And it's sticky. Sal's enjoying it. Very loose, very loose. This is one of the ones that I didn't take too much of the leaves off, right? Need a little place for it to put these guys. I'm just gonna put these on, guys on the ground for now. Apricot mamosa, right here. You doing good? Sticky, sticky, very loose. Again, this is one of the ones that I didn't take down the leaves too much. And of course, we're gonna sample each one of these strands as we weigh it. Some of these are really small, right? But still sticky. That's the sound you want. Seriously, stick, the apricot mamosa had really good crystals on it. Really good crystals. Oh my God, is there a warning message for us on sensor too? Let's check it out. I see. This stream is intended for educational purposes, only Chicho does not endorse druggies. I do not, I do not. This is a how-to educational stream where I'm showing how it's done. I posted it. Thank you, Aldergac. Appreciate it. Via's hilarious. Sometimes Via's posture is crazy. Via's going behind the fireplace now. If I could fit back there, I'd go back there too. It comes to the front. There are the hairs on it. Very nice. The league of wrestling. They're checking out the cannabis branches. Just got a couple more stems to do. No, more than a couple, a couple more on the table. I can't remember what our estimate for this was. Our estimate for this was anywhere between two to three, three ounces or so, but I don't think it's that much. I think it's gonna be more than two. Smells really nice. I say a couple ounces. No, it's gonna be more than two ounces. Fingers are so, look at this. I don't know what these are. Indeed, Mark. Wow, it smells amazing. Yeah, yeah, it smells so good. So good. Back in the day, back in the day, I knew a fair bit of trimmers and we used to hang around and maybe a lot of these little nuggets. Right. Woo, kind of sees it. Right. Nice. Yeah, just a little guy. Just a little guy. Right, let's see if we can focus it. Just a little guy. There you go. All right, just a little guy. Okay, I'm gonna put this guy here so I remember. So this one over here is the apricot mimosa. Hey, sticking to my fingers. It's not letting go. Nice. Now let's weigh it. Okay, so let me do this. This is the apricot mimosa. Let's see how much we get. Two, three. And it's gonna be in two jars, I think. Yeah. I'm gonna write two of these. So apricot mimosa, 2023. We'll put the weight on it when we measure it. Mosa 2023. Now let's weigh it. Right? Let's weigh it. Let me have a sip. So this is how much we got. Pluthrin, pluthrin, no, I can't read it. Thank you very much for the sub, brother. Welcome back, welcome back. All right, so we got this much. Let's do a little weigh job and see how much we got. This is our scale. Can you see this? Yeah, you can see this. I'm gonna zero. Oh, I can't, no, I gotta put this on and then zero. So this thing weighs 24, but we can just kick it again and it zeros it, all right? So that's a weigh. Oh yeah, this is two ounces. 33 grams so far. 60 grams so far. It's total is 67 grams. Okay, let me put out my glasses and make sure that's what it says. Yeah, 67 grams. So there is 28 grams per ounce. So about two and a half ounces, would we say? Two and a half ounces? A little bit less than two and a half ounces, all right? Which is sort of what we expected. And I'm just gonna jar these, right? False, optimistic. What is up, Gicho? First time catching the stream, but a long time fan. Thank you for all the years of content and honestly, my pleasure, my pleasure. Thank you for popping in. Apologies if I'm not catching the chats gang. So we got 67 grams total. We're gonna have to put it into two different jars. So I'm not gonna weigh each one. Well, I guess we could. 67 grams total and we just do a subtraction. Let's see. So we're at 33 here. So that says 34, right? Subtracts 67, so this is 33 grams. Here, I'm gonna go, I'm gonna put one more butt in there. Still says 34 grams. Okay. So total is 67 grams. So this is 33 grams of apricot mimosa. Good, here. Because that says 34, right? Six, yeah. So 33 grams out of 67 grams. Now I'm gonna put tape on it and the rest of that should be 34 grams. That should fit it into one jar. Gungung. So this was 34 grams. It's the same. Sal was preparing from the attack. From the attack. So this sticks on there. Ooh, sorry about that gang. The thing was leaning on it. I hope that wasn't too bad. Vanessa, how are you doing? Only a few more weeks to go here in Ohio. To harvest? You guys haven't harvested yet? Really? So check this out. So these are two harvest apricot mimosa this year. And watch this. This is CBD 88 grams. I didn't put a year on it. I think this is from two years ago. This was full. So we're down to here. And this was 88 grams. Okay. Here is Ladybug, almost finished this. This was 30 grams. I think this was two years ago as well. So those are two that we saw a lot. We got this much, this bud is big. I don't know if you'll be able to see it. This was 88 grapes. We had, this was 2022. We had 88 grams. Or is it 88 grams? No, how many grams? Oh, I didn't say how many grams. I didn't weigh it. Oh yeah, these I didn't weigh. Maybe I did. I can't remember. I didn't weigh. And then this was an unknown strain from 2022. I think it's good. I think it's good. And check out this bud from the 88 grams. Check out this one. Trimmed this one way tighter. Look at all those crystals, eh? Very nice, very nice. Right? And it smells amazing. And it smells amazing. So let's do, let's take down, or jar, okay put this guy away again. Bring this guy here. So I'm gonna take down, hoping we can grow our own next year. Nice Vanessa. I love growing cannabis. Cannabis and tobacco, so good, so good. Let's take this one down. This is the Thor's berry. Thor's, this is the Thor's berry. Thor's berry? I'm gonna take my glasses down. I get dizzy when I walk around with these things. Very loose cut. This is one of the ones I didn't cut very much. Where it's not bad, it's good enough for me. Personal use. Sharing, caring, right? What's Sal do? Sal's right there. Does he do that? No, he has, I think in the back of the fireplace. The fire's nice now. This one's I think is gonna be like three ounces. Closer to three ounces. The buds, the big buds, they're all just like little flowers stuck together, right? So if you want, you can keep a bud like longer and longer. But personally for me, it increases the weight, right? So I don't really like when I used to buy. I didn't really like buying the big buds because you're paying a lot for stem, right? So I would usually try to back in the day when I used to buy because that weighs a fair bit, right? I would like the smaller buds instead of the bigger buds because it was more cost effective. That's me, yeah. What's Sal behind the fire? I was just chilling. What are you doing? Are you doing okay? I'm gonna close the patio that we're getting. Kitty cats are chillin'. It's rare we hear the neighbors downstairs TV. They're usually just music, but I think there's some kind of game on or something. And it's rare they watch games, so. This is one of the ones where I left a lot of the leaves on. Take a look. These large leaves. So these ones, I don't think because someone recommended it, they said, oh, it's really easy to take them down afterwards, but I wouldn't do this again. I would trim it down. I would take away these leaves because when I'm in the jarring process, I don't want to deal with cutting. Like it's easy like this just to pull them off, but it just takes me out of the rhythm to a certain degree. Unless you did all of them like this. But then you got to deal with them. I didn't do too many like this because these green leaves are falling into the pot as well. To the bowl. Nice gun shot. There's kitty cat tip. Just show it. Do you see it? Yeah, I think so. With the greens, take it out. I'm just going to take these ones down over here in this bowl in the middle. They are easy to take off like this. And these, this would be amazing to make butter with because they would have picked up some of the crystals during the drying process. Oh, here, let me show you this. This is what the greenie stuff I'm taking off right now is, right? It's just the leaves. Still green stuff left on there, the leaves. But good enough. Get a deep, deep clunk.  There's green stuff here too. I think I'm going to keep this to the shake because it looks really nice. This is sort of what the kitty cats do with me during the day. If I'm working or whatever, got the fire going. They like just hanging out, cleaning themselves, checking things out, smelling things, wrestling, eating, and going up to the patio. This I would guess is going to be around 80 grams, if not more. Maybe. This is the last branch. Borsberry. That isn't initial, not enough swerving in the stream. Yeah, dang it. It's so hard, but my finger is in the oil. Maybe get enough finger hash to sample it. That's fine. My finger's functional. Ninja on rumble. I couldn't read the rest of my glasses on. Thoughts on Argentina's new leader. Is this all for you, Chico? For, I consume most of it. So it's, I do share. I do share, right? So it's for my use. Let's put it that way. All of this is for my use. Elevates fingers, playing piano. Activates fingers very well, very well, right? As far as Argentina's new president, well, Lula is implementing the global agenda from the left and he is going to implement the globalist agenda from the right, right? But it's still the globalist agenda. And anyone that wants to know why Argentina's in the situation, it is. Look into what took place in 2018, 2019 with Christine Lagarde at the time being the head of the IMF, giving ridiculous loans to Argentina that everyone knew that they could not. Payback and there was a left that we're getting loans to. And this has been a game and play for a long time, right? If you do the calculus, you realize, oh, wow, they set things in motion back then to reach this point, right? Same with Brazil. And if you want to know how everything plays out for other countries, just look at what they're implementing now and do the calculus and see what the results will be five years from now or 10 years from now. So let's do a little waning job. Hi, what's up, yeah? What are you doing, Leo's right here? What are you doing, hmm? What do you want?   Yeah? I don't know. I like Leo's whininess. He's cute. This is way of talking. Can I have a sip of water? Look at the shape I'm just going to put here. Nice. Step over here. There we go. We're going to zero this. We're going to have to zero it. And this is a Thor's Berry, right? So let's, here, we'll bring this here. Can you guys see that, okay? My censorship chat is on the front of it. Let's check it out. Let's check it out. Total weight is going to be, we got a total of, oh, 90 grams, 90 grams. Very good stuff, very good stuff. So three ounces plus, right? We got 90 grams of this, right? A little bit loose, so a little bit shaky, I guess. But very nice, very nice, very nice, right? Very nice. Let's jar it. We've got 90 grams, we've got three jars out of this. And gang, do not forget, do not forget. Free Assange, free Assange, free Assange. Julian Assange is a publisher and journalist that has been crucified for trying to bring transparency and accountability of capitalist power to humanity. Something that we desperately, desperately need in our societies. For more information, see wikileaks.org. Defend.wikileaks.org. Or countless resources available. Mainly on free speech platforms. So this is 50, not 54. It went from 90 to 54. So 36 grams, 36 grams in here. 36 grams of Thorsberry. Let me write this down. Thorsberry, Thorsberry, 36 grams. So we're going to need three labels. Thorsberry, 2023. 36 grams out of 90. And then we've got Thorsberry, 2023. It's out of 90 grams. Thorsberry, 2023. And it's out of 90 grams. So let's see. It's 36 grams. Very nice, very nice. Let's put that there. So it's not too noisy. So this is at 20 grams now. And we're at 54, so this is 34 grams. Okay, 34 grams. See, math is good. Math in real life. So this one is 34 grams. 4 grams out of 90. 34 grams out of 90. And the rest of the 20 we're going to put in there. Check out Via. Can you see Via? Right here. He's just staring at Sal. There's Sal. That's what one thing Via does. When Sal's chilling on the front-fired system, just looks at Sal. It's hypnotic. And this is 20 grams. Very nice, very nice. Very nice, very nice. Now we've got, now we've got the next one. This one is the first one we took down. And it's the Purple Royal Sour Cush that we're about to bring in. Because one of our plants was male, right? And it was really big, really big. But we had to take it down because we didn't want seeds. We just wanted butt, right? In Canada, we're out loud for plants. So we were down to three. So we started another seedling. Seed got the underlights, got a seedling. And we grew one. And this is Royal Sour Cush. Okay. And we grew one. It was late, right? So it was only this big, right? But it still had buds. And someone mentioned that one way they dried, and it's really good, it makes it potent, is they take the whole plant down, right? And they hang the whole plant upside down, they hang it with the roots intact so they don't cut it. But they take the whole plant, I'm assuming it was really big, it would be huge, right? But I guess they don't let it grow too big where you can't handle the roots, right? They take the whole plant out, wash the roots, and then hang it with the roots. And that's what I did with this one. So I'm going to jar this one separately because I want to see if this is more potent than Royal Sour Cush that I just cut, right? But this one, because I did it that way, I didn't trim it, so I'm going to take the shake off this thing. Okay. And then it's with the shake over there. So I'm just going to take the shake off here. So experiment, I've never done this dried with the roots. Yeah, this is so easy for it to come out with the shake when it's dry. Is it easier than trimming it? But again, every now and then you get a bud coming off. That's one extra step, one extra precaution, which I don't like. Okay, that's enough. We're just going to jar this.  Speedy Gonzales. And then we'll weigh it just because we want to add it to the total amount. Or maybe we shouldn't, we won't bother. This is like bare minimum. It's not very sticky.  But again, this was very late. So this is just going to be an experiment. I'm going to put it in a plate and try it out. What is cool with the roots, right? I need a small... I mean, just very little, very little. It's not even worth weighing. I'm going to just put it in a plate, okay? I'll be right back. And very shaky, right? We'll try it out. I'm going to do a sip and then we'll take down the Royal Sour Cush. This is the plant we got the least from, but I have the Royal Sour Cush in other jars. I might have a couple other jars from last year being around as well. Royal Sour Cush. And then we're going to have to sample after this is done. Sam, what's the scoop? We're just passing out on the counter on the ottoman. Cushing the ottoman in front. Sal's down here right now. It gets hot and it moves away from the fire. It sprawls on the ground somewhere away from the fire. This is going to be like... like an ounce maybe. Maybe a little bit over, but it's a smaller plant. Dense but still. These are definitely dense, so it might be more than what I thought. And this is the one that's been hanging the longest. Royal Sour. Nice hairs on it. Nice hairs. Engaing. Do not forget. Do not forget. Free Assange. Free Assange. Free Assange. Julian Assange is a publishing journalist that has been crucified for trying to bring transparency and accountability of capitalist power to humanity. Something that we desperately, desperately need in our societies. For more information, see wikilees.org defant.wikilees.org with countless resources available on free speech platform. Look at the spiral. Like the vea. That's a big bud vea. Some people would keep this as a whole bud. Why not? Let's do it. No, that's too much. Okay, let's do it. Let's just cut it here. I'll keep one big bud. I usually take these down. Beautiful. Let's do a little weighing on this. Not too much finger hash on this because it was less. Here's how much we got. Put my fingers in the... I don't know, not yet. Let's do it this way. I was gonna do the boil again, but we'll hold off the weight. Let's see what we got. That's zeroed. I say 34 grams. Ooh, 44 grams. Nice. 44 grams. Again, this is the only bud we have. This is the reason why I say I don't like huge buds.  But that's okay. I'm not selling this. I'm just gonna keep it for myself. So 44... Let's see. 44 grams? 44 grams. 44 grams. Two gels. We'll put the big bud in. Nice big bud. Let's see how much the big bud weighs. So 44 grams. We take this off. That's 37. So this is 7 grams. The stem is a huge chunk of it. I'd be pissed if someone charged me 7 grams for that. I'd be like, take it off the big stem, man. It's a marketing play. So this is 30 grams. Yeah, we'll put 30 in this. Okay. Royal sourcush. 30 grams in this. And there's 14 grams left. Perfect. And that's 14 grams. So I put this guy here. I put the scale back. Let's turn it off. Let's turn it off. This is 30 grams. Sour purple. Purple royal sourcush. Purple royal sourcush. Good exercise. Good finger exercise. Difficult. We're going with the oil. We're going with the oil. Do it the simple way. Okay, I gotta go wash my hands. I'll be right back. Purple royal sour. Purple royal sour. Purple royal sourcush. Purple royal sourcush. Royal sourcush. Sour. 2023. 23 30 grams out of 44 grams. And purple royal sour cush 123 14 grams out of 44 Nice looking bud. Nice looking bud. Purple royal sourcush. 2023. 30 grams. Out of 44. And here is the other 14 grams. Right? So we got a total of right down to totals. We'll do a little math. What do we get? We got 44 grams plus 67 grams. Right? Let's do a little math. Let's do a little math. So 44 plus 90 plus 67. 47 is 11. 1, 1, 10, 9 201 grams. Right? 201 grams Cannabis. Divide that by 28. Should we do long division? No, no, I don't want to do long division. Everybody says, oh, no, no. I don't want to do long division. 201 divided by 28 grams in an ounce, right? 28.2 something. So 7 ounces. 7.2 ounces. So 7.2 ounces. Which is great. Right? Oh, who's that? Who's that? That's Sal. He wants a little munchy. He's been laying around with the heat. Right? Laying around with the heat. But what we've got to do now is we've got to assemble the goods. That's what we've got to do. But wait a second. Should we do... I've shown you guys that Sal. What do you call it? I showed you guys the Cannabis, right? Sal has been caught meowing 10 times. So here's the category. Sal, what do you want? You're hungry?  Some more here. These are bundles of tobacco. Right? Beautiful tobacco. The best tobacco I've ever grown. Awesome, awesome, awesome. I think I'm going to... What I'm going to do, I'm going to take some of the Cannabis we have and I'm going to grind it down to coffee grind. I want to show you. Some of the tobacco from this year as well that I'm going to draw. Some of them I'm going to bag, some of them the bigger leaf ones. But the big leaves I'm going to bag. But let me do this. This is... This is my Cannabis grinder. Right? I do have a hand grinder as well, but I'm industrial. I'm industrial. This is my Cannabis grinder. This is my Cannabis grinder. Right? Very nice. Every now and then you scrape that up. And... Right? So, I'm going to grind up one of the one of the plants. Which one should we sample? I think we should try that... Apricot Mamosa. Bot Bounder, bot, bounder. Some people say sacrilege. I say... Apricot Mamosa? I don't think I've ever tried Apricot Mamosa. I wouldn't mind trying it. Let's try Apricot Mamosa. So, where's our Apricot Mamosa? This is our Apricot Mamosa. Fresh Harvest for 2023. Woohoo! Right? Apricot Mamosa. So all I do is just take some buds. Stem and all. Let me do this. Now, I'm not going to do this here. It's going to be loud. That's the fig. The stem, add weight. That's the fig. Is that mixed? Is that what you call it? Yeah, the stem add weight. I don't want stem. How many flavors reside in that black, how many flavors in them? Delicious. Yes, I can't... I can say it. Peach. I can smoke a peach for hours. Smells amazing. Okay, I'm going to go to another room and grind it up. To the bathroom and grind it up. Close the door because it's loud. I'll be right back. I don't know if you guys heard. You don't grind it like beans. Coffee beans. You don't go turn it into powder. I went three or four times. That's it. You're not getting this. Very nice. Very nice. Take a look. Super good. Usually I just flip it over. You don't have one of my little jars here. Put it in the little jar. So what I like to do right now is I want to roll the blunt with the tobacco we have. But I'm going to vape. I'm not going to... To do the blunt, you need a nice leaf. It can hold being rolled. Which is something like that. All of these leaves, tobacco leaves they can't be rolled because some of them dry a lot. More brittle. Like this one's brittle. But this one's good. It's oily. So what I'm going to do I'm going to... You see the these guys in there? These stem things. Take the leaf off between those. Try to anywhere. We've got lots that we can try. Practice. Because I don't want the... It's not a stem. What's it called again? I don't know what that's called. I'm going to go through one of them. It's going to be a small blunt. It's not going to be a big blunt.  Tobacco smells amazing. Smells sweet. You see this? You get this. Okay. There's one stem in there. The thing. And then take this. Can you see? Let's see. I've got to bring the sensor tube chap down. Crack. How are you doing? Hope you're doing well. There we go. Apologies if I'm not catching the chap again. I just want to make sure this is educational. So take a look. So pack it up. Sometimes it doesn't work on the first go. You get this. Now if I'm smoking with anyone, sharing with anyone with tobacco, a blunt, I give them their own leaf and I say roll yourself because you've got to get this wet. You can trim the little part. You get yourself a nice blunt. Raw. Old school. Organic. Beautiful blunt. Right? Strong. Strong. Beautiful smoke. Beautiful. Are we allowed to smoke on this? On sensor tube? Gorgeous. Thank you. Temporary beats. Like. Gang. Serious. This is ultimate. Right? Yeah. Does it look like smoking tobacco? Are we allowed to do this? Can we do this? You guys let me know. If it's okay, we do. We do have. We do have. We do have. We do have. 420 pick up. Gang is strong. No filter in that though, right? No filter. No filter. No, no, no. Let's just get stitches. Yeah. We could put the blunt. We could put it up. We could put our little DJ up. And just read the chat. Good harvest. Thank you very much, Mohaka. Thank you very much. Isn't it okay in the area? I don't know. I don't know. I don't pass anything. You know, these sensors, they might want to censor up the yin and yang, right? Hi, Sal. How you doing? Let's do. Let's do. What are we going to do? Yes. Be real. Does it every podcast? Does it? Let's do. I saw Sal's coming out to the chair. What's up? What do you need? Do you want cuddles? I can't give you cuddles right now. Here's Sal. I can't give you cuddles right now.  Finger hash. Balls. Sal, I'm going to sit down. Off you go. This will gain. That being said, we're bringing out the DJ. I'm with the DJ. Okay. I'm with the DJ. I'm going to put this just on the counter. We're going up here. Sal, how's it going? I'm going to go to our torch lighter. Open discussion. That's right. No effing around. No, do not smoke any mushrooms. Mushrooms are bad to smoke. No, no, no. Say hello to the DJ gang. DJ in the house. Okay. I'm bringing up the chat. We can chit chat whatever you guys want. I've got my glasses on and going nowhere. For now. We're on this side. Void, we got seven and a quarter ounces. We've got 201 grams total. Right? Which is not a bad haul. I think last year I got I might have got 12 ounces last year. We lost one big so we lost one big plant because it was a male. Right? So we only got really three quarters of our should have been harvest. Oh, I got to bring the chat up. We're losing some of the chat. I'm going to bring the 420 below the chat gang. And the browser. There we go. I'm going to grow some next year then. Well, we're allowed four. Yeah, Void, we're allowed four. And gang, seven ounces. Right now ounces this year and last year the ounce prices went down. Right? But when you have to buy like up to two years ago an ounce of organic cannabis in Canada like good organic cannabis in Canada costs you anywhere between 185 to 225 to $150 an ounce. Right now ounces are way less but it's 100 bucks. Right? So if you grew seven ounces that's 700 bucks. If you went with historic prices that's like $1,400. So you're growing money. You have to like this a fair bit. The blunt. Okay, because there's no chemicals in this. Unless you're constantly taking puff. Elder God, seven months and five days since we did this last. Very nice. Void, is there any way to make sure they're going to be female or males or just for us we flip a coin because we're growing from seed. Right? But you can get cuttings that they're what do you call it? Clones. So they're guaranteed to be female. Crack on Cesar do plus I've smoked the mine. Temporary peace. We need a video in his to grow in an apartment. We need a video. So what's up? He's like more. Give me liver. Oh, we need the video on how to grow in an apartment. Yeah, there's lots out there. Temporary peace. I grew mine in a balcony. All right, I grew mine in a balcony. Elder God, my flats in my area have heated growing rooms. Nice. I can get an ounce right now if I want it nice. Void, is there a way to have zero chemical plants? I don't, I didn't put any chemicals. I feel like I've been smoking chem my whole life now that I think about it. Yeah, yeah, yeah. Void, I use organic like organic blood meal. I put in the soil to start with and then gave it fish, fish juice. Like you pour it in, it's like fish, the kitty cats were going up to the soil and going, where's the fish at? Right? And no spraying. Didn't spray anything. Like, didn't spray at all. Right? Crack, wonder how easy it is to get an Anatobo Dura shorter season. I think it should be pretty good. Crack. Just because you get way more sunshine. Guess you'd have to keep it indoors. I don't know. I don't know. You guys get a lot of sunshine. Fish emulsion. Maybe it was fish emulsion, Cheryl. Another 1.5% sure. But it's like stinky fish. Fish juice, I call it. Void, I've always thought it was an ounce per plant.  Oh no, you could get a pound out of a plant. Void. I have no growers that get pound. A pound on a plant. You could get a lot on a plant. That's good to guess. This is really nice. Start them inside. Move them out after the last frost. Yeah, yeah. That's good advice, Cheryl. And tell the truth, we should have done as well. We should have started early. These plants were late. We were really late. We were really late. This is strong. One thing, smoking in a blunt, you don't get the full flavour of the cannabis. Because the tobacco overwhelms it. With a vaporizer you get the full aroma of the blood, of the flower. Void, isn't it collect at the first freeze in Quebec? We call that freeze land weed. Is it? I don't know. On the west coast, we get a lot of rain. So you don't want to keep the buds outside too long, because they get moldy. Quebec and prairies is different. It's just west coast, we're in rain forest, so we have to treat it differently.  But the amount of electricity used is a big giveaway to cannabis farm. That's the way they used to bus people in BC. They would get warrants, or just check out the electricity bill off people. Right? Cheryl, oh my god, I thought I was losing it. Kept looking for crack here. You crack over in sensor tube. Cracks in sensor tube. So, very nice. This is very nice. This is primo, primo, primo. Beautiful, beautiful. Void says, hi sensor tube people. Don't get misinformed. Don't get misinformed. Let's do a little count. What do we got? We got 11 people on sensor tube. We got 33 on Twitch. And we got 11 people on or rumble. Gang, salutations, salut to everybody and all these platforms. Welcome to our live stream. I hope you're having a fantastic Saturday. That's plenty for me right now. Okay? That's plenty for me right now. Let's say bye-bye to the DJ. Let's say bye-bye to the DJ. Bye-bye, DJ. Thanks for hanging around. Nice. So that's the main reason I brought up the tobacco. And I have my vape here. I do vape, but blunt. Fresh harvest, our own tobacco, the cannabis. It's a good way to do. Earlier this year they found a farm in an unused council building. But most of it was moved before the big. Nice. Mission accomplished. It's been a good year. It was a good year. Great year for harvest. Tobacco harvest, best harvest ever. The cannabis harvest, not bad, pretty good. I'm happy with it. That'll keep me going until next harvest season. Hopefully have a little bit more left. Hopefully I'll be sharing. So great thing. And I'm sharing the tobacco as well. Right? So share your harvests. Share your food. Share your herbs. Share your love. You put into this hard work. Love, right? Make the world a better place. Decentralize it. Decentralize it. Share and share like. Right? Fantastic. Fantastic. We did good. We did good. Gang, should we call the stream? Thank you for hanging around. I hope you enjoyed the nice downtime. It's good to take a breather. Sort of meditation. Process your harvest. I guess this is the processing phase that we're doing. I hope you have a good weekend for those of you in the States. I hope. You had a great Thanksgiving for those of you in other parts of the world. I hope. If you're going through hard times, easier times around the corner, and if you're going through easy times, I hope you appreciate that you're very, very lucky. Just stay informed. Make sure you're strong because as the saying goes, there are hard times. You don't really want to go through the phase where society has had so much hard times that those weak men need to become hard men, which is a beautiful thing. There's a little bit of turmoil involved in there. Decentralize your cannabis plant. Indeed. Share. I'll take care of Chicho and chat. Indeed everybody. Gang, if you want to know what this work is all about, I am on Patreon. You're definitely welcome to follow us there. We do have a Guilded server. You're definitely welcome to join us on our little community. Share information. Talk freely. We are live streaming this on Twitch, on Rumble, and on Sensor2. Hopefully, be tuned soon. So for those of you that are I didn't record this on a lapel mic, but certain live streams we do record on a lapel mic and those podcasts should be available on SoundCloud and your favorite podcasting platform, The Audio. We are on Twitter, Mines, VK Gap, and Substack Notes. There's another one in there. Gitter, right? And you're definitely welcome to follow us there too. I got to get unfilled. I do have an account, but we haven't been on there yet. As soon as... I'm hearing rumors that BitShoot is going to start allowing live streaming. So as soon as that happens, we're going to have to look into... I either upgrade the Internet I have here so I can send out directly to all four without going through a centralized hub, but might have to look into a centralized hub. So I'm holding off as long as I can because there's a lot to be done. But thanks for the reminder. You're on the ball. You do give us places that if it was left up to me, I probably would have gone to yet. So thanks for that. BitShoot first, of course. BitShoot first, of course. Love, BitShoot, love, BitShoot. Gang, I hope you guys have a fantastic week. I'll upload segments and stuff during a week and most likely see you guys next week. Bye, everyone.


The Tarabah State Governor, Abu Qifas, has approved the celebration of the historical Wonyo International Fishing and Cultural Festival in Ibiloko government area of Tarabah State, 14 years after it was last held. The Commissioner of the Ministry of Heritage and Equatorism, Reverend Nagombe Joseph Titus, says the occasion was last celebrated in 2010 by the former governor of the state, Dambe Basuntai, adding that the governor has set up committee to oversee the success of the occasion. He added that the governor has guaranteed the safety of participants in order for the public to have a peaceful global occasion and also use the platform to attract foreign investors to the state. According to him, the occasion reminds the people of the state and indeed Nigerians of the rich cultural heritage of the state, the unity of the people and above all the tourism potential that abound in the state. It may please the people of Tarabah State to note that the governor of Tarabah State, Dr. Abu Qifas, has approved 19 and 20 April 2024 for the people of Tarabah State, Nigeria and the international communities to join us and celebrate the historic Wonyo International Fishing and Cultural Festival in Tarabah State in Ibiloko government area of Tarabah State, Nigeria. Wonyo International Fishing and Cultural Festival was last celebrated in 2010 over 14 years during Governor Dambe Abaddon Fuller and Eastern Tarabah administration. The Wonyo International Fishing and Cultural Festival is one of the biggest fishing and cultural festival in the entire West Africa region. Reviving the Wonyo International Fishing and Cultural Festival is one of the greatest guests of his excellency, Dr. Abu Qifas administration. This occasion reminds the people of Tarabah State of Nigeria, the cultural heritage, unity and tourism potentials of the state. The government of his excellency, Dr. Abu Qifas, and guarantee the security of the participants and the environs in order for the public to have a peaceful global occasion. Hit the notification button so you get notified about fresh news updates.


This paper examines the current state of cloud computing technology applications used by educational institutions in Ukraine. It also presents the results of a survey on the usage of cloud-based learning tools and services. Finally, it discusses potential future directions for cloud-based learning environments at these institutions. This article was authored by Maria Pevlivna Shishkina.


Thank you, Senator. You talked a bit about the process of getting aid and material to Ukraine. Not all of our audience understands the role that Congress plays in making that happen, the appropriations process that supports the diplomatic and military engagement. Could you tell us more about the bill you introduced with your colleagues to support Ukraine and what the broader role of Congress is in conducting foreign policy? Well, thank you for that question. It's a question we are answering in real time. As you may or may not know, I wrote my senior honors thesis at Amherst about the role of Congress in foreign assistance policy. My professor or supervisor was Tony Lake, who later went on to be the National Security Advisor and the head of UNICEF. We are in a tragically broken period in terms of the Senate and policy setting. The Senate Foreign Relations Committee, on which I serve, and which President Biden chaired, and of course, Senator Vandenberg famously chaired, sets policy through authorizations and the approval and ratification of treaties. The Appropriations Subcommittee, which I now chair and where Senator Graham is my ranking member, sets the priorities for $58 billion a year in spending. Funding for the whole of the State Department and USAID and MCC are bilateral and multilateral foreign assistance and our support for the United Nations and other groups like UNHCR that's providing refugee relief and support. I was pleasantly surprised that we were able to secure quickly strong bipartisan support for 13.6 billion in Ukrainian assistance, both humanitarian and military. And I urge that we provide robust relief when the request first came over from the administration. It was less than $5 billion, and I was really pushing for $10 billion. And within a few weeks, it grew to $13.6 billion. And we are going to have to do another Ukrainian supplemental, both to fund the war effort and to provide humanitarian assistance and reinforcements to the Eastern flank of NATO. Our president has deployed 14,000 troops. We now have more troops in Europe forward deployed than at any point the last 30 years. But we should not be doing this through emergency supplementals. We should not have last minute deals being cut between the leadership of the two parties with very little consultation or transparency. Now I sound like an old institutionalist, but it is true that so-called regular order where committees of the Senate have hearings, the administration presents budgets and we go through them. That is the way it should be done. And fortunately, Secretary Blinken and Samantha Power, administrator of USAID are both going to be appearing in front of my subcommittee to review their budgetary submissions in the coming weeks. But I think we need to be building in more robust support for the ongoing humanitarian crises and for the security needs that we are now going to see. NATO has a new focus, a new purpose. It was initially formed to resist Soviet aggression. It is now being re-strengthened and reformed in some ways in direct opposition to Putin's aggression. I do think we're going to need to look at, over the long term, providing more investment in security and in development, diplomacy and the softer sides of national security, which work best when they work in combination.


So 240 on the dot, let's do it. I'm Godfrey. No one is introducing me today, so I have to do the work myself. But before we start, a very important question for you, did you file your taxes? In case you didn't know, the deadline was yesterday, but if you missed it, don't worry, there will be another one next year, so. But more importantly, are you in the right room? Because this is a sponsored session, in case you didn't know what it means, just making sure everyone is here at the right room for a right talk, no regrets. Yeah, all right, so, sponsored talk. So if we all know what we're getting into, let's do it. This video is bought to you by Blue Apron. You're busy, we get it, we're busy too, but that doesn't mean you can't have nutritious and delicious, ah, never. That, yeah, I figure I should burn the evidence before I get lawyers calling me. I actually work for a small company called Skylight. I don't know if anyone actually believes us when we say we're a small company, so we decided to put the entire company on stage this year, so hopefully people will believe us. But even though we're not sponsored by Blue Apron, if you do want to sign up for Blue Apron, I have a personal promo code that you can use. Speaking of personal referral code, this is my personal referral code on Skylight. If you sign up with this URL, we'll both be swimming in Skylight credits, so I'll give you a few minutes to copy that down. Got it, okay. If you don't want to remember the long one, you can also do skylight.l slash rl slash rl sconf, in which case I won't get any money, but you will. Anyway, if you like free money, you probably are into cryptocurrency, so we're announcing the Skylight ICO as our token of appreciation. You can find the details at skylight.l slash pepecon.ico. So, we have been very busy working on a lot of things in the past year, but instead of telling about all of them, today we decided to focus on just one, and that's Skylight for open source, and Vatihe will be here to tell you all about it. Your call is very important to us. Can you hear me? Oh, how about this? All right. Hello, my name is Vatihe, and as Godfrey mentioned, one of the things we've been working on is the Skylight for open source program, and it was born from our own experiences as open source contributors. So, many of us on the Skylight team actively work on open source, and from our own experiences, we've seen that it can sometimes be pretty hard to get existing contributors to actually work on application performance issues. So, only a few contributors actually consider working on performance problems to begin with, and even the ones that are already interested can find it hard to know where to start. And that's why we created the Skylight for open source program. This is, of course, the same Skylight that you know and love, except that open source apps will have their public dashboards accessible to everyone. That way, all your potential contributors can access this performance data easily, even if they don't have a Skylight account. We started this program because we hope that by making performance data and information more accessible, we could inspire potential contributors to tackle those really slow parts of their favorite open source apps. And by leveraging Skylight, they could finally have a good way to see if their own contributions actually helped. Because at the end of the day, every single app, large or small, open source or not, has room for improvement when it comes to performance. So, after spreading the word about the Skylight for open source program, we decided to try contributing back ourselves. We had a company-wide osathon. Yes, osathon. It's like a hackathon, but it's for open source projects, as you might have guessed. And we paired up to help make performance contributions and improvements to some of the apps that are participating in the Skylight for open source program. So, today, we're gonna show you three different open source apps that are running on Skylight, each of them with their own unique performance challenges, varying when it comes to complexity. So, to start, I'm gonna hand it off to Yehuda, Lee, and Peter, who will introduce us to the very first app. Hey, Peter, wanna see something awesome? Sure, what's awesome? Well, I'm glad you asked. Awesome stands for open source event manager. I have no idea if it's actually pronounced that way, but I'm going with it anyway. Awesome is an event management tool tailored to free and open source software conferences. It's a one-stop shop to set up a website for your conference, handling everything from program registration, sponsorship, as well as the admin interface for editing all this content. Since awesome is designed to be a self-hosted solution, working on performance issues could be tricky, since you'll need real data and traffic to understand how the code is performing in the real world. Luckily, one of the maintainers of awesome is running a conference later this month, which is LinuxFest Northwest 2018. So, you can see awesome working in action on the website, and on Skylight too. This is the Skylight dashboard for the LinuxFest website, which is powered by awesome. On the top, you'll see a graph showing some key performance metrics over time. The blue line represents the app's typical response time. The purple line is the problem response, and the gray part at the bottom is the number of requests per minute. Now, you're probably wondering what is the typical and problem response time. The technical name for these metrics are the median and 95th percentile, which are a pretty good proxy for what a typical user of your site would experience on a typical day versus a rainy day. However, why do we have to show you two numbers? Can't we just show you the average response time here? That is a very good question. Hang on to that thought for now as Yuhuru will explain in a minute. Not yet. For now, let's move to our attention to the second half of the page, the endpoints list. This shows you all the endpoints in your app. They're typical and problem response time as well as popularity. By default, they're ranked by Agony, which helps you prioritize which performance issues are worth spending your time fixing. It takes into account both how slow the end point is, as well as how popular it is. So, you won't waste your time fixing a slow end point that's only accessed by a handful of people every day. Those of you with good eyes might also notice the red heads-up icon. This is next to the endpoint name. This indicates potential database issues. But what kind of database issues? Yuhuru will now tell you all about it. So, to find out, let's click on the first row to see the detailed endpoint page. So, the first thing you're probably gonna notice here is the histogram on top. What this shows you is a distribution of the response times for this endpoint. This is a pretty good time to revisit Lee's earlier question about typical and problem response time versus averages. If there's one thing you remember from your statistics class, it's probably the normal distribution, aka the bell curve. And you might expect your response time distribution to look something like that, matching the bell curve you learned in school. The normal distribution has some pretty nice properties, which is why they teach it in school. For example, if your response actually did look like this, the average will be right in the middle, making it a pretty representative number. And if you did look like this, you would expect a lot of your visitors to experience response times clustered around this number, and that would also be pretty nice. However, response times in the real world do not tend to follow this distribution. They tend to follow a distribution more like this, which is skewed to one side. A lot of the requests in this distribution will be fast, but there is also a long tail of slow requests. In this case, an average just doesn't tell you anything about your fast requests. And even worse, it misleads you about your slow requests, which are usually around 10 times slower than the fast ones. Now, if you ask me to tell you where the average of this particular distribution is, I actually have no idea where to point to, which is why instead of showing you the average and misleading you into thinking about the bell curve, we show you the typical response, which covers about half of all of your requests, and the problem response time, which covers about 95% of your requests. Now, it's important to remember that one in 20 requests falls outside of this range, so basically all of your users are going to experience slowness on the right side of that bar pretty regularly. And so we show you both numbers to remind you of what your users experience in reality in the real world. So that's the first half of the page. The second half of the page shows you what things your app actually spent time doing during the request. For example, as you would expect, most of the time in the request is spent here processing the controller action, which is indicated by the blue bar. However, a lot of time is spent doing other things within the action, such as database queries and rendering views, which is why parts of the blue bar are painted in light blue. The child tasks inside the light blue are also color-coded, green is for a database-related stuff, and purple is for a view rendering. You can click on the event to view more details about it, such as the actual SQL query being executed. And if you remember, the endpoint page we saw earlier had a heads-up icon referring to a potential database issue in this endpoint. It corresponds to this red icon over here, which refers to a pretty common kind of database issue in Rails apps called mplus1queries. And Peter is going to explain what is an mplus1query and how you can fix it. Thanks, Jehuda. I imagine that probably many of you have heard of mplus1queries before, but if you haven't, don't worry because I'm about to explain them. So let's say you built a blog in Rails. You'll probably have some code like this in the controller. Obviously you can see we have an index, we're selecting our posts here, and basically gonna send that off to the template. Since this is a blog, you probably also have authors where each post belongs to an author.  You're gonna loop over each post and render the author's name and probably some other data about the post. This is works, and by however, this fairly benign looking code is actually hiding some important work from you. When you access post.author, Rails doesn't yet have the author data. It only has loaded the post itself, so it has to do an additional query to fetch the author from the database. Since we have to do this for each post that we render, we'll end up issuing 10 separate author queries to the database, in addition to that additional one that we had to do to fetch the posts. This is why it's called the M plus one query problem. Because we know we are going to need the authorship information anyway, we can optimize this by fetching them ahead of time using just a single additional query. Rails provides an API to do this for us automatically. You just change the controller code to add this includes here. Probably many of you have done this, but if you haven't, this is a really useful thing to do. And that now basically is when you select from the post, we do this first one query and then we're going to have a second one where it gets all the authors in one query. And admittedly, this is only the simplest possible scenario. In the real world, you'll often find your M plus one queries are hidden deep in the code. They may follow the same pattern, but it's somewhere that's not quite as obvious and straightforward as this. Fortunately, Skylight does a pretty good job of detecting and highlighting these problems, pointing in the right direction of where to investigate further. Going back to awesome, we were able to use the information from Skylight as a starting point. We found a couple of places where M plus one queries were an issue and submitted a PR to address them. As our time is pretty limited here, I won't get any more of the nitty gritty details. However, if you're interested in learning more, feel free to stop by our booth. The exhibition hall will be around later today and we'll be around tomorrow. And we'll be happy to show you and talk to you a bit more about how we found some of these problems when we did to fix them. But for now, I'm gonna hand this over to Kristen and Zach to talk about the work they did on another open source app, the Odin Project. But Moji, thank you, Peter. We're gonna talk about the Odin Project. The Odin Project is an open source community and curriculum for learning web development, like a code school basically. Students of the Odin Project build portfolio projects and complete lessons that are constantly curated and updated with the latest resources. They offer free courses like Ruby, Rails, JavaScript, HTML, and CSS. Once you're done climbing the technical ladder, they even have a course on how to go about getting a job in the industry, walking you through things like searching, interviews, and much more. One challenge of running an app like the Odin Project comes from the size of the community. As you can imagine, there's a lot of information to keep track of for each user, such as which courses they took and their progress in each course. With over 100,000 users, this adds up very quickly. For example, let's take a look at the work involved in rendering these beautiful badges. As you might imagine, you need to know two things to be able to render a badge. The lessons belonging to the course and which of those lessons the student has completed. The first part is pretty straightforward, just a simple select query. The second part involves a join table called lesson completions. It's pretty standard too. There is a lesson ID column and a student ID column. Since we are showing badges for every course on the page, in order to avoid the M plus one query problem, we are doing a single query to fetch all the completion records for the current student. However, according to Skylight, the second query takes up a noticeable amount of time on each request, not terribly slow, but definitely noticeable. So the question is, can we make it faster? Now, as you may know, databases rely on indexes to keep these kinds of queries fast. Essentially, you do a little more work when you're inserting the data in exchange for a significant performance boost when querying. In a lot of cases, the answer is simply to add the missing index. But this case is a little more nuanced than that. Because a student shouldn't be able to complete the same lesson twice, there is already a compound index on lesson ID and student that guarantees its uniqueness. Since we're only querying on the second field, is this compound index sufficient for our query? For a long time and for most databases, the answer would have been no. However, starting in version 8.1, Postgres is sometimes able to take advantage of the compound index for queries involving only the second column in that index. Unfortunately, even when that is possible, it's still not as efficient as having a dedicated index for that second column. We can confirm this by running and explain, analyze on the queries. If you haven't used this before, it's a great tool in Postgres to understand what the database is doing under the hood in order to help you optimize your queries. As you can see, if we have no indexes at all, Postgres will be forced to do a sequential scan, which could be fairly slow on a large table. Now let's add the compound index and try again. As you can see, Postgres is using the compound index here, but this is still not as fast as it should be. Finally, we'll add the dedicated index for the student ID column. As you can see, Postgres is now able to fully take advantage of the index and improve the query performance noticeably. Note that none of the supplies are the first column of a compound index. If we were to query on lesson ID alone, Postgres would be able to use the compound index just as efficiently, so there is no need to add a dedicated index for that case. Here's a summary of what we have learned. First of all, Postgres is generally very smart about using multiple indexes for a single query. So you should always just start with individual indexes. However, if you already need a compound index for other reasons, it gets a little more complicated. You would want to make sure that you prioritize the field you want to query separately and put that first in the compound index. Alternatively, you can maintain a dedicated index for any additional columns by which you would like to query. It says give time to read. We were able to apply what we learned here and submit a PR to the Oden project and improve this query's performance. While we were working on this, we noticed a similar case this time on the lessons table. Here we have a compound index for slug and section ID, and we wanted to query on section ID. So we thought we could add a dedicated index for section ID as well. However, when we ran explain analyze, we noticed that Postgres wasn't using the new index. As it turns out, the lessons table was fairly small. Less than 200 rows in total. When dealing with such a small table like this, Postgres will be able to do the sequential scan much faster than using the index. So if we had added the index, it would have just been more work at insertion time without any benefits. The moral of the story here is don't optimize prematurely and always check your assumptions. It's often better to just do the straightforward thing and let skylight tell you what's slow. Then spend time investigating and optimizing your code. Ultimately, we were able to figure out why the second query was slow and send a second PR to fix it. However, that's a story for another time. If you're curious, come ask us about another booth after the talk. For now, let's hand it over to Vitey and Godfrey to talk about the open source app that they helped improve. Are you ready? Click when ready. Yes. Click when ready. Let's do it. Are you ready? I can't click till you're ready. That's good. It's ready enough. All right. Thank you, Kristin. So we decided to work on one of our favorite open source apps called CodeTriage. What makes CodeTriage special is that it's an open source app that's built to help other open source projects. So as you might know, popular open source projects receive a lot of bug reports, feature requests, and pull requests every single day. And just reading through all of them could be a huge time sink for all of these projects' maintainers. And we're involved in a number of popular open source projects ourselves, so we understand this problem pretty well. CodeTriage lets you help out your favorite project maintainers by signing up to help Triage, GitHub issues, and pull requests. Once you sign up, the app will send a random ticket to your inbox every day. That way, you can help split the workload so that everyone only has to do a little bit of work every day. You can even sign up to help Triage and improve documentation on the project, receiving one method in your inbox every day. As you can see, CodeTriage is actually a pretty cool app, and there are already tens of thousands of users helping out thousands of repository projects this way. So that's pretty cool. Wow, that's a lot of projects and users. That's right, buddy. And as we can see, Ryan App at this scale will create some pretty unique and interesting challenges. Take a look at this homepage, for example. This is what you see when you go to CodeTriage.com, right? And it lets you browse through some of the most popular project and shows you how many open issues that need to be Triage for each one. That's a lot of information to render and so it could get a little bit slow at times. And at the same time, this is also by far one of the most popular page in the app because this is what everyone sees when they go to the main website, right? So Skylight is understandably marking it as an high agony endpoint, meaning that we'll probably get some pretty good bang for a buck's optimizing this page. Notably, even though there's a lot of information on the homepage, most of those things actually don't change all that often, which actually makes this page a prime candidate for caching. But as it turns out, a lot of performance-minded people have actually already worked on CodeTriage and they've done extensive work in fine-tuning everything that needs to be done. So therefore, a lot of the things that we found that should be cached already were. However, when we looked at this page on Skylight, we noticed that in order to populate the meta tag, we needed to run two queries to fetch the counts of the users and the projects on the site. Since we probably don't need these numbers to be super up to date, we can get away with caching them. So we submitted a PR to cache this information for up to an hour. And as expected, when we deployed this change, we were actually able to shave off a little bit of time for the homepage. So other than the header and the footer and the meta tag, the bulk of the time is spent rendering these cards on this page, which is understandable. This might look pretty simple, but actually a lot of work goes into rendering these cards. But however, even for the most popular open source project, they only receive new issues a handful of times per day, maybe up to a handful of times per hour. So they don't actually, most of these cards doesn't actually change that much. And you're probably thinking the solution is probably fragment caching because we're using Rails, right? So as we mentioned before, a lot of the obvious performance things on this app has already been done. And of course these cards are fragment cached. So that seems good. But in fact, they are better than fragment cached. They are actually catching in a pretty smart way. So if you just learn about fragment caching, you probably would do something like this, where you would loop through each of the cards and then you will catch each of the card inside the loop. This works, but it has a problem. This would result in Rails going to your catch store, sending a network request to your catch store to get the fragment for each of these cards every time it renders it. So now we're looping through like 50 cards there. So that would end up making a 50 separate requests to your catch store, which could add up to a lot of overhead. This is kind of like the N plus one query problem for catching, right? So to solve this problem, the code reaction maintainers took advantage of a Rails 5 feature called collection catching. So instead of doing this, what you do is you do render partial, like you move the content into a partial and you do collection, give it the array and you say catch true. So by doing this, Rails will be able to fetch all the fragments it needs ahead of time in a single request to the catch, cutting down on a significant network overhead. And you can see this reflected on Scala as well, the catch read multi there. That's the single request that Rails is sending to the catch store to get all of those fragments. So admittedly, this is pretty cool, but as we looked more closely at this, we realized that something was wrong. If you look at the logs, you will see something that looks like this. And as you can see, for each request to the homepage, we're missing more than half of the 50 cards in the cache. If this is a one-time occurrence, it probably wouldn't be a really huge deal. Rails would simply generate the missing content and write them to the cache. Then any subsequent requests would be able to take advantage of that cache content. However, the strange thing is that we were able to consistently reproduce those cache misses, even when processing multiple consecutive requests to the homepage. So perhaps the cache was way too small. However, the math doesn't really check out. We had provisioned a 100 megabyte memcache store for this app. Sure, it would have been nice to have a bigger cache, but each of these cards are around a few hundred bytes. So even at this size, it would still take at least a couple hundred thousand of these cards to fill up this entire cache. If this square is the 100 megabyte cache space, the 50 cards would probably occupy a fraction of a pixel in this one square. So this was definitely not our issue. It is possible that there's something very big in the cache that's taking up all this space. However, our mental model is that memcached is an LRU, least recently used store, which means that new cache data will push out old cache data in a first in, first out manner. But since we're not caching anything big on the homepage itself, our mental model would suggest that memcached will evict older items in the cache as needed in order to make room for our cards. At this point, it's pretty obvious that our mental model is wrong. And we need to get a better understanding of how memcached actually manages its data. Now, before we get into this, I should probably mention that we're not actually running memcached ourselves. We're using a size provider that implemented a proprietary memcached compatible store. So some of these details are specific to the implementation and it's not applied to memcached. But that's like more in the nitty-gritty. Most of the things here apply to memcached in some ways. So the first thing we learned is that our cache store is not just 100 megabytes of free space that is available for everything. Memcached actually groups the data you're trying to store into different tiers based on the sizes and manages the space for each tier separately. So you can see this in action by running the stats items command in memcached. The output looks something like this. And here you can see that there are a lot of stuff but it's basically telling you a few things. You can see the sizes for different tiers. You can see the number of items currently stored in a particular tier, and as well as how many items have been evicted for that particular tier. Since all the card fragments that we're looking at on the homepage generally is around the same size, they will end up being catching the same bucket, specifically bucket number four. We can see that the bucket number four is responsible for storing things that's up to a kilobyte. And the tier before it is responsible for storing things up to 512 bytes. So this end up being the tier for anything that's between 512 and one kilobyte, which fits all of our cards basically. And you can see that we currently have around 5,000 items in this tier, which works out to around five megabytes of storage, which is much smaller than the original 100 megabyte that we have in our head, that we assumed was available to us. So the implication here is that when talking about similarly sized items in MAMcatch, they might be competing for much smaller amount of space than you expected. Okay, so, sure, we only have five megabytes to actually work with, which is a lot smaller than we originally thought, but still, five megabytes is enough space to hold 5,000 cards. And if we look at our homepage, we are only trying to cash 50 cards. So once again, the math doesn't really add up. So this isn't quite the end of our story. However, from the same stats command that Godfrey mentioned before, you can see that the eviction count is indeed very high on this bucket. We've evicted almost two million items from this one bucket alone. So this supports our observation that our cash is overflowing. It's spilling out things as fast as we put things into them. At this point, the only explanation is that there must be something other than our cards in this bucket that's taking up all this space and somehow they're not getting evicted. It would be helpful, of course, if we could just open up this bucket and see what those things are. Unfortunately, the SaaS provider that we were working with didn't offer that ability. But based on our research, we had an educated guess. There's a feature in Memcached that automatically expires cached entries, which is also known as TTL or Time to Live. Our theory was that when mixing TTL data and non-TTL data within the same bucket, this cash store would always choose to evict non-TTL data before any of the TTL data was ever considered for eviction. And since our cards didn't have a TTL and our cash was already pretty full, they would always be the first ones to be evicted. So what we ended up doing was flushing the entire cash manually. And sure enough, it freed up space for our cards. And this allowed us to achieve 100% cash hit rate on the homepage, and that resulted in a pretty dramatic performance improvement. So another good thing that came up this investigation was that we actually discovered some bucks in other open source projects too. If you look at the Skylight Trace before we flushed the catch, you will see that, yes, we are doing one catch multi, so we avoided the anchories problem for catching, but we are immediately doing, spending a lot more time in catch read and catch write. So what's going on? Looking at the logs, we'll see that this is the read multi, so it's a very long line, so I didn't fit it entirely on the screen, but it's basically fetching all 50 fragments in one request. But then immediately after that, when we're rendering the missing rows, we end up doing another read to the cash store, even though we already know there's nothing in the cash store. So because the cash store didn't return anything in the original read multi, that's the whole point of that request. So in other words, the read time here, which by the way, is longer than the original read multi combined, is completely necessary, and we should be able to eliminate this bar entirely, which is taking up a noticeable amount of time in the page. Even when we don't have 100% hit rate, which happens in the real world. And if you keep reading the log, you will also see a second problem, which is that, so on the top is basically we're reading, we do the unnecessary read to get the non-existing data from the catch, regenerate it and rewrite it back seems good. But then after the loop, we're immediately writing every, like all of the missing rows that we just wrote to the catch again, for no apparent reason, in the same request. And which means that we should also be able to cut this time by roughly half. So finally, as we're working on this, we also discovered a bug in Rails 5.2 that is causing each catch item to take up twice the space than necessary. And we believe all of these are bugs in either Rails or the Dali gem. And before we talk about flight to RailsConf, we're working on patches to fix these issues and hopefully we'll finish them when we get back to Portland. But notably the particular bug about Rails 5.2 compression has already been fixed and merged on master and you should expect to find it in a Rails 5.2.1 release very soon. So we initially started by looking for ways to help our favorite open source apps using Skylight. And I think we did accomplish that, but we also ended up accomplishing something kind of bigger than that too. Through this journey, we ended up finding ways to contribute back to upstream projects like Rails. And we hope that the Skylight for open source project and our, like this journey in our Ossathon will help inspire more contributors to do the same. So speaking of journey, I'm actually gonna be giving a talk tomorrow about the Rails routers internals. And it's going to be a wonderful journey. Am I really, I'm trying to drive at home. I don't know if it's working. But I hope to see you all there. All right, so that's something to look forward to for tomorrow, but for now, since we promised to bring the entire company, here is our CEO Lea with a baby. I usually bring him on stage with me, but he was so quiet and wonderful. And I don't want to mess with it. I chose this bit moji because that's what CEOs do is show up at the end after you've done all the work and just take all the credit. So thank you all, that was fabulous. Yeah, this is our team. We are a small, I want to say a little family, but I feel like all companies call themselves family and it has no weight anymore, but we do also invite our actual families to work with us. For example, we have a babies at work program and Jonas, which is my son over here and Kristen's daughter hang out with us at the office all the time, because why not? Turns out it's not actually impractical and it makes everybody happy because you walk down the hall and there's babies babbling and smiling and stuff. And I did write a blog post about it, about our babies at work program. So if you are trying to attract talent, parents, certainly women specifically, mention it to your HR person who will look at you like you've lost your mind, but then point them at my blog post because I talk about, I start out basically like, here's all the reasons, I thought it was a terrible idea, I was wrong. So we build skylight, we work really hard on it, we like giving back to the community. We are very particularly focused on making performance a thing that everybody on your team can be involved in. A lot of people, especially towards the beginning of their programming careers have this conception that this is the sort of thing that happens in dark basements with like the super ops people that they don't know or could never be. And I guess in some cases or using some tools, it could be true, but one of our missions is to make that not the case to make it so anybody on your team can have a spare cycle of 15, 20 minutes, drop into skylight, figure out what they can do, find some low hanging fruit. We have a lot about low hanging fruit outlined in our documentation site. For example, if some of these things that you saw here are not things that you know how to do, many of them are in our doc site, just sort of pointing in the right direction to be able to fix it in your own app. So yeah, we have a booth, we're downstairs, we're hard to miss. I was supposed to, oh. It's a space thing. I was supposed to make a joke about how professional we are. We're very professional. We make a lot of jokes. We make a lot of puns. If your pun game is not up to snuff, I don't know if we're a good place for you, but you can work on that. This is a skill that can be built. And yeah, this is us. We're excited to meet you. We hope you use skylight on your paid projects, on your free open source projects, and we'd love to talk to you about it. So come on by. Thank you all. Thank you.


Hi, this is Dr. Don and I have a problem out of Chapter 2. If you took Business 233 at Excelsior, you probably are aware that most instructors really push you to use StatCrunch as the tool of choice. And it's a good tool for most things you do in academic statistics. But there are some problems where StatCrunch is not the best tool. In my mind, the next best tool is Excel. And it's a tool that you need to learn to use if you're going to be in business for a career. So this particular problem, if you look at it, we're given a partially complete table and we need to complete it. We need to find the frequency that's missing here for this A category. And we need to find the relative frequencies for the other categories. And you can do it with a hand calculator. But Excel does it much, much easier. So I'm just going to click on the little rectangle and open an Excel. Excel will drop down to the bottom that the data file with and then we'll open Excel. We need to enable editing. And here's our data. You can see we've got everything we need to figure out this first frequency and we'll use an equal to put a formula. We want the total minus the sum, I'm going to click that function, and of these other four categories. And then put the closing parentheses and hit enter. And that gives me 24 for this first value there. The relative frequency is just the simple division of the frequency divided by the total. And that's the .06. And I'll show you, we'll hit equal. And we're going to take that column and we're going to divide it by the total. And that'll give us the .06. Now in Excel, we like to reuse those formulas so we can just drag it down the other four. But to do that, we need to lock down the references for this cell B7. And we can hit the F4 key once to put the double dollar signs in and hit enter. And that changes it to a slot down. Now I can just drag down that formula to get my relative frequencies for the other categories. And that's it. It's quick and it's easy and it'll save you from making mistakes if you do it manually in a hand calculator.


This is Brookie. Not as big as the last one, but definitely Brookie. I'll see if his prediction is correct. Oh, it's definitely correct. Oh, nice one. He is a nice one. Wow. Nice Brookie. Dude, come out of there. Yes, sir. Beauty. Look, come here, you. He's a little smaller than the last one. Definitely smaller. But he's pretty. Very pretty. Look at the scars on the sides. Oh, yeah. See those? Yep. Just moved it. Yeah. See you later, buddy.