Malozi Gigabo 425 exposed by parents of a 17-year-old girl he was sleeping with in 2017. Parents of 17-year-old Pretoria High School student exposed Malozi Gigabo. He was sleeping with the teenager in 2017 when she was 16-year-old. He sent her a lot of money and the parents got suspicious. The day they found out it was him he just dollar-threasted her a picture of his 425. Now the parents exposed him because he also gave her HIV. Pretoria parents of a 17-year-old girl who want to remain anonymous are very angry. They say Minister of Home Affairs Malozi Gigabo took their daughter's virginity and gave her HIV when she was only 16. The father of the teenager said he the day he found out a grown man was sexting his daughter pictures of his PENIS he took screenshots and went to the police. The police told him his daughter was not underage and there is nothing they could do. I also received death threats a few hours after I tried to open the case. I also received death threats a few hours after I tried to open the case. I let it go but now my heart is broken because my only daughter is now HIV positive. How do we know that he did not deliberately gave her HIV? How do we know? Said the father. We have the copies of the screenshots the parents try to use as evidence click the links below to see uncensored version of the pictures.


All right ribbon a box here for Jason H. Got a 2022 clearly authentic baseball hobby Appreciate it. Jason. Good luck me. Let's see if we can get you like a big rookie, right Bobby. Wait, maybe see the Abrams Yeah, you could auction it off. That's another way to oh, I called it Bobby wit jr 5 of 50 Jason congrats on the Bobby wits or just card there. Let me see if I can find Bobby wit jr 5 of 50 Sick card there. Hey, thank you Jason. Congrats, buddy. We'll get that right out to you


So we were late because we thought we were in the giant ballroom like the really huge one where the keynotes are. That's not the case apparently these are not quite that popular of sessions. My name is Matt Calger. Max and I ran the selections for this for this session in series of sessions. I don't know if any of you know him. He kind of just wandered up and says he's a doctor or something. All right so Max, as Matt said, sometimes I go by Dr. Max, but what's more important is that we ran so the set of presentations you're gonna see in this session. So what we want to do for five to ten minutes is to kind of give you an idea of how we did this because I think what's fair is to make sure that not only you understand the process but of course you give us some feedback and I think a lot of you probably also submitted maybe some of you so understand maybe why yours wasn't selected or maybe why yours was selected. So briefly so I was introduced to Matt sometimes last year I guess by the foundation and asking hey would you want to do this thing and I mean part of why you know sometimes I use Dr. Max as a surname is because I was in research right so being in research I spent a fair amount of time running conferences especially like academic conferences. So I knew what I was getting involved in to kind of lead a track because I ran entire conferences. One thing I wasn't ready for is the number of submissions. So for this track even though the room is kind of sparse and hopefully people will be walking in we had close to 300 submissions. It was like 290 somewhere in there. Yeah and of course you know usually in an academic conference I would have an entire program committee which you put together that would be like close to 30 people to review. It wasn't the case here it was just the two of us pretty much. So what we did is to kind of look at the of course you don't submit the entire paper or an entire presentation you submit an abstract. So briefly what we did is we used Google spreadsheet and essentially reviewed every single submissions. Every single submission. So if you submitted something you must have gotten some score of our review but also some comment because one of us did comment on every single one. So you think of 300 of course a lot of late nights especially towards the end because you know we have day jobs as well. So that's kind of the process. I don't know if you want to add anything to this. To me I think that the the hardest part of the process or the most clear part of the process was that you know Dr. Max works for IBM I work for Dell and the most important thing that we can do is remember that this is a community event and so the first thing that both of us did without even discussing it was to remove the submitter column because that's the value is in the in what's being submitted and of course with enough time in this part of the the industry you can probably figure out what some of these where some of these people come from but the most important thing is that is is that we really focused on making sure that we were evaluating things based on what the abstract said and we really had no other information than the abstract. So as a hint for the future if you were submitted and you didn't get selected I'm very very sorry if you submitted a minimal abstract that was a that was a tough thing to deal with. Okay so really good abstracts mean better chances. One more thing I'll mention about this anonymity I guess process that we tried to do is that sometimes just because I've worked with pretty much all parts of Cloud Foundry I recognized a project and in this case you can ask Matt I basically stayed out of it and of course I in collaboration with another colleague from IBM had a submission too and I stayed out of it so you can rest assured that we were not voting for ourselves or for our company. So one more thing we want to do I guess yeah I think there's there's a whole ton of I think what do we have 12 or 16 sessions that ended up making it through that's right I think that they are all really great sessions there was the number of sessions that were sort of above the bubble we eventually ended up stack ranking things and picking what we could fit in that being said we all have our own interests and preferences and areas and so to me the two sessions that I think are fascinating that I will definitely not be missing the first one is a discussion of serverless kinds of architectures functions as service kind of architectures within Cloud Foundry to me that is probably the single most interesting thing that is missing from the platform to me today so I'm really looking forward to that presentation by Max and one of his colleagues yeah yeah and the other one is dynamic tracing that work being done having run a SaaS platform in the past a very large one dynamic tracing or tracing through an entire stack was effectively impossible for us so I'm looking forward to that one particularly as well cool so for me there's a couple sessions that I want to highlight that I think are super interesting so one is how many people here have looked or is looking into Kubernetes yeah so it's kind of a hot topic these days blast for me so one of the cool thing that's happening this conference as you might have heard yesterday is that Google is helping out or joined as part of the Cloud Foundry organization and part of why they're joining is because they realize that you know Kubernetes doesn't do day two operations and having spent a lot of time working with the Bosch team I know what Bosch does very well so the Kubo project is sort of this let's take Kubernetes let's bushify it and make it easy to deal with day two operations and I know a little bit about it partly because not only having reviewed it but also because they've submitted it to the extension PMC which I lead and I got to spend quite a bit of time with them so I would say if you are interested in Kubernetes this is definitely a very good one to to spend some time on I think probably that's the one I would highlight so let's see if you guys have any questions otherwise we'll start the sessions right I think that's the next part


There's a powerful David versus Goliath lesson emerging from Russia's brazen, unprovoked invasion of Ukraine that should give deep pause to global superpowers who think they can simply muscle the world into whatever shape they want. Every Russian tank that gets fried in Ukraine is sending the message that traditional armies can no longer expect to dominate simply because they have more troops, weapons, and money. Russian armored vehicles are falling victim to next generation light anti-tank weapons and laws which can be carried by individual soldiers unslung in seconds and deployed with little training but deadly accuracy. There are credible reports that Russia has already lost five billion dollars worth of military equipment in just a month of fighting in Ukraine. That's the reality of contemporary warfare.  Despite being the fifth largest fighting force on the planet and starting the war with five times the number of active military as Ukraine, Russia has been stymied in what virtually all observers expected to be a cakewalk. The human cost for Russia is even more staggering. Nearly 10,000 soldiers killed in action, including at least five generals, which isn't to say that Russia isn't also inflicting massive horrific violence against Ukraine or that it won't prevail in this conflict, especially the longer things drag on. But this war underscores what James Dale Davidson and Lord William Rhys Mogg called the changing logic of violence and the diminishing returns to violence in the prophetic 1997 book The Sovereign Individual. As weapons have become smaller, cheaper, more effective, and more widely dispersed, it's harder and harder for old-style militaries to quickly and effectively achieve their objectives through brute force as they meet resistance at every turn. That resistance includes information warfare, such as hacking and cyber attacks, but also the use of social media, which Ukraine's President Zelensky has excelled at to project an aura of invincibility and to cast the conflict in stark terms of good versus evil. This lesson shouldn't be new to Americans as our failures over the past two decades in Afghanistan and Iraq underscored the new reality that old-school invasion and occupation is more expensive and temporary than it is quick and effective. But Russia's incompetence drives home and graphic detail to us, and one hopes to the Chinese officials supposedly eyeing an invasion of Taiwan, that even if Goliath does take out David, the price is too high and the victory too transient to bother undertaking. If the collapse of the Soviet Union, that gargoyle incarnation of belief and top-down authority, power, and decision-making was the beginning of the end of the 20th century's romance with the nation-state, then Russia's blundering in Ukraine and the U.S.'s in Central Asia and the Middle East may be its epitaph. The future belongs not to the ignorant armies of the night who seek to command and control, but to those who embrace and empower the decentralization of weapons, technology, information, currency, and individual ingenuity and courage.


Hey guys, I'm Shannon with Come Again TV and today on the show we're going to be taking a look at the Hollywood Spotlight Collector's Edition, Superman, 80th Anniversary Celebrations. Make sure you stay tuned to check this out. Collector's Edition, 80th Anniversary Special of Superman, the ultimate guide to the movies, TV shows, comics and more. Got a nice display image there of Christopher Reeve, the most popular of the Superman with the animated version of Superman there. Lowe's and Clark, the new Adventures of Superman, a superhero's super romances. What's next for the Man of Steel? And saying goodbye to Margot Kader. I was at Walmart the other day, saw this, decided to pick it up. Here's a nice looking picture of Brandon Routh flying around the Earth and Superman returns. Brandon Routh played Superman just once. The film was a disappointment as the box office but remains part of a very exclusive fraternity.  Turn the page to find out more. Here's the contents. You've got Superman, the animated series. You've got the George Reeves version of Superman, the Christopher Reeve and Margot Kader Superman and Lowe's Lane, Superman memorabilia, Superman's creators, Lowe's and Clark, Brandon Routh. Forever First, the greatest superhero of them all is also the very first of them all and he ushered in a brand new era that's not accurate. If you guys go back to our video on who was the first superhero, you will see it was not Superman. It was actually the Scarlet Pimpernel and the first comic book superhero. There were a few others before Superman, I can't think of them right off the top of my head, but Superman was not the first though he was the most popular and the most long-lived. In the beginning, the creation of the Man of Steel and how he went from a teenager's flight of fancy to one of the best known characters in literature. The creators, you know the story of Superman but how about the two Cleveland kids who created him? The comic books, just as the world has evolved over the decades, so have Superman and the funny books that launched him. The cartoons, nobody gets animated quite like the Man of Steel as evidenced by all the shows he's starred in through the decades. Circle of Friends' Ever Great Superhero has a great supporting cast and Superman's Ensemble is one of the very best and then it goes on from there. Lowe's and Clark was actually one of my favorite incarnations of Superman, but again nothing beats Christopher Reeve. I liked Lowe's and Clark simply because it came out at a time when I was growing up, never missed an episode. I really enjoyed the show. I had a super crush on Terry Hatcher, seen from Superman the Movie, where Mom and Pa can't find young Cal-L from Man of Steel, Joe Schuster and Jerry Siegel in the 1980s after they had reached an agreement with Warner Brothers to give them proper credit and an annual stipend for creating Superman. Superman's True Fathers.  Some comic books here, I actually used to have that one there. This was a post-crisis first origin story for Superman. I'm not going to talk about every single page. I'll let you guys buy a copy to read it, but here you have Justice League, which later evolved into Justice League Unlimited, old Max Flesher cartoons, Hannah Barber's Super Friends, Superman Aquaman Action Hour. I didn't really care for Amy Adams as Lois Lane until Batman v Superman during the infamous bathtub scene. Every fanboy in the theater looking up, trying to get a glimpse at a, you know, we got Super Girls there. They did great job casting for Perry White. Got Cat Grant there, you got the Legion from Smallville, got the Max Flesher Superman, George Reeve, Christopher Reeves, no relation, Dean Cain. Brandon Ralph, I don't understand why they made Jesse Eisenberg Lex Luthor.  Brian Austin Green as Metallo was a pretty decent casting choice, not perfect but decent. Again, I don't know why they rushed the Doomsday character in Batman v Superman. Again, I loved Lois and Clark, The New Adventures of Superman. Who didn't love Terry Hatcher back in the day? She's still a very attractive woman. I remember only really seeing one, maybe two episodes of Gerard Christopher Superboy back in the day. I caught almost every episode of Smallville, but here we have the story of Christopher Reeve, Margo Kitter, George Reeves, Bud Collier, Kirk Allen, Dean Cain, Terry Hatcher, and Brandon Ralph. Kate Bosworth was an okay Lois Lane, she was what you would expect Lois to be. So she did great until they brought in the whole Superman son storyline in the movie. That part really, really sucked. But no, the actors did a great job in the movie. Henry Cavill and Amy Adams, Amy Adams, decent, decent version of Lois Lane. She probably should have had darker hair though. Overall, I'd say Kate Bosworth did the best in the movies. However, Terry Hatcher is by far the best Lois Lane. Hands down, period. Even better, I'd say even better than Noel Neil or Margo Kitter. I just, I loved Terry Hatcher as Lois Lane. She was the ultimate Lois Lane, in my opinion. Some of the people who were up for the role of Superman talked about Clint Eastwood being Superman and Dustin Hoffman, but ultimately Christopher Reeves got the role. Not bad, not a bad issue at all. I have not read it all the way through yet. I've just kind of looked at it, browsed through it a little bit here and there. I do recommend if you're a comic book fan, Superman fan at all, pick this up, $13 here in the US. All the new stands everywhere right now. Pick it up, Hollywood Spotlight Collector's Edition, Superman 80th Anniversary Special. We have a lot of videos and playlists on this channel, so if you enjoyed this content, make sure you click here to visit our channel. Hit the subscribe button and the notification bell so you don't miss out on future videos. Click here and here to check out one of the many playlists we have.


So let's start again, I'm Krzysztof Kosowski. I introduced myself already. So the presentation of the device tree bindings in the Linux kernel. I will shortly talk about the bindings. The expectation is that you know a bit about the device tree sources and the bindings. Then the core would be about the new format of the Linux kernel bindings, so the DT schema. The core presentation is dos and don't, so kind of tricks, which will reduce my review time.  I really hope that I will review less and faster of the submissions of people who wants to have their bindings in the kernel. The talk finishes with reusable patterns, references, which I will not be here describing, but I leave them in the presentation. Feel free to grab the PDF from theskete.org and use it in your work if you ever need some of these references. Okay, so device tree bindings and device tree sources are used in many projects. This talk is focusing on the Linux kernel implementation. So there are some differences. This is from my point of view. I build this mostly on the reviews I received and also from the reviews, which I saw on mailing list. And this talk is kind of short, even now shorter because of the technical problems, to which I apologize. Therefore, if you send some patches, you might have a bit different reviews than apologize for, I mean, the review on the mailing list supersets is more important than what I say here. Okay, so the bindings in the device tree. Device tree sources, so DTS, is the way how we describe the hardware for the Linux kernel or for the other, several other projects. And the bindings are the ways, is the rule how DTS should be constructed. It also describes some kind of, let's say the interface, because it's used for several different projects. So it's not only Linux specific. It's not implementation specific. For the older time, we wrote the bindings in text format without any structured way. And the new way of describing the bindings is the DT schema, which is using the YAML as a language itself. It has several benefits, this new format. One of the questions he was, because it allows us to validate the bindings and then against the core schema, metal schema. And it allows us to validate the device tree sources against the bindings. Therefore, to find whether the bindings are correct, of course, assuming that the bindings are correct. All the bindings would come in DT schema. You are still free to do some minor changes, like adding compatibles. However, adding in properties usually is not accepted. So you have to first make the work to convert the bindings from the text to the DT schema. This is the example. So on the left side, there is a, on the left side, there is some device tree source, there's a SPI bus, the SPI bus has one ADC node. It has a compatible unit address, REC, and so the address on the bus and has a regulator supply. On the right side, there is a corresponding DT schema bindings. I removed some boilerplate code here, it's not important. We start with the title description, which described the hardware. So this is some analog digital ADC, something with temperature sensor. We have a list of properties. We expect three properties, the compatible, which should have some specific value, like that one. We expect one unit address on the bus and we expect the supply, which is a regulator, which is optional. Why it's optional? Because it's not mentioned in a list of required properties. Required is only compatible in the REC. Entire set finishes with additional properties false, which has a meaning that no other properties can appear here. I will also describe the meaning behind these additional properties later in the presentation. What are the generic rules for the bindings? We already have a document, so I will here briefly describe, say what we already have. Hopefully, if you ever submit a patch, then please read the document fully, don't rely only on my presentation. So the same as device resources, the bindings should focus on the hardware. DTS describes the hardware, the bindings describe DTS, therefore also it's a hardware, not a implementation, especially that the bindings might be used in different projects. The linux kind of bindings are used in U-boot, are sometimes used in openBSD, freeBSD, many, many, many places. For the same reason also we prefer not to use linux-specific sub-system naming in the bindings. There are a few, let's say, not hardware related, like Deathwreck or Xcon, there are more linux-specific, so avoid them. We want the bindings to be dual-licensed, so GPL2 and BSD, for the same purpose of re-user in other projects. We want the filename to be based on the compatible, so usually the file should be named like this vendor with a device or vendor with a sort IP. Pretty often your driver comes with a header, which is also part of the bindings. Therefore, you expect this also to be dual-licensed, we like it to be also with specific filename. The bindings should not be mixed with the driver code, we expect it to be as a separate patch, preferably at the beginning of the patch set, so the driver code can be in the patch set, but not in one patch, not in one comment. More about the compatible, so this is actually one of quite important properties of the device resource. Compatible, like many things in the bindings should be specific. What does it mean that specific? First of all, we don't want any wildcars, or family names are usually also thrown upon, so the family name might require that you have a specific, other compatible in front of it. The bus suffixes for the compatibles also don't make much sense, because the bus, what the div, it's kind of obvious from the note which is enclosing the device on what it is the bus is. Linux has two specific compatibles, Syscon and SimpleMFD, I'm not sure they are used in other projects. They have a meaning in the Linux, and they are not specific enough, therefore they require a specific add-on. Usually they have to be prepended with a device-specific compatible, like in here the Qualcomm for this. SimpleMFD is very another special compatible, which has its own meaning that you can instantiate devices, children for which they don't depend on any resource that you have. It's for really simple devices, so for example if you have some clocks or power domains, then it's not for the SimpleMFD. It's only for the cases when the devices don't rely on anything of the parent. Other rules, so we focus on the hardware, I actually mentioned it before, but not exactly on the programming language of the device. So the typical example is if you have a voltage regulator and it has some minimum voltage, then the property should be expressed in the logical units, which are microvolts, not in some enumerated values which map to the voltages. Why? Because it's really much easier to read these microvolts, and it's much more partable. For example, if you want to support another type of device, let's say from the same family, which has a bit different mapping of this one, two, three, to some other voltages, so voltages are much more portable. The DT schema, so we have another dog explaining how to use it, so just I refer to it if you really want to try it, but actually it's very straightforward, so the DT schema is written in Yaml, which is pretty nice in the going language. You start it with just you have to install it with the Python package, and then one command, make DT binding check, can test your bindings against the meta schema. You can limit which bindings should be tested. You can test all your DTBS against one binding file or several bindings files, even all of them, so this is the target DTBS check. There's also a way to test one DTB against one bindings or another combination like that. Do and don't, and this is, I hope, the most useful part of this presentation, at least for me, because this will offload my review time, so this is the selfish part. The properties in the bindings, so pretty often you need some property, and pretty often you can find the standard property for it, please use it, don't invent the wheel. Where to find them? Maybe you can find them in the device tree schema repository itself, or, for example, for the GPIO, typical consumer property, like reset GPIOs, enable GPIOs, we also have the bindings, which express them, or just look at the other common parts in other bindings everywhere around. You will still need custom properties from time to time, and custom property has its own requirements, so usually you need a vendor prefix for it, so this foo behind the comma, you need a type, I will also speak about the type in a second, type is expressed with a reference, and you need a description, so this is the total example, how it would look like, so there is a Qualcomm prefix, there is a type, this is assigned integer at 32, and there's a description explaining what is this, this is in the case of number of samples. I said that you don't need types for certain cases, so the type, which is this ref, you can skip it if you have a standard, you need suffix, so the suffix means in the property name, like this microvolt, there's a list of them, here is the link, if you have two checks, or where such properties are already described by the core schema, or any other core schema. These are the examples, so the first one is entry, late in c us, us is for microsecond, therefore it's standard to need prefix, no need for type. To others is like a supply, which is also regulator, it is a pattern coming from the core schema, again no need for the reference for the type, the third one is interrupt, as well defined by the core schema. It even lacks description, and I will also mention later why it's lacks description, this interrupts part. So we are going to the arrays, like this interrupts, this is like quite common property, when you have clocks, reg, power domains, interrupts, DMAs, IOIOMs. The main requirements for such properties are they are strictly ordered. So we have kind of a helper for them, which is like with the names, so clock names, interrupt names, DMA names. Therefore the Linux implementation pretty often grabs such resource by the name. However, this is just a helper, and it does not remove the obligation that the array is strictly ordered. If you use this kind of helper, then make it specific and then don't add there any obvious suffixes, like if it's interrupt, it's just tx interrupt, not tx IRQ, no point to add IRQ. And both of them, so the clock names and the clocks, interrupts, interrupt names have to be strictly ordered and constrained, so by the size and by the order of that. That's actually obvious. How to make it the easiest way? Like that, so we define the clocks with, which is an array, an array with two items. This, the items are ordered one after another, so the order is fixed. The clock names come as well, and we expect specific names as these clock names. There are also other ways to define the arrays. So it depends on your case, this was one way. For some cases, you don't need to define the minimum items. I mean, if you have an array with, let's say, obvious items, then you can just skip the description of these items and say that you have max items too. If you just write max items too, means that min items, so the minimum number of items is the same. The reset names, in that case, have to be explicitly mentioned and described. And this is the case which I described before about the interrupts, the easiest if property is obvious, like reg, interrupts, just say max items, one, and be it. If there will be more items here, it's not the obvious case. Another typical property is syscon. So I mentioned before about the syscon compatible. Syscon compatible is a provider of a syscon, of a syscon, let's say, which is the way to access the registers from other blocks, and syscon property is the way, as a consumer of it. So there's a pretty often such syscon property, and syscon is not specific enough, it requires something more. So it should be descriptive. It should have a vendor, it should have a proper name, and it should have a description. The example there, just syscon is wrong. Please go towards this direction, so other vendor prefix, like Samsung, other sysrec is short from system registers, so some kind of descriptive name and the description. There's also a better way to show it. So this is a bit more complex example, where you, because syscon is a p-handed, so it's a kind of pointer to some other node. In that case, we use a p-handed array, and we define what type of items we expect in this array. So we expect only one item. However, this item is still an array, so it's another incident array. This item consists of two items. So one is the actual p-handle, and second is the offset, and it follows the description of entire property. So this is more complex way and more specific way to describe the syscon. I mentioned in the beginning that your schema finishes with additional properties first. So additional properties and unevaliated properties are the way, how do we control that, how do we control, how the bindings see other properties? So the properties are unexpected, how they will be handed. So usually in your case, you will just use one of them and set it as false. So additional properties false or unevaliated properties false. The simplest case will be looking exactly like this, which is pretty similar to the example from the beginning, like you list the properties, you list which properties are required, and you finish with additional properties false. And if any other property appears here, which is not listed, you will have an warning and you will have an error. There is a bit more complex way, let's say for other cases. So pretty often we reference other bindings, other schema. The example shown on the screen uses the panel dash common, so it's on some panel driver and it references common panel properties. In that case, we still can use additional properties false and this will accept only the properties listed in this particular schema. And other properties coming from the other, from this panel dash common, have to be explicitly mentioned as well. However, you don't have to describe the type, the constraints, the description from this other schema. You just have to say that it's accepted from the other one and this is expressed with this backlight true and reset GPIOs true. The description, the constraints come from the panel dash common. So the example looks like also finishes with additional properties false. And finally, we have unevaluated properties false. So this is for cases when you want to take all of the properties from the other schema. So in that case, it's pretty common for regulator.yam. Regulator.yam, Unux kernel has many, many properties and you don't want to list to which one are valid for your case or which are not, you just take all of them, like everything, give me everything. In that case, the appropriate way is to use unevaliated properties false and you don't have to describe anything different. So our first example of this panel dash common, we look like this. So we reference this panel dash common, we mention our properties specific to this device and we don't have to mention, don't have to describe the backlight, resta dpl doesn't matter because they will be coming from the panel dash common. When to use which one depends on your case. Pretty often, if you want to make it kind of extensible, then this unevaliated properties false is better approach. But if you want to make it really constrained and let's say you don't know or you don't want the other schema to be applied to you entirely, then you should use additional properties false. Depends. The stock is too short to describe all the cases. Bindings finish with the examples and we use these examples to validate the bindings themselves. Therefore, please provide always an example inside the bindings file and provide a useful example. Usually one is enough, no point to provide 10 examples, especially if they differ only by the compatible. It just doesn't prove anything. The example is intended with two or four spaces, which is a bit different than the Inuks kernel sources because everything in Inuks kernel sources is indented with a tab, so there's a difference. Preferred way is to use four spaces because it aligns nicely with opening character how this example start with. So this is how it will look like. If you have an example, hopefully you have, remove the status disabled, status okay, and this is pretty common thing that people copy the code from device resources to the example and this would be, of course, my complaint that please remove it. It's not necessary in the example. If you create a binding for a provider, like a clock provider, reset provider, so something which gives this kind of clock to others, you can skip the entirely, please skip the examples for the consumers because consumers are obvious. We have other examples of consumers. So just describe, give the example for the provider. How much time do we have? I think we still have some time. And the last thing actually is that in the device node names should be deneried. So this is also pretty common complaint from my site. The deneried node names means that it should represent some kind of class of a device like a ADC, so analog digital converter, not AD71, something, something, something. That would be it. The presentation goes further. So there are several reusable patterns for you which I collected over the time. The patterns, like how to require one property in one variant, so one of compatibles, but not in the other, how to exclude some properties, but one is required, how to exclude properties, but none of them are required. I will not go through them, just grab the PDF and find them and enjoy. There are also some references here. And that would be it. Pretty fun session. Maybe you have some questions. Is there a backstop thing? No, there is no microphone, so. What about the node names? Do these prefixes, when the name of a node so we can use the generic one, are they listed so much? So your question was whether the name of a node could have a prefix and whether there are some examples of these prefixes. Yeah, at least we get the class of the device that is always the same name. Yes, that's true. So the answer for this would be, I linked here, so device three specification has an, there's a link here if you click it, so has a generic names recommendation, has examples of the node names which you could use and also this could be a prefix for the name. And you had also second question. Yeah, about the compatibles. You are saying that you don't want the bus to appear in the compatible name, but that would make compatible being identical across different devices if we just use the subname, for instance, we would have a Vendorok comma subname for the favor, and same for the ice question, and same for the job controller, which is not very friendly from a user point of view. So far, actually, every time I had to reintroduce any compatible, I was always, I was sure that the type of device would be welcome in the compatible name, so I was a bit surprised. So your question, I'm repeating the question because the guys in internet don't hear you. So the question is that I ask not to put the type of the device in the compatible name, but actually you think that the compatible should have some type of the device name because it's useful for the people. So maybe I was not specific enough. You should not put the bus on which this device is into the compatible. So for example, don't say this SPI or I2C as that this device is on SPI bus or the device is on I2C bus. If it's an I2C controller, then I expect it's, yeah, that it's NXP, IMX8 dash I2C something, something. Okay. Next, for the verification. Anyone? Oh, great. So we were, I think, first here. Do you have advice or resources specifically with respect to graph findings? Because sometimes I find that the relationship between the devices in the board itself and the device tree binding that exists upstream, sometimes I'm working in a very strange hardware, which I cannot seem to match to the existing binding. I have made some attempts in the past to rectify these findings, but there seems to be a lot of blue discharge there with respect to the graph binding. Do you have some good resource or maybe I could be read in the device tree for education again, I'm not sure. So the question was whether I have a good example for the graph bindings or the bindings using the graphs. Specifically with respect to one. Specifically about one, too many. Therefore, unfortunately, answer is no. I can try to look and extend my presentation or maybe this will be reason to come here for the next year, but so far I don't have. Okay, thank you. Yeah. Anyone with the question? Back in there. Oh, the device can be connected in multiple buses. For example, I have, about one hour ago I was trying to find it upstairs, and I didn't, but I didn't send it yet. So, so. This one was accelerator meter at all devices, and it can be connected either to the FBI or to the I2D bus. And I was thinking that by adding this topic for the bus, it will inform the driver that because it needs the correct driver there, that which one needs to be broken to the I2D or the FBI device. So, the question is you have a accelerometer who is on the, can be on the I2D bus or SPI bus, and you actually think that adding the specific compatible for the bus would make sense in that case to help inox to prop. So, in the inox, it actually doesn't matter because the device is already on the bus. So, you just use the same and compatible, and if it's enclosed in the I2D bus, then it will be bound, it will be marched by the I2D bus stack. Therefore, it cannot be instantiated as a SPI device inside I2D bus. Therefore, the same compatible can be used for the both cases. And there are only few cases which are exceptions, and this is not the exception. I hope this answers the question. Anyone else? I think here, I saw in a hand up, no? I think everyone has solved it, though. Okay. Any more questions? Yep, one more there. I believe that Visual Studio Code has some nice plugins. Otherwise, I don't know. So, the question was whether there is a nice viewer for the YAML files. So, I would recommend Visual Studio Code. But, I'm not expert in the editors. I still use VI, so I'm happy with that. Any more questions? Oh, yeah. Yes? Example, so. So, I'll be also a parrot for the Intelian guys. So, it's not a question, it's a recommendation for me to add it to the Linux kernel. Yeah, a good idea, actually, I'm thinking about this. So, thanks for the idea. Indeed, the documentation in the kernel could be improved for this. Anything more? Yeah, please, here. So, the case is about the additional properties false when we reference other schema. So, I believe you speak about this example, right? So, this is for the case where the both two properties, so, the backlight and the reset GPIOs are already defined by either by a core schema or by the other one, so, by the panel dash common. In that case, it's accessible, it's effectively fine because the description, the type, everything comes from something else. Additional properties to true? Yeah. Yes, so, this is outside of the scope of this session. Yeah, this is useful for a few cases, for reusable bindings where you define binding which will be referenced by the other. Probably, I don't know, but probably panel dash common defines additional properties true. So, this is the case where you could use it. Brian, so, the question is whether you should always use all off or whether you should not use it. Indeed, I could add it, this is nice, typical case. So, the answer, when to use all off, when to don't use it, use always because the all off is a syntax for referencing other schema or, for example, for putting conditional. So, if something, then something. The example using it will be, I hope I have an example for this. True, so, this, if conditional could be enclosed in all off or not, both cases would work for the YAML syntax. I would propose to use that one, so, put it in all off. So, I recommend always, if you have conditional, always use all off. But then, what would you put in all off? Okay, so, that's the question. So, what would you put in the all off? So, the all off means that all off below conditions should be applied, and the condition can be, for example, other schema, so, you want other bindings, like this ref. This was this example with panel-common, so, if you want to reference other schema to be applied here, you include in the all off, if you have some if, then, else, or if, then, whatever, also put in the all off. Is this answering your question? Unavojtive properties.  In the property name, in the property type, you could, and the property type, you don't use all off. Just copy the example schema, and base on that. The...  But, thanks for the question, quite tricky topic. Any more questions? Yeah, here. So, the questions whether the DT binding check can look for this, dos and dons recommendations, I mentioned here. Oh, patches are welcome. I'm not sure if I would be able to code it. I mean, it's quite tricky, but, yeah, it's the DT schema, so, the tool which performs the validation of the bindings of all the stuff is written in Python. So, it's pretty, let's say, many people know Python. Yeah, but we always, I think that in this kernel would benefit from people writing more tools than not to say that in the kernel code, so, patches are welcome. Or pull request, because it works also on the GitHub, so, you can slide, slide, wing. Yeah? This is just a curiosity. Sometimes, I see in the bindings, these are compatible, which are useful for particular bindings. And sometimes, these compatible, they are embedded in, let's say, different things. So, you might have a list of items, and then there will be some other construct. Now, it's taking me, what it looks like exactly, but I have always wondered why, I don't just have a simple list of compatible things. Why is it without any different examples, plus? So, the question is, when we see the list of compatible, sometimes it's just an, for example, anum, or it's items, or one-off. So, I don't think that I have a nice example to express it, and therefore, you have to believe me on the, yeah, I would have to open some code. So, the answer to this is, depending what do you want to achieve. So, the typical case is anum, which means, like, anumerate. So, list the compatibles, which can be used independently. So, either this, or this, or this, or this, might not end. Or, it's like exclusive or, actually, so. In the other cases, you have a list of compatibles. So, like this compatible Cisco, or SuperMFD, has to be followed by a device-specific compatible. So, you have a list of two, always two. And then, therefore, use items. And sometimes, you have multiple combinations of it. And then, you have to use one-off, and then describe, specify, what is this one-off should be valid, what is the combination you expect. So, items is a list, anum is enumeration of, so, that's one, from this enumeration, and one-off is a combination of few of these options in one schema. And, I'm not sure, this example. Is one-off to contain sub-enum for sub-enum. Yes, yes. And the question in the back. In parallel. So, how do you evaluate many different DTBs? The tool that make DTBs, I mean, you run the target, make DTBs check, and it runs all possible schemas on all possible targets, or all possible DTBs, which are now compelable. And you can restrict it if it's too much. So, probably, we'll go to the beginning of the presentation to answer this question, which would be a lot of scrolling. Like in my fingers, used to clicking. So, that's the example. And this is the line here, make DTBs check, and you could skip the DT schema files, and then the check will be everything on everything. I mean, all the bindings on all the files. Question here? I think the chrono DTBs. So, the question was how to match which schema, which is a note from the DTB. Right. Yeah, in that case, the matching, yeah, this probably was the question. So, the matching, do I have the example here? Not really. So, the matching is done by compatible. So, more complicated way is, there is a keyword called SELECT, and you can find such SELECT in the bindings itself. If the SELECT is missing, there is a kind of implicit SELECT by the compatible. So, the devices schema tools are looking for the matching compatible, and when they find the matching compatible, then they, okay, so, we apply this schema. If not, then we go forward. Any more questions? Great. So, thank you for coming. Yeah, I hope it was useful, the presentation online, and yeah, have a nice day.


Words at War A regional broadcasting company in cooperation with the Council of Books and Wartime presents another program in the widely discussed series, Words at War, dramatizing the most representative books to come out of this great world conflict. Tonight's book was written by Oscar Ray, who tells the exciting story of an Alsatian soldier who escaped from the German army through the device of pretending to be sick. And then, but listen to the story, it's called Borrowed Night. Someher in Europe, a tired, weary-faced man, writes a letter to a friend. My dear Flick, I don't know if you will ever get this letter, but because I promise to let you know how I made out if I possibly could, I must write it now. No one could have foreseen all that has happened to me. I would never have dreamed those German doctors could be so infernally clever. You remember when the Germans forced us Alsatians into their army?  I'm not brilliant, but I was one Alsatian that wouldn't stay in their army. I'd get out, some way I'd get out, I had to get out, and then I had it. There was a way. It was dangerous, but I would try it, malingering it. Yes, that was it. I would be a malingerer. It was my life, and I was going to pit it against the vaunted German medicals. It was safety in Strasbourg, or death on the Russian front from a German firing squad. My disease, traumatic neurosis. I had but to learn by heart the symptoms. One, excessive perspiration at night. Two, dizziness. Three, an incurable distortion of the truth. Insane lying. I don't planned. Lack of food would induce dizziness. I wouldn't eat. I would dip my shirt in water and then put it on for the night perspiration. And the lying, I would remember to lie. Now I was ready. I just couldn't get caught. There was no halfway job about this business. If the doctors weren't convinced, I'd be branded as a malingerer. And that, my friend Flech, would mean death. I managed to get into the hospital. It was a horrible place. Cold, and cheerless, and smelling of yonder form.  From every caught up pair of eyes stared at me accusingly. I stared back. A short, fat man sidled over to me. His name was Wagner. He acted peculiarly, but they all did. From their conversation I gathered that everyone suspected everyone else of malingering. The occupant of the bed next to mine was named Bents. A young fellow, a flyer. He got up and walked to the foot of my bed and examined the chart that hung there. My name is Bents. I see you got traumatic neurosis. We were discussing that disease only this morning. How did you get it? I'm not sure I fell off a truck. Maybe that was it. Hmm, traumatic neurosis. He has traumatic neurosis. What's wrong with that? Oh, nothing, nothing. One volt you will soon find out whether he has or not. What are you in for, Bents? Not much, an infection on my thigh. But it won't heal. I'm better off than the others. Take Wagner there. Which is he?  The one writing the letter. Wagner is the smartest one here. But when he has his attacks, he's as crazy as a bedbug.  Oh, traumatic neurosis. King of all diseases. You're safe. But if they find him suspicious... I've got a nervous ailment, too, so I know something about them. It'll be sent home. I hope the doctors feel the same way. What are you telling to newcomer? That is Karl Mummel. He has the bed on the other side of mine. He thinks he has a bad heart. Hasn't he? Who knows? You knew one. You've come to the hospital for treatment like the rest of us. They will try and determine whether your illness is genuine or provoked by external means. Ah, get up. I am only trying to set a newcomer straight. Take the case of Schmidt in the back next to Wagner's. He has jawned this. There is no mystery about it. If a tricky fellow took something to provoke the abnormal functioning of the liver... Mummel, Mummel, you come here. Don't get excited, Schmidt. I didn't accuse you.   Mines! Dear Schmidt, you may find that biting off one's head is the easiest way out. It was Dr. von Moltke, the head of the hospital, because he made his rounds and patients watched him carefully, like birds watching a snake. Suddenly he stopped in front of Benzer's bed. Dr. Ross, why isn't this man been operated on as I ordered? He refuses to allow an operation, Dr. von Moltke. He insists on going home to Berlin to have his family doctor do the operation. His father is high in the foreign office, sir. I don't care where his father is or what he is.  He's doing something to keep those sores from healing. I protest that, sir, and I will ask you to remember that I am a German airman. What? My own son fell in Poland. He too might have sought refuge in a hospital. To escape the dangers of war. But he died. He gave his life. Get out of bed, thence. I want to thoroughly search. Nothing was found. The nervous tension was mounting.  What would I tell him? My own story was slipping out of focus in my mind. And then von Moltke's voice struck again. Well, Mame? Heil Hitler. I respectfully report a commandant. I am suffering from heart trouble. I should say I inherited it from my mother, a nervous, slight woman. I know. You told me that before. I am an official, an assistant curator of the Hitler Youth in Augsburg, and even though I knew my heart was weak, I volunteered. I know all this. All right, get out of bed. Me, I inquire, sir, why? You will find out. Well, what are you waiting for? But I don't understand, sir. You must be forgetting that I have been performing services as a good party member even here in the hospital. I know, I know. What are you waiting for? Get out of bed. I will, sir. But with the greatest respect it is necessary that I inform you that you have no right to suspect me, sir, not as a party member and certainly not as a trusted party official. But, my friend, I do not suspect you. I'm only asking you to get out of bed. What are you waiting for? Get out. Yes, sir. And now, a youth fewer. You'll be kind enough to walk into the examination room. Your case is particularly interesting to me. I shall personally examine you. I presume you have no objection. Certainly not, sir. Wait in my office. I shall be in shortly. Yes, sir. Take his bed apart and search it thoroughly for Hona. All right, a doctor. See that his bed is turned inside out. Yes, sir. Take the covers from the foot of the bed. Yes, I'm doing it. There. The pillow's for Hona. Don't forget the pillow. Yes, I'm taking it. There. Slit the pillow covering. Slit the... That's it. There. That's it. There. Pile the straw on the floor. I have found it. Here it is, sir. Hmm. A bottle of medicine, huh? Let me see it. Shall I take it to the lab, sir? And have it analyzed? It won't be necessary, Dr. Ross. A couple of drops on the back of my hand. A slight taste. And, mistakenly, caffeine. Here, doctor, what is your opinion? Yes, sir. Caffeine. Possibly just a trace of benzoic acid. I shall question the man myself before we send him to the prosecutor's office. Caffeine extract. Just the thing to induce palpitation of the heart. Who's next? Next he turned toward me. The tone of his voice alone tore at my heart. I felt as if the walls were closing in on me. I couldn't fool this man. I couldn't. And then, reprieve. And, sir, you have no right to question the sanity of a soldier of the German Reich. I'm as sane as you are. I shall personally write a letter to the Fuhrer, complaining of your treatment of his soldiers. Hmm. What a bad malvarnum. Yes. Dr. von Moltke, I'm sorry if I have offended you, doctor. That's quite all right, malvarnum. Dizziness was perished. He left the word without saying another word. Well, Conrad, what did you think of my act? Act? You mean, von Moltke, that was an act? What did you think of it? Well, it saved me at any rate. Ah, not for long, Conrad. You don't know von Moltke. He'll be back tomorrow. But me, I'm going to keep on with that poisoned food idea. Ah, I think it's brilliant. I refuse to eat. But you'll starve. Oh, no. Your food. Eat mine. Of course. I know a little about traumatic neuroses. One of the symptoms is excessive dizziness. In order to induce that, you must refrain from food, although you shouldn't let them know that. So, brilliant. Mama! But mama, we thought you'd be executed by this time. For heaven's sake, you have got to help me, comrades. They are moving me out of here. If you can't get some drug from me by tomorrow morning, I'm lost. I don't know how you can do it. But if you have even a spark of human sympathy in your heart, you'll get it. Where the devil do you think we can get caffeine for you? It's not caffeine I need. Caffeine was all right up to now. But now I've got to have digitality. I've got 1,500 marks here in my wallet. No matter how much it costs me. Use it. I can get more money, but... But I'll be quartered in the next building. In solitary. I'll be grateful. And I'm not asking you to risk anything. I wouldn't do myself. Take it easy, mama. Have you ever saved the life of a comrade? No? Well, maybe this is your chance. Mommel, you haven't got a chance. It is your life against ours. All right, Mommel. Are you ready? All ready. Well? Our wheels in, kindle. Am I... a common... boy? How can we get him the digitalis? Digitalis? Silly Conrad. Divide the money among us. We can use it much more intelligently than he can. You never can tell when it will help one of us out of a jam. That sounds pretty heartless, doesn't it? Did you expect differently from men who were living from one minute to the next by their wits? Mommel was just out of luck. And as Wagner said... It may be your turn next, Conrad. It was. Hmm... Name? Anton Conrad. Traumatic neurosis. Yes, sir. Sound like an ousation. I am an ousation.  Don't think you can fool me with your talk of traumatic neurosis.   I beg your pardon, sir. Well, what is it? I feel it's my duty, sir. To give you a message. A rather painful duty. But I was there when your son was killed. My son? You saw my son? Yes, I saw him. I'm sure it's all there in the record, in black and white. I had talked with him the same as we're talking now. He was shot in the lung. I gave him a chance of saving him. I eased him to the ground. I called for help. He behaved like a hero, sir. Where was this? Outside of Kif, sir. This man is either mad or a scoundrel. He should be whipped, cut up in pieces, shot down of a Warsaw behind the enemy lines.  But don't worry. You'll pay for this. A doctor lying like this is one manifestation of traumatic neurosis.  Conrad, you shall pay for this. But he was in no hurry to make me pay. While I waited my turn, he went on relentlessly. Corporal Bintz, reported the operating room at once. Maya, you're to be caught, Marshal. Lehman, we found the drug where you hid it. Report to my office. One after another, Von Moltke trapped them. Malingerers caught in their deceit. Poor Moomer, perfectly normal without his digitalis, was shot. Meyer was shot. Lehman was shot. Benz, whose sores would not heal, was put in a full-length plaster cast so that he could not move to irritate them. The sores healed in a short time and they took Benz out and shot him. It was my turn. Bring it here for Hona. Yes, her daughter. Now, my friend Conrad, here's your supper. Eat it. I don't feel like eating now, doctor. I'll eat it later. Oh, now, my friend, we've been watching you. That's what you've been saying all week. Could you haven't been eating? That's why you're dizzy. Now you'll eat. Eat them. No. Eat them by force. All right. Come on, come on. In, in with it. More. That's it. Down, down with it. So. Do you want to go down for Hona? Yes, her doctor. No, I don't think so. The soup is all I wanted him to eat. Soup is very nourishing. Very nourishing. Good night, friend Conrad. Good night. Good night.   Go ahead. Why didn't you protest against the forced feeding? It's too bad he made you drink the soup. It looked rather appetizing. Your conversation must be very interesting, Wagner. Conrad has just fallen off to sleep. Huh? Ah. Wake up, Conrad. You can sleep as long as you want tomorrow. Wake up. Get along with him. Can't get up. He's unconscious. We better call Hona. Hona! Get him going on in here. Conrad is unconscious. There is nothing to matter with him. Just leave him alone. Let him sleep. He's just sleeping. It's one of the characteristics of his illness. He sleeps almost like a coma. I can see through this entire situation clearly. Being under suspicion, they were going to try and catch me somehow. Unnatural perspiration is one of the symptoms of my disease. If during the night they examine me and I am dry, I will be shot. Get up, Conrad.  I'm trying to get up, Wagner. Trying. Can you hear me? He's trying to say something. What is it? He's incoherent.  I must perspire. I must perspire or simulate perspiration.   I can't. I can't see what you're saying, Conrad. Speak a little louder. You must understand. Bed, nightgown, must be wet to simulate perspiration. I've been dumped. I can't help myself. It's terrible. Of course he'll have to say something, but he's lost his voice. Do you hear me? Take a deep breath and then try to talk. They gave me sleeping potion. Please help me. Wet my bedgown. I must perspire. They consider me suspicious. Please, please, please, please, please. Wake up. You hear me, Conrad? But he's awake, Doctor. Sorry to awaken you at two in the morning, Franca. I do hope you've been sleeping well. Look at all those covers. Throw them back. But why? I want to see if you were swimming last night. Swimming? Will you take your covers off? Thank you. Examine his bed clothes. Yes, sir. What a soaking witch. Thank God they heard me. He couldn't have perspired that much. You swine. You're not ill.  A malingerer you hear? But I'll get you. I'll get you. What? Doctor Fran, we'll get you. Another malingerer. Here, my friend Wagner. Read this. What is it? Read it. It just came, Wagner. Sir, now you know, am I friend? This is outrageous, Doctor von Malzke. You read the official order yourself, Wagner. Issued over the furious signature. There's no room in the German Reich for the insane. Disorder that every military commander execute insane soldiers. And the day after tomorrow, Wagner. The day after tomorrow as well as each Friday hereafter will be execution day for insane patients here. Of course, if you should happen to regain your sanity that Friday, fine. Then we'll just send you back to the Russian front. If not, lessen the rest of you. Tomorrow I have a surprise in store for all of you too.  Well, I'll show you it can't be done. Tomorrow. Morning came. Breakfast was served. A few could touch it. All waited for brooding heaviness hung over us. When suddenly... Brothers! There are at least a thousand of us here in this hospital.  I don't, Wagner.  I know what I'm doing. Suppose a sudden fire should break out. Wagner, you are crazy. Let him speak.  A single match could set this place off. Wagner! Don't worry, Conrad. You think I'm mad? I'm not mad. We'll take care of you tomorrow. Now, my dear patients, may I present Professor Brandus. He's a specialist in the therapeutic values of hypnotism. Thank you, Doctor von Malzke. I am here to help weed out the malingress and expose the fakers. I never fail. You have one minute in which to confess. I will then proceed with my examinations. A hypnotist. He walked among us. And we watched him. Our eyes intent as we waited our turn. Not knowing what to expect.  Time is up. This patient over here with a bandage over his eyes, Doctor von Malzke. As opposed to a little comb, ma'am. May I have these bandages removed? Of course. There. Just let the eyes continue to water, Doctor von Malzke. We'll make no difference. Now there's nothing to fear, my boy. You are drowsy, tired. You need sleep. Your eyelids are getting heavy. So heavy you can keep your eyes open. That's right, my boy. They are closed now. So nice. So soothing. Don't worry. Nothing will happen to you. Just sleep, my boy. Sleep, sleep. Together. Friend. We're travelling on a train on the way to a hospital in Berlin. We have left the front. But I am worried. We have managed all right so far. No one suspects us. We have fooled them all. We've fooled the doctors too. But what if the inflammation should disappear? They will examine us in the hinterland too. I haven't got a drop of the stuff left. How are you fix? Don't worry. Can you give me some? Don't worry. You must help me, my dear comrade. Where can I find the stuff? Anywhere. Anywhere? Even us, because we only address you and search you thoroughly. Oh, tell me. Yes. Oh, one is missing. I give you my word of honor. I won't mention it to anyone. Oh, please help me. In the potato soup. In the sauerkraut. Potato soup, sauerkraut? They make sour eyes. Should I rub soup in my eyes? No, no. The caraway seeds in the soup are the sauerkraut. Oh, should I rub caraway seeds in my eyes? Yes, and leave them in all night. So, that's it. Awaken them.  That means you will be shot in the morning. Suddenly, the professor veered towards me. With intense interest and complete concentration, he began to read my chart. Was I going to be next? I didn't believe in the charlatan. Yet, even though I tried not to be afraid, coach ever ran down my back. He wasn't going to put me to sleep, not me. He sat down on my bed. I'd tell him I saw him once in a French music hall before the war. Anyway, I didn't believe he could hypnotize anyone who knew who he was. He would try it on me, and I wouldn't let him put me to sleep. He'd have to knock me out first. Stopping directly in front of me. He sat down on my bed. In the edge of my bed. Tell me, young man, where did you get your trauma? Would you? I had felt his hand under my cheek. Long, smooth, sinewy fingers slid to my throat and beyond.  His fingers were so long, they seemed to crawl back over my neck and into my brain. Desperately, I shot my head. Don't be afraid. You are so tired. I am your friend. Fire! It all happened so suddenly, I didn't have time to think. I think to be in another world. I came back to Earth sharply with the sound of a gunshot. The body of one monkey grotesquely sprawled on the floor of the ward. Shot through the head. I didn't have to look far for the murderer.  I got it, I'll never know. The most important thing now is to get out of there before we all went up and spoke. Several hundred of us escaped from the hospital that night. And I don't know how many have been recaptured. They didn't get me. I was determined they would never get me again. I got across Germany and into France. And soon, when I have regained my strength, I shall enlist in the army of France. And then I shall return to Germany to seek out more of the von Möwkes. To seek out all those whose philosophy of life desecrates everything humanity stands for. They shall not escape us. Tonight Words at War has brought you dramatic excerpts from the book Borrowed Night by Oscar Ray. The radio script was prepared by Norman Winter and featured Louis Van Rooten in the role of Conrad. Others in the cast were Peter Cappell, Guy Rhett, Fred Hitt, EA, Crumb Schmidt, Herbert Bergoth, Sid Cassell, Theo Getz, William Malton, and Helen Coulay. The music was by William Meader and the entire production was under the direction of Anton M. Leeder. Next week we'll present Verdict on India by Beverly Nichols. Words at War is brought to you in cooperation with the Council on Books and Wartime by the national broadcasting company and the independent stations affiliated with the NBC network. This is the national broadcasting company.


Hello and welcome to the session. In this session, we will use definition of congruence in terms of rigid motions to show that two triangles are congruent if and only if corresponding sides and corresponding angles of these two triangles are equal. Now we know two triangles are said to be congruent if one can be exactly superimposed on the other by a rigid motion that is transformation of points in space consisting of one or more translations, reflections and rotations because rigid motions preserve the distance and angle measure. Now let us discuss corresponding paths of congruent triangles. Now triangles that are of same size and shape are paired congruent triangles. Now each triangle has six corresponding paths are congruent then triangles are congruent or we can say if all the six corresponding paths are equal then triangles are congruent. Now let us consider two triangles that is triangle ABC and triangle EFG. Now let triangle EFG is translated image of triangle ABC translation preserves distance and angle measure therefore triangle EFG can be superimposed on triangle ABC. Now we know that are said to be congruent if one can be exactly superimposed on the other by a rigid motion. So here as triangle EFG can be superimposed on triangle ABC thus triangle is congruent to triangle EFG. Now first of all we find the corresponding vertices of the two triangles. Now here you can see vertex B is translated to vertex F, B corresponds to F, vertex A is translated to vertex E to E also vertex C is translated to vertex G so to G that the vertices of the two triangles correspond in the same order as the letters naming the triangles ABC is congruent to triangle EFG and here A corresponds to E, B corresponds to F corresponds to G. Now the corresponding vertices can be used to name corresponding of the two triangles we have angle B whose corresponding angle is angle F and we have angle C the shape is same because they can be superimposed on each of them that is these two triangles will be equal angle E, angle B is equal to angle F and angle C is equal to angle G. Similarly FAB is side EF corresponding side of BC is side actually. Now since the difference must be same with EF that is line segment AB is equal to line segment EF similar. Two triangles are congruent then the angles are equal. Similarly if the corresponding equal then the two triangles are congruent. Two triangles are congruent if and only if they are correspond equal. Now notice this is an example here now from this figure we have two triangles triangle and triangle DFB and where we see in triangle A angle DFB is equal to angle D it is given here to angle B 8AF of triangle AFC and side DF of triangle DFB are equal. Line segment AF is equal to line segment DF. Here also you can see line segment CF is equal to line segment DF. Line segment is equal to line segment DB equal to angle DFB of these two triangles are equal triangles that is triangle into triangle DFB. So in this session we have learnt that two triangles are congruent if the corresponding parts are equal and this completes our session hope you all have enjoyed the session.


The 12th annual Appalachian Heritage Seed Swap is returning to Pikeville Saturday, April 6 from 9 a.m. to 1 p.m. The event will be held at Pike Central and is free to attend and will feature a variety of vegetable, fruit and flowering seeds. We have one of the largest ones in the nation. We have usually people from seven or eight states and we also have people from Canada. In the past we've even had people from Florida and California. Seed saving people are fanatics and they will drive a long way to get some heirloom seed and try to work things out. We've also got several of our farmers, market people that will have vegetables for sale and seed and plants and a little bit of everything. Hillbilly Hammock Weekend of Destruction, demolition derbies are coming to Pikeville Friday, Saturday, March 29th and 30th, 7 a.m. each night. Appalachian Wireless Arena, Pikeville, it's going to be a crashing good time, be there. In addition to having seeds for purchase, free seed giveaways and seedlings, the extension will be leading a variety of trainings and hosting special speakers. Well a lot of these heirlooms are local and we have some from Tennessee, from here in Pike County and different areas and during the flooding and everything a lot of areas will host them and it's hard to find these antique seed. Most of them are heirlooms that have been around for generations and they're all fresh and they've got them ready to go. The ones that have them and everything, as I said, the farmers market and we have always have several people from all over the country that bring seed to trade and sell and swap and everything. For more information go to Pikeville Farmers Market on Facebook. Reporting for Mountain Top News, I'm Brianna Robinson.


When starting out with electronics, it's common to forget about connecting grounds. When you have separate electronic circuits sharing signals like this data line here, even if they're using separate power supplies, the ground wires should almost always be connected. So here I've got an Arduino compatible powered from a 9 volt wall plug. I want to use it to control a long strip of NeoPixels, which will use its own 5 volt power supply. So, even while using different supplies, the NeoPixel ground needs to connect to the metro ground. Otherwise, the data won't transmit correctly. It's as if the signal is a little shy, and it'll only venture out to another circuit if it can see a clear way to get back home.