Okay, I'd like to thank everyone who is joining us today. Welcome to today's CNCF webinar, How to Conduct a Great Lifestream, Open Broadcaster Software, Deep Dive, OBS. I'm Kristi Chan, Marketing Communications Manager here at CNCF. I'll be moderating today's webinar. We would like to welcome our presenters today, Spencer Crum, Program Director at IBM and Duffy Cooley, Staff Cloud Native Architect at VMware, a few housekeeping items before we get started. During the webinar, you are not able to talk as an attendee. There is a Q&A box at the bottom of your screen. Please feel free to drop your questions in there and we'll get to as many as we can throughout the presentation and at the end. This is an official webinar of the CNCF and as such is subject to the CNCF Code of Conduct. Please do not add anything to the chat or questions that would be in violation of that Code of Conduct. Basically, please be respectful of all your fellow participants and presenters. Please also note that the recording and slides will be posted later today to the CNCF webinars page that's cncf.io slash webinars. With that, I'll hand it over to Spencer and Duffy to kick off today's presentation. Take it away guys. Hey everybody. My name is Duffy. I'm looking forward to getting into this one. Hey, I'm Spencer, I work at IBM. There was a presentation two or three weeks ago with George and Chris and Alex and we wanted to keep that ball rolling. I don't know how many more of these we're gonna have but the last one focused very heavily on sort of the hard video equipment and audio equipment and specific configuration for that stuff. Duffy and I are both big nerds on the OBS, the software side. So we were like, let's talk about it. So we thought we'll do another one to kind of follow up. To pair it off what George said at the very beginning of last one, I think he's 100% correct, which is that if you check off a bunch of boxes what an open source project has, probably has a mailing list. And then a few years ago, now all the projects have a discord or a Slack or something. And then probably going forward, bigger projects are gonna have some kind of persistent live streaming thing, whether that's webinars or Twitch streams or Google streams, whatever it is, probably this format where someone's talking to their computer, pressing some buttons and there's a chat on the side and it's regular, it's here to stay. And so we wanted to provide some enablement materials for especially for CNCF member projects that are on that sandbox graduated flow that wanted to have their own. There's a lot of technology skills in the group. So we wanted to share that out. Do you have anything you wanna add though? Yeah, I think that's exactly right.  So yeah. For sure. There's a HackMD. I'll drop a HackMD in the Slack or in the Zoom chat. There's also, if you're on the CNCF Slack, there is a bang streaming channel and that is sort of a persistent way to be in touch with the other people doing the work. And the HackMD, I think we'll eventually go and get repo somewhere. Cool. So we have a brief outline. Duffy, you wanna talk about OBS install? Yeah. Parentheses on Linux with tips. I think it'd be kind of fun to talk through sort of the way that we set up TGIK and how we can get through into that stuff. Cause I think that'll be pretty relevant for most folks. So I'm gonna share my screen and we can just kind of talk through some of the stuff that's happening over there. Does that make sense, Spencer? Yes, the mute button ran away. No problem. So if you go to github.com slash VMware dash Tanzu and then you'll find the TGIK repo. And inside of this repo, we have a couple of different, this is basically where we kind of keep all of the content or persistent content for TGIK. And if you're unaware of what TGIK is, every Friday at one o'clock, myself, Josh Rosso or Joe Vita, in the past has been Chris Nova. There are a number of different folks who are pretty well versed in Kubernetes and the ecosystem in general. We'll spend about an hour and a half, maybe sometimes two hours exploring different topics that are interesting inside of the Kubernetes ecosystem in general. So if you go to TGIK.io, you can actually see all of the past or recent videos. They're all recorded and they're available there. And so like this week tomorrow, actually, I'll be doing a session on CSI and secrets integration. Last week, we did Gatekeeper and OPA. Prior to that, we did KubeKettle and plugins and cruise. So it's really just anything in the ecosystem is fair play and we can kind of dig into it. And so if you watch one of these, you kind of get the idea that we have set up the scenes and everything in a pretty consistent way to kind of like present a pretty significant, an interesting show or a way to consume that for people. We've documented that inside of our documentation folder, like how to go about that. And there's, and this has got some pretty reasonable, this is a pretty reasonable starting place, I think, for pretty much anybody that was doing wants to create just kind of a way to get started as a stream here. Right? And it relates to a lot of the topics that I think are pretty necessary. You know, some of these are pretty obvious, right? Pick a topic, create a graph. If applicable, coordinate with the upstream projects. So in our case, like we're talking about different projects and we might try and pull in folks from that project. And the way that we've set up the stream in general is that we don't bring live guests in yet, although we're working on it. And I think I'm going to try and do it here real soon. What we do though is we notify folks and then they join the chat. And then if there are questions from the audience as part of the live YouTube chat, then the project maintainer can answer those questions or I can show how the answer relates live in the stream. So it's live streaming on YouTube. That's how we do our thing. Some tips on creating a graphic which I think are necessary. And they actually, and we cover this in the documentation down below. But what we do typically is we'll grab an image from, we'll grab an image from unsplash.com, which is a great place to grab an image so that all of these are licensed to be free for use. It's also great to like thanks to people who give us those images. So I would like to thank pretty much a ton of photographers who grant license to unsplash for all of their content because there's just all kinds of really great content. And then we use those images and we overlay our own title card image. And this is kind of what you see here, right? We've created a really simple overlay that has some transparency, basically describing the channel so that when you have a thumbnail for our video you actually get to see something pretty and you have some idea of like what episode it is and all that information. This is super simple and the instructions are all encoded in the instruction sheet here. But that's kind of part of the show, right? Is you have to have some hook, something for people to come back to is like and understand how what they're watching relates to kind of a longer story. Yeah, there's a whole layer of branding and promotion around this stream if you actually wanted to be successful. Yeah, and this is like probably the simplest way to do it. Literally like it's a picture with some, with some what do you call it, persistent branding. So every picture is different, but you get a different, if it's all branded the same. So like low key way of doing it for sure. Let me create a short link with Bradley so that when we are handing out links or people wanna go and see an episode, just like I showed you before, if you go to TJKIL or one of the episodes, it will just basically relink you to the YouTube video, right? Again, super simple, low key branding. And I think there are definitely short URL tools out there. You can host your own, you can use with Bradley or one of the others. I, you know, it doesn't really matter how you wanna do it. I think you could even do this with like GitHub pages if you were feeling clever, to be honest. Like you can do this super simple. Yeah, there's probably some shenanigans you could do. Right? Exactly. But persistence so that they have, it's not just flash in the pan and can be washed afterwards is important. Yeah. So then we take care of that part. And then before the note, just like we do in this episode, we use HackMD to basically act as a great and just incredible multi-user place to create persistent notes for every episode. So just like we're doing here, right? So we lay out the outline and the abstract and all of that information. And then anything that crops up during the show, we basically, if anybody has a link they wanna share or content that they wanna share from the chat, we point them at the notes so that they can populate that. And the way that we do that is again just another rebrandly link. So in TGI case case, if you go to TGIk.io notes, then you will always go to the most recent notes, right? And so this is a pre-stage notes for tomorrow session. And you can see that basically it's just got an outline of things that we're looking forward to talking about at the beginning of the show. Moving down into live time, usually we do this with two people. We have like somebody just assisting the chat and we have somebody doing the work of actually presenting. It can be done with one person. But sometimes it's easier to have like, you know, other assistants if you can. It is, it really is. I am a firm believer that a video camera on reduces your IQ by about 25%. And that's before you're trying to do anything else. So trying to multitask and background task and stuff. With enough experience, you can do anything. But having an assistant and somebody else help is really, really useful. Yeah, definitely too. And then what we do, and then from there, once we've actually got all that stuff set up, then we start getting kind of the interesting part of the OBS set of things. And so the way that we do this in JK is that we actually use a company-based stream, but you could use your own stream. Right now I'm just gonna switch to my own YouTube channel. If you're interested in playing with YouTube or Twitch, it doesn't really matter what streaming platform you wanna use. A lot of folks are using Twitch these days. But you can do this with like a number of different, there are a number of different solutions out there for hosting that live stream.  Or? Oh, yeah.  Yeah, there are platform-specific particulars. I mean, how could there not be, right?  So if you're really beaching a big, especially international audience, they need to transcode it down so that they can watch it in a reasonable frame rate. If you go on Twitch, you don't get that. So like what we would have problems all the time with is we would submit 1080p video and then people would be trying to watch Minya and they just like literally couldn't watch the stream. So that's just one example of where the platform particulars show up. Yeah, I don't know. Yeah. Twitch, unfortunately, being like a creator, in a way, a more Twitch has like, Twitch being focused on live streaming has the creator path focused on live streaming whereas YouTube live streaming is really attached to like main YouTube. Yeah. So there are ways to get your account on Twitch unlocked and stuff, but you have to like kind of play their game, which may or may not be in your cards. True. And yeah, I think you've captured a pretty important point when it comes to this whole streaming setup. Like what we're gonna talk, what we're talking through in this example, it's how to test, has how to record a live stream, but there's nothing keeping you from deciding to deliver the content that you're working on, record it, pre-record it, right? Like if you have some particularly, I mean like, and you'll see that there's tons of live content, there's tons of content on YouTube, which is just exactly that pre-recorded content that people put up and they build a channel and a brand around it, right? So yeah. In our case, a big part of what TGIK is, is kind of interacting with our community. And so we definitely want like a live piece of that, whereas like, you know, Blindness Tech Tips, for example, is looking to show like, you know, content about some particular technical thing rather than necessarily working with the community live in its show, a different thing. It's wild. And there are plenty of YouTube's and medium articles that sort of dive into it. My 10 second thesis is that the more live a video is, the lower people's standards are for your production value. So for me, I'm rambly, the code doesn't work. In a Twitch stream, I'm allowed to get away with that. In a YouTube video, maybe not as much. In a live demo, definitely not.  The problem though, and people come to me all the time, they say, Spencer, can we record the Twitch streams and put them on YouTube? And I say, sure, you can. I'm not going to do it most of the time because when you actually watch me, and people, I enjoy live streaming quite a bit, but when you watch it not live, it's not nearly as fun to watch. It's like, okay, this is boring. Skip, skip, skip, is he done yet? No, still spelling mistakes, skip, skip, skip. Right, so take that wherever you want to take it. Agreed, and I think you're right about the interaction. Live makes it easier to make mistakes because it's live, right? So yeah, I completely agree that it definitely reduces, in my opinion, it kind of reduces the stress, but at the same time for a lot of people, I think typing in front of people, whether you can see them in the same room or not, is still going to be stressful. For sure, yeah. The platform is a weird platform that lets you make mistakes, and that's why it's so freeing sometimes. Yeah, so what I've done here, what you've watched me just do here is basically set up an event, and I scheduled it for the future, and this is basically where we start getting into some of the OBS pieces of things, right? So in my case, inside of the hack, the TGI case out of things, I need to go ahead and set up OBS so that I can stream to TGIK, but I also need to kind of create in a bit. So we'll just copy this key for now, and I'll just have it. Hacking initialized. Yeah, I would love to see what shows up over here if you're feeling creative. And we do have some questions in the chat, which we'll get to, I think we're just trying to get through, punch through this initial setup, and then we'll get to the questions. Yeah. So back on the repository, there is a, this is actually one of the neat things about OBS. There is an OBS config folder where we hold our profiles and our scenes so that you can import those directly into your OBS, whether you're on Windows or Mac. And again, we have information done here in the notes about how to go about setting that stuff up, whether you're running Linux or a Mac, you import these things in and then we kind of modify them for your particular setup. So that is all that we host on the TGI case side of things. And then inside of OBS, when you do an import, which would be like, I think it's profile import, you can import that profile, and then you can also import scene selections. And so by default in the TGI case setup, you get this setup here where you have three basic scenes. You have the title card, which is where we start, because we're basically coming off of that save thumbnail in YouTube. And then we go live by going to screen and fit to go into space. We say, welcome to TGIK. We start talking about stuff. You have to make sure that your camera is pointed at your face, that you have a good microphone. I don't have that source enabled here because I do not want any feedback in this particular session. So I've taken the input out of the picture of OBS here. And then the other neat thing to Spencer's point is that as we have this chat piece, which is basically a Linux browser embedded, and it's taking the live chat pop out from YouTube and presenting it as a column inside of the live recording. And we have, we override the CSS so that when the chat shows up, it's all black with like nice colored text. And it doesn't look like it does right now. It looks much better. And so these are all just configurations that you can actually pass to your embedded browsers and stuff. And so if you want to look into it and see how that stuff works, this is a great starting point to kind of play with those things. And then we have our little title card. And then the last scene that we do is basically screen and face where we capture a desktop scene. Now, obviously right now it's capturing like the entire desktop. And so you have that great mirror effect, you know? Yeah, the whatever that's called, but it's a thing. Yeah, dividing by zero for sure. But yeah. So I'll talk briefly about the chat. So a couple of things that happen on OBS that just make me love this thing so much. The first is that, yes, it has the ability to render anything from web onto browser or onto video. And what that really ends up being is people compile these small mini websites that you might just think of as a single component or as a single. It doesn't have a border and it doesn't have Twitter bootstrap. It's just text or image or whatever and JavaScript renders it. And that gives you a ton of flexibility in terms of animations and making your stream, whatever it is, look like it's happening on CNN. So that's really cool. The second piece about it is that the chat is what enables sort of the magic of like someone's working on a project and the chat is following along with that project and providing reactions, tips, questions, whatever it is, if you go on Twitch and you watch people playing video games, oftentimes they're playing something that isn't, it has a creative aspect to it, which is like we have to build something in Minecraft or we have to explore a dungeon together. And the Twitch streamers will use that language. They say, we, you and me, the chat, we are gonna do something together. And the chat is encouraged to share in the experience of playing the video game. And that journey of discovery can be replicated with something like programming or exploring, especially in the ops space where it's sort of like wrench until it works. That is it, that translates pretty well. Yeah, I agree. So what I'm doing here is I'm basically pointing the chat toward our little demonstration environment or that little event that I set up and then I've gone ahead and started streaming. And so you can see the stream here. And the reason I'm working this out, I'm adding this to the session here is because I wanted to show something that is pretty interesting. Now, if you watch right here in the corner, you're gonna see the word this show up eventually.  This is a... So what's neat about this though is that we can see that there is a significant delay in the streaming piece. And this is gonna be true of Twitch and it's gonna be true of YouTube. So this is another one of those tips that when you're streaming, it's super important to know that your audience is gonna be 10 to 15 seconds behind you. So you're not gonna notice it locally, but if you're actually like in the middle of a stream and you pull the audience, hey, what do you think of my shoes today? You can expect a good 10 to 15 seconds before the most active listener is gonna be able to give you an answer. 100%, you have to get good at asking questions for 45 seconds. It's a whole thing. While we're messing with settings, do you wanna talk about the blue shift thing that OBS does or the color Swapy thing? I am not particularly familiar with what you mean. Oh, you mean as a filter. Well, so sometimes I think out of a... Yeah, sometimes when you import sources in OBS, whether they're captures or browsers, sometimes they will do like a color swap from orange to blue. And I think they do that to prevent a color version of the disappearing window effect, the ever shrinking window effect. Oh, me? But I guess it's not that... It's just something to notice. So when you import a source and your text does not look right and HTop doesn't look normal, that's why. And you can fix it. It's not gonna... That's fine. I wasn't aware of that one. So it sounds like to talk about the differences in our approaches though, that you are capturing the entire screen and then doing assembly of web browser terminal, terminal, terminal, whatever you're doing, electron app, VS code, you're doing that sort of in, I guess, Linux, OS 10, whatever. You're doing that in the OS, window manager even. Yep. And then OBS is basically just slurp and ship. It's not an assembler outside of just a couple little scenes. Well, in my case, I'm actually, in the case of TGIK, it is like hack and kill works kind of situation, right? Yeah. And so I basically will have like two desktops that I'm sharing. One desktop that has, I have a tiling window manager that I use, but people do this with Macs and stuff as well, right? Where I have a full screen browser, that is my hack and be and the website stuff that I'm showing. And then my other desktop will be a full screen terminal that shows stuff. And I might go back and forth in showing how these things are working and walking through that process. But that's different, I think, than what you're referring to here. It's like, if I was gonna bring in a live guest, then I would wanna use that source in a different way. I would probably wanna define a third scene that would show that live guest. Yeah. So you have two scenes. One is desktop, one is terminal, one is web browser. Did I understand that correctly or no? I have screen and face, which is basically this, oops, sorry, I'm not sharing my screen anymore. Share my screen. So I have screen and face, which is this, right? And then if I, and I'm just capturing the entire desktop with this, right? And then what I'm showing on the desktop becomes whatever's on that desktop. So if I'm showing that, so like if I move back over to the browser scene or the browser window that I have shared, we'll see that content change because what I'm sharing now on that desktop is actually the view of the studio window. There we go. Nice. And so you actually totally just got to see how long that delay is, right? If you saw me shift screens and you saw when the shift actually showed up in the preview. Nice. Yeah. And so that helps keep me on task. I don't have to move between scenes to change what people are looking at. I can just click back and forth between tabs in the browser or flip back to the, or flip back to the content that I want them to see and have them, and they're just following where I am rather than having to flip to different scenes in OBS. Right. And I think that covers an important point of the actual use as a tool. Can I share my screen real fast? Yeah. So I kind of refer to, I kind of refer to OBS as Fiddleware. Yeah. You know, I would love to say that it's like the most primed thing, but it's not, you got to fiddle with it. In settings, you can set up hotkeys. The hotkeys can let you switch scenes. That is useful, especially at the beginning, because you can do one for be right back, one for face, one for whatever I'm showing. As you get further down, especially as you start using your whole brain on something, you need quicker switching. And so what I use is the Automatics, I have two scenes, one for the terminal, which isn't working right now, and one for the web browser. She also doesn't, I don't know why the terminal isn't working. Well, anyways, OBS, right? But what I do for that is I use the Automatic Scene Switcher. And this thing's kind of cool. And I'm sure nobody can really tell because it's very small, but it's in here. And this lets you define based on what, in my case, Windows, thinks the focused window is, that becomes a string, that string gets processed through some regular expressions, and you can select what scene you want that switch to. And so what I do is I just have a scene for the browser, a scene for the terminal, and then based on whatever I've clicked into, it will switch for me. I gotta start the Automatic Scene Switcher. And it's not a perfect system by any means, but it's the happiest I've been in a long time. So I'm over here, and I go to the terminal, and it goes to the terminal, and I go back to the web browser. And this gives the audience a really crisp view of what I'm trying to do, because I'm probably just going back and forth between these two all day. So that's one thing I wanted to talk about. In settings, I only very briefly wanted to talk about this. I think Alex and Chris did a great job talking about this. I submit in 1080p, and I do that because I have a partnered Twitch account, which is gonna downscale for me. I don't have really any advice for anyone who wants to, I don't really have a ton of advice here, except I used to stream in 720. And I think text is readable. Big enough text is readable in 720. I also, you know, am a developer advocate. So anytime I see a terminal, I make it as big as possible. It's just been drilled into me from too many presentations. So that's all I really wanted to talk about in settings. This is where you actually configure OBS to send your stream key. If you get a stream key, you can put it in here. A thing that I wish OBS had was a sense of like five saved logins that I could swap in and out instead of rotating the whole thing at once. From there, I think the other thing to talk about is just sources. So if we go to this be right back source or scene, which I'm actually like pretty proud of. This is something I made that's, that is a collaboration of me and a bunch of the IBM team. So the IBM team made me this nice be right back background with like our logo and our branding. And that's fun cause they can update it whenever we inevitably change our branding. But it's just a JPEG and it's just brought in as BRB that's at the very bottom. These sources work sort of like Photoshop layers where so further down the bottom is gonna show up at the top. That has these nice borders for me. And then I just have three web resources. I have the Twitter advocates list. So that's just a link to a Twitter list. And then I've done because of these green lines, you can tell that I've actually cropped it. So if you hold down alt and drag on the control points, you'll crop just really nice. And if you grab one of the red boxes, you'll change the size of it. And if you're having trouble and if you grab the middle, you'll drag it. And if you're having trouble lining it up, if you hold down control, it'll stop the like snap to grid that it likes to do so much. It's kind of a pain. The left and the right side, the Twitter advocates and the website are just the website. The middle is a website that I run. That's just IBM open source initiatives. The other thing that this has, and this is perhaps not necessary for you to make, but what we have is we have our own be right back or our own new follower notification utility. And that works by, is that in? Nope, that's not in there. I would say 99% of the people can get away with paying a company called Streamlabs or just making an account on Streamlabs and they'll give you nice little new follow-up alerts or subscription alerts or chat message alerts or whatever you want the alerts to be. The alerts are useful because socially what they do, in addition to the text in the chat, they give the viewers a way to interact with the streamer and the viewers, the other viewers. And so giving them the ability to write things on the screen, whether the streamer is particularly paying attention or not, makes the experience of watching a stream more engaging and that's how you get that sort of magic that leads to 30,000 people in a Twitch stream. I completely agree. Yeah, and so this is just some, DevOps person wrote some front end code, so it's not very good or anything, but something called Node CG is a framework that you can use and it was really easy to whip that up and it just watches Twitch and when I get a new follower, which I can test with this little, you know, I'm obviously just on the JavaScript console, right, but boom. And that's pretty slick, that's about all you need. Cool. The other things that are on this be right back screen are music. So I have be right back music and I have no audio for, I have audio for the new follower notification, but no audio for my mic, obviously. And that's the scene I'm the most proud of that has the most sort of going on. Other than that, it's very straightforward. You eventually end up in a point, I don't know if you did Duffy where, I fiddle with it till it works and I make it complicated and then I'm like, okay, give me the simplest thing that works because I don't, I'm just gonna break it if it gets too complicated. Yeah, we definitely keep it pretty low key. Like, do you have this stuff posted someplace where folks can see the profile or scenes and stuff? We're working on it. We, for better or for worse, scaled our Twitch presence. So there's more IBMers doing Twitch than I ever thought I would ever get on Twitch. As a result, our documentation is co-located with like real documentation on like what you do as an IBMer. That's sort of like, and here are the files. So like I would, I have to like break those, you know, operational stuff away. Fair enough, fair enough. Paul Torres has a question. How did you switch between two different apps without changing the scene? That's your follow-trick that you were showing before. The scene switcher? Yeah, the automatic scene switcher. I think that's what they're referring to. Yeah, so the scene switcher is nice. If it was working better, you would see the terminal up here on the right. But basically, yeah, when you watch, what this lets me do is hide OBS, put it on a different monitor, and then I'm just going back and forth between these two windows all day. And the viewers just are brought along for the fun.  The other question from Mario is have you tried Elgato Stream Deck? You can remote control OBS with a push of a button. Yes, I have an Elgato Stream Deck. I used to use function f1 through f4 for streaming, for switching. That's useful mostly for me, for like, I need the face cam. And then I went to the Stream Deck for that. And then now that I'm on the scene switcher, the only thing I use the Stream Deck for is the only thing I use the Stream Deck for is this.  Nice. Which also works on here, for the viewers. It's fun. It's because everybody needs an it's working success gift. Okay, I think that's all I needed to show on my side that wasn't very specific. I wanna, for everybody in the back, I wanna remind them that some of the most powerful stuff in this is the web browser and then that ability to crop So if I grab this advocates list, look at that. I can crop live video. I can write critic, I can press transform. I can rotate it 90 degrees. Like, this thing is hot. Yeah, and pretty darn intuitive, all things considered. I mean, like, I completely agree with this pretty neat. There's one other setting in OBS that I think would probably be useful for folks. And this is kind of talking about sort of like the deep dive advanced stuff real quick. Yeah, do you wanna share or do you want me to? Let me click back into the share. Yeah. There's screen, okay. Now we're gonna flip this back to title cards. It's not so noisy. So you pointed out like, this is where you can put your settings. Oh, and actually inside of here, this is actually one of the things I was gonna show you Spencer, it says a website called restream.io. Definitely worth checking out because like what that can do is it can handle like the down simply and also the kicking off to other destinations. So you can stream to Twitch and YouTube. And that's actually pretty slick. So definitely if you're interested in that kind of thing. Big shout for restream, we use restream. I just don't think about it. Yeah. And then let me stop streaming here. Oh, that is important. Yeah, that's the maybe the most important thing. Stop streaming.  But what I wanted to point out here is that by default, what you see in this output tab is this configuration. This is kind of the default. Everybody's gonna see this sort of a setup. And this right here should be a big, huge red flag for you when you're looking at your OBS settings. And the reason for that is the amount of CPU that it takes to churn a video stream using software encoding is really intense. Like, and it will totally bog down anything else you're trying to do. So if I was trying to show freeing up a Kubernetes cluster using kind and I had software encoding on, it would topple my laptop probably, right? I've actually had things crash on me in the past because of that. But usually you'll have a couple of different options. If you're on Windows and Mac, most of the stuff is already worked out for you. If you're on Linux, it can be a little tougher. And I'm happy to walk through some of those capabilities. But in your encoder, you'll have a couple of different options. And if you go to advanced, you'll have even more options. You could pick which encoder you want to use. In my case, I have a laptop that has an Intel chip and an NVIDIA chip. It's one of those, what do you call them? Bumblebee setups or whatever. And so I can actually pick either of those two video chips to do my encoding for me. I can basically offload the encoding using my NVIDIA or my Intel chip. That's awesome. Yeah, it's pretty much critical to do that. The other pro tip here is that this actually affects more than just OBS, right? Like having a working setup to handle 3D acceleration will also speed up, will also reduce the amount of compute time it takes for Chrome or any web browser to actually render pages. Like it has a long lasting effect across everything that you're doing.  Yeah. Even like your basic CSS stuff now is 3D accelerated where available. It's pretty legit. So this is one of the things, one of the ways to understand whether you got that stuff wired up correctly or not, right? You can just install the open source package, VDPAUINFO, and that will actually indicate whether you have 3D enabled on your video chip. In my case, I'm using my primary selection in my switcher here right now. My primary is Intel, right? I can tell that I have the Intel one selected, but I also have an NVIDIA chip that I could select using just the NVIDIA software for the switcher. But right now, primarily I'm on the Intel chip. So my monitor on my laptop is being driven by Intel and I have this other NVIDIA chip that's not in use. And that gives me the ability to use that NVIDIA chip for other stuff. I could use it for OBS. I could use it for learning machine learning, whatever I want to do. But in this VDPAUINFO, regardless of which video chip you choose, this tool will tell you whether you've got it wired up correctly. And if you do, it'll tell you what the backend is. In my case, it's VAPI because I'm using an Intel chip. It tells me where the driver on disk is that it's being used to incorporate that stuff. And if you're using OBS on Linux and you run this command today, it supports immediately and you don't see output that looks like this, stop and figure out how to fix that problem. And in the content on the TGIK repo, there are some good tips on how to troubleshoot that and get that working on Linux if you're a Linux user. Hi. Other things before I let this one go are things, there are other settings that you'll get indicated by your streaming receiver typically, right? Like normally when you're streaming, even if you're streaming at 1080p, it'll ask you for things like bit rate at a certain rate. It'll ask you for frames at a certain frame, key frames at a certain interval. And as you're kind of exploring that stuff inside of your streaming receiver, whether that be YouTube or Twitch or Restream or what have you, they'll usually notify you if they detect that the health of the stream is lower quality. And here is where this output, the streaming information, this is, these are the knobs and dials that you have for that, right? So in my case, zero, and if I go back to auto here and I apply that, then key frame interval will be, will be derived by OBS, not by me. And then the fascinating part is if I start my stream again and I go back to the YouTube live channel, then this will actually change from excellent connection to not enough key frames per second. It'll actually warn me about that, which is actually kind of interesting. And so those are also some kind of, some of the more interesting tips is that you're gonna wanna make sure that you have, that you understand like what bit rate the receiver wants to see and what, how many key frames per second, that kind of stuff and make sure that you're just kind of dialed in there. I would also, I guess my only bit of addition on that is sometimes higher bit rate is better. Yeah. There's a tendency to think that the only thing you should do with your bit rate is turn it down. But if you have a higher bit rate, your computer has less to do, and that might give you the little bit you need to make OBS actually work on your MacBook, right? Which is like a real thing. Yeah, true. If you're like me and I have a gigabit connection, I don't care about 4,000 megabit or kilobits per second, right? Like that's fine. The internet is not the problem, CPU is problem. GPU is problem. Yeah. Understanding where you're constrained, this is also super important. Like is it bandwidth? Is it video processing? Yeah, like that's another really good important tip. So we really only have about 15 minutes left in the hour. I feel like Duffy, the only things I want to talk about, I think I talked about the basics that I really like to talk about. And now I guess we should go into the fun stuff, like the fun like kind of extended things. Yeah. I might give two more pieces of advice to aspiring streamers. The first is that the only thing that actually matters is your audio. Do not worry about anything until the audio is okay. It doesn't have to be perfect, it doesn't have to be creamy, it just can't be bad. If you have bad audio, nothing else matters. The second thing is that, especially in the CNCF world, we're the kind of folks that like to play with our gear and content may be more, you might, this is a gear talk, right? But sometimes it's time to stop messing with settings and go make some content. So you might get more out of it at the end of the year if you spend two hours building a 10-week content plan than you spend two hours messing with settings and plugins and stuff. So with that, let's go into weird plugins and gear. Yeah. One other, I mean, to your point, I think this is like that super valid feedback for folks, but there's like one third, the third thing here. And that is that remember that you're, it's easy for us sometimes as streamers or content creators to think that our content has to be perfect for it to be interesting. But what you need to know is that your audience is rooting for you. Your audience is 100% in your corner, right? It's not about whether your content is perfect. It's not about whether you've got this all dialed in.    You're gonna find it more engaging. But they're rooting for you. Yeah. And that's where that live chat feedback, empathy feedback loop really makes the whole thing work. Totally. On to fun stuff. Okay, so I think we got a question about virtual cam. I think the other thing we should talk about is capturing Zoom audio on Mac and then we should talk about OBS Ninja. So do you wanna do virtual game? Sure. Or I can, I don't. I mean, probably both of us because I think it's different for each platform. Right, yeah. So I'll start, I guess on Linux, you can actually use a virtual cam as a V4L or video for Linux loop pack device. Hold on, I've got something being noisy. Can you give me one second to mute on my side? Okay. The gist of the OBS virtual cam is you take what would have been the output of OBS and now it's a webcam that you can bring into another application that wants a webcam. If you're familiar with Snap Camera, this app that came out in the last couple months, it's not super different. The idea being that you can apply filters and some of that presentation layer that OBS makes really easy or do an entire presentation that way. While we're here, we might mention that OBS on its own actually has a couple different ways to output. I've done a lot of work just, you can tell OBS to take over a monitor and use that as a preview or an output. And you can make things like conference talks like really good that way, or if you're just trying to make a cool demo in a booth, sorry, I'm a dev advocate, these are the only problems I actually have. But yeah, there's cool stuff you can do with just having a preview as opposed to record or stream. Yeah, and that highlights the point. I think we talked about this last time also, but it definitely highlights the point that having the ability to have a monitor where you're seeing what you're presenting and having that be a different place than where you're spending your attention on what you're presenting is critically important or you will have a hard time. Like I've streamed PGIK any number of times with a single monitor and every time I'm like, why do I do this to myself? Like I should have another monitor where I can see the chat. What choices led to this moment? Yeah. All right, so cool. I've got my thing muted out. Sorry about all the noise I'm going to go. So let's explore virtual monitors. So I'm gonna do my share screen again. So in OBS, which is over here. In OBS, there is a plugin that you can use for V4L for basically using a loop app device that is configured by part of the V4Linux loopback kernel module to actually get this stuff set up. And the documentation for that is, I can find it. It's actually on the OBS website. If you go there, you're gonna find links to the pages for things like to make that content work. One of the challenges that I ran into when exploring that was that by default, I mean, like when you get the plugin turned on and you're gonna see this in the output scene, you're gonna be able to see this idea of the V4L2 sync, which is that virtual camera that we're talking about. But to get that wired up to a place where you could actually use it for other things was the important bit. So if I wanted to use OBS to present to Zoom, for example, or if I wanted to use OBS to present to some website or like the OBS ninja stuff or something, then I would need to actually figure out how to create a virtual camera that is the output of OBS and then use my real camera as an input to OBS, right? And that's where the kind of the virtual camera sorts of fits into the puzzle is that you can treat the output of OBS as a different output device of virtual camera, right? And then the question becomes like, how do you wire all that stuff up? So in Linux, you can do this with V4L and you can go to the OBS website to see the content for how to do that. And then my pro tip on that is that when you're loading the V4L2 loopback module, you can actually also pass parameters to that module. And this is the important one. Oh, that's pretty tight. You can use this exclusive caps piece is what informs the module that when it creates that device, it needs to make that device an output so that things like Chrome can see it, otherwise it will not show up. Nice. Yeah. So in fact, let's just explore that real quick. And this will probably kind of be a little bit of a preview of stuff that we're gonna talk about after the setup, but yeah, in fact, I'm gonna take a second to get this wired up. But in this way, we can actually show that video camera and we'll show some of the challenges around Chrome. So you wanna talk about a virtual camera on Mac while I get that going? Sure. I actually don't have it on a Mac. In the tier list of OBS supported operating system, it's pretty much like Windows at the top, Linux works, Army of hackers make it work. And then Mac is like, Yeah. So both audio and virtual cam have presented challenges on the Mac, which is hard because I know a lot of people watching this probably are on Macs. The best luck we've had so far for capturing audio is with a program, a third party program called I show you on the Mac. So that's definitely something to follow up on. I'll also say that like one of the markers of well architected technology and a healthy open source community, which OBS is, is a rich plugin system, right? Which basically means that if there's a rich plugin system, it means that the right amount of stuff is in the core that the thing works on its own. But that there's extension points for people to do interesting things in plugins.    And people are pretty good at keeping them updated. So definitely check that out. Cool. Okay, so my problem, just a quick recap of what I had to do to troubleshoot this. Inside of that tools before I'll sync there's a little menu bar here. And then I have to tell it which device it's going to use. So I had to point it at the device that was created by this mod probe to make it treat it as enough. But before it was pointed at some other device and that was my problem. Troubleshooting live, it's good stuff. We'll do it live. Exactly. So I think I actually just closed OBS, some of my bad. All right. So we can see v4 to L sync is pointed to this and it's running. And I can hit stop if I want to, but it's automatically started. And then what I wanted to show you was like, then at that point, once you actually have that module loaded in exactly that way, then you can actually see that as an output, right? In your web piece of things, right? So also in zoom, if I wanted to flip to that camera in zoom, I could do that as well. Although I can't seem to do that. There we go. I think I'll probably have to restart to get it to go because I think zoom only iterates cameras on boot rather than on the session start rather than on the other side of things. But yeah, like once you actually have that v4 L sync set up, then you can use that on Linux as whatever, as your source. And then the fun part is you could do fun things like put sharks behind you or you could like do all of the neat, fun things that you can do with OBS, but treat that as the video source for whatever your target is. So cool. Do you want to talk about OBS Ninja next? I think you're the OBS Ninja expert. I haven't used it in some time. All right, cool. So I'm going to take you to the project itself inside of GitHub first, because I feel like this actually does, this project, the documentation here does a better job of explaining what it does and how it works. Probably then the website itself, but there is a website. If you go to OBS.Ninja.com, or sorry, or to the dot com part. Classic, give me two, man. Sorry. If you go to OBS.Ninja, then you're presented with this content and there's a subreddit for asking questions and there's a discord and there's ways to interact with this project, just like you were saying Spencer earlier, like there are definitely, usually there's going to be some way of actually showing or interacting with a project and like giving feedback and things. There are some known gotchas with OBS.Ninja. So for example, like in OBS, there's a bug in OBS, the current version of OBS wherein, like using the embedded Linux, using the embedded browser in OBS won't allow you to capture live content. It's kind of broken in that way, but you can do it with a window capture instead if you want to inside of OBS. And we're going to play with that here in just a second. But what, let's talk about like what OBS is or what OBS.Ninja is and then we'll talk about how we can actually consume it. What's the problem is trying to solve, yeah. Yeah, like this is a really cool thing. So I don't know if you all have heard of voice over IP, like in that sort of sort of thing. Inside of voice over IP, there's this idea of being able to, there's this idea of a stun server. And what it does is it makes it so that when you pick up your handset behind a firewall and you're trying to establish communications with another voice over IP device, there has to be something outside of both of your firewalls that helps introduce the two endpoints such that they can continue to communicate even though there are firewalls between those two devices. It's sort of a way of like a third party handshake introducing things that are more secure and allowing them to establish communication between themselves and letting it can get out of the way. Well, this OBS Ninja is exactly that, but for WebRTC streams. So in a WebRTC stream might include a streaming video component and audio component or even just content that you're streaming from your desktop, right? And that's actually where you see on the website itself, right? You can add your camera to the output of a particular stream, right? You can pick your stream or you can also screen share using Chrome using some of the Chrome built in stuff. You can select a screen to share like which application you wanna share or what brave tab you wanna share and you can actually create a WebRTC stream of that content. Now having the ability to create a stream is awesome and all, but like how do we actually consume that, right? So I'm gonna share the tab that has the OBS stream content on it and then if I go back in here, it gives me this link, this link right here at the top that says here is the browser source for this particular content, right? So I've started a stream of that particular tab and now I wanna actually try and incorporate that into my OBS setup so that we can see that stuff live, right? So let's kick over to OBS for a second and then we'll show kind of how that works. There you worked, okay, cool. So I'm just gonna make another scene here and we'll call it ninja. We're gonna add some more content and we'll be a Linux browser, pack MD, we paste our link, that view link that we had and then we say, okay, and boom, as simple as that, we now have... Wow. Right, and just like you saw before when Spencer was showing this stuff, we can crop it. So if you scroll your brave time, does it scroll on the... Yes. On the capture? In fact, let's get aware of the hack and key. That's dope. That's dope. Yeah, and so this way what you can do, even if you're on your own local machine, if you have two laptops or you wanted to use your camera as one of them, right? You could actually use pretty much any device and go to OBS.ninja and create a stream that you can then import into the recorder or into OBS and do stuff. So earlier this week, I was recording a demonstration where I wanted to have the OBS command station in front of me and I wanted to have some slides that I was clicking through on my left. And that's because I was getting trickier with what was happening inside of OBS, but I wanted the slides and a spacebar to my left so I could move forward in my slide content. And what I did was on the other laptop, I just set up an OBS stream. I set up an OBS Ninja stream and imported it as the entire screen on this one. And then the benefit of that is like in my network, right? These two things are communicating over the same network inside my house. This content's never actually going out up to OBS Ninja because the connection, the WebRTC streams are just going back and forth between the receiver and the sender. Yeah, no, I mean, so the problem that OBS Ninja is solving on a couple of different pieces is the general sense of how do you do a remote?  How do you solve for X there? And it's not super simple. Tools like WebEx and Chrome and Zoom and BlueJeans and stuff are gonna get you somewhere but not as far as you'd like. And part of it becomes this challenge, which is this browser window because what this browser window does is let you have shared state with your team just as if someone had shared their screen. And so in OBS Ninja, because they're really good, I think they've given us more than a cookie cutter solution, they've given us a Swiss Army knife that gives us lots of opportunities to come up with creative ways to apply it. Exactly, and then just to get, one of the other things I've noticed about the OBS Ninja piece and exploring it is that you have, when you're defining that, when you're defining the content that you're going to share, first of all, you can do this thing called add group chat and you can make a new room, right? And then you have this idea of a control center and right up here at the top in the URL stream, you can kind of see what the URL that you're generating is, right? And so if I wanted to create a new, if I wanted to create a new ID or a new stable URL for guests to use here, right? I could actually start up a new tab. You know, this is one of the things I hate the most about Zoom, is that it like, eludes the top of the bar too much. So. Yes, love it and hate it, Zoom. Totally makes me, makes me mad. So I'm gonna go ahead and close that share. And here we are inside of this share and we're not really producing any output yet, but let's go ahead and look at the options here, right? So we can invite users to join the group and broadcast their feed to it. These users will see every feed. So if you have a guest, a live guest that you want to actually share with and you would give them this link and what happens when they click on this link, right? Is that you can actually, you'll see their output when they view here, right? So I'm also gonna give you another pro tip on OBS Ninja, which I think is fascinating. You can also set a push parameter and this is all documented inside of the repository. Like if you go to the Wiki, Steve Gwinn's OBS Ninja Wiki, he gives you all of the information. It's really well, pretty complete information about how to pass in parameters to a URL. It gives you the ability to set like what the bit rate of your sources are as the viewer. It gives you the ability to force high quality as the person who's presenting the link to your guests. So you can pass those parameters and they basically inform the camera or the web browser to use high quality as an output and you can actually have a lot of more control over both what's happening on the sending side and also what's happening on the receiving side. Like it's not a flash in the pan. It's ridiculously cool. Awesome. So we go back here and because- Well, we're sort of right at the top of the hour. So we should probably- That's fair.  No, it's good. I'm trying to think if I have any crazy closing thoughts. I think I would first like to say that the OBS project as an independent open source project doesn't matter what it makes and how useful it is. I think it's actually really well run. Really pleased with that software team and the leader of the group actually has some great blog posts. And then I'd say that the OBS and its surrounding plugin system responds well to sort of hacking and fiddling. It's super cool what you can get out of it and you can see the excitement on our faces as we like to get it to do cool things. So hope you enjoy that. I'm super available on Slack, on Twitter, on whatever. The OBS devs and users hang out at Discord. They're pretty helpful. And yeah, do you have anything else, Duffy? Nope, same for me. I'm Maui Lyon everywhere. That's M-A-U-I-L-I-O-N. So you can find me on all of the Slack and on Twitter. And I'm also completely available to help. So, awesome. Awesome, this is great. And the shows are TGIK on Fridays and we're IBM Developer on Twitch. So, Christy, do you wanna? Yeah, thank you guys both so much for a great presentation. Just a reminder that the session was recorded. It'll be live later today on the CNCF website. And yeah, we hope that you have a great rest of your day.  Thanks everyone. Bye. Thanks everyone. Bye. Thanks again, Duffy.


