lecture tent. I see that actually some people of you like sweating in this tent, so welcome to the infrastructure review. As you might already know from previous infrastructure reviews, this talk is a little bit different, because we have a lot of teams coming up to the stage. There will be some small breaks when they need to get their hardware running, but we hope that we have time for all the teams here. The first team that will present the review is the chaos post, so please welcome them to the stage. I can see that there is actually some more posts to deliver. Is this the last car today? Not really. Okay, so you still have a lot of things to do afterwards? Indeed, yes. Breakdown and about, I would say, 50 internal cards. If we cannot deliver them here, we will take them to the next event like congress or so and try to deliver it there. Okay, so you still need some volunteers which will deliver some post? It would not hurt. Okay, so if you don't have anything to do after the infrastructure review, go by, stop there at the post stand, get some cards and deliver them. Now I will read what we received actually here. So as you can see, very nice post card. Dear all, thank you for using our service. We hope you enjoyed chaos post. We delivered three new services during camp for you. That's nice to know. Post box certification. So I don't know what that's in English, but I hope you know. And bidirectional chaos.  That's cool. We will be available at MRMCD, so that will be the next event. And congress, of course, so stay tuned. Oh, and about figures. About 90 kilogram of post cards were delivered, 813 online submissions to the camp and over 2,000 external post cards. Wow, that's amazing. To over 42 countries in the world. That's quite cool. Thank you very much for the post. Our next team is the network operations center. So here are the guys. I think it's on. Yeah. Hello. I'm Nicoduck. This is Mo Morientes. We are from the NOC or the internet manufacturer. And we did network again this time. Compared to last camps, the goals have been pretty similar, but we have upgraded the fiber from one gig to each decade to 10 gig. And we tried to avoid the rodents revenge this time. As always, we had a Wi-Fi encrypted and unencrypted devices, which are not capable of it. And we didn't want to filter it. Our team consists of 40 people from worldwide, most of them from Europe, some from the UK and the US. The, our build up started on 10th, so Saturday, two weeks ago. Most of the team arrived during build up. So we kept increasing the number of people on site. And during the event, we were also supported by the great knock up desk. Our design is pretty similar compared to camp 2015. The campsite is known. So we could use most of the design back then. It just increased a bit in size. And we also collaborated with the C3 power teams this time. So we had most of the fiber laid together with the power cords and attached to them because they also protected the fiber a bit just because they are so huge. We also have another uplink this time. We didn't only have the fiber, but we have also an RF uplink. I'll come to that later. We planned the local setup in CAD this time. So we had the auger plans, and we made our own plans for the datanclose and the fiber. It's a bit tricky to see here, but all the datanclose have this circle around them, which shows the rough, well, I think it was 40 meters circumference of the datanclose. And the thin yellow lines are the fiber of the decays. So most of the planning was done in CAD and then rendered into an open street map, which some of you are also used during the camp. And we also used the EMF camp pipeline, which has been used in the couple last EMF camps, which produced some PDF plans for fiber runs. So this is the logical overview of the connection of all decays. We have had a lot more decays than the last time. And this is the logical, the physical overview of the fiber runs, not the logical one. Logically, it's completely different. We increased from 37 to 57 datanclose because of the new camp size. And the naming of the datanclose was also changed from cities to the grid of the auger plan, which makes it a lot easier to find them when you search them. We have laid out 68 fibers on the side, increased from 47. And the total length of all fibers is nine and a half kilometers. This strength length, so each single core added together is over 40 kilometers. We used 140 couplers for connecting all the fibers together. And we also used new 12 core MPO fiber. So I've got a single connector connecting to a breakout box, which is easy to lay under train tracks, for example, so you don't need to dig a big hole for them. And then you have a really tidy setup in the datanclose. So in these datanclose where we used them, you see a picture on the right, we sometimes had only two MPO boxes, which compared to datanclose without MPO was a huge improvement. So we had around 20 of the MPO cables and a bit more of the non-MPO cables. External connectivity, we had a two times 10 gig away from Ediscom, increased from one time 10 gig last year. And we also found the usage for the E-roller this time to spool the fiber from a four kilometer spool to a more handable 500 meters to one kilometers. Uplink was done last week on Saturday this time. We laid it through the grass as I would say always compared to last time, no big change here. The fiber is a new improved outdoor grade fiber where the vendor said that it is safe for rodents. And we haven't been disappointed this time. Additionally, we've got an RF uplink. We have got a 10 gig main uplink to Gransey. We've got a 10 gig upstream provided by Deutsche Telecom. We also have a 500 megabit backup link to Gransey just to make sure that it still works when there's a thunderstorm or rain because the 10 and a half kilometers is way outside the spec of the 10 gig link. We also have a 500 megabit link to Berlin, to Alexanderturm or Alexanderplatz, which is 57 kilometers, also used as a backup if everything else failed. We also used it during build, set up and teardown. Dan, we also had a local DC which in the beginning from the promised, I think we ordered over 10 kilowatts of AC power had roughly eight kilowatts, which we first had to improve by putting up some rescue blankets. And you can see actually the dip we produced by just putting up rescue blankets in the graph there. It's roughly two degrees just by reflecting sunlight. But on day one we got another air condition and were able to cool that data center down quite efficiently. You also might have seen we had a huge transparency offensive where we tried to show everyone the data center. I think you all had a great look. If not, take the night, we won't tear it down until tomorrow. So look at all the fancy backbone. Our core network in that DC and as well as in a pop in Berlin consisted of two Juniper MX 204s where we basically did all the VLAN routing. We had one Arista DCS 7504 as a single core. If that would have failed, we would have had a cold standby. And on the very right hand side of the slides, you can actually see the now logical topology of the backbone. We managed not to daisy chain any data data close. Well, not too many of them. So if there would be a power outage, which happened quite a lot and in different grids, then no other data close would be affected except the ones changed behind them. So yeah, also as there was just one core, we had a loop-free design which avoided us from shitty layer 2 issues. On the access side, we rolled out 96 access switches, great mix of Juniper and Arista, big things there to event in front proact to sponsor them to us. And also we were running all a Ruba Wi-Fi as we usually do. We also had two 802.11AX access points for a test in workshop 1 and 2. So maybe some of you have noticed that you can connect to the Wi-Fi via .ax. On site logistics, you might have seen our car. We had a great Volvo V40 from 2003, which we serviced mainly by first of adding coolant to the engine, which it liked. And it was a great help for us. As you see, the data close have the Wi-Fi access points mounted in their chimney. And on top, they have the so-called ohm lights, which are from the ohm conference.  So first off, we tried to strap it on the car, but then we built our quite nice roof rack, which served us really well and now makes for a very nice car. Also, obviously, everything we did was automated, so we still are using Netbox as our single source of truth and changed our module from Netbox and Chill to Netbox and Grill. Probably left over 1,000 euros at the local butcher, so that was nice as well. Also, we have some enterprise scripts in place to ensure auto provisioning of the switches. Monitoring, you might have seen the dashboard already. If not, go to dashboard.camp.cccde. We're using Prometheus for all our metrics and our collecting metrics from every other OCT which wanted to share them with us.  Laying them over train tracks is okay if the train stops and someone carries it over the fiber and then puts it back on, so please, train operators, take a bit more care next time. But yeah, it survived. The uplink is fine and it wasn't too bad. On a more serious note, please, if you are bringing cable to camp and unroll it through the campsite, please make sure to unroll it properly. Don't leave big spools. People get stuck in them. It rips out a switch from our decay and that's not really nice. So, we tried to deploy hints where we found it, but please take a bit more care. So yeah, some numbers for Heizer, I guess. We had roughly 5,800 consecutive Wi-Fi clients, mainly on 5 GHz, which is nice. We've seen overall roughly 12,500 devices. We actually managed to saturate our uplink above, or depending on the weather situation, above 50%, which is nice. We would love to see that at Congress, if you can make that happen. We had no fiber cuts and our uptime actually is 100% for the core, so that is nice. One more thing. Please, don't pick datan clothes. We know you can. Those locks are not secure. They are just meant as a barrier, like more of a metaphorical kind. But please, don't pick the datan clothes. Respect the infrastructure. Don't unplug our stuff. Don't leech over the Wi-Fi. Just use a cable. It makes it worse for everyone trying to use the Wi-Fi. Yeah, and don't also mess with other basic infrastructure. Also, shielded cut5e cable is no good idea in outside deployments where you have different ground potentials. It will trip an RCD, so please don't do that. Also, as you might have seen, all datan clothes have a sign where it says that you should not use them as a toilet, and every sign has its story. 3DKs were contaminated during buildup, where we just secured them with a zip tie, and one was even picked and then contaminated, so please, please. Yeah. Cam as well as Congress Network is not possible without a sponsor, so please give them a warm round of applause.  We will unwrap everything else. If you want to help, stop by by the knock, and we will find some work for you, but please do so in a coordinated manner.  We will walk around them continuously and unplug you. And if you brought an SFP or XFP, please bring also a plastic bag. Otherwise, we'll have to drop it in the ground, and that might destroy your optics. So that's it. Questions? Thank you very much to the knock guys. Our next team on stage will be the walk, but if you have a question in between to the knock, you can ask the question. Okay, go ahead. No questions for the knock. Let's see. C3 walk is here on stage. I think you already know what we are doing. We recorded all these slides and all the talks and everyone who walked on the stage. There were 82 talks on this conference. These resulted in 492 new video files uploaded to media.ccc.de. We had roughly 10 minutes of issues accumulated over all talks that had to be repaired. All in all, five cameras deployed in these stages managed by C3 walk. The last camera was just deployed for the previous talk in here, the C3 power one. We covered two lectured hands. The monkey stage was managed independently. We unfortunately had one small security incident. We had to change some passwords. For the first time on a camp, I think we deployed an induction loop for people with hearing aids. They can switch over from microphones to an internal copper coil and get direct audio without any echo from the tent so that they can understand anything. We're not just relaxing on all the software we built and used before. In the background, there was a lot of development work done for getting VoktaMix2 ready. We had a first test set up in one of the tents in here in THM and Mitner. Unfortunately, this screenshot we have there doesn't have the cameras showing, but it's a slightly different GUI. So Video Mixer Angels, you might have to learn something new on the next event. In the background, we fixed a lot of synchronization issues between the sources and audio and so on. Any questions so far? I don't think so. No one jumping up? Thank you very much for the VoktaMix2. No, no, no, no, no. But wait, there's more. We had to do much more than what you saw in the tents in here. We basically planned all the setup in these rooms here. We drew some plans on what should be placed where we hired some AV company to bring us all the stuff. We built up everything together with them. But we also worked together with all the Heralds. Thank you, Heralds. Thank you, stage management. Also, it was a translation of the possible of the guys and girls and other creatures from Freelingo, the Q&A and Signal Angels who given the microphones, converting streams from internet to the question in the lecture tents. And many other teams. Without C3 Power, we wouldn't have any lights lighting up this stage. We wouldn't have any projectors. Our cameras would have to swap the batteries every few hours. So thank you very much to Power and thank you very much to Nock for providing us with the upstream to get the streams to all of the thousands of viewers out there in the world. And all of this would not have been possible if the countless hours of network be all angels of event in the Heralds, in the background and everywhere. So. And one last shot from our office with some, I think you can't really see it. We also have a Grafana there showing how many viewers were watching the streams when this photo was taken. And down there are some audio monitoring pictures. Thank you. Thank you for the work. The next team here on stage will be the Logistics Operations Center. Big applause for them already. Do you see my slides? I don't see them. This should be better. It should be louder, I guess. That's interesting. There are more people here in the room. Come on, do it a little bit louder. It's getting better, but you can even do it better. And now different shifts. That's good. That's mean to put in even a different melody over here. Thanks to the AV Angel who's fixing my laptop right now, because I can't use X-Render at all. So there's the next angel coming up on the stage. Seems to be a little bit bigger problem. Oh no, just taking stuff, okay. That doesn't seem to be a usual problem, like putting more angels to it and it will work. But now we can see something. This should be better, wait. The Logistics Operations Center. I got about 1.5 seconds delay here, so bear with me, please. Now we have it. Yeah, weird luck. As you can see, we do logistics, not design, and we definitely don't do any video technical stuff. So let's get started. You can see our AV Angels are always around and always very helpful. And we definitely don't do stuff with computers or microphones. So CAM started for us actually with the early planning November last year. Actually Buildup started on August 3rd with packing all stuff in one of our three, four warehouses in Berlin. You see pictures of it there. That's where most of the stuff is stored between the congresses and CAM. On day 15, the first people of us arrived here at an empty warehouse tent with our first buildup stuff. And well, we started to unload lots of 40 ton trucks. All in all, we had 40 transports with trucks, 7.5 ton trucks and 40 ton trucks, and that's only buildup and only transports we organize. This doesn't include transport by DHL and stuff like this. And it doesn't include tear down. And we had a total of two hour waiting time in phone queues for truck replacement because we broke one truck and it's still not replaced. And we delivered a total of two pallets of liquor for the bath. We delivered 120 cubic meters of couches, most of which were from last congress and will be used on the next congress. Some people don't take as much of a vacation, for example, I did. So when it comes to purchasing, which since last congress is a part of the logistics, I did that from Berlin. So we had actually a remote office in Berlin from which we also during the event got some four pallets of toilet paper because we ran out. We use about one pallet per day. We also had to get about 200 liters of soap because we used more than we thought. Yes, thank you for washing your hands. During the event, we also bought two more pallets of paper towels than we thought we needed. We had a total of six pallets of toilet paper. I hope we don't have to buy any more for tear down. I really hope so because we need to drive to the metro in Berlin Friedrichshain for that. And that's two hours one way. We used around 250 liters of soap and due to some defective toilet brushes or some just vanish toilet brushes, we had to buy around 50 of them. We also handled lots of dangerous goods, for example, for cleaning toilets and washing machines and dishwashers. This is around half of what we dealt with and we have some fun facts about purchasing too. As of now, Metro doesn't have any lime in Germany. You may also have noticed that we had three different kinds of toilet paper during the event. We started with one ply, very dark toilet paper, but we couldn't do this to ourselves and to none of you. So we got some free ply, but at some point we ran out of free ply. So we went to the metro in Friedrichshain again and bought some more free ply toilet paper. So I went there and told them, yeah, I need four pallets of toilet paper. And they looked at me and said, well, we don't have four pallets of free ply toilet paper. So we took three of free ply and one of four ply toilet paper. So if you find really nice toilet paper, please leave it. So right now they only have one ply. The Metro Oranienburg where we have been for most of the fresh fruit delivery, also lime, is out of paper towels because we needed new paper towels. As we had to drive so many kilometers to Berlin and to Oranienburg, the two people who were doing the purchasing, this includes me, spend around 50 hours sitting around in cars. We hope this will be less next camp. We bought around 25 kilometers of barrier tape and I looked it up 30 minutes before this talk. We have around 500 meters left. We had to buy 10 replacement piles for the hand cards. I don't know what you people are doing to them. And we have two broken hand cards right now with out replacement tires. And if you've seen some bean bags, we actually also bought three cubic meters of filling because they were pretty empty after last Congress. So if there's any questions about what else we purchased, just come to us after this talk. Yeah, the most annoying object to transport by far was this thing. We call it Drati. It's from Pomona. Sadly, they do some really cool stuff with it, so we can't just throw it away.  And we also did some sort of post office and received a total of around 1000 packages. So hands up, who used this service? This does not include packages that we ordered ourselves for the lock or for any teams or for the purchasing. It's just you. And sadly, most of them were from Amazon. Yes. So we transported the same stuff at least three times from Berlin to camp. We told DPD at least two times to actually deliver the packages to our tent and not drop them on some grassland or tell us we weren't available to collect them when we were 24 hours open. And we didn't take enough pictures as you see on all the text slides. Yeah, we also, I just received this news earlier so I couldn't put it in the slides anymore. We're using, we're moving a lot of stuff and you're moving a lot of stuff too. So if you are driving a vehicle that needs diesel fuel, don't stop at any fuel stations in Gransee or Zelenik. They don't have any. We also noticed you tested some of the bridges in front of the cash desk and well, they are not camper proofed. So if you drive a camper over this bridge, well, you got a C3 sinkhole. And we also got a gas storage. We didn't know about this until a day before we had to build it. So if you plan to bring a lot of dangerous goods like 70 bottles of gas to the camp next time, please tell us beforehand. And beforehand doesn't mean a week. It means two or three months please at least. Yeah, but we're not done yet. We are staying here until 1st of September. And we have to pack around 130 pallets. We have to move a lot of stuff to Leipzig and Berlin. And we have an unknown amount of other transports to organize. So if you can stay during tear down, help us to tear this event down. Yeah. Do some angel shifts. We need a lot of angels to tear stuff down. And as you can see, it's only two of us. And I know it's only two of us in this whole lecture hall because all the others are currently working on tearing this event down. Please support them. Thank you very much. The next team on my list is C3 Sustainability and C3 Yellow. So now again, the question, who used the service from the log to get the parcel delivered here? I couldn't see all the hands up. So hey, come on. There were a thousand packages. So there must be more people here in the room. Or did you all get like 20 parcels? Amazing service. Hi. So this is a joint presentation of C3 Yellow, the team that managed hygiene and the new team, CCC Sustainability. I'll start with some information from C3 Gelb. So during camp, we used approximately 1,355 cubic meters of water, like until this day, and calculated to the number of people that is 271 liters per person. Seems legit. C3 Gelb ran washing machines. We did 50 laundry loads during camp. And probably, you know, the Spülen as a service, Dishwashing as a service. We had three of them on site at two locations. They were on the high load, permanently used, but the waiting time was mostly below 20 minutes. It was the first time that we did this here. So sorry if it was not as smooth as it could be. In total, we had 80 angels that helped us with the dishwashing. We also had water dispensers at two locations. At Haven, it was at use approximately half of the time. At the lake, it was basically used all the time from 10 a.m. to 10 p.m. These machines can do 3 liters per minute. For the sparkling water tap, we used 50 kilograms of CO2. That makes approximately 5,000 liters of sparkling water. We don't have data for the non-sparkling water, but we guess it's at least the same amount. So you did good. You drank water, but drink even more. We had 190 people that actually did this bureaucratic hygiene diploma, and many, many thanks to EZ from Kidspace, who did the briefings on site, and like stamping and signing. So this concludes with the help. If you have questions, maybe now is the time. Yeah. Please get a microphone for the question. There are two angels in the hall which have microphones. I know that the water dispensers were put in to help save plastics so that we don't have as many plastic water bottles. Do you have any statistics on how many plastic water bottles we had this year versus the last camp? No, we don't have data on that, but we have plans to improve the water bottle situation for Congress. Thanks. Okay, then I move on to CCC sustainability. So, as you know, power is provided by fossil fuel generators. We used approximately 4.5 liters of, well, it's not diesel, whatever, like the heating oil per person, like including the whole time until now. For the climate impact, that's approximately 13 kilograms of CO2 per person. So this means like it's approximately the same as when you drive 100 kilometers with a car. So this doesn't sound so bad, but of course it would be nice to have other solutions in the future because we cannot afford to burn fossil fuel anymore. So we ran around and got some pictures of solar panels and solar cells at the campsites and there were actually a lot of them. So this is very good. We want to see more of that next time. Bring your solar cells and now I hand over to our... Okay, so we know about that we need to change something and how we provide power to all of us. So we are all using power for all kinds of different things. Heating, cooling, lights and charging devices are only four of major ones. So we put up a work group which we call as working title event grid to actually pull up a completely new full stack green DC power network for future camps and outdoor events international. So it's not only CCC camps, but also other outdoor events like SHAR for example. And we were lucky to build on the knowledge of the SHAR, which did already a test run. So we are now focusing on these items which you see on the slide. So we try to build up a smaller power grid, DC power grid to enable shift to green power, which is for the consumer devices and a backbone which has around 300 to 400 volts DC power. We want to also provide some more insights on how we use power. So we would like to visualize even better how much power we use. So to make you guys all a little bit more aware of how much power we are using, for example, what your village uses right now. So new power meters would be a nice thing or extending on those we have on the generators right now. And we would like to also provide completely new power meter as a kit, as a do it yourself kit, so that you can have a power meter which is also enabled to do some 24-7 logging on your power usage in which you could also use at home. Yeah, we provided or we set up a quick questionnaire for you, for all of you visiting the camp. Yeah, this is the survey URL. You can go to this URL and on the slide before you may have seen that we have a wiki. So at this point, a huge thanks to the Netherlands and to the Shah, which are providing this wiki and you can look up all the stuff we were working on there in the wiki and we will keep you updated on that wiki. So take the survey. This would be great. So thank you very much to C3 Yellow and C3 Sustainability. We have one more team to go which needs to fit into the next five minutes. It's totally quick. One other slide. So yeah, you may wonder why I have this thing here. We would just like to educate on kind of help you can do. We put up these signs today. It contains the QR code which tells you how to do it yourself, dust mask. We had Electronic Waste Recycling Station. We organized Organic Waste 15 bins. Please don't put bags in there. We started surveying to reduce meat consumption. We asked the bars to ask people if they want straws and yeah, go strike. All right. Thank you very much. And the last and final team which comes up to the stage today is our awesome heaven. So please a huge round of applause for the heaven. So I had no time to bring slides because all the heaven is working very hard to get things done as we did all the time, but we didn't do it alone. You saw all these teams who were doing something here. All of these are angels. All of these are more or less part of our team as we are coordinating the angels. We are the angel group and not everybody is part of such a team, so we had quite additional stuff to do and are still trying to do something. At the moment when I wrote down the numbers there were 66 people working, 66 angels working, but we were missing a lot of people. This is just those who were in the shift tracks, so those we are tracking, there are a lot of more people working on the teams and everywhere. So we still have about 170 hours open shifts for the next three hours, so open shifts that we need people which are coordinated through the system and there's a lot of more stuff to do that we don't have shifts for. And there are also a lot of night shifts that we need to do, but over the whole camp since or for the onsite stuff we tracked 20,000 hours. This is about two years, two and a quarter years which was worked by volunteers just here on the site which I believe is a very great thing. This work was done by 1836 people who are marked as arrived angels. We don't check who actually did work, but a lot of them really worked hard to get all this camp done. And yesterday we introduced the Angel Awareness Day. I hope everybody hugged or thanked at least two angels and we asked you to do so again. If you didn't do it yesterday, please do it twice today. Yeah, thank you all the angels that are working here at the place. We have a lot of people in this tent working. So thank you here as well and a lot of people outside. So if you can do two hours of work today or tomorrow that would be cool even if you're not one of the angels in the system. We really need people for traffic, for tear down lock also told you that they need people. It's a lot to do. We have still 1,700 open hours, open shifts in the system that are tracked in the system, so it's more or less for today and tomorrow. So actually, yes, we need some help more. But as I said, we already did a lot with a lot of people which is absolutely great. And everybody who had not their time tracked, please send a ticket to a ticket at C3 Heaven DE so that we can count your numbers. And this was all from us because we have to get back to working. Thank you very much to the heaven. We have a lot of more awesome teams which we're not here at the stage right now. We have the third, we have the park, we have GSM. We have so many more teams. So please give a huge round of applause for all the amazing work which is done on this event.


Dr. Martin Luther King Jr. was an inspirational figure in United States history, so Katara Jordan's kindergarten class at Jack in Darby Elementary School is paying tribute to him. We have been learning all about him in various ways from reading books, looking at videos, and also they've been doing their own writing projects about him as well. I love it because they've gone home and they've even talked to their parents about it and parents have been coming to me saying thank you so much. I never thought about it that way. Kids have a simple way of explaining things. The dream that I have is that the children continue to thrive and learn so they can be our next world changers. Seaman Andrew Frisbee, Lead Activity Sauce Boat Japan.


Everybody forced here up in two boxes of 2021 playbook football hobby for Max G. Thanks Max and good luck I still remember the day I graduated high school though It's too early We got Tyler Boyd jersey card to 299 Got a red zone AJ Brown to 25 jersey book you're gonna jinx it there won't be one Chris Redemption Antonio Gibson goal line graphs platinum. I think platinum's the 49 in playbook. I Believe nice it here rookie Otto Devontae Smith to 35 All right, come on big RPA book second one here. Good luck Max All right, that's Terry McLauren jersey card to 299 Almond Ross St. Brown jersey card to 299 Rookie Otto Kylan Granson a 49 and a nice hit here. This is 16 at 25 on the Najee Harris RPA book Awesome patch there. There you go Max Najee looks like the eighth probably from the rookie premier jersey there Good stuff Najee to 25 RPA book Good stuff Max. Thanks again, ma'am. We'll get it right out to you


Dennis Prager has another hot take folks and I want to talk about it I didn't watch this before coming on the stream. So in the event he says something that's very yikes You've been warned. We're entering uncharted territory here but By the description here courtesy of Jason Campbell The idea that a girl should want to look attractive God forbid even somewhat sexy the left finds this truly vile What leftist is he talking about who's the leftist in his life? That's feeding him all this weird information who's like actually Dennis Prager I think that women should not look sexy. I mean if you want to look sexy more power to you If you want to not look sexy more power to you. I don't think that the leftist thinking about things like this I think he's thinking about things like this and he thinks that we're thinking about things like this because he's thinking about things like I'm thinking about different things things that matter sometimes silly things and goofy things when you think of the left Like how do you not think about the policies that they're fighting for? Economic justice Medicare for all racial equality income and wealth equality. I just don't know how he has this weird caricature of The left in his mind and it's based on like literally nothing like he's pulled it out of thin air But let's go ahead and listen. It's a minute and 22 seconds not super long But it's long enough for Dennis Prager to say very very stupid things By the way, if you ever want to call into Dennis Prager eight seven seven two four three seven seven six I recommend my viewers do not do that and definitely don't ever troll him But it's there if you want to call and ask him, you know a question in earnest I may need to do that. Although. I don't know what time is shows live either way Let me shut up and press play this wonderful young woman on Tucker Carlson last night She went to Mount Holyoke 50,000 a year Well all girl school. I learned something that I did not know I wonder if you knew I'm looking at my producer Revealing content had the girls get a special haircut. Are you aware of that? She mentioned that and it's the second time I've heard that because long hair is sort of too feminine and You know, you don't want that I want to discuss that with her right there She went to an all-girls school and that's something that they did did they impose that on the girls I doubt that they would do that But was that like a style that a lot of girls at the school did like one of them got a pixie and then another girl was like Hey, that looks cute. I want to do it How does he get from point A to point B meaning how do you get from? Hey, this girl said that girls have shorter hair to the left ones girls to have short hair I mean look, I don't care if you want short hair if you want long hair. I'm pro freedom. Do what makes you happy How does it? How does he get how does he get there? This this is deranged. That's a very very big deal The idea that a girl should want to look attractive.    Okay? I may need to call in and ask him about this. This is too weird. I Mean the things that he comes up with are so bizarre The left doesn't want women to dress sexy Just trans women. I want all women to do what they want. I'm pro-freedom. You're not pro-freedom You're against abortion. I believe in bodily autonomy. I believe in living women living the life that they want to live This is so sure again I like I sound a little bit redundant, but I'm just Exasperated by how strange this point is what does he even come up with this stuff? Like he has to have a really twisted brain to be able to manifest thoughts like this Dennis, I think you need to get out more. I think you're in a bubble. I think that your view of what the left is Wildly inaccurate.


So, hello again, my name is Vladimir and I'm going to talk about BEM. Maybe some of you were at Matterfresh and you already know something, but still I'm going to make a quick overview of what we have there. So BEM stands for block element and modifier and the main idea of it is to provide possibility to have your project built from the parts which are absolutely independent from each other and that's why they're very easy to reuse. Then I think all of you are at least a bit familiar with Twitter Bootstrap, yes? Yes. Then we can compare it to Bootstrap way and BEM way of development. So when you're trying to develop with Bootstrap, first thing you should do, you think about your project structure and that's the way you start just every new project. Then you should find all the HTML of the components you need to use in your project inside the Bootstrap library. Then you may find all the styles which there are in Bootstrap library or you may collect the pieces you need for your project. But in that case you should get back and take all the rest pieces when you're going to add new components. The same is with the scripts and when you want to customize something you just edit the code you get from the Bootstrap. Next, when you want to maybe reuse some of the components you should get back, find the proper part of the HTML, CSS and JavaScript. And maybe there are some parts which are not necessary in the new place where you're going to reuse that component. And the worst thing is when the Bootstrap is updated you are to check everything. In general you have three options. The first one, the easiest, is never to update. Maybe it's good for someone but all the projects should be developed and that's not our case. The next variant is to go and just compare all the commits from the previous version find what was changed and repeat these changes into your project in every place where they were again HTML, JavaScript, CSS, etc. And let's compare it to the BAM way. With the very beginning you get optimal file structure. Of course you can customize it the way you want but still you don't need to think about it every time. Then you edit the config file where you place links to the libraries you want to use and you never ever change any of the files from that libraries. All the changes are going into your project level. So in that case all the components are very easy to reuse. And also we do not put some technologies of the blocks into different folders. If we have one particular component all the things it uses are in the same folder. So layout, CSS, JavaScript, maybe markdown, images, documentation, everything what is about this block will be there. You can just take it and move everywhere you want. And the main greatest thing is when library updates you don't need to do just anything. It's as easy as just to reload the page and it will automatically get updates from the repositories where library is and your project will be rebuilt with that updates. I think it's absolutely great. And just a quick few things about BAM.  Also the tools are not about just compile your project. There are a lot of optimizers which are quite unique. For example, our CSS optimizer makes some structural optimizations too which is I think absolutely unique feature. And we have our own template engine. We were fans of XSLT processor and the few things was not good there. It's a very expressive language I think but it's not so easy to learn and it's not developing now and rather slow. So we have written our own template engine on top of JavaScript. It runs not just and it's the same powerful as XSLT and one more feature is block libraries. When you created some blocks you can place them into separate let's call it just folder form right now and link into various projects you're working on and all these projects will use that blocks and for example, absolutely different team can develop these libraries while you're working on a particular project. So it's a way to maybe split the teams or add more people to develop without any troubles to get all the code into the production at the end. And there are actually much more things but we will never have time to take everything even if we will stay here for a few days. Okay, as I have mentioned all blocks are independent and that's why reusable optimizers provide us the optimal runtime and that's why the whole BEM is kind of large thing but it is fractal anyway. So you may use just a few parts of it which are great just for your project. You don't need to use it as the whole. Well, you may but it's not absolutely required. Okay, I think it's code time now. For those of you who want to try it right now you may get some instructions and get tools but I will show everything just in console and the other information and the link also is at BEM.info website. Feel free to check it out. Okay, here we are. That's just an empty folder and I'm going to check out the project stuff for that. Let's go to github slash BEM slash project stuff and get the link. Here we are. So, git checkout. Here we need to install dependencies so npm i and while it will do that. Okay, it's not so big. Yeah, I'm just going to switch into sublime so it doesn't matter. Meetup project stuff. So here are the files we get with our project stuff. Here you can see package.json with just one dependency. It is BEM tools. Then some common blocks which I use just for desktop. For example, you may... It's not so big, I think. And is it possible to zoom into the left panel? Okay, is it visible for you? Okay, and the main file here is inside desktop bundles and you may think of it like pages folder. And here is index and index.bemjson.js. It's a declaration of the page. The syntax is kind of adjacent but some fields of it are predefined and a bit special. By the way, the page itself is also a block and it consists of other blocks. And here is declaration. I think all this stuff here is quite self-descriptive. Yeah? Let's look at this part. But to save some time, I will ask BEM tools to build everything for us and start BEM server. Then go to... It is going to get all the libraries from GitHub and make all the rest. While it's working, let's get a closer look here. So we have declaration of header and some content. The same for block called content and its own content then footer and some text. Then we may create new folder inside desktop.blocks and call it, for example, header. Then we're going to create the files of any technology this block will use. For example, let's be CSS file. We may say it should be the height of 200 and let it be background. Here goes the result of the building this particular declaration index BEMGIS on JS. You can see now it is just a very simple HTML page where all blocks are just divs with a special class and there is content inside. Then we just reload the page. I think we can ask BEM server not to check out the libraries each time. For now it will be a bit faster, a bit ugly. So the CSS was updated and looking into this declaration BEM build system knows that we should go into all the block levels we are using in our project and look into the folders with the same name and build all the technologies which we are going to build. All of them are here. You may add anything you want. Let's try the same thing with the template. We are going to use BEM HTML. So block header and for example we may make it, I don't know, maybe attack hello, why not. Now you can see it changed. We may change almost everything here and moreover we may add some content maybe this way. Do we never use BEM? No, no. We think that any block may appear on a page multiple times so with ID it is not possible and actually there are no any use of it so you just don't have any situation when you really need that ID. Sure, let's look what we have. So when that header.css was created BEM build understood that we need to import its CSS file into the page.css and the next step we get it just flattened so it doesn't matter thinking. It doesn't matter how many blocks will be there all of them will be flattened with Borshik and in production environment it will be optimized. Let's get back into template for a while. So here you can see that I created element of that header block and call it logo. Then I'm going to also show the content of the hello block itself so I use this CTX content and again I'm going to refresh the page. Now you see that that header logo element appears and the content is still here but we don't need to say anything about it in our declaration file but I'm not going to talk more about templates because it's another rather big topic. Let's go further. I think we can try to write just some basic JavaScript block and then we will try to get more complex one from a library. Well, I think we can create just some square declare that it will use some JavaScript. Also, let's add some CSS for it. I think it could be, for example, and that's it. Absolutely, all we need to do is they should be the same in declaration and in block folder so it also should be square anything and again the CSS file should be the same name. Here it is. I think it needs some background also. What was that? Can't remove active job. Okay, I think that will help. Where is it now? It's still square because I didn't change it in null. What the problem? Notice the problem? Maybe I didn't save it. Sorry. Yeah, they should be the same. Okay, let's create the JavaScript for it. To write JavaScript the same way as we used to with CSS we created some special block helper called IBM GS and the purpose of it is to provide us possibility to again redefine some properties or methods from the blocks get it from library on the level of our current project. The documentation is not quite good right now but there is a very, I think, descriptive JS doc. So bam, bam bl. Yeah, here it is. Until we will create some better piece of documentation you may refer into just its code to know about it. Okay, let's get back and write some JS. So we provide bam as a name space for all the blocks and JS blocks may be with or without DOM nodes connected to it. So for abstract blocks without any DOM node for some helpers we may declare such blocks with bam.decl but for blocks with DOM representation we use bam.dom.decl which inherits from abstract blocks and it is just an element of the same IBM block. Here it is. It provides us some additional methods to work with DOM. That's the name of our block. Then goes methods of each particular entity and here we may describe what should happen when block gets or loses some modifiers and the very first modifier each block will get is JS with value needed. It happens automatically when we describe the block with that JS true so we may say onSetMod.js we should fire the function which may do something. .js. Let's check it out. Here we can say hello and now this square anything also has modifier JS with the value needed and some special parameters inside onClick attribute. We use them to let JavaScript know some variables from the declaration for example. Something we can get it with these parameters. Let's try to ask this red square doing something, at least something. We may provide some event listening on it with this.1.2 method and here we need to say which event we're going to listen. I think it could click the function. I think we can just add some modifier to that block whenever user click it. This method is SetMod and it takes three parameters but the first one is optional and is used to set modifiers for elements of the block. We're going to set modifier just on block itself. I think active maybe state and then when we will click that block we may see that it gets modifier state with the value active. Then we may describe what to do when it gets this modifier. Let's move that square to the right maybe. This dot term LM it's just a link to jQuery object representing our block. We may also describe what to do when this modifier disappears. In that case we can change it not to just set that modifier but to toggle it. You can see that the block gets modifier state active and we click again. Modifier was removed and it fires that function. Each block may have a lot of special methods. It may be anything you want. It is a modifier and it has some values. For example value active. It can be any modifier. Absolutely any but just this one is predefined. It is fired automatically when that block is initiated with JavaScript. We also may look at how modifiers work with CSS. For example we can have modifier state with... Make it a bit easier and write CSS for modifier just in place. State active background. That's not a kind of magic but still it's the way to build projects which are easy to maintain in the future. All the users of your library who don't need that block with state active they just need some very abstract basic things. We will just not use that piece of code. What I intended to do is to create a separate file for that modifier. In that case that code won't even ever build into the project. But I think that's just something very... Do you mean if I put a separate file for that modifier? Actually it will. If declaration will be at the BAMGISON.js file. I can show you a few ways to add some entities into the result build. Let's just move it from here. So in the case when you add this modifier into declaration it will appear at the very beginning automatically. And it will move to the right side without any clicks. Oh yeah, that's because it should be fired when that modifier will be... Sorry my English is not so well. When that modifier appears in the runtime. Oh yeah it works. But for the situation when there is no need to make that state active from the very beginning we can remove it from declaration and in that case we need somehow to tell the build system that we need that CSS with the state active to build. And for that we use a special file with the depths.js extension. Shoot depths. And let me explain how the build works. The first and starting point of the build is index.BAMGISON.js. BAMTools parse all the entities here and then create BAMTecl.js file where all of them are in the list. And when we rebuild our page we see that there is no mention of that active ES modifier. So the next step is to look all over the levels we use on the project and find all the blocks, depths.js files and include all the entities which are mentioned there. And on that step we get a file called pageName.tabs.js and here you can see all the dependencies of our project. And the final step is to build all these technologies which are used in runtime from all the block levels according to that pageName.tabs.js file. And all of them are in some kind of imports. For CSS it's just at import itself. Then for JS we have special includes which works with Borsig and then all of them are flattened. If it is still clear we may go deeper and I want to show you one, maybe at least one person here. We'll be happy to know that we already have in our BAMBL library one special block. Just a moment I will find it. I think it's somewhere here. Okay, history, it should be. I was there. Oh, I think I know what's wrong. That was not that branch. So here it is. And this is a block called iLocation and it's written with BAM.tackle notation. And what it's doing is using another block which it depends on. It is also an element of iGquery block. Author is writing something I think right now. I was talking about we use special block iLocation which uses an element of the block iGquery history. And the author is Benjamin Locton and I think he's stopped writing right now. I couldn't see the answer. Okay, now I think you already know what's going on here. But what is interesting is the way we're using it. It's yet another BAM block written with the help of iBAM.js It calls some methods of iGquery element history. So you can see methods, actually quite a lot of them to work with history IP. As I promised, I'm going to show you how to use some external libraries. Actually, we're already using it but it is very clear that the bookstab will not be very easy and it's a process limitation. Technically it's not a limitation. I can still get what I want in the bookstab but it's a process limitation. So clearly here learning curve is a process limitation. I should really go convince all the developers to start using it. But what other process limitations do you have? Or is there any process limitation? Well, if I understood your question right, the first one is you need to use Node.js to build the project. Then, as you have said, learning curve is quite high for the whole bunch of BAM tools. But still you can start with some parts of it. And maybe it takes a bit more time to build your project because of a lot of things. The build system should check out to create that final runtime files. But it doesn't matter for production where your game gets just rendered files. It's the same as static site generator, for example. It may be dynamic but CSS, JavaScript and all that stuff will be regenerated for you. And as for not to edit files from libraries, I'm going to show you how you can work with it. The first thing we should do is to add the link to that library here. I'm going to add Carousel, which is also a GitHub repo. It's me. It's not a joke. So here I added one more link. Then I can just restart my server. And on the next reload of the page, that library will be checked out from the GitHub somewhere here, I think. I don't see it. Oh, yeah. Then BAM tools tried to install dependencies for each library. It says that there is no any package JSON, so there is no dependencies for that library. I think I will do it as it was. And now I also need to add that levels from this library into my project. And here's the folder of that library. And there is just one block level called blocks-desktop. And now I can just remove our red square. And that declaration of the Carousel should work. So as you can see, I don't care for CSS or JavaScript files to get this block working. All of them are here. And you may see that this block also has few elements. It is IMG element and control element with a modifier called theme with the value default. All these files were built for me with the help of this declaration. And the content of each item itself are described here again. Also, there is nothing about what HTML it should be rendered. And see that, for example, Carousel element IMG is IMG tag. But its name is MG2, so it's maybe not so descriptive. Okay, let's make the Carousel inner to be ul element and each item to be li. We won't edit any file inside Carousel library. But we're going to add the same block on our project level that its element called inner should be ul. And its element called item should be li. The library is as is, but everything changed. And it doesn't matter if the developers of library will get there and change some layout. Your changes will apply on top of it. And the same with CSS or JavaScript. The code from library will stay as it was and your code will just redefine what was on the bottom levels. And, moreover, you may have as many as you want such levels on your project. And for this particular one, we already have a few of them here. The very basic level is from BAMBL library and it's called common. Then goes desktop, then we just edit Carousel desktop level. Then this library contains code for our template engine and common blocks from current project and desktop blocks. We may add as many as we want. Well, we're going to talk more about JS. Let's try to do so. Again, BAM, Tone, Tackle. And let's check out what methods this block already has on. There is some initialization part. Then it has method cycle. Method 2 to switch to the particular slide pause. Next, press slide and get default params to apply some initial values. Let's decide what we can redefine or maybe we can just add something. Let's look how it could be. We can say onSetMode.js. For the very beginning, we can overwrite the code from the library. It is very easy. In this case, and this block won't work, but it will just say behind the console. Now nothing works because all the initialization from the library was overwritten by this console log. But we can use some kind of inheritance here and call the super method. That's this. And now it works. And also it has that console log working too. So the code from the library is merged with the code from our project without changing anything within the library code. We may add any methods here. Also, I think this way. So again, we added something and we don't need to in any way interfere with the source code of the library to add more methods or properties. Well, I think you should have some questions. Nope. Everything is clear here. Actually, no. You can just place them as the blocks and we decided to call them like an element of the ijquery block, but it doesn't matter. For example, tell any jQuery plugin you want. We can just add it here. Any name. You can see it here. It's just plain external file, but you may want to build it as well as all the project blocks files. And in that case, you can call this way. I don't know what it is, but... Okay, let's try this one. Maybe... Nope. Okay. I know. Please tell any jQuery plugin anyway. Nobody knows any jQuery plugin. Okay. And here you can see that the file inside is not changed. It is just as is, but when you include the declaration of it into your project, it will be built as just the same way as all the blocks are built all the way. Any other questions? I think just the same way. The only thing you need is just to provide the same class names. And for JavaScript, you also need to teach your template engine to generate. Just a moment, I'll show. These pieces inside onClick. And also we use Mix with the IBM block to let JavaScript know that it should be initialized on this particular DOM node. I think... So I guess... It is shown. And... How would you say that these new tools, like Component or Bower, and Component or Bower compete with the way you guys have done them? Well, we just use them too inside our projects. And these are great tools. And still they do not solve all the problems we face every day. And as for the whole bunch of BAM tools, it's not just one particular thing, for example, to get some libraries into a project or maybe to optimize scripts or so, something. But it is the methodology to name that files to... Even the designers who are creating PSD files for us, they tried to work with these tools for prototyping purposes. And they say it's much easier to work with that level of abstraction, where you don't need to think in terms of text, but in terms of the separate blocks providing some functionality. And when you're going to move one block from one place into another, you never think about if it will be broken in any way, because you are sure that everything is written in a form when it is encapsulated inside. And that's kind of maybe web components, but it works right now in any browser, and actually it's much more flexible than web components itself. But it seems like ComponentJS is still going to experience the issue of context, different contexts between different modules. And it seems like one area where BAM excels at, because everything has a consistent API about it. So there's a consistent way of doing things. When it's component, it actually depends on what the author wants to do. So like, of course, you know, the author can always do what they want, but at least this way it provides consistency, so there is a specific context. Like, all the modules will be able to work with each other. Component, that may not be the case. So it's pretty cool. Thanks. So there's a lot of problems for teams. List out a few advantages for individual development involved. Can you list out a few? Sure. For example, you're developing some similar projects, and for sure they will have something in common. For example, each of them will have some login screens, or maybe logotypes, links, all this stuff, which is the same from project to project. And I think you don't need to reinvent the wheel each time. You may put these common solutions you used to work with into a separate library or maybe a lot of libraries and yield them on the projects, just adding some particular features. That's the first point. And the second point is the idea of independent blocks will help you no matter if you work alone or it's a big team, because when your manager asks you to change something on a project, you will be able to do it very fast. And that layer of abstraction, when you start thinking of your project in terms of blocks, it's very helpful too. Because today, because of, for example, IE6, you need to create the layout with the help of tables. And you will think that, okay, my menu is a table with rows and cells, and there is maybe some divs inside of it to provide pardons or so. And the next day you get statistics that there is no any users with IE6. And today your project may be built with a more semantic layout. And at that point you don't need to think, okay, now I'm going to change a lot of text. You're going to that particular block with the menu and say that it is just a new layout and everything works. I'm sure there are a lot of other things that each one can find useful for him while developing. Actually I'm a designer and I can completely correlate what you have said like calling the simple methodology in Photoshop organizing layers and other moves because when I first started off, I used to find it really hard and difficult to read someone else's work. And they don't get organized and have like a whole stack of 100 to 200 layers. Though Photoshop has something called like auto-select where if you just take that option and you click on like a stack of layers, whatever is the problem, you will be able to select that particular layer. But still again, I have like 20 things overlapping on one thing to get some particular style. I need to go to the layers stack and then you can search. But with better way of organizing that I've always tried to group certain things but I haven't really thought like a methodology to something like a block element and modify it. But this is really kind of helpful for me to implement these concepts in my design work. Yeah. And we were already asked about how one can divide layout into the blocks and that will be the first answer from Varvara. She's going to answer the questions about the methodology and she will show it on the example. What's like the ideal in this case for Ben? Like what's the use case for how he's been for this VMA? We have one small site called Yandex.true and it's built with BAM. So why is the index the ideal use case? Okay, it will be kind of spoiler, I think, but I will show you. I need to get my VPN to get into our intranet to slow. Okay, it works. Here is the site of our internal block library and for example, here is the block of the headers and it is understood that when you have one firm style and a lot of services, they will have something in common but still they will be quite different one from another. And in this situation, you can notice that we have the same logo but different other parts of the header and inside of it there is a user block and it is absolutely the same. I was talking just about front-end and it's not quite so. With Node.js, we can write a server site in that same block element and modify terms and again, we can separate each thing into a separate folder and the block can know where it should go to find the username. For example, it may be the request into database or look up into cookies or something and then help to render itself. And here you can see just a small variety of the headers we have. They use blocks which are inside this library and all these blocks will be updated in just one moment. For example, when we decided that this drop-down should look in a different way, we won't start to rewrite a few hundreds of services. We just update our library and ask services to rebuild their projects and every pop-up or drop-down on this project will be changed. So for very big companies, it's a dramatically different process of development and I think also it's very great for maybe the companies who utilize agile methodology because you need to make a scratch, try to use some parts of it, go further, change something, move it and it should be very quickly. And with this approach, we have the possibility to give designers tools to create some sketches. Then we use the result of their work as the very basic level of blocks and can update or change anything on the next level. And the idea here is that it doesn't matter that designer could possibly write something not as good as the professional front-ender would, but we will redefine it and when that prototype will be back to designer to make some changes, the designer will continue working with the same terms he used to. He don't need to parse the project from the scratch and when that project will be changed and again the next time front-ender will work on it, it will be again the same code base, the same blocks that they all used to work and they will talk to each other naming the same entities the same way. And when that project will be placed into the production and back-end guy will work on some part of it, again they will work in the same terms and even designer and back-end guy will talk to each other with the same terms again. When we look at them as a methodology, I think it is rather good for just any case, but when you're trying to take the full stack, it is not easy, for example, for developers who used to work with Windows to switch into console, it has quite a high learning curve to make sites built on the full stack working with some dynamic data, we need Node.js on the server and these kind of things. She could take just naming convention and stop at that point and it will be enough for such small chain of websites. Because it seems like there is a... With a methodology like that's great, I agree, I think the tool is like that learning curve, which you did say, so I think there seems to be a tipping point when the learning curve would give enough value to justify it and try to figure out when that tipping point would be. So I think something like Ganadex, the learning curve definitely is small enough for the amount of value you get. So I think perhaps if I say small websites like company websites like high design, small static websites, that value you get would be smaller than them. I don't think you would use a strong... Well, if you don't have any particular questions about just what I have been showing, I think it's time to answer other questions about methodology.


If you've ever found yourself at the till, paying for the special priced chocolate bars as well as for your salad, you're not alone. According to a recent study by Coin Research, one in four children in Ireland is obese or overweight, making it the 12th worst country in the world. This is an issue Senator Catherine Noon wants to battle by cutting the promotions on junk food. We asked a spa employee if he generally thinks that people will go for the cheaper options over the healthier foods. It's probably a lot of it, so yeah, they're looking for value for money, you know. They are students. I suppose they are, you know, money can be tight. According to the study, one in three people find offer promotions very influential. We asked they watched his thoughts on this. It doesn't really surprise me because, you know, they are yummy and it's, you know, it's got value for money, so yeah, and they'll be nice. The survey found that people aged 18 to 34 are most likely to buy products based on a special deal. We talked to students on campus to see if they would be more tempted to buy sweets when they're on promotion or not. Yeah, probably, not going to lie. If you can get more for the same price, then yeah, I always do. Yeah, cheap sweets, making money. Yeah, 100 per cent, because they can't afford anything else, so.  I never buy them, yeah. After talking to students on campus and staff working in Spa, it's clear that most people can't resist the temptations at the till. Elsa Anderling, DCU TV News.


I'm gonna fall out of my face double time. It's like a kool-aid banner. Don't fall on your own camera. Don't fall on your own camera. I make no profit. This video is sponsored by Skillshare. Stay tuned to hear me talk a little bit more about them later. I don't even know how to sit still long enough to film this video. I'm gonna do my very best. Hello there, my beautiful, amazing, intelligent, delightful internet friends. Welcome back to my channel. Thank you so much for joining me here today. I'm gonna let you know right off the bat that this, this smile is probably not gonna fade for the extent of this video. My face already hurts from smiling so much today. I can't even put into words how exciting this day is to me because I just did something for the first time since I was frickin' 12 years old, and it felt amazing. I just wanna run around screaming in joy, but we can't do that because it frightens the neighbors. If you're new to my channel or you don't know my story, the long and short of it is, hey, my name is Jo. I'm missing a leg. I am a below-the-knee amputee, hence footless Jo. So when I was 13, I had a really bad horseback riding accident that shattered my ankle and never healed right. We had surgeries and surgeries and surgeries. I had it fused eventually, countless injections. So after 14 years of worsening pain and kind of living surgery to surgery, I had to make the decision two years ago when I was 27 to amputate my leg for hope of a better life. And a better life, like a higher quality of life to me was to just be in less pain every day and be able to walk, do the things that I like, take my dogs for a walk, go for a hike. I live in Colorado, I love being outside, and I've been able to achieve that over the last couple months. It's been a difficult journey getting here with some unexpected twists and turns. However, the icing on the cake, the thing that I'm like, I'm okay if I can't do that, but if I could do that, oh my God, has been running because since I was 13, I have not been able to run. I've like jogged short distances which was always pretty painful. Like if I absolutely needed to, I've been able to go for a jog, go for a run, just do anything like that, and I've always desperately wanted to do that because I love sports, I love activities, I love being able to push myself. Having this amputation, it was by no means like one of the top factors, but it was definitely the thing that I have been aspiring to, I've been like hoping to get to for friggin, since I was 13 years old. So in October 2018, I had my leg amputation, had a fall, caused a lot of issues, had to have the amputee to begin that August, and over the past few months, I've gotten to a place where I'm pretty stable, I'm active, my prosthetic leg is working really well for me, so I really began to think about like how I could get a running blade, you know like these running blades, the things that you see cool amputees running around on. I desperately wanted one of these, but they are very expensive, so I was looking into some grant programs like seeing what I could do, and then my incredible friend, Anika, offered me one of her extra ones which was just, thank you, thank you again so much, I cannot tell you how much this means to me. So let's flash back real quick to a couple weeks ago as I go in for my first running blade appointment. Today is running blade day, assuming all goes well. You know that feeling that you get on Christmas morning, that's a little bit of what I was feeling right now, like I had difficulty sleeping last night, because I was nervous slash excited for this, and today might be the first step towards making this a reality. So let's head up to Denver, see Zach, and get a running leg.  I feel like that will feel very weird to walk on or hop on. I've also been told that it feels like you're like bouncing on a trampoline, learning how to actually use one of these. So I'm prepared, I'm prepared for weirdness, I'm prepared for it not to feel great the first few times I'm using it, but to figure out how this works right for me. I got this sweet swag from Rise Prosthetics. We just found out that they are taking care of all the measurements right now. They're building my running blade socket based on the socket that I have for walking, like the measurements, because it's working really well for me and making some modifications. So they're gonna do all that work. I'm gonna be coming back in a few days, hopefully maybe a week or two, to actually pick it up and try it out and then really dial in the running blade. Okay, so we just finished up the first appointment. Apparently this is gonna be one of three. There we go, three. So I left my running blade there, they're working on making the socket perfect, and then step two is gonna be going in to get the alignment right, and then finish again. So I wasn't really sure how the whole process was gonna go, but I was told that, you know, this is the first appointment.  And then I went back this morning for my second appointment. As I said, I knew that there were gonna be three appointments. This was the second one, and I imagined that I might be able to like try it on. I wasn't sure if I'd be able to like, you know, take a few jogging steps or whatever, if maybe it wouldn't be at that place. I didn't wanna get my hopes up too much. You know what, I can't even put words together. Let me just roll footage from a few hours ago.  You've heard me talk about them before. This is a service I absolutely love. I highly endorse. Skillshare is an online learning community with thousands of courses to choose from, which is absolutely perfect for the quarantine season that we are in. They're essentially endless classes for creative and curious people as we are. One that I've been working my way through recently is Creativity Unlocked by Nathaniel Drew. I actually found Nathaniel's channel because he is a YouTuber back when he had like 80,000 subscribers. I don't know, maybe a year, a year and a half ago, I really enjoyed his content, and then he absolutely blew up. It's been so exciting to see him become who he is and really come into his creativity, and I wanted to learn from him. So when I saw Nathaniel's course pop up on this list, I thought, of course, I need to take this, and it's been fantastic. I would highly recommend Skillshare. And the first 1,000 people who use the link right there, it's right there down below in the description, will get a free trial of Skillshare. This is really risk-free, and this is what I did when I first started using Skillshare to figure out if I liked it to see what classes they had, and I was hooked after that. So using that link not only helps to support this channel, but also provides you with something pretty cool and I highly recommend checking it out. Thank you to Skillshare for sponsoring this video, and now let's get back into it. It is Running Blade Day Part 2. I hope you're very excited for mommy. So it has been about two weeks since my last appointment when I dropped off the Running Blade, and they took the measurements and everything like that. And today, I'm going back in at a new location. It'll be super exciting. I'm a little bit nervous, can you tell? To actually kind of try it out, test it out a little bit, kind of adjust some of the fittings, and then from my understanding, they're going to go back, cement it, make it into an actual leg, and then I'll pick it up in another couple of weeks. But today could actually be the day that I start, that I like try it out a little bit, see what it feels like, actually put on a Running Blade that I've only dreamed about for like way too many years. So I have a work meeting that I have to take right before we have to leave. So I've assembled all of my gear, my tripod, my running clothes. I don't know, what do people wear to run? I've never been able to run. So I have it right here that I can just grab it and go, and I'm so excited. Are you excited for me, Sophie? What's the head tilt? What's the head tilt? Brian's very excited. What? Clearly. Still so weird to me to see like just a closet of leg pieces and feet. So this room here is actually pretty meaningful to me. Over on those bars, I was working with like a team of prosthetists for like this testing day. And this was the first time I ever took steps that I actually felt okay. Yeah, this is a fitting place to kind of try the next step of this. Creeper. That feels so weird. Everyone said it was like walking a trampoline or something like that. Yeah, yeah. I'm not sure what to do with it. It's good to try to take faster steps when trying to outer. Yeah. So it's just like... Yeah, I couldn't run before. So cool. This is so cool, guys. Yeah, it feels great. That's a chilly one today. I'm feeling it. Don't fall your own camera. Don't what? Don't fall your own camera. I make no promises. My God. I have not been this excited about anything in like my adult memory. Like just this viscerally just... Oh, it was so cool. It was so freaking cool to be able to take like running steps and to run across a parking lot. Like what? I did that today. Oh my God. Just... Oh, put words together, Joe. Put words together. You're filming. Yeah. So that happened today. It's only something I've been working towards in the past.  And this is the first step, right? Like today was kind of refitting it, making sure it could work. And now they are taking it in to finish it up. And I will be picking that up in a few weeks, which is super exciting. I cannot wait to bring her home. Please leave suggestions for my running blades name in the comment section down below. This community has always been responsible for naming my prosthetics. Like for instance, this is Sunshine because I'm walking on Sunshine and you won't get that song out of your head for the rest of the day. You're welcome. But I would love the community to name my running blade as well. So please leave your suggestions down below or, you know, upvote people's who you think are pretty cool. But it felt really good. Like it felt good on my body. Like obviously my body isn't used to running. So my knee was like, what are you doing, man? And there are a few points where they're going to need to alter things to make pressure a little bit better. But physically it was a lot better than I thought it was going to be. And emotionally, holy freaking goodness. Yeah. I'm so excited. I literally like, I don't feel like I can sit still. And that's very, not like me. As you can see from the footage, like this is my first time trying to run. So my gate, like the way that I'm running isn't perfect because I've never actually really learned to run. So I'm really excited to learn how to run. It's going to be a journey. It's going to be a process. It's going to take some time. I'm absolutely planning on training four or five cakes. I think it's good to have like a goal to work towards and run with my husband and run with friends. And I just really get into this. I am so ready for it. I'm going to say something that's so cheesy, but I really feel like this is like, like our win, like something that we've all done together. And I can't wait to bring you along on the rest of the journey. I'm really excited for the day. I actually get to pick it up and bring it home and can really start, you know, playing around with it here. But, but yeah, I, I'm going to end the video pretty much right here, mostly because I don't think I can sit still any longer because I'm so gosh darn excited. Thank you. Thank you for being here for this video. Thank you for being here for this journey. It's going to continue. I'm really excited, I'm excited to bring you along. A huge thank you to our sponsor today, Skillshare. Again, check out the link down below. I would honestly really highly recommend them and to my patrons. So my patrons were the first people to know about this. Like I posted a picture of me running just like an hour after I was able to get there. And I just want to say thank you so gosh darn much to my Patreon community. You guys are incredibly generous. Thank you so much. This has only been possible with all of your help.  Like I'm sure I ran as a kid. I know I did, but it didn't mean something to me then and it really means something to me now. This is a huge victory and I am obviously insanely excited. So thank you for being here. I love you guys. I'm thinking about you and I can't wait to see you in the next video. Bye guys.


What I'll be talking about is implementation toolkits. This is something we've been mentioning since Monday. Repeatedly how we have toolkits for different use cases, different health areas that we worked on together with WHO, UNICEF, other partners. But we haven't really had a proper introduction to exactly what we mean when we talk about implementation toolkits. So just sort of to clarify any misunderstandings about what these toolkits are and how they can be used in DJI's to implementations. I'll do a brief session on this now. So the purpose is to understand what these are, how they can help you when setting up DJI's to. So my colleagues have been making fun of me for being too serious when I've been presenting stuff. So now I'll have some photos of Lego bricks and we'll all have fun. So this is DJI's to. It's an empty box that you can use to build whatever you want, like with Lego. So when you start up with DJI's to, you don't really have anything. You have a software that can do lots of things, but it doesn't give you anything to start with. So what I wanted to do now, since there are some of you who have sort of very new to DJI's to in general, I will actually make a new DJI's to and I'll add some stuff to it just to show you the sort of this building process. So I will make a new DJI's to. This is of course always a bit risky to do this. Live and see if it's starting. Oh, sorry. So I need to use. I'm using now the latest version of DJI's to starting up a new instance. So what I'll do now is to show an example of how you use this empty box, build some build something from scratch. So I'll pretend we're setting up a routine immunization program. So let's say we're making a monthly report from health facilities on how many children are given. BCG doses, for example. Let's see if it's starting. OK, so we now have a completely empty box. They tries to. There is nothing here. No dashboards. I have no data sets. I have no indicators. I know organization units. So the first thing I'll do is just to make a little organic hierarchy here. So we have Norway. I'll add the. Also, and I'll make sure my user is assigned to the Norway organic. OK, so then I think I'm ready to ready to make my data set. So I know for immunization, I want to have my data disaggregated under one above one years. So the first thing I'll do is to make disaggregation, which we call categories in the tries to. So this one will be a certain 11 months. I need also to have one for 12 plus months. This I will combine in age group for immunization. This is a disaggregation. It's a data dimension. I want to use this in my analysis. So I'm picking these two for my category for immunization age. I know this is going very fast. I'll get to the point eventually of doing this versus use the toolkits. So I have my disaggregation under one above one years. Now I need to have my data elements, my BCG doses. So I'm making a data element. BCG doses given this be aggregate. I'm making a monthly form. I'm not making something for the case-based. It should be a positive or zero integer. I don't want to have decimals in my account of children. I want it to be added up over time. OK. What I need now is my reporting form, my data set. So this is my EPI monthly report. It's monthly. And I select BCG doses given. I want this to be reported at the facility level. So in this case, my only facility, I haven't really added any. But let's say Oslo is a facility. So I take this reporting form, which has one data element, should be reported from Oslo. Let's see if we have anything here. No, but it's public. No, but this is the OK. So I need to specify here that the user can actually capture this data. So of course, you would typically do this with a group of users, not with individual users, but just to make it quick. I'm doing it now directly with my account. So I'm sure Jit is now mentioning all the things I forgot. More tips, Jit? What did I forget? I think this OK. So I'll try one last thing. If it doesn't work, then I think, yeah. No, yeah. OK. So let's see if we can use the we're working on the new what this is. So let's give up the attempt to actually open the data entry on this one. The point being, yeah. I love my colleague here, she's asking. Sorry, my colleague here. She was asking because we saw that you spend, like spend DHS instance very quickly. So we are wondering how scalable, not how scalable, how much workload does it take if we really implement it on a country level? If I don't know like that, it's a silly question. But like, because you spend it very quickly. So I think you are using like a small database. Does this type of database accept many concurrent connections? We used it in a country level. This part one, part B, she's asking also, can we decide another type of database because for some reason, if we need to use our own, like a SQL database, for example. No, so that used to be the case before that you could choose between my SQL, Postgres, et cetera. But now we're standardizing around Postgres because it has GIS features, et cetera, that is used. I think so now I'm just running it on this. I would actually think for aggregate, purely aggregate reporting, you could probably run the national system on the laptop. So it's only when you start with aggregate, no with a case-based, that you need to really scale up in terms of the hardware. OK, so my point was to show sort of this process. Starting from scratch, you define your data elements, you define your data set, you define your org units. But of course, quite often what you're doing is something that others are also doing. If you're doing immunization registry, it's the same immunizations you're giving more or less in all countries. If you're doing TB surveillance, it's more or less the same thing. So that's sort of the idea with these implementation toolkits, that there are so many things we see that everyone is doing more or less the same way. So we can provide some tools to make it easier to do those standard things. So my initial attempt to make a simple immunization registry example wasn't so successful. Let's try instead to make a tuberculosis case-based system, but rather than starting from scratch with my Lego bricks, I'll go and download the toolkit for TB. So this is now a predefined configuration. This is the DHS2 part of the toolkit. It's a JSON file. It basically looks like this. So it includes some of the things I was doing now with making category option for disaggregations, making data elements. It includes dashboards. It includes maps. All of these pre-configured things comes as part of this toolkit. So if I now go back to my DHS2 and import this, so we see it's creating lots of stuff here. That was just a test import. I'll do the really import and we'll see what happens. Looks like it finished. See if I remember all the things I need to do now. I need to, first of all, make sure that I have access to this program, which is done through the user groups. So in this case, I should be an administrator who can change the program. I also want to show the data capture. I need to specify that we're collecting this tuberculosis data from my Oslo org unit. Let's see if I forgot something. Here we have the TB case surveillance. I can start registering cases. Here, diagnosis. I can start collecting information. So that's sort of the idea with the toolkits. I have my DHS. I can make my own stuff. But if I'm doing something that others have done and that people I worked on with WHO or with UNICEF on what are the standards, and we worked with the DHS2 teams looking at what has been done in different countries coming up with a good design, we can share them through these implementation toolkits and make it possible for others to use them by importing into the DHS2. So continuing with my Lego metaphor, the idea here is if I know I want to build this penguin or bird, I don't know what it is. If I know what I'm building, we can provide through these toolkits some instructions on how best to do that in DHS2. So working with WHO and UNICEF, others, to see what are the things that should be included, what are the key indicators, et cetera. And working with the DHS2 experts, what is the best way to model this in DHS2? We can put together a toolkit that has some guidance on how to do this. We can make a DHS2 instance available where people can look at the demo to see how it works. We can include these JSON files, what we call the metadata packages for people to use in their own DHS2. We can make training material that can be used along with this toolkit, et cetera. So what we say as a minimum for these toolkits is that we at least have some guidance describing how you address the use case in DHS2 and ideally also a demo. The metadata packages is what we refer to with this JSON file I was just showing, the actual configuration of the DHS2. So that's one component of the toolkit is the part that you install in the DHS2. So that could be what we call a common metadata library, which has some basic attributes like data birth names that can be reused. It can be just analytics, dashboards, indicators that you can link to your own data collection tools. Or it can be the full data sets or programs with all the data collection. So the idea is, yes, you have DHS2. You can build whatever you want. It's an empty box. But then we also provide these toolkits, which has sort of a use case, something you want to build. It includes instructions. It includes all the metadata, the parts you need. And then we have the demo, which is showing you how this works in real life in the daily use. So that's the toolkits. And like I said, it's something we're collaborating with WHO, UNICEF, others to develop. So we have this is just an example of the areas where we have toolkits, HIV, malaria, TB, community health, EPI, CRS we've talked about, nutrition, et cetera. So with this, we take the guidance that exists around the health areas, turn them into a toolkit that can be used in the national DHS2 implementations. So seeing that we're running out of time, I think I've covered most of this. So it includes the key content in a modular way. So you can sort of pick and choose. We take the immunization toolkit as an example. It includes the immunization registry for doing case-based follow-up of children. It also includes the monthly reporting forms. Includes a stock component, for example, for doing the facility level logistics. And then countries can pick and choose what is relevant for them. So just a few example, malaria toolkit. We have two modules depending on the situation in the country. Some countries are in what they call burden reduction, so they have a very high malaria burden. The focus is on reducing the cases. Other countries are in the elimination phase. They're trying to completely get rid of malaria. So there are different modules depending on the situation in the country. And in addition, we have the case-based modules for malaria elimination. Then we have the configuration in DHS2 and the training material. I think we mentioned many of these, especially on Monday, Tuesday, we talked about the different health areas. We have the same for tuberculosis. For data quality, we have the session. We have the toolkits for data quality with the standard metrics, dashboards, et cetera. So that's something you find on the DHS2 web page. You can have a look at what is available and how they can be used. So the last thing I wanted to say is sort of a clarification. I think it's very easy to get these toolkits, very useful. I don't have to do all the configuration. But you shouldn't just assume that because you're using DHS2 for a health area where there is a toolkit that you should use the metadata that comes in the package. You can also build very nice things, even though they sometimes look a bit funny, like this panda bear here. You can build things from scratch for the same sort of use cases that we have in the toolkits. And it might be a better solution for you. So you really need to consider, is it actually useful for me to take the JSON file with everything pre-configured compared to just using the guidance and looking at sort of the design advice that is in that and rather building from scratch yourself. So summarize these toolkits meant to help countries improve data quality analysis use developed together with some of the global partners, WHO, UNICEF, available for a lot of programs meant to be used together in an integrated way. But you really need to think of for each implementation, what is the best way to use this? Is it just to look at the guidance, the examples, or is it to actually use the content that comes with the toolkits?


Hey, YouTube team keep it clean. What's going on the same grave and hit with another video and in this video Offseason mode is official now for everybody Well, except bucks fans bucks that they got plenty of celebrating to do but anyway, congrats to them Moving on Super Bowl was last night. Well Ravens offseason started a lot earlier. Unfortunately, but they've already began making moves and one of these moves that they made was signing Re-signing Devontae Harris now Devontae Harris was somebody that they had actually Signed in the middle of the season because they cornerback depth like it always does It just took some nasty hits Throughout this season and I know y'all hate reliving this list, but hey, we got a goal of it. We lost Marlon Humphrey We lost Marcus Peters. We lost Jimmy Smith. We lost Tavon young We lost even Marshall. We lost Khalil Dorsey. We lost to rail bonds. We lost Devontae Harris He was actually on a list of people that had got hurt the list of corners that got hurt So Ravens that they're starting early. They're trying to ramp up early and it makes all the sense in the world And now Devontae Harris he had led a lot of people to believe via social media that he was coming back He gave all these signs that he was coming back But now it has been made official No Ravens just announced it it was actually announced last week that he was re-signed, but Ravens they just announced it today So congrats to Devontae Harris. He is somebody that he he played a little bit and sometimes it's a little bit rough I got a little bit rough out there But there was one play. Oh, I think he was in the Browns game Where he had got beat, but then he had an amazing recovery and it was just it was a beautiful play to see I loved it. I loved it. But anyway So this gives him an opportunity To not have to worry about the whole free agency process not have to worry about oh man. Well, am I gonna end up next year? He's with the Ravens So he'll be able to compete in training camp for a spot And of course he did the starting spots are already taken up And it's not a guarantee that he even makes the roster But this gives him a training camp home for the foreseeable future when that time does come So he can I mean, I'm sure he's already working out and preparing and all that But once it's time to get rolling he already got a squad now I still expect the Ravens to make more moves at the cornerback position because You can't in my opinion Love Jimmy Smith. Love Tavon Young, but you can't go into this season Relying on them love both of them love what they can both do on the field, but we know their history and You just got to have more ammo at the cornerback position and Ravens know this better than anybody Based off of what they've been through And the way that they've been constructing their teams over the past couple years They've been loading up at cornerback because they know all it takes is to lose one and things can change like that So I expect them to get At least another outside claim you still got your guys coming back that were hurt last year And Tavon Young he's on schedule to be back on time But I still think they still need to get a slot corner They need to get somebody who can play that slot. They really do Because while Tavon Young is an excellent and amazing at what he does The injuries just they they take over man. They take over so Ravens still they can address this via free agency. They can address this via the draft They can do both they can double dip But they they definitely need to load up at cornerback. Anyway team keep it clean I love your questions from subscribers. We're probably gonna drop one maybe tonight Let's see how things go But look out for questions from cuz I've been seeing y'all been sending a lot of questions from subscribers and again 99% of y'all send it to the correct email. So thank you to 99% There's always that 1% that want to send it to the wrong email. So when they looking for their questions They're gonna look and be like, hey, man, what happened to it? Well, you'll know why Anyway, team keep it clean. I appreciate y'all. I love y'all and like Devonta Harris won't be when it comes to him being with the Ravens Well, at least off a training camp. I'm out