We did hear from Senator Hooker, who went down to appropriations that they did approve our work and they kept the funding in there, Senator Hooker? They did. They did. They did keep the funding in there and approved it unanimously. So now we are looking at it to amend S16. And if Mr. Demeray wants to be so kind as to take us just through that amendment. Sure, of course. You should have this posted, I believe. Yeah. Okay. First to note that this is an amendment not by the committee because you never have jurisdiction. This is an amendment by individual senators. At this point it's Senator Campion, Ballant, Hardy and Hooker. And as we talked about it amends the powers and duties to include the various subcategories that were recommended by the ACLU. And the only change to this draft from the last one you saw is, oh God, I'm on page numbers again. It's gonna be on page three. Mr. Demeray, can you just tell me just so I'm certain. What draft number is this? It's draft 2.1. 2.1. Thank you. So in F we have some new language regarding social determinants. So FNRVs recommend changes to the types of data collected in the data collection processes regarding suspensions and expulsions as necessary for the collection of all appropriate data related to school discipline in common, including recommendations on the type of data collected in data collection processes to reflect the contribution of social determinants to instances of suspensions and expulsions. I thought that was an excellent addition from Senator Lines. Senator Lines, did you want to say anything or add anything? Senator Perslick, did you? I see you're unmuted. That looks good. This isn't gonna be an easy thing for anybody to do. And as it goes forward, there may be criticisms of that, but I think it's important to raise it right now. I'll move to approve the amendment. Are we improving or endorsing the amendment? Either way, I do that. Okay. Thank you. Motion was made by Senator Chittin to approve draft 2.1 of the amendment. Do I see any discussion? I guess I'm just unclear on the committee's role of this amendment. So you would say the amendment is from these certain senators, but then a committee voted blank in support of the amendment? That's correct. So, and please, I'm looking to anybody who feels free to correct me if this would be treated in a similar way to if a senator outside came in and presented an amendment. And please know I am in no way, if anybody wants to add their name, as I've said all along, please feel free to do so. And that would, and then we will also take a committee vote. Correct me if I have this wrong. I'm looking to other senators and Mr. Demeray in terms of process. Senator Hooker would get up on the floor and say the amendment bill has been moved by Senator Campion and others. Explain the amendment and the amendment came before Senate education and the vote was this and we ask for your support. Right, yeah, that's it because it hasn't been up on the floor yet. So nobody knows what was in the original amendment. It's up to the original sponsors if they concur with our proposals. Yeah. They wanna go forward with it. I mean, otherwise we could do it but it doesn't matter. Senator Hooker. So I guess procedurally the amendment will be printed. The amendment, we'll discuss the amendment. I know Senator Lyons, you discuss the bill and the amendment together. Is that what the procedure would be to be able to discuss the underlying bill and the amendment? That's up to the sponsors of the amendment, how it's handled because it's not a committee amendment. We've just offered our suggestions. That's an excellent point. So I guess I would get up as the lead sponsor on the amendment, explain the amendment. I would then say sit down and then Senator Hooker would get up and say the committee has reviewed the amendment by Senator Campion and others and on a vote of blah, blah, blah, have approved the amendment. And then we can work with Secretary Bloomer. It sounds like this will be up on Wednesday on the floor so we can work with him around, just making sure that we have that process down. Okay. Does that feel comfortable to you Senator Hooker? Oh yeah. Okay, great. Okay, so any other discussion? Seeing none, a motion has been made by Senator Chittenden to move draft 2.1 of the amendment to F16 as proposed by Senator Campion and others. Senator Perslick, would you please take the roll? Yes, Senator Chittenden. Aye. Senator Hooker. Yes. Senator Lines. Yes, yes. Senator Herzlick votes aye. Yes, Senator Tarantini. Aye. And Senator Campion. Is that a yes, you are muted. Yes. Okay. Six zero zero. And thank you and I will present the amendment and then we will open that. Yes, Senator Perslick, please. Process question. Do we do the same thing with that vote as we do if we, that we would do with a bill like to have the record of action and all that or it's just something we say on the floor? It's a great question. It would be a record of action. We'll be, the amendment will be in the calendar and it will have the vote in the calendar. But do we have to do the like email chain of the record of action with Jeannie and all that? For it to get in the calendar? No, just to do it. Like are we still required to do those emails? Yes. Okay. Thank you. Okay. Terrific. Last thing. Mr. Demeray, if you wouldn't mind, thanks for all your work so far. And if you would be so kind as just to pull up the language for us to have a look at, we know that $4 million has been put into the expedited budget. I'm losing my notes here. And excuse me again, I'm in the process of trying to post that document. It'll take me a couple of minutes. Okay. I can share it if you want. That'd be great if you would share. Okay, yeah. And this is a reminder that this is the $4 million that has been put in the expedited budget for the after school for all grants program to provide grants for children to attend summer and after school programs. And the Appropriations Committee would like us to get them some language that would help with the direction of some of these dollars. So that is what we are looking at. Okay, here it is. A bit bigger. Okay, so for the record, Jim Demeray of this console, we're looking at draft language on the summer connection grants and summer partnership expansion grants. So there are two main sections here. One is to provide grant funding to existing summer programs. And that's the summer connection grants. And then the other is to provide grant funding to programs that are storing up. And that's the summer partnership expansion grants. So subsection A creates the summer connection grants program to be mentioned by AOE. And the agency will be awarding that grant funding to existing after school and summer programs. The meets the requirements in subsection C, which we'll come to. And the use of that funding will be to collaborate with schools to support learning, behavioral health needs and parent and family involved. Sorry, Jim, we're losing you a little bit. You're losing me? Yeah, thanks. Sorry. No problem. Can you hear me now? Perfectly. Okay. Okay, so use of this funding is for the recipients to collaborate with schools to support learning, behavioral health needs and parent and family involvement of vulnerable student populations and may use this funding for related transportation, staffing, supplies and respect activities and professional development. The each grant would be in the amount of $10,000. And the agency would award grants up to 150 existing after school and summer programs. Then we have the summer partnership expansion grants in subsection B. And that is again created here with the agency administering this program. And this grant funding would assist a school, nonprofit organization, time record center or licensed childcare center closely partnered with a school in starting a summer program. The communities that currently do not have 21C funding or established low cost summer program. And they will meet the requirements of subsection C. The use of the funds is exactly as was the use of the funds for their first program. So we won't repeat it. And then the amount of these grants would be $50,000 each for 50 new summer programs. And the requirements for both the programs is that the recipients shall be a school nonprofit organization, time record center or licensed childcare center closely partnered with a school offering program at low and low cost to parents and families, operate for a minimum of five weeks for a full day and for five days per week have to provide healthy snacks and meals, integrate social and emotional learning and science, technology, engineering and math programming and include outdoor activities and enrichment. And then finally, the recipients of the funding are encouraged to use qualified instructors to provide at least two hours per day of math and the instruction. And that's it. I'm just pulling this up, make sure I have the right one. Okay, so I thought, okay, questions or comments, thought I had sent along and I may not have some comments relating to, well, that's fine. Let's take a look at this. This is where we're at draft 1.1. I don't think we need to pull any real triggers today. I'm just trying to get impressions. This is not new language to us. We have gone through this a little bit. In fact, I believe it might have even been in one of our, Jim, correct me if I'm wrong in one of the drafts of the letter that we sent to approach and we were asked just to pull it out. I think that the only you and I saw that. Oh, okay. Yeah, yeah. Would senators like to take a look at this over the weekend and hear from a couple of folks? Senator Persley, you've been in the thick of this kind of work. Well, I'm just, yeah, but I'm unfamiliar with the kind of process of this type of language. This would be language for the budget though, right? What for the small budget? That is correct. It would be language for the budget. For the little mini budget they're doing right now. It's the fast track, right? It's the fast track budget. Yeah, so the language is great because it's all prepared for approach to stick into the bill. And it's probably if you put a little memo with it saying that the committee has looked at this and supports it. And this is our recommendation for the fast track bill or one of our recommendations because I think we may have two, but... Yeah, no, I think that's the way to go center lines. The only... No, I think you're right on. I just remember having some language from Dr. Morehouse at one point. That talked about some other things. And Jim, do you remember that? Yeah, those were the findings. She sent over a huge list of findings that actually weren't... I wasn't able to just drop in. They were like... So I went back to you at that point and just asked you what you wanted to do and we held off on that for now. So I think it's maybe somewhere in that realm. Yeah, no, that's fine. I don't think we need findings per se. I just thought that maybe there were some other things. Senator Hooker? I thought I remembered some talk about how expeditiously this was going to be distributed and is the agency going to be able to get this money out the door quickly? Although I believe the secretary talked about applications being taken. I mean, is there someplace else that the money can go directly to the after-school programs or to the summer programs in particular since that's coming up quickly? But maybe I'm misremembering. So a couple of things. Secretary Fransch did come in when we were working on this on the letter and supported that and was working with us a little bit, Senator Perslick? Yeah, I wasn't looking closely at the language because I thought I knew what it said, but this does not seem to be the language that I thought it was. Yeah, let me see. That's because that's older. This is the version that we received, I think from the agency of education because the support I had seen talked about the after-school for all grant program. I think, didn't we hear from Holly Morehouse yesterday and have some of her edits on our webpage? That's what I thought. I thought yesterday. Yeah, this is an older version. Let's just look at that. Let's see. I have a rapid education bill with, yes, mine says, and this is why, because I remember talking with Senator Lyons in committee a little bit about this, I do have something that is edited. It says, the summer connection grants program is created and shall be administered by the Department of Children and Families in the Agency of Human Services. That's what mine has. Right, that's the one we want. Yeah, that's the one we want. It is right there. It's on yesterday's thing, page. Under Holly Morehouse? Yes, I think. Yes. Yeah, it's under Holly. And it's got all of the new language, bold and underlined. I hadn't seen that, but I can update this for next week. If senators have it in front of them from our website, it would be great. And I guess Senator Lyons, I don't mean to put you on the spot with this, but Department for Children and Families in the Agency of Human Services, that is your realm and something you know a lot more about. And I don't wanna do anything with that group until you feel like we should. So here's my suggestion on this because I'm unfully supportive of it. And I've got two of my committee members here, but I think what might be helpful is on Tuesday morning, we are looking at H315, which is the little fast track bill. And so why don't Cheryl, why don't you help me remember and Josh send this along, we'll send it along to Nellie and I'll put it up for our review. I don't think we need to call anyone to testify on it, it fits. Senator Lyons, if you were willing to do that, I would be so grateful for you. Oh, good. Because it's also, you're a morning committee, we could work to get it to Senator Kitchell in the afternoon. Well, at the same time, you have Senators Hooker and Taranzini in the committee, and then Senators Pertulik and Chittenden and I can take a look at it over the weekend and see if we have any real concerns, but your willingness to do that would be incredible. I just hope we have time because, you know, we're on the floor Tuesday morning and it's gonna be an overwhelming deluge of bills. Maybe not, it'll be mostly notice. We've got, I think there were two bills or three bills left. Yeah. We can do it, we'll do it. Senator White's back, there's her two bills. That's right. Yeah, she's got two bills. I'm looking at Senators Pertulik and Chittenden. Would you be comfortable with that given, again, it does direct the Department of Children and Families. Yes. Okay, Senator Pertulik, please. Yeah, no. Can I ask?  I just wanted to ask Jim if he thought, if he could get us a copy from Ledge Council rather than a copy from Holly Morehouse. Sure. I'll update the language with this. Yes, and if you can do that, and then I can, you can, if you send it to Nellie Marvel. She's my committee assistant. Oh, sure, yeah. And then I'm gonna send her a heads up that you're doing that and we'll have it on our web page for Tuesday. That way we're all looking at something that's legislatively done. You may wanna make some of your magic corrections to improve it. And I do wanna just set the record straight. This was, I must have forgotten to send this to Mr. Demeroy. So Mr. Demeroy still has a perfect record for the record. Hardly sell. I'm moving in the negatives, but Mr. Demeroy is still perfect. Senator Persley. Yeah, and I just wanna confirm that, Jim, you would do that as a clean copy like you wouldn't have the way Holly did it as like track changes basically. No, no, I do a clean copy. Yeah, yeah. I'm fine with the language. I've already seen it, Holly sent it to me. I think it is great changes. Totally support it and totally support it coming from health and welfare. Yeah, I like it as well. I just, given that it is health and welfare stuff, that's it warrants that yes, Senator. Well, you know, our committee may support it too. So that's a good thing, right? Yeah, absolutely. Yeah, and we could vote on that later, but I just wanted to say the reason to send it to DCF is in some like DCF is better at it than AOEs. That's where the afterschool for all program, which currently exists and has the structure in place to make it quick. It made more sense to go through there because it's already sent up. Thank you for that. No, it's a good point. Okay, so we have a path forward. Thank you, Senator Lyons and the other members of health and welfare for taking this on. And Mr. Demeray, thank you. You're welcome. We, unless there are further questions, comments or concerns, I think we will be adjourning. Wow. I can make my next meeting. You can make your next meeting. Thank you. Thank you so much, everybody. If you have any questions over the weekend, feel free to contact me. Anybody who needs assistance with any kind of floor reports or anything, just let me know. Senator Chinden, I don't know when they're gonna vote yours out. So it might be on the floor on Wednesday as well. I'm feeling good, so I'm ready to go. Great. Senator- I believe both Chinden's bills from his two committees will both land on the floor at the same day. We can hear- I don't know. E-Bikes, it's actually your bill, Senator Campion. We passed it today. You know, I'm just recording it unless I pass it over to you or you've got to do it. So will the reporters of the bills please check their emails? There's one from John Bloomer. That is of some timeliness. Great. Thank you. Should I go off? Yeah, please. We have-


Well, my name is TJ Dunovan. I'm the Vermont Attorney General. I am incredibly pleased to be at the Vermont Chamber of Commerce, my good friend Betsy Bishop. Thank you for having us. And here joined by so many other friends, Kerry Brown, on the Vermont Commission for Women. Emily Adams from the Civil Rights Office, who was the director of this video that we're going to talk about. I want to acknowledge Jay Barton from WCAX and the great work that they did in partnership in collaboration with helping us develop this video. I want to acknowledge Abby Lever from the Civil Rights Unit in my office as well. My good friend, Tabitha Paul Moore is here, who was a tremendous moderator in this video and in other venues that we work together with and many others, including, I'm going to have you guys introduce yourself. Oh, Hannah Indra, interning with Emily. But you are a? Law student. At Columbia. But more importantly than Columbia Law School, she's from Huntington, Vermont and wants to come back to the state of Vermont. And then? I'm Holly Margulius. I'm a student at South Burlington High School. Unbelievable. You're going to stand the state of Vermont. At least for another year. At least for another year. At least for another year.  And then, of course, Josh Diamond, who is the chief deputy of the Attorney General's Office is here as well. When I started as Attorney General, I talked about helping small businesses in our state. Small businesses are the backbone of Vermont. And when you go around and have the privilege of talking to small business owners like we do, I'm amazed at how hard these men and women work to provide for their family, to give back to their community, to be civic and community leaders. And the fact of the matter is these small business owners are exactly as they sound. They're small. These small businesses in Vermont don't have in-house counsel. They don't have compliance officers. They don't have lawyers on retainers. These are not big corporations. These are mom-and-pop shops in Vermont doing the best they can to run a business, raise a family and stay in this state. And from the Attorney General's perspective, I've always said that the best form of public safety is a good job. And in order to create that vibrant and safe community for all of us, we have to create a culture of compliance. Here's the bottom line. The legal system's confusing. We got a lot of rules and regulations in this state. And we can have a debate about that, but from my perspective as Attorney General, we wanna create that culture of compliance by giving people, the men and women who run these businesses in the state, the opportunity to comply with the law or providing easily understandable, accessible tools so people understand their legal obligations in order to fulfill and satisfy their obligations of the law. That's about creating the culture of compliance. That's why we created other tools such as guidance on, how do you hire your first employee? How do you comply with ban the box legislation? And that's why we did this video that we created an effort to raise awareness about what employer's legal obligations are in the workplace regarding sexual harassment. We know this, that sexual harassment exists. And we have an obligation to create an environment in every workplace, in every business, in every place in this state that is safe, that is healthy, that is welcoming. And we know that we have an obligation to inform employers who wanna do the right thing, who wanna create those workplaces an easily understandable, accessible tool so they understand what their obligations are under the law. We know people are busy. We know people are working hard. We know, as I said, they don't have in-house lawyers. So that's why we asked the great director, Emily Adams, to create this video about what the legal obligations are under Vermont law regarding sexual harassment in the workplace. We hope that this video, which you're gonna hear a little bit about, which is about 20 minutes long, is gonna help ensure that Vermont workers are provided a safe and healthy workplace by educating and providing guidance to those small businesses, as I said, who don't have a human resource department. So what is the employer's obligation under Vermont law? All Vermont employers have an obligation to ensure that a workplace is free of sexual harassment. The law requires all employers to adopt a policy against sexual harassment, and this policy must also detail a complaint mechanism that's available to all employees. So this video was created in response not only to the issues that are going on in our state and in our country, but also in response to an expansion to Vermont's sexual harassment laws during the 2018 legislative session, which went into effect last July. This expansion protects all workers, contractors, interns, and those otherwise engaged in their working relationship from sexual harassment in the workplace. So as we continue to build that culture of compliance, the Attorney General's office is committed to working with small businesses. Businesses, small businesses in this state, as I said, are the backbone. We need to help them fulfill their obligation under the law, creating that safe and healthy workplace environment by informing people in understandable ways what this incredibly complicated legal system sometimes doesn't do. That is to say, here's your obligation. This is how you satisfy it. This is how you fulfill it. That's gonna protect people. It's gonna create a culture of compliance and it's gonna make Vermont the best place to live, to work, and to raise a family by working together, not waiting for people to violate the law and then saying, you're wrong, we're gonna hurt you, we're gonna take your money from your hard earned businesses, but it's simply saying to them, we trust you. We know you wanna do the right thing. We know you're busy. We know you may not have the tools or the resources. So we're simply saying to you, here it is. Here's a tool that can help you, can help employees, and can help our state. That's why we did this video today on the issue of sexual harassment in the workplace. So with that, let me turn it over to Carrie Brown from the Vermont Commission on Women. Carrie. Thank you so much, Attorney General Donovan. Thanks for the tip of shift and the Chamber of Commerce for hosting us here. And I just wanna express my appreciation for this tool that's out there now, this video. I think it's really gonna make a big difference to a lot of people. So I'm at the Vermont Commission on Women and we are an independent nonpartisan state agency that provides education and research and resources. We also help people directly when they contact us. Oftentimes it's because they're not really sure where else to turn.  And some of the stories are pretty disturbing. For instance, the woman whose coworker was making overt sexual comments to her and then asked if he could have photos of her breasts. And then when she told her boss about it, she wasn't believed and she ended up losing her job. Or someone else whose boss actually touched her inappropriately and when she reported it, she was demoted, moved to a less desirable department and then ultimately was offered six months of pay if she would just quietly leave on her own. And so these are women who are facing really untenable choices at work and we are committed to providing whatever resources we can to help them know what their rights are and to help them respond to this. But we also hear from employers all the time who are looking to find out what their obligations are, what they need to do to follow the law, what kind of policies they need to have in place. They're also looking for just best practices. So it's one thing to be compliant with the law and we wanna make sure that everybody is. But then there's also a whole lot more that goes into making your place a really great place to work. And we hear from employers who are starting a new business, they're just setting something up where they realize that they're not sure if their policies are in alignment with the law and so they're looking for help in coming up to speed on that. And so that's where this video really is gonna come in helpful because it's a way to just spend 20 minutes just watching this, it's in a question and answer format so you can really kind of think about how does this apply to me? And it's a good starting point and then there's plenty of resources available from the Attorney General's office and from all over who that may be able to help with this. So I'm really pleased that we were invited to be a part of this and I'm also pleased that this is part of a larger collaboration that we have ongoing with the Attorney General's office and with the Human Rights Commission. That's gonna be a public education campaign about sexual harassment and work related discrimination. And so look for that in the future. There will be a website that will serve as kind of a one stop resource as well as an ongoing education program to make sure that everybody knows their rights and that everyone's rights are protected and that no one ever has to face that impossible choice of do I just put up with harassment or do I leave my job? Thank you, Carrie. Thank you. Thank you, Carrie. Next, I'd like to ask Betsy Bishop to say a few words. Betsy. Thank you. I think this is a really important effort when this bill was working its way through the legislature in 2018, the Vermont Chamber supported it. We think it's important to expand this to volunteers, interns, independent contractors, those types of folks and I'm really eager and encouraged to be part of the education initiative. I think what the Attorney General said in his opening statement is so accurate. Our small businesses aren't loaded up with HR directors and lawyers and a lot of staff to help them. They want to obey the law. They think they know what the laws are but they often don't know all of them or all the fine details. So I look forward to participating with the Attorney General's Office and the Commission on Women to help be that point of dissemination or one point of dissemination and really help get not only the video which I have had a chance to watch and it is done very well and very helpful to get sort of that question and answer piece through. It's something that can be watched as an individual employee or it could be incorporated into a small business training. And as I thought about this and the launching of this video, I really thought about as the Vermont Chamber ourselves, we have 15 employees here. So we are very typical of many small businesses. We don't have non-staff general counsel or anything. So in preparation for this, I said, boy, let me take a look at that employee manual. What does it say? And it was, I've been here for 10 years so I got that employee manual 10 years ago. We did do a refresh about three years ago so it wasn't totally foreign to me. And I knew that there was something in it about sexual harassment. But so I looked at that and I was like, oh, that's interesting. But then it made me think about how many small employers have done that part and have done a good job with that. Maybe some haven't done that and might need some help with templates or best practices like Carrie said, and really looking forward to having that one-stop shop where we can refer people to. And then thinking about the other part of that is, well, giving somebody the handbook and having them sign it and then going to work is great, but what is that ongoing education piece? So I think we are looking forward to partnering in this effort, working with other chambers and other business organizations around the state. So thank you for all your work, putting it together, everybody. And we look forward to being a partner. Thank you. Thanks, Betsy. I wanna turn the podium over to Emily Adams who's a tremendous attorney in our Civil Rights Division and really took this project on her own with, of course, the help of Abby Lever and others, but really drove this process. In addition to doing all the legal work, she wrote the script. She's a director. She's a producer. She is a person of many talents and Emily, I wanna thank you for your hard work. We talked about this earlier. I feel very strongly, you know, when we talk about how do you deliver legal services, it can no longer be just a reactionary business where we wait for something bad to happen. We really have to be much more proactive, much more engaged in the community, much more collaborative with our partners in the community to deliver legal services, which is information. And start at the premise that most people wanna do the right thing. Yes, people do bad things and we don't hold them accountable, but most people wanna do the right thing. They just need the information. That's how we're redefining how we deliver legal services in the state of Vermont in the 21st century. And Emily, I wanna thank you for your leadership and for bringing that forward. And say a few words about the video that you produced and directed. All right. Thank you, TJ. Well, I think you said, you know, a lot of what needs to be said about this important educational tool. But I think what we see every day in the CRU are really tough and complex situations often regarding sexual harassment and often frankly, not meeting that high legal standard that the definition under the law actually requires for something to be sexual harassment. And so one of the things we thought about in creating this video was what other tools can we give employers about how to handle those types of complaints when they come in the door so that they don't end up with a situation where this is in fact a violation of the law. And I'm really proud of our team that got together to work on this. This has been a long project, probably about a year in the works and the team stuck in there. And so thank you all. And I hope that this is a useful tool that folks can use moving forward. All right. Thank you. And I know our moderator, Tabitha is here, but I do want to acknowledge some of the other participants, in addition to Tabitha Paul Moore, who's the president of the Rutland branch, the NAACP, Dean Shirley Jefferson from Vermont Law School. She's the Associate Dean of Student Affairs and Diversity. Of course, Carrie Brown from the Executive Director of Vermont Commission on Women. Where's Jay Barton? Jay Barton, I want to acknowledge and thank WCAX for providing not only your technical assistance, your expertise, but the production of producing this video because, as Betsy said, it is a 20-minute video, but it's got to be delivered in a way that people, it's going to have credibility and bringing that credibility from your production team. And I know that you were kind of revising the script at the last minute with Emily. I just want to acknowledge your assistance, your help and your leadership and we owe a debt of gratitude. So thank you and to your team at CIX. Thank you. Tabitha, do you want to say anything about moderating or? No. Okay. All right, so with that, any questions? Where can we see the video? That's a great question. That's a great question. Where's the video? I believe it will be linked in a press release shortly. It is housed on our YouTube channel, but- The AG's office is a YouTube channel. I just learned this myself. Me too. Me too. Explain what we do. I know. I don't know, Lauren, if there's anything to add on that. So it will be linked in a press release that will be sent out shortly after the conference and it will be accessible through our office's website as well. Are there plans to put this on the state's website so that business can come in and take a look? It'll be on our small business initiative page. Okay. And we'll certainly have a link to it on our page as well. And being that government guy, I got to ask about the dollars. How much did it cost to run this thing? Well, this is Josh. I believe everyone donated their time and resources, so it was a true team effort and a pro bono effort as they say by lawyers. Pro bono by Channel 3. Yes, sir. It's amazing. Thank you. All right. This is where- Thank you for coming. Thank you for coming. Betsy, thanks for having us. Yeah, thank you for all coming here. Let's enjoy the nice weather. Thank you.


Being an international student, I actually love a lot of the American songs. This is true, I love the American songs. One of my favorites was the YMCA. One of the people who played the song, I just love watching people do the dance. You know, the dance Y and C-A. And I just love the energy, love watching people doing that. But then I feel bad. I feel bad not for the Americans, but for my culture group. The Chinese, the Japanese and the Koreans, the East Asians. Because our alphabets are just not set up for songs like that. You know, you've never seen a Chinese version of YMCA going, it's fun to stay out there. It's just never a good fit.


To improve efficiency and reduce costs while maintaining quality patient care, hospitals around the world have begun to incorporate the principles of lean thinking, a business methodology that strips the activities of an organization down to those that deliver the greatest value to customers. But in the early stages of adopting lean practices, little is known about the factors that enable or hinder lean from finding a permanent place in a hospital setting. In this study, an in-depth look at the experiences of senior healthcare professionals following a lean training program revealed that support from management, the provision of a continuous learning environment, and cross-departmental cooperation are crucial to the successful implementation of lean practices. Today's healthcare environment can be rather unstable. Many hospitals find themselves strained by a growing patient population while operating under strict budget constraints. The move toward lean practices therefore seems well-suited to meet the needs of the healthcare organization. Through lean training programs, healthcare leaders learn to shift their focus toward efficient, patient-centered operations and making continuous improvements in quality of care. It is not well understood, however, what factors motivate healthcare professionals to put their lessons into practice. In this study, 31 healthcare professionals were interviewed three months after participating in a four-day lean training program. The participants, who held leadership roles in various departments at an academic hospital, were asked what actions they had planned to take to implement lean in the workplace following their training and what factors facilitated or obstructed these actions. Key patterns in the responses were identified and used to determine the most common actions specified by the participants and to what extent they had followed through. The results generally showed that the daily presence of top managers on the work floor is a key factor for the success of lean implementation. The authors of the study suggest that this involvement demonstrates dedication to upholding lean values, which in turn encourages employees to participate in lean. The success of implementing lean actions also depends on how well employees perceive they are able to apply their new knowledge, indicating the need for a continuous learning environment that involves, for example, on the job training. Finally, the authors of the study perceive the reported difficulties in working in a multidisciplinary environment as a call for a more holistic approach to lean. Unlike industry where lean practices have generally aimed to fill roles with just the right personnel to meet predetermined goals, a hospital is an inherently dynamic and social environment where the products of lean practices are not as readily observed or even understood. The authors suggest that leaders focus more on cultivating the meaning of lean than on implementing lean as fact. The researchers admit that any long-term impact of a short intensive lean training program on learning may elude measurement, but they encourage leaders to adopt and promote learning on the job to sustain lean improvements.