For those of you who don't know me, I'm Frank Rowand. I'm one of the two device tree maintainers. And it wasn't on purpose that I became a device tree maintainer, I just kind of fell into it as I was submitting things and giving talks. And all of a sudden, it seemed to be the thing to do. Knowledge is failing me today. Okay, I'm tied to the laptop. Okay, I have a history of having about 200 slides for an hour presentation. I've cut back for today, and my goal is to actually not show all the slides that I do have. So here's the agenda. I'll talk a little bit about what's been going on in the last year, what we see coming up in the next year, event-wise, what's been new with device tree itself in the last year. Tools are near and dear to my heart, so I'll talk about tools a little bit. Thank you. Yeah, that could be why my pointer was in advancing things. Uh-huh, thank you, Bill. That feels so much better, except now I can't see the slides. I'm always gonna be looking sideways. I hate looking sideways at the screen, sorry. What I really wanna spend time on is what you guys are interested in. So that's the next bullet point on the slide. I really would like to spend most of my time there. So I'll try and rush a little bit through the introductory stuff before that point. And if you guys run out of questions and comments, I've got more slides, and I can continue talking. And feel free, as I'm going through the early slides, ask questions, interrupt. I'd like to know what's on your minds. Okay, the first event that happened last year was really easy to describe, because it didn't happen. If plumbers, there wasn't enough interest, there weren't enough people who were planning to show up. So we did not even submit a request for that conference. I heard, in retrospect, that there were people who were upset that there was no device tree session. Didn't have a person who, so did you actually complain or just were upset? I was missing it. Oh, you were missing it. I don't know who you're up to. Yeah, I'm sorry. So, and I'm just gonna give up on this technology. We did have a large workshop. Grant likely put one together in association with ELC Europe and the Open Source Summit that was in Prague last year. And it was a sizable group. You can see just from the picture how full it was. It started out as being a small room and they were turning people away, so they actually gave us a much bigger room. And I was really, the thing I was really happy about in this get-together was the breadth of participation we had. So we had people like the ARM subsystem maintainers. We had the tool chain, DTC tool chain people. We had people from the Linux kernel. And just seeing that breadth of knowledge and the synergy we could get out of that was really, really nice. So I'm hoping that we can get some of that this coming year in plumbers. But going back to that, that conference, there is a URL there which points to the slides that were presented. And also notes taken. There was a whiteboard set of notes and an individual also took notes. Grant also has an audio recording. Last I checked, he had not posted it because it was so large. But if you want it, he'll be glad to share it with you. So I highly recommend you go to that URL.  It was a day-long event. And so that'd just take a whole lot of time. But major categories, one of the things that was really driving the desire to have that workshop was the validation and verification stuff that has been going off and on for the last three years or so. And then there were a bunch of other stuff that got added in as there was room. And here is the full schedule. So you can see there are a lot of topics covered. But again, just look at my slides or go to that webpage to see more details. Plumbers 2018, November of Vancouver, British Columbia in association with the Linux Kernel Summit. And we really like to have sessions in association with the Kernel Summit because we do get a lot of the cross subsystem people visiting and participating. In this room, who is likely to go to plumbers this year? One, two, three, pardon? If we have a track, okay. So four, okay, that's a start. Put my hand up, I'll go. I'll see what we can do here. I'll put in a proposal and see if we can start getting people. I already know one key person who's not gonna make it because he has too much international trouble already. Little twist arms. And you guys twist arms to get the right people there. So now we're on to what's been going on. The device tree specification was released a little over a year ago at version 0.1, version 0.2 followed quickly. And the significance of this slide is that we no longer use the ePAPR as our specification that says what device tree is supposed to be. This is essentially a cut and paste of ePAPR with some cleanups and it's going to be evolving. And the specification group meets regularly. There's a URL to go get more information on it. It's actually maintained in a repository. So you can see how it's being edited and changing. And you can actually participate in that process. You can submit changes on the mail list. Tools, stuff I like. This is really old and it's in kernel. It's there. It works 80%, I would say. The reason I bring it up is it seems that people don't know about it. When you have a device tree and you want to have a kernel that actually works with that device tree, which drivers you can figure in, it's not an easy process. And this is one tool to help you figure out which config options you might want to use. It's not always obvious. For a single compatible string there might be several drivers that are willing to deal with that hardware. So you need to pick. But this will at least let you know what those drivers are and it will check what your config options are if they're set properly for those drivers. Next tool. This is a really old tool. And I gave a talk on this many, many years ago. 2015 was the last time I was writing on the mail and it's about it. And it just, it was just sitting. Out of time I wasn't paying any attention to it. And as part of that whole workshop in Prague, there was an email conversation and Julia Lowell picked up on the fact that this tool was out there in a prototype form and not really advancing and volunteered to look into it. And she has been working and submitting new patches, fixing everything up. And she's up to version four, I believe, on the mail list. Yeah, version four. And it seems to be in the proper state to get in. No one's making any more comments. David Gibson says he's happy with it. He likes that it's being there. And so we expect to get that into the compiler pretty soon. So what are annotations? Kind of put the horse before the horse. This is an old example. This is not the current format. But the idea is with the structure of device tree source files, you tend to have one starting file, which includes another file. And you start, you end up with this include nest. And one of the strange features about device tree is you can define the same thing multiple times. And each time it's redefined, the old definition just disappears. So if you've defined a property in three different places, it can be difficult to know what actually got up, got into that end product when you compiled it all together. And this will show you exactly which source file a property or a node came from. So it's really convenient when you're trying to understand how to fix your end result device tree, where to go to change something. Yeah. This is an option on DTC. It'll be dash, dash, annotate. And I believe it's dash, dash, annotate, dash, full. So it's either a shortened path or a full path. It's the specific line number column or it's a range of line numbers and columns because an object can encompass a very long distance. So you'd like to have your opening parenthesis or your opening mark and your closing mark for a node, for instance. So your node definition actually spans a lot of different lines. Next tool, not quite as old. The issue I was trying to deal with with this tool was you have a device tree which has a bunch of stuff in it. You have a driver which is accessing that data. And are they consistent with each other? Are they in sync? So is the driver trying to access properties that don't exist? Does the device tree define properties that the driver is not trying to access? Is there synchronicity here or is there a disconnect? And this was one way to get a good sense of what was going on there. And in the end what it looks like is just a diff which is really simple to deal with conceptually. The diff is what is in the device tree file. The other half of the diff is what properties were actually accessed on the system. And it's just a simple print case. So we look at the d-message and see what properties were accessed on the system. So the diff here is showing the minus side, the d-message, what happened on the system, what properties were accessed. On the plus side was what was in the device tree source file. So you can see that there are a lot of properties that were in the source file. They have the plus, but they weren't accessed on the system. One side effect of the tools is we don't see the values of the properties. So one thing that the tool points out is a node disabled or not. And that's why all the properties or most of the properties were not accessed on the system. Turns out that the status was not enabled. So of course the driver is not going to read all those properties. So that's just a little shortcut to save you. It's wasting a lot of cycles trying to figure out why the heck aren't these properties being accessed. Again, this is a tool that's waiting for me to get back to it. Anybody who wants to jump in and take it over feel free. It's on elinux.org. Another tool. A lot of the problems with device tree, especially for a new system, is getting the boot to work. And there are a lot of things that have to work in the boot. You have to have the node defined in the device tree. You have to have a device that gets created in the system. You have to have the device and the driver hooked together. Figures which driver goes to which device. And this tool was a way to give you a quick look at where are you in that process? Which of the things happened right? Which of the things happened right? So here's just a quick example from a talk I gave on it. And the things on the top are things that went well. The things on the bottom are things that didn't go well. I'm looking at a coin cell device and driver. And there are no devices. There is a node in the device tree. The node doesn't have a driver. The node doesn't have a device. So we've got problems here. We don't have a device. We don't have a driver. Sorry, we don't have a device. We don't have the node connected to the driver. We don't have the node connected to the device. And then kind of the opposite mirror image of what went wrong is the same thing. Node that doesn't have a driver. Node that doesn't have a device. And in the talk that the slides came from, I went through well. Here's problem A and we fixed that. And then we find the next problem. And here's problem B, we fixed that. And after a while, we get to this next date. Honest, we got to our next date. Okay, we got to our next date. And things were better. More things in the top half were in place. And there were fewer things in the bottom half. So in this point, there was a device created for the node. The node and the device were hooked together. But we still didn't have a driver bound to it. And that's going to show up again in the bottom. No, not bound to a driver. So this is yet another tool that's waiting for help. If anyone wants to go in and fix it up and get it ready for submission, you're welcome to do so. Moving on to the compiler. There's been a lot of work going on there in the last year. One thing that Rob has been working on is making the compiler more knowledgeable about what a device resource should look like. And specifically tying in knowledge of what a Linux binding should look like. So he's adding lots of checks in, in warning checks. And if you've been following, he'll submit a few warnings. We'll pull that new compiler version in. And he'll disable those warnings in the kernel build initially. Because we don't want a ton of warnings appearing all of a sudden. But now the warnings are available. Developers can turn on the warnings. That's what this slide is. Just on your W equals 1 flag. And see what errors you're getting for your device trees.  And then we'll enable the warnings once we've done a lot of cleanup. And then a new set of checks come in. And Rob is, this is a list of all the commits. And the compiler get repo for the last year, roughly. So you can see how many checks Rob has added. So if you're out of tree with your device resource, I highly recommend you start building with warnings enabled and cleaning up your device trees. The warnings tend to be real things. They're not just cosmetic. They really are catching real problems. Overlays. How many people are interested in overlays? Yeah. That's generally why most people show up I think. If we got rid of overlays, no one would come. There has been progress in overlays in a few areas. One of them is the device tree compiler is more aware of overlays at the source level. It's now easier to encode an overlay. There's much less of the structure exposed that you have to hand code. There's still more work left to be done in the compiler. But the current version in the kernel tree as of 4.15 does have much better support for overlays. A second issue related to overlays is, but we'll start with. So I said you don't need to code fragments, overlays, fix-ups, local fix-ups, and symbols anymore. The compiler can do that for you. Fragments and overlays are really the overlays. The others are metadata. They're information about the overlay or that the overlay application code needs. And you really shouldn't have to deal with that. That should all be behind the scenes for you. And it's somewhat problematic in the format. It was put in place in an attempt to not... Well, to be compatible with the existing ecosystem. So it just dropped in. Bootloaders wouldn't have to be aware of any changes. It would just work. But it's made for a solution that's not optimal. And so I put a proposal out on the mail list recently saying, I'd like to actually put this metadata into the format of the flatten device tree, the binary format, and explicitly code that, not to make it compatible, which is the unfortunate side of it, but to make it much more efficient in the end. I really encourage people who care to go to this thread and look at it. It's kind of stalled out just because there's so many things going on, and there's so many parallel discussions. We'll get back to this one and start driving it. I started with my proposal. David Gibson came back with a different approach, which was very interesting. And they each have their advantages and disadvantages, and maybe someone else will come up with a third approach, or maybe we'll just somehow decide between those two. But please get involved if you care, especially bootloader people, especially people with other operating systems. It turns out VSD likes to use device tree, Zephyr uses device tree, NutX is considering device tree, and we're trying to be compatible and considerate of all these groups. So this is what drove me to make that change. It had been kind of a thorn in the side, and if you're going to apply an overlay, the overlay is going to be pointing back to symbols in your base device tree, the device for your system booted with. And that symbolic information is that underscore symbol, underscore node currently. And it turns out that takes a lot of space. And there were some people saying, well, why don't you just turn on symbols for all the device trees? This is part of the kernel build, and this was the answer, why not? I went and built all the device trees in ARM and measured how large they were. And that's the second column. This is kind of a percentile chart. So the 99th largest was 90,000 bytes without any symbols. The 83th percentile was 43,000 bytes. So just trying to slice, you're trying to get a sense from largest to smallest how large are these device trees. And when you turn symbols on, which is the next column, how much larger does your device tree get? And that binary device tree, in the worst case, was about 40,000 bytes larger. That's pretty significant, especially if you have a boot image that carries a couple of device trees in it, which some people like to do. So my first prototype, the format is proposing instead has a much smaller overhead, and the final column is how many fewer bytes it requires than the current format. So that's a significant size savings. We do like Linux, right? This is the year of the laptop. Okay. So going back to a saying, you don't need to hand code a lot of this overlay stuff anymore. This is what the old format looked like. You're used to hand coding for each overlay a fragment. So the fragment node contains an overlay. It contains some information about where the overlay is going to get loaded into or applied, which is the target of target path.  What it will look like if you use the new DTC is instead of having the fragment and the overlay nodes, you just specify a label of where you want it to be applied. So it's a lot simpler. DTC figures everything out. And just to diff the two formats, you can see everything else is the same.  You simply say, where is the label I want this applied to? So it's a very simple transformation. But much cleaner. There are some issues with this. And we're working on fixing the issues. One is that target where you're going to apply the overlay has to have a label on it in the base device tree. You can't hard code a path. We'll need to fix that. The other is you cannot put a label on the root node of the device tree. The compiler just chokes on that. So we're working on that. I'm not sure how that'll get resolved. Yeah. I'm sorry. Say that again. Right, right. So the question is, where you specify target path? Can you just say... All right. Can you just say slash there? And the answer is ultimately yes. So... Okay, let's... So here what you would say, this is really interesting syntax. You would say, you're saying ampersand fpga region. If you wanted the root, you'd say ampersand open brace slash close brace. And that syntax lets you use a full path instead of a symbol name in this context. The problem is that DTC right now doesn't create the target path property. It doesn't know how to do that, but that's going to get fixed. That's on David's radar. That was one of the things I was saying that needs to get fixed so we can use any arbitrary path instead of a label. Okay, I had much more I could say about the nice features of having this new syntax of how you can use essentially the same code as the same source as either an include file to another device resource file or as an overlay. But I wanted to let you guys have a chance to talk, so I deferred those slides and we can come back to them later if you want to come back to them later. But now it's you guys. Hopefully you've been thinking about what you want to know, what you want to say, what you love, what you hate about device tree. What would make your life better with device tree? Which overlay to apply in which situation? You know, so in Uboot we have fit so that's one solution. I know Android's putting all the device tree information into a specific partition with a not invented here format. But, you know, so not everybody wants to use fit, right?  But so, you know, I think, we need to think about what does it look to consume this stuff on devices in boot loaders. Right, so basically it comes down to how do you specify the device tree to use on a given boot and potentially which overlays to apply to that device tree on a given boot. That's definitely a topic for somewhere like plumbers where we need the boot litter guys to get involved. It's not purely a kernel thing. It's a community bigger question. Well, it's not just overlays. It's also, if you have multiple device trees, which one do you use? So it's a big configuration question. How would you like to run a session at plumbers on the topic? If we have a track. Yeah, okay. I won't hold you to it, but there's kind of another thing related to overlays that maybe I should point out is that it's really easy to take flattened device trees, combine them together to create a new device tree and feed that to the kernel and boot the kernel. Or you can feed a flattened device tree in an overlay to the kernel. It's very easy for the kernel to combine them before starting the boot. The ugliness with overlays is when you boot from a base device tree and once the system is live, once all the subsystems think they know everything about the fabric of the system, now you inject new data and now drivers and subsystems have to figure out well, how do I react to all this change? And it's much, much worse than that. So that conceptually is easy to understand at a theoretical level. At the practical level, the device tree implementation in Linux was not designed with the idea that overlays would come along at runtime. So the foundation's not there for it to work. We don't have locking that works. We don't have memory management of our data structures that works. We have a lot of things that we really need to clean up before overlays are practical at runtime in the kernel. But we are open to the idea of being able to pass overlays to the kernel that get applied pre-boot. And I think we can get that in mainline much quicker than doing live systems already booted overlay application. So if anyone's interested in that concept, we should start discussing that. And then we're going to have the same issue. How do you feed the information of which overlays you want to apply to the kernel? So it's the same thing as how do you tell the bootloader? So we need to come up with a way to communicate that information from the bootloader to the kernel if we actually implement that. So again, the bootloader people are real important to that conversation. Next. Let me see when we got that one. Well, the risk of exposing how lazy I truly am. The new compiler, what will it do in the presence of an existing fragment and overlay syntax? In other words, do I have to go and edit all my old files? It will continue to work. My personal desire is that the compiler start to refuse nodes that start with underscore underscore because those are illegal node names. My pragmatic position is that the compiler should continue to support those some way, whether we have to pass a command line argument to say, yeah, let me do this thing which is otherwise illegal, or it might be the opposite. Maybe we have to pass a command line argument which says don't allow the old hand coded. But either way, I believe the old method should continue to be supported for a very, very long time because there's so many people using it out in the wild. The other thing, I want to change that internal metadata format. As soon as that metadata format has changed, you will not be able to hand code local fix ups and symbols, but you shouldn't be doing that anyway even a year ago when you're hand coding. A year ago, you should only have been hand coding the fragments and the underscore overlay nodes. You should have been letting DTC already do all that other stuff, all that metadata stuff. That shouldn't be an issue, hopefully for most people. I know some people like to do hand code symbols and stuff, but yeah. Yeah, Merrick, can we get the mic over? When are we going to get the DTO config of us loaded into mainline Linux? Not for a long time. There's a gating factor, and we've been very clear about this from the very beginning. I mentioned before that we have foundational issues in that we were not built in our core infrastructure to handle overlays. As long as these issues haven't been fixed, we're not going to accept the overlay loader. We need to work through these, and we're slowly working through them. We have some fixed already. We have some more queued up for 4.16, and we'll continue to work on them. It is no longer a security issue, but it's an issue with the DT infrastructure. Is that right? There is a security issue. The security issue is really, really easy to fix. It's flipping a bit, saying we're not going to allow overlays to be applied, and that's an administrator tool to flip that bit. That was accepted by the security people two years ago, conceptually. I'm not aware of any other security issues. Are you? I think this is what it was about. Yeah, so that one, it'll be easy to take a patch to actually implement that. That one's not going to be a big deal. The other stuff is a lot more work. Thanks. Back to Bill. I think there's someone else in the middle also. Just to carry on that, I thought the connector format, where you could extend, and not just a binary yes-no overlays, but you can put an overlay here. This is where I was saying, we decided a long, long time ago, and we've been staying up front. Until we get that base stuff fixed up, the loader's not going in, and it's been out on the mail list. Here's the list of things that we've been actually accomplishing and things that we need to do. This is not a complete list. These slides are on the conference website. If you want to download them. It's not my self-made thought there. Sorry. There's some things we've accomplished. There are more things we need to fix, and there are yet more things we need to fix that are not listed here, just because they are not as critical as these things. These are just major, major issues. They're going to take time to resolve. The first thing on the list was refactoring some of the code in the kernel, just so that when a patch came in, I could understand what the heck was going on. To me, it was just very hard to understand, so that's been accomplished. Those are all in. The hand-coded overlays and device trees were talked about already. The compiler's updated, except for the few corner cases which we're working on, so that's resolved, and that's in the compiler that's in the kernel source tree. The next big issue was... This is really sad, but the whole API of how a driver gets information from the device tree, we return pointers to the driver. The driver's saying how pointers into our internal data structures, which means we cannot free our internal data structures. If I apply an overlay, a driver accesses some of that data, has pointers, and if I apply the overlay, I still cannot free that overlay data. It's got to live on forever and ever until the system reboots. The responsibility used to be out in the people who applied the overlay to free the data. There are some changes that are queued for port dot 16. That responsibility of freeing the device tree overlay has moved into the infrastructure, into the core device tree. The overlay applyer no longer needs to worry about that, but the base problem still exists. We still have no way to make sure that there are no pointers into our internal structures. We're going to have to come up with a whole new API for drivers to access device tree data, which does not give them pointers. That's going to take a long time. That's going to have to filter out to all the drivers on a system that's applying overlays, that you can take. You can say, okay, as policy, only the drivers that are actually going to access the overlay have to be updated. It's kind of a slippery slope. The question of how quickly to enforce all drivers get changed or just a subset of drivers and start allowing overlays in a limited fashion, given that you follow the rules. You hold your hand up, you say, I promise I followed the rules and didn't follow the rules. It's my problem. I'm not going to make you fix it for me. Oh, so there's more... Sorry. Changing the format of the flatten device tree, the compiled device tree. When we remove an overlay, unapply it, we need to make sure that nobody's using that overlay. No drivers are still using it. No devices. Those checks aren't there. You can see the stuff just snowballs. They're all in place. And we're working through them at a time. Yeah, there's a question from... Magnus? Or you're just wondering back there with the mic. Yes. I don't remember what I was supposed to ask, but... When can we see this upstream? Which part of it? Everything. Oh, my goodness.  Five years? And the reason for that long time frame is that's the full... All of the drivers in the kernel have changed over to this new API. And so now we can be fully unrestrained. We don't have to have the people running around overlays saying, I promise all my drivers are correct, and therefore I accept all consequences of drivers that aren't. So I think we can have partial overlay support actually working in the kernel sooner. And I can't really give a good estimate whether it's a year or two years. FPGAs are probably going to be the first users who are going to be able to say, I promise I'm using them the right way, and in a very constrained environment. But for this generic case, I think it will be a phase in as we allow more and more use in more unrestricted ways. Makes sense. I'm not sure if the... So I'm not sure if the FPGAs should be the first citizen there. Yes, so America is saying that FPGAs can do anything, but anything in there. So maybe that's not a good starting point. The cool thing about FPGAs says that connectors are fine with them. They're willing to live within the constraints of the connector architecture. So if we can get the connector architecture in place, they'll be in good shape because they'll be living within that. The problem they're going to have is that in some cases they want to be able to apply an overlay, unapply it, reconfigure their FPGA, apply a new one, at a very high frequency, very frequently. So those people will not be supported because they're going to have a memory leak every time they unapply an overlay. So that's going to be... Even FPGAs, even if they're following connectors, if we have connectors in place that are following those rules, they'll be allowed to apply in a very limited sense, unapply as long as they realize they're getting a memory leak and they have to constrain themselves to not run out of system memory. Which will eventually be fixed, right? Eventually will be fixed. Yeah. So I have another question. What about the YAML DT? Can you comment on that? Ah, okay. There's something I forgot to mention. So I said that the driving impetus between the Prague Summit was validation verification. Grant likely is giving a presentation at Lanara Connect in Hong Kong next week. I think Monday. I think they livestream that stuff. So if you want, you can see it or maybe just audio conference. Slides are normally out there. So you can see what's going on. He's going to be updating what's going on with that validation and verification stuff. And he's going to be making available repository, making public the code that he's been working on so people can see what's going on and participate. I mean, it's never been closed. It's always been anyone who wants to work on it they've just been doing it on the mail list. But now he's exposing what he's been doing in a repository. So that's what the YAML DT question. Well, there are two YAML things. So the way that they're going to verify the code their thinking is they'll take the device tree and somehow they'll transform it into a YAML language format to describe directly one for one what the device tree is. And then the validation tools can easily consume a YAML representation into the validation. There's someone else who wanted to be able to describe device tree source as YAML and that's a whole different question. So I didn't I hope you weren't asking about that. Don't. Yeah, okay. Just wanted the YAML stuff mentioned. Yeah. So that's ongoing and definitely take a look at what's going on and Elinor connect next week if you're interested in that stuff. So there was the idea of writing your device tree in YAML versus DTS. Yeah, let's not go there. That's what I was saying. Yeah. That's not my favorite topic. The question was was the session in Prague recorded. It was audio recorded. So if you want the audio you have to go to grant. It was such a huge file he didn't actually download it to Elinix. But the Elinix page which the URL is in the earlier slides does have the notes from two different sources and all the slides that were presented. Question in the back. So it was a random question but when submitting a device tree how closely do you have to follow the 80 character rule for the device tree files? Not really source. Does anybody here know of a device tree source file that's not greater than 80 lines? 80 characters in a line? You don't know of some unwritten rule but your device tree source file has got to be really long lines. And we ignore any check patch warnings about that. They might, check patch might even be smart enough to exclude DTS I'm not sure. So yeah, check patch doesn't exclude it but we kind of ignore it so I just wonder if there's some kind of unwritten rule. You should submit a patch to check patch to tell it to ignore line length and DTS files. That would be a good improvement. I might do that. Check patch, patch. Question up front. There's a whole other group of maintainers that deals with device tree source files. That was part of my ideal. I was just going to deal with device tree core as a maintainer. And I try and stay out of device tree source although I do get sucked over there sometimes. So, new topic. I asked this last night at the Tiny Linux forum but kind of rephrasing it and rethinking in my head. You know, suppose I have a single function device. I don't really need 14 different device trees to ship with it. I don't need overlays. What is currently the best way, most optimal way to package the one device tree with the kernel? And what would be a better way going further? So are you saying that you have a very capable device with a very large device tree that describes all the hardware on the device? But you don't care about the scuzzy interface and the ethernet interface. All you care about is that one serial port. Yeah, or all I care about is this one device. We were talking about bootloaders earlier needing to carry three or four different device trees. I just want to append the device tree to my kernel. Have the one binary blob. I want to append it to make it as small as possible. Okay, do you want the normal device tree that describes the whole hardware that you're booting? No. You actually want to customize it. Trim it down to a subset. Even that I'm going to trim down. Okay. So what's the best way now? There are about two or three different concepts and issues related to this. So let me get to make sure I cover enough of the issues here. These are not new issues. One is the size of the device tree when you really don't need the whole thing. And Nicholas, Nicholas's last name doing system size reduction, Michael, or Peter. He's been looking at that and working with Rob and some of his prototyping work, they're looking at, well, what devices are we not using? Can we exclude those from the device tree? And there's been some prototyping and dealing with that. One way to approach that would be if the device tree compiler, if you passed it a flag that said if this node is not enabled, then don't even put it into the compiled device tree. Just leave it out. So for today, I could address that by going in and hand editing the device tree. I'm looking for what can I do today versus where can I go? Yeah, hold that question. I'll give a few, don't lose it though. Another way of dealing with it is go ahead and create that large device tree like we do now. So now you still have a big thing at boot time for the boot loader and then have the kernel say nodes that are not in use just don't create those in the live device tree. So we save memory in the kernel. We don't save size in the actual binary file and at the boot loader level. So we have these different places where we can save resources, whether it's memory, whether it's file space, so kernel, boot loader. So saving space is one issue. Another issue is essentially how do you configure a system? So device tree is supposed to be a hardware description. The device tree is supposed to say this is what your whole system looks like. You're not supposed to use device tree to configure your system to say I only want this little piece. But we don't have a good solution for that. We don't have a way to configure systems. You don't want to... You have the kernel configuration system Kconfig. You can say what drivers do I want to include my kernel image or not. But that's answering the kernel half of the equation. It's not answering the device tree half of the question. So I think this is an open issue and I'd love for someone to come up with a really good solution for it. And nobody really has proposed one that I'm aware of. But I'd like to get people brainstorming on that one because that's something I've considered as an issue. Don't forget what you're going to say. The other issue that often comes up in this configurability is if you have a system where your build materials might be changing frequently and the manufacturing people might be changing things out from underneath you, how do you maintain all those descriptions and pick the right one at boot time? You can see there are a lot of different related problems to be solved. And it'd be nice if we could keep those all in mind and have as few solutions as possible to address as many needs as possible. So is this on the same topic I assume? Yeah, okay. Then we'll come back to you. Yeah. Plus it's adding into the device 3 stuff which shouldn't be there. Yeah. So we're officially at lunchtime. I'll stay here and continue talking, but if you want to go eat lunch, you won't hurt my feelings walking out. So Merrick was saying that you boot, they can trim out nodes that you don't want or don't need. Especially in the SPL which is like the preloader which has to be as small as possible. If you boot the system in that basic mode, and then suppose later you want to add an overlay that's going to need some of those things you trimmed out, can you add those back in somehow? So you can start multiplying these interactions and you start getting really complex and how you're trying to solve the problem. Of course it's a slide substance issue, but if you boot isn't your bootloader. Yeah. You were talking about trimming the tree in U-Boot, but that's only useful if you're using U-Boot as your bootloader. Trim out the dead ones or make the kernel just not load the dead ones. What do you think? I think that both can go in easily. I don't see major problems with either of them other than opinions of maintainers. Whether they're willing to go along with it or not. But in terms of technology I think both of them. One's a tool thing and one's a run time thing. I just didn't know this would never get... From my point of view I'd rather have the compiler pull it out because I'm trying to squeeze every bit possible.   So Frank, can I ask you is there any tool, sort of like patch or diffutils where you can do filter diff and diff start and stuff like that but on DT files? Is there any tool available that you can do things like filter diff and diff start and stuff like that like you do on patch files but you do it on DT files because if that would exist then you can kind of filter out stuff. Right. I started thinking about that in terms of symbols. Which... So some people want to have that base device tree include all the symbols that nobody might need. So just build it that way always. And that's what a distro would ship. But I was thinking why not just strip that stuff out if you don't want it. You could have a strip tool. So something along those lines conceptually I think that's a possible good approach because that way the person who wants to have a generic distro that has something that works for everyone.  People want to shrink it down. There's a nice supported way to easily shrink things down. Yeah, that would be nice. You have a static tree that has everything under the sun and you did it one time. We don't care about space. We got plenty of space because we're a PC or we're on the embedded side of things and we care about every single thing and how do we do that efficiently? Yeah, unfortunately the reality on an SoC isn't that straight forward because the hardware that you have exposed and available on a single board single specific board based on a specific SoC can change based on what your pinmuxing is. So how? And then you get into reconfigurable hardware with FPGA and things and now it's a whole other... Yeah, we actually had a session that I did in Plummer's two years at Santa Fe where it was hardware description configuration policy because we actually have all three of those in device tree even though we claim we're just hardware description and it's not always clear when you crossed a line from one to another and it was really interesting with all the different experts in the room coming up with examples saying well here's an example, what is it? Hardware description is a policy is it policy, let's say configuration or policy and just seeing the opinions and the rationalizations people were using to drive it into one category or another was very interesting. Quick question, I'm a student right now for computer engineering and I've used Linux for a long time in the general sense of the driver development stuff like that for it but I was wondering in particular to say FPGAs where you can just program it to whatever you want it to do could that be that issue where you're having issues with overlays be where maybe the firmware creators for those devices or when you're making an FPGA and you're rewriting it to do what you want it tells the operating system what it's supposed to be doing or what options it has so that it knows what pins you're doing this here's all the different pins of what I'm doing here's how you connect and do it to me so it doesn't have to require the operating system to like poke and prod it but it's the device telling the operating system this is what I do, I do magic here this is how you connect to me is there something you can look at from that kind of way in the kernel development? Well that's essentially what the overlay is doing it's the FPGA system's way of saying here operating system here's what the hardware now looks like it's going to work to make it work for me does that make sense? Yeah, I was just thinking like the way you were saying how you're having the memory leak and what's causing the memory leak in particular with that The problem with the memory leak is when we tell a driver here's the device, please initialize your advice, it's yours the driver needs to get the description of the hardware the way it gets it is it looks like and unfortunately we return pointers to data in our internal data structures instead of just returning the values back or a copy of the data we're returning pointers into our internal structures So as soon as that driver has a pointer we can't free that memory There was a session yesterday on i3c having two different drivers for the same peripheral that you need to select between them based on what else is on the bus Oh interesting I meant to go to that session Well it introduces a new problem of one device needing to know what else is on the bus to pick the right device driver, of course if there isn't conflicting drivers you'd want to use it in a high performance mode but fall back if it has a conflict if it was as simple as that it would be great to introduce hot plug support so it's this notion of needing to reconfigure if there is a slow device being plugged into the network This seems like a candidate for overlays to change the configuration but I feel like that's coming up from that perspective as well and that's analogous to the FPGA reconfiguring themselves this is a bus that needs to reconfigure itself and all the devices that are off of it and PCI is the same sort of thing anything that's hot plug there's a lot of overlap between the hot plug world and overlays conceptually in a lot of the same problem areas that hot plug has been dealing with for 20 years and then one more question the Prague one we had a discussion afterwards on if an overlay is removed what state does it go back into is that dictated by the underlying device tree or the overlay that is being removed there's no definition at all of that to my mind the basic default should be that we do not remove an overlay until the driver connected any node is removed and the device that is connected to any node is removed and the nodes are in the overlay we don't even have those checks right now but you're making a more nuanced suggestion where you could choose to configure what the behavior is for a given overlay whether you'd have to follow those base rules or whether you would allow the device to continue functioning and the drivers remain connected after that I guess one way of looking at it is if you have a scenario okay let's say like this is analogous but a boot condition where you boot up you load an FPGA and then for whatever reason you need to reboot the system that's kind of the classic example I think FPGA might already stay configured your configuration is different to a different state and the boot configuration which is expecting one state is now entering a different state it's a conditional rate so in that case you would still want to have the driver if I remember the conversation you didn't even want to acquiesce the device you wanted the device to still be able to function the driver itself is going to go away so the FPGA can no longer be communicating with the kernel but the FPGA could still be having active state it could still be running it could still be communicating with the outside world doing stuff even though that driver has been severed from it and so your issue is that you want to reboot you want to retrain persistence persistence for that hardware description so when the kernel reboots it says oh this is what the hardware already looks like and not load a new FPGA image but now reload a driver and reconnect that yeah I mean it's a real it's a real use case and it's something that nobody has moved forward on it doesn't have to be an FPGA too it could just be a microcontroller it could be any hardware FPGA is just a real good example yeah and remote kind of assumes that the remote processors aren't going to do anything until they start up right but there's a use case where the bootloader has to start it early and get it going and then or Linux started it doing a keeping the heart pumping kind of thing and it wants to do a reboot for security update or something and that's got to remain active and so the kernel has to re-sync with that so it's something that we talk about in the remote proc RP message context as well you might also need to keep certain clocks in a certain state what's that? you might need to keep certain clocks in a certain state so there are a lot of subsystems potentially involved you need to make sure that they don't reset so you're definitely facing a big issue that crosses the kernel subsystems but yeah if you want to tackle it this is almost hot plug in reverse where instead of the device being hot plugged it's the operating system and the computer being hot plugged there is some sort of boot constraints patch set which allows you to pre-configure the clock boot time maybe this is somehow related to this stuff but it might not even be a static thing it might be dynamic but it's based on what the system previously was doing well I'm not sure if it makes sense to use it because you're basically reinventing board files yeah yeah yeah yeah yeah yeah yeah right so when you're saying deferred bind if your driver is willing to make that decision itself you want somebody else to make that decision but you have like max cpu's for cpu hot plug right you can say you have max cpu's for cpu hot plug for instance you say like you have like this one cpu so you just put with a single one and you use hot plug to insert it later that's sort of like they're not bound but it's not for drivers it's more it's for cpu's instead right but it's a similar yeah but later on I was going to take one but I can't do both so in a multi-processor system we also have a similar problem with that in that you know it's a node and it's disabled oh well I can shut off the clocks and I can shut off the power we need a different state to say this device is used by somebody else keep your hands off so we were kind of debating what's disabled mean and should there be another state you know can I just bring up the use case of actualization too that it would be neat to be able to take the device tree and pass it on to like a guest or something pass it on to what yeah so you sort of want to make sure that this device is in the host not used but then somehow managed by the guest instead so yeah and then maybe the guest survives or not survives I'm surprised that hasn't come up yet it's a proposal it seems to me that gets back to the question of policy versus configuration you know versus whatever the third one was I'm blanking on because now does this belong in the format in the device tree or is it belong in what's using the device tree or what there's no clear answer we need some other data structure to deal with things like policy and configuration we keep circling that it seems conceptually clean to me to do something like that add an additional structure that handles those things or two structures yeah we could have a node that's called policy or a sub tree it's called policy or configuration that might be the most palatable easy to throw out the idea it's easy to throw out the idea this is where we finish with patches I've actually considered that idea I don't know how it will go over I I don't know how well it would work one thing I've learned with the device tree is I start with an idea and it seems like a great idea and I just code it up but no problem I'll just work and then I go to implement it and it's like all these complications and side issues and entanglements actually exist so conceptually to me it sounds like a nice clean way to do it but when you actually go to do it I'm not sure what we'll find if we try that so it's the sort of thing I think it's worth prototyping and see does it seem to be working or not one of the things that's sort of springboarding off of that that's interesting to me is reconfigurable hardware user control so now it's not just boot sequence it's the user can literally go in and say I want you to do this or I want you to do that yeah it's a button press or reconfigurable hardware let's just go back to the days of back says in 360s who needs all this complexity of SOCs alright I think we're done thank you


Hello everyone and welcome to Encompass Live. We have this show almost every week, just one or two a year that we don't have on Wednesday mornings at 10 central time and we're very glad you're here or you may be listening to the recording which is also great. So thank you for tuning in. I do need to remind you of a couple of things. There is a questions box in your go-to-webinar list of things that you can do and if you have a question you can type it in there and I will be watching for that and I will tell Kathy that oh we have a question about something and we'll try to address it as we go along. Also I'm supposed to remember to tell you that this is recording, this is going to be recorded and anything you say or type will be out there forever as we know. Anything on the internet is out there forever so please be kind and gentle because that's always the best approach I think. Today we're going to talk about the Golden Sower Award which I'm so excited about because because Kathy Schultz, the chair of the Golden Sower Committee is here today to give you the info about a little bit about history, a little bit about how the Golden Sower works throughout the year and how you as a librarian or teacher or parent can become involved to a small level or to a bigger level. So I am going to make, let's see just takes me a minute, I am going to make Kathy a presenter so you can see her and her computer and we'll learn about the Golden Sower today so you should be a presenter at any second now Kathy. There we go. Okay am I there? I still do not see you. I think you're fooling, oh there you are. I thought you were fooling me. I just had to figure out which button to push. Go ahead. Okay well thank you Sally this is really going to be fun today. I love talking about Golden Sower. All right can you hear me? Yes we can hear you and you're pretty clear right now so we'll try to, I forgot to mention that we have a little sound issue so we're going to talk a little more slowly and let our words stand alone so that we're sure people understand. Right it's not always easy for me to talk slowly so I'll do the best I can. I get to talking fast. I know that there are people that have had questions about Golden Sower and of us, you know, how does it work and so we thought we'd go back and I'm going to pull up a PowerPoint here. And there we go. Is that showing up okay Sally? Yes it is. It's loud and clear. Okay well here we have the history of the award. If, oops wait a second here. There we go. The award has been going on since 1981. That's when the first award was given and of course it's named for the sower on top of the Capitol building. That's not a sower or a sewer it is the sower literature. Encourage independent reading, increase library skills and also we want them to have an appreciation for excellence in writing and illustrating. So this is what we're looking for when we're looking for books to put on our nominee list. There are three awards now. Picture books are aimed at kindergarten through second grade, chapter books grades three through five and the novels grade six through eight or older. We do not care what age kids are. If you have a third grader that wants to vote for picture books that's fine. If you've got a second grader that's reading chapter books and wants to avoid that we don't really care. We want the kids to read the books that are appropriate for their reading level. And we also changed it a few years ago so that if kids want to vote in more than one category they can as long as they do be recommended amount of reading. For example you could have a third grader that reads picture books and chapter books. That's fine they could vote in both categories as long as they read at least four books from the nominee list from each nominee list. The first award as I said was 1981 and there was only one category at that time. It was called chapter books and the first winner was Benicula, still a favorite of mine. And then two years later the primary award which we now call picture books was added and cloudy with a chance of meatballs was the winner. In 1993 the young adult award was added. We now call it the golden soren novels and Joan Marie Nixon won for whispers from the dead. So you can see the votes total number of votes increase each year as we added the categories. All schools and libraries in Nebraska may submit votes. There are no fees you do not have to register. The voting is done online and we'll talk about that later when we go to our own webpage and all you need to participate is have copies of the nominees available for students to read. Now Kathy I've had a question before can we sometimes a school will be I mean lots and lots of schools are participating. I've had a couple of librarians from the public library ask me can we collect votes too and I asked about that and yes but go ahead. I worked in the public library before I retired and I always made it the ballots available for kids to vote at my library. Now I this was always on the honor system. I always said if you vote at your school do not vote here also and I never had a problem with that. If kids are voting in school that's great. If they do not have an opportunity to vote at school sure I hope that public libraries will give them that opportunity plus any home school students could vote at the public library. So yes it's great to have public libraries participate that way also besides having the books there for kids to read gives them a chance to vote. Thank you. Yeah they have to read or here read you can read them aloud students at least four books from the nominee list. So there's 10 on each list they do not have to read all 10. They may if they want but they do not have to read all 10 and they because I said they may vote in more than one category as long as they've read four books from each of the lists four picture books or four chapter books whatever. The votes are always submitted by April 15th online. That should be an easy day to remember because we seem to have April 15th stuck in our brains for some other reason and then winners are announced May 1st. We tabulate all the votes and that also gives me a chance to notify the winners before it's made public. We like them to know first and then the authors and illustrators are invited to attend the Nebraska Library Association Conference in October to receive their awards. Unfortunately we didn't have a conference issue. Oh my goodness. So I had to mail the clocks to them. This is I was very disappointed and I think they worked too. These are winners for 2020. The picture book winner and by Brian Salesman and David Serlin and the chapter book winner Magic Misfits by Neil Patrick Harris and Gordon Sower novel was restart by Gordon Corbin and it was interesting this year the picture book winner and the novel winner were both scholastic titles so I had one publisher to deal with there. This was the thank you note I received for a baby monkey private eye and I thought that was so cute. They were very excited about winning and since we do not have things up currently in our virtual museum I wanted to show you the pictures they sent also. There's David Serlin. This is a word. Oh I like his bag of Cheerios for his mask.  Yes. Thank you. And here's I'm just hoping baby monkey can put those jeans on when he needs to. Well I hope so yes and then and then baby monkey left us a note too so that's exciting. I read into this year the contact I had at Scholastic had said just you know you can just mail the award box to me and I'll forward them to the authors and I got a reply right back from Brian Salesman saying oh I'll save time if you just mail it here's my home address. Unfortunately I did not hear your back with a home address from Gordon Corbin so I mailed it to Scholastic in New York and as of yesterday he still has not received it. Oh dear. Yeah of course there's no reason. Well we're not working in the office right now but as soon as we get to the office we'll send it to so I don't know when he's going to get it. Things are really strange this year aren't they Sally reported. There are. It's really tricky. Yeah now I know a lot of people wonder how we get the titles on these nominee lists and we depend on teachers and librarians students parents anyone in Nebraska who's read a wonderful book and thinks it should be considered for the golden sour list to submit these titles. That's how we that's how we come up with our nominee list. We do not depend on publishers to send us lists. It has to be someone here in Nebraska that has actually read it and thinks it's worthy of consideration and then the titles that are submitted are put into a list for our volunteer readers and these volunteer readers read as many of these titles as possible and try to select the best 10 for each category. There are criteria outlined on our webpage and we'll talk about these right now too. The most important thing I think is the person that's submitting these titles must have read it not read a review in a magazine about it sounded good. We want you to actually read the book. You can nominate or suggest five titles per list per year and students can also submit them but we ask them to give these titles to their teacher or librarian to submit for them so that you can you know the librarian or teacher can check and make sure they fit the criteria before they are sent in. We want them to exhibit literary artistic merit. It has to be published within the last two years. That means right now we are looking for books that have a copyright of 2020 or 2021. So that's the ones we're going to be reading for this next year. We want current titles and be sure that the content is age appropriate for the readers of the category that you're nominating the title for. Sometimes people send in nonfiction titles and this is okay as long as they are suitable for reading aloud. Sometimes we have picture book biographies on the picture book list sometimes that's great. It's something that is not just like a textbook that you might have good information but we want something that's going to be fun to read and fun to share with younger kids. If there's a series which there often is only the first title in the series may be nominated. This is because often if you get the second or third book in the series it doesn't make a lot of sense if you haven't read the earlier ones. We want it to be a good standalone read. If it's in the series and it doesn't have a cliff hand to pin your ending for that first one that's great if it gets kids excited about wanting to read more but we want it to be a book that they would be able to pick up and enjoy all by itself and not have to read more books in order to find out what's going to happen next. Some stories end kind of leaving you hanging and and it's not a very satisfying read unless you can find another book to read it tell you what happens. The titles have to be in print of course because we want schools and libraries to be able to purchase copies. A Newberry and Calicot winner is not eligible but the honor books are. Now it has happened in the past that we have ended up with a Newberry or Calicot winner on our list and this is because we put it on the list before one ad award and so we do not disqualify it once the list has been published we do not disqualify titles just because they won the Newberry Calicot we thought aha we recognized it first. This is another one of the author and the illustrator has to have been living in the United States when the book is nominated. Now uh the uh this has happened in the past too the book was nominated and appeared on our list and then the author passed away. We do not disqualify the book we feel that it was worthy of recognition it filled the requirement of the criteria at the time it was uh nominated and made the list and we assumed that the family member uh a family member would be probably thrilled to get this award if the book was chosen by the students um uh an author cannot have more than one title on a list at the same time. Um the authors can be repeated in uh future years but you can't repeat the same title. And this one is kind of tricky this last one the winning author will be excluded from competition the following year. Now this has happened sometimes in the past uh for example Gordon won the 2020 novel award and I believe he has a title on this current nominee list for 2021. Kids can read that and count that book as the uh one of the four that they've read but he would not be eligible to receive votes that's it's kind of a tricky one we do not want this to be just uh uh oh I know I liked his last book and you know he can win because he won last year you know it'll be it's it's kind of tricky but that role has been there all along usually it's not a problem every once in a while that crops up and if you want to suggest titles be sure you think of them as something that that a book would a child would pick up that book and enjoy reading it not just that it would fit the school curriculum if it does that's a you know nice extra but uh it's not the way we select our books and here there's the April 15th date again you need to submit these titles by April and somewhere in there did you mention the I think I saw it on the list I can't remember if we focused on it each individual can nominate up to five titles per list but not more than that because we get flooded with too many things to consider reasonably well yeah it's kind of hard if you're if your readers are trying to go through a list of 200 picture books or something like that it's it's just makes it difficult we want you to submit titles only the best ones yeah yeah this is a nice four and but I want it to be an outstanding book if we're going to put it on our list there are a lot of titles that it's great to have in your library but but we want only the best of the best on our list so yeah to you use some discrimination when you're sending in these titles and this is how you suggest them uh the picture book and the chapter book lists are compiled by uh Sean O'Lenner at the Carney Public Library and Jill Anas is a school librarian and she takes care of our golden sore novel list and then our volunteer readers you know as these titles are suggested they have created groups on Goodreads they are private groups only for our readers and if you if you want to be a reader you also would contact Shauna for the picture book or chapter book list and Jill for the golden sore novel list and they were you would get an invitation to be a part of this Goodreads group you can start reading the books now you know they're up there right now and every time they get a new one suggested they just add it to that that bookshelf on Goodreads and it really makes it an easy way to share comments also as the readers read them they'll put in oh yes this was great or oh maybe I had a problem with this one because you know it stimulates some discussion about about the books as you're reading them which I think is really neat and sometimes that guides me I'm reading all three lists because I'm crazy but um I look at what people say and they go that this book has 12 negative comments I'm not going to read it now I'm going to read these other ones that I haven't read yet because I think they're more likely to be a golden sore quality book does that make sense how I put that if you don't have time to get them all read especially it may guide you to like you say to read the ones that that have more positive comments and put those others off you know read them later if you have time and make your own decision of course but it might help you prioritize which ones you want to read first now if you've read one and it has several negative comments and also some good comments please don't hesitate to put your comments there because if you love it oh yes oh you love it and why I like it when people say why they love a book or why they have a problem with the book because that makes sorry yeah I think that's that's very important to have those positives and negatives so you can make your own decision too now that's a good good point and if people need to contact me about anything there's my email address and I think yeah um I'm going to close this and we'll go to the golden sore web page how about that that's a good idea here we are okay here's the golden sore can you see it Sally yes we see it thank you great all right um yeah if you look up here it says sites.google.com don't worry about that all you need to do is type in golden sore.org and it will take you to this site a number of years ago we had a problem with website we moved it and so if you type golden sore.org you will get to our web page it will take you directly to this and there's so much available here for adults working with the program first of all you can click here to go to our facebook page and you'll get uh not a lot of stuff I'm the one to post things on that facebook page and I'm not a great one for doing that but oh well I try to I try to post pictures and um announcements oh look there Sally and I are going to be on the in-conference slide but here's an important one join our mailing list this will not flood your inbox with lots and lots of email but you will get things like a reminder that it's time to submit your votes announcement when the winners have been announced you know just just strictly golden sore information and not a lot of emails so if you want to keep up to date please sign in here it's very easy if you go there let's see oh my look at there you're just filling your name and your email address and submit and that's that's all it takes that's not very complicated no that's pretty easy um here well this will take us to a link for the uh a list of this year's this school year's nominees and uh it's a PDF document that you can print off so that you uh you have them all and it's uh six pages long so that's not too bad but here it's very important here's the nominees for next school year they were just announced a few weeks ago we try to get this up by September 1 it was a few days later this year because of COVID but if you click there you can pull up the list of all the nominees for the 2021-2022 school year this is uh we try to get these up early because libraries and schools like to purchase the books and have them available when school starts in August or whenever it's going to start so we try to get it up as soon as possible it's also sometimes you know if there's a great demand and you need to wait for a reprint put them early because you know you want to be sure to have them on the shelf for the kids when when the school year starts but we've got some wonderful titles I think coming up for that 2021-2022 school year so I'm hoping people read them and get as excited as we are about them on the homepage we also we post the winners from 2020 of course that'll change next year down here at the bottom mentions that we now sell our manual on teachers pay teachers but I'm encouraging all Nebraskans at least to buy them from our store buy the manual if you buy it directly from the golden store store golden store gets to keep all the money if you buy it from teachers pay teachers we get a small part so you know that's just the way commerce works but what this has done is increased our reach with our manual people can go on to teachers pay teachers and buy the activities for a single book if that's the one they're using their school and people from all over the country could purchase these activities not just Nebraska librarians so that's kind of why we put it on teachers pay teachers to make it make our audience larger so if that makes sense here's the store I'm going to show you that right now since we're talking about the manual if you click there we sell things in our store to help make money to promote the program normally we would need money to bring authors and illustrators to Nebraska to receive their awards this year well I guess the good thing about COVID is we save money right I don't think that's that was not what we had to do but oh no the manual is not available any longer in print form it has gotten too expensive to print the manual and the cost of postage was very high so now we have a usb drive and you will receive the manual on a usb drive so it's much easier it's very easy to stick it in your computer and you can print out whatever you need to from the manual you can purchase stickers to put on the books to identify the nominees in your library there's a rubber stamp that you can get I was stamped inside the cover of the books and wrote the year that it was nominated because kids like to go back and and look at those and say oh look this this was a nominee two years ago we have a pewter pin of the sewer that you can that you can get I use these triangle stickers on the covers of the books to let the kids know which books were the winners and so oh my goodness look at that I have the old mug can you see that song yes we can and I have I'm gonna have to buy the blue one too to have a set right you're gonna have to have one of each right cool those post it notes there's balloons lanyards and then we have bookmarks down here oh pencils if you need something small items so you know you want to give the kids but we have sometimes the winning picture book illustrator will donate a drawing for us to use to make a bookmark and here we have guest stone which was the 2017 winner 2015 creepy carrots that's a fun one and then the 2019 Madeline Finn and the library dog that one is a little more extensive because she did one in color for us and it's beautiful she did a special drawing with the state of the brass cotton I thought that was wonderful and oh a little alert here we will be having baby monkey bookmarks coming as soon as they're ready from the printer so keep an eye on our store for those they are going to be cute um let's see oh there's a a bag I love my tote bag and look I'm wearing my shirt did you notice that but how many opportunities do I get to do that here's a we forgot Brock bookmark in 2018 so these are all available payment orders go to artist moody one of our committee members and Lincoln her email address is here if you have questions you can click to get the order form all the all the prices on here include tax and shipping so you know we've got that all all included in the price and please always print off a new order form each time you order sometimes people come up with an order form that they printed off four or five years ago and the prices have changed the items have changed some things on there may no longer be available on the old order form you know that we don't have them anymore so please always use a new order form you can either click here for the order form I think there was a place up at the top too right here and click there it'll just pull up PDF that you can print off it has all the items and the prices listed and the address everything's on the order form so let's go back and see what else we have on here when you go to this link you can find out some of the things we already talked about the history of the program the selection criteria um this history of voting some people might find out interesting that is the total number of votes each year since the award began and I think that's very interesting here's where the young adult one was added these two years we've lost those figures we if we find them we'll stick them in there but we didn't find them in our archives I'm not sure what happened something out thrown away Sally can you imagine I can't imagine how something could get misplaced I know and look at this this is what was so sad this year due to schools being closed in March before the voting ended a lot of students were not able to get their votes in and we felt so bad about that but there really there wasn't much we could do this year I'm hoping I'm hoping next year we'll be back up to you know closer to 70 000 so the voting link is right here and the voting site goes live on November 1st I want to be sure and mention this because if in particular the picture books if you librarian or teacher is reading them all 10 of the books to our class and have them all done November 1st or December or January you don't have to wait till April to submit your votes go ahead as soon as you finish reading the 10th book have your your picture book kids go ahead and vote and submit those votes that would have helped us a lot this year but otherwise you know if you wait till April then you have to go back and refresh their memory what the book was about so go ahead and and have them vote while they're fresh in their minds now I know with the chapter books and the novels you want to give them as much time as possible to get books read you don't you know you don't want them to necessarily vote in November so this is probably more for the picture book winners but it's very easy to submit your your votes there will just be a link here to click on once they go live that will take you directly to a document where you submit your total votes not just the ones that were the winner in your classroom or your school but the total number of votes for each of the 10 titles if there's a title got zero votes putting a zero there but it's important that you submit all of the votes because they're tabulated from all over the state and just because one book didn't get many votes in your school maybe got a lot of votes in another school so they all count so be sure that every single vote gets submitted let's see here nominees this will take you to lists for this year this school year's lists I'll show you one of those it's just a list of the titles and this is interesting because this will tell you the entire history from when the award began if you go to this page you'll get every single picture book winner from the beginning to you froze a little bit Kathy so we're not hearing you right now okay just a second something there we go I heard that something I'll have a notice pop up can you hear me now yes we can hear you now yes okay if you go to this last document past nominees and winners this will show you every single title that has ever been nominated oh wow first year 1981 there's the winner and there's the honor books those are kind of like runners up just like in the Caldecott Newberry and if you notice these are all the other nominees there's more than 10 titles there because when they work again they have 15 titles on the list and so there's a lot that was a lot a lot of books to read and I believe it changed after the let me go down to 1993 94 I think it was after the I'm hoping I'm not making you dizzy here scrolling down after the young adult award was added they went to 10 and then we said you know that's probably a good idea let's do that with the other two awards also um partly it's it's a number of books the kids need to read that's a lot of books 15 of course nobody had to read all 15 but still that was a lot of books and also uh cost wise that was a lot of books for schools and libraries to purchase because many purchased uh multiple copies so we decided you know 10 maybe is a good number for all of the lists so it's been 10 ever since um we talked about the voting uh this is some frequently asked questions you might look through there and it might answer your questions if you don't find the answer your question there you can go and be able to contact us and here's a list of members of the golden sore committee and their their tasks on the committee and you can take the email addresses there and send your questions directly to the appropriate person if you can't figure out who to ask you can ask me that's fine um but uh let's see oh I wanted to be sure and mention that uh Dana Fontaine is the who added her along with me I do all the proofreading oh my gosh I hope I do good every year I think I've done it perfectly and as soon as I look at the manual I think oh my goodness I made a mistake but uh that's life right I'm human um but she's our manual editor and we depend on volunteers to prepare the activities and pages that go into this manual and if you are interested in taking one of those new nominees for the 2021 2022 school year and preparing activities for the manual for us she would be the one to contact uh and let her know um which title you'd like to work on and as a thank you you will receive a free copy of the manual next spring after it's been prepared you'll get the usb well actually I think she will just email it to you probably I don't think but you'll get the entire manual free charged and the manual includes activities for all 30 nominees all three of the levels so let's see is there anything else that I've forgotten as we went along here um right I just checked and we didn't have any questions yet but let me look again no not yet if you have a question that's been here's Shauna Linder and Jill Anas that worked with the uh readers our volunteer readers oh I know we were going to talk about uh becoming a member of the committee yes yes uh the only requirement uh to be a member of the Gonesore committee is uh it's open to all members of the school library let's see oh children's abuse what is it skip you children and young people thank you thank you but I couldn't say it this morning skip section of the Nebraska library association because skip is the sponsor of our award so all members of the school children and young people's section of the Nebraska library association are welcome to become members and help us we're on this committee however there are other ways that you can help without being a member of skip all of our many of our volunteer readers are not members of skip they are teachers librarians uh some parents uh from Nebraska that want to read these books and help us select the final nominee lists and we depend on their input um this these lists are not put together by one person this is uh they take it very seriously and we have some very um interesting discussions uh you know polls and cons on books and trying to trying to get the best uh most comprehensive lists we can um and these readers take it very seriously and it's a big commitment a time commitment to read as many books as possible now this this year with COVID it was especially challenging because it made it difficult to get to libraries to to find these books to read um I have to tell you Sally I read all three lists also and a number of the picture book uh suggestions that were on our list I had to go to YouTube and try to find somebody reading the book on YouTube in order to see the book and find out what the story was like and help make my decisions that way which was a good option uh this year I I was glad that was available now in other years and hopefully in the future again there have been uh the Seward Nebraska library has held this longer but they have all the picture books and they had a special day where whoever could make it that day came in the morning they open at nine and you just sat in the red picture books it's my favorite meeting of the year and you could get all of the books read but um this year yeah that was fun and Carney Public Library started doing that a couple of years ago also um usually uh let's see the one in Seward was usually the Friday before Memorial Day and the one in Carney was um early June I believe so I think they did have the books available at Carney maybe in June or July when they opened up but you know of course you had to like make an appointment to come in and they could only take so many people of time because they were trying to socially distance around the room so um at least they did make the effort Seward did that too because I went to Seward with my friend and she and I sat there all morning and read picture books but it was just her and I and we socially distanced and I asked them about you know should we wear plastic gloves to touch the books and she said well we're telling people that you know it's come and read at your own risk they're not I mean they wipe the books off but that is not a guarantee that it's completely clean right so well we're doing the best we can just like everyone I guess in this this time but we're hoping that kids are back in school and able to read these books it's really it's you know everything has changed this year hasn't it so but this is a good place to find email addresses if you need to contact uh if you have a question of any please send me an email and if somebody else on the on the committee is better able to answer the question I will forward the question to them we have our webmaster here there's the web page our historian there's there are a lot of jobs kind of behind the scenes with golden sore that most people probably don't see or think about but it it is confusing I know when we're talking about the nominees you know we're talking about this year's books next year's books the year after that so it's it's hard sometimes to keep that all straight in my mind but I do my best let's see is there anything else we need to be talking about on our homepage do you think sorry I think we've talked about over there I think we've hit most of the things we've talked about presenting yeah I'm looking over my notes I think um oh I know we'll talk about suggesting the books um I'm trying to think if it's listed here yes here also it tells you uh where to send your suggestions if you found a wonderful book that uh fits our criteria and you want it considered for the golden sore word please send the titles to Shauna or Jill depending on which list you think it's appropriate for and this is what you need to include uh they will need the author's name title illustrator's name if there is an illustrator publisher copyright day ISBM and please include the state in the united states where the author lives because that is one of our requirements the author uh and or the illustrator must live in the united states and they don't have time to look up all of these books so you need to include that information and as I said we are currently looking for books that have a 2020 or 2021 copyright date and they will add these to the Goodreads bookshelf until April 15th next year next spring and those will be the ones that we're selecting oh my gosh let me see if I say it right the 2022 2023 school year I think and also while you're talking about the timeline the the lists will be complete so to speak by April 15th or soon after they'll get everything on there and then you have until roughly the middle or end of July to read as much as you can right I think usually it's in the past it's been toward the end of July to get all those books read and that's why having them on the Goodreads bookshelf helps because if the book's up there you can go ahead and start reading them now you don't have to wait till April 15th to start reading them um which is kind of the way it used to be before we had all this wonderful stuff on the computer we would get a listing uh in the mail in April and and think oh my gosh I can read all these books before the end of July but you know you can start now and um the uh well I was gone somewhere with that song and I lost my three foot that happens to me too my three foot got derailed but yes I think the good thing to emphasize is to start now because there's I think 13 books on the novels list right now and I've read three or four of them already so like I'm I'm already good to go and I want more good books on that list but I can read several while we wait I remember this year now we we did extend it the readers we gave them until about August 22nd or something like that instead of the end of July and then we we have a zoom meeting with our readers as many as possible following weekend to discuss the titles and help put together the list and I thought that worked very well this year didn't you Sally to have a zoom meeting and sit on a person meeting yes I thought it did work quite well and when you're doing your voting before that meeting they ask you to mark all the books on the list that you have read so keep track of that and then the up to 10 that you think are quality for the list and what yeah one of the things Shauna emphasized at our meeting was if you've only read 10 books out of say 60 but a couple of them in there are really good go ahead and vote mark your 10 you read and vote for the two you think are terrific because that brings more opinions into the whole thing so you don't have to read more than half or any you can set your own goal but if you only get so many read still vote for the however many you think are really good because that's important I think that's a good point thank you for bringing that up Sally yes no matter how many you get read if you if you don't think you can get the whole list read that's fine we still want you to tell us which ones you read and which ones for the best ones yeah okay let's see anything else maybe we've covered it all can you imagine that I there are no questions in the question section of the of the form up there so I think we did a good job somebody's gonna send you an email later today and say by the way I just got to thinking about and then answer them right well and a lot of things we talked about in the PowerPoint are also available right here on the webpage so remember www.goldenseller.org and and that will take you to our webpage and you can find all this information very easily and quickly I hope that no questions doesn't mean we put everybody to sleep Sally I hope not but I'm afraid to well then we don't have them on camera so we don't know that's true yeah I was just gonna say on the webpage people can go there and find that section where you showed everybody's email so when they do have a question like you said next week they can find your contact us that was it they can find you or they can find Jill or Dana whoever they need to contact you know I guess I should mention if you see something on the website if you have a question about or a problem with or you think there's an error please do send me an email you know things like updating I mean we we got our winners posted here and I think it was last week it suddenly dawned to me I had not updated those places and added the 2021 so you know there's too many different places things that have to be changed or updated and sometimes we forget them so if you have a question or a problem accessing something on the webpage or whatever please contact us and let us know so that if there is a problem that we can take care of but we can do that good point yes you know this little technology thing if I could just all great when it works oh I know I was going to mention our virtual museum years ago we had pictures and things up for all the winners back to the beginning it was just wonderful and then a number of years ago we had this huge computer crush that was when we transferred our webpage to Google and made all these changes and if you go here now it's under construction we have things listed here see we haven't even updated it to 2020 but we have not been able to put in all the pictures and all that I'm hoping someday this will happen but as you know everyone's busy our webmaster is a school librarian who is very busy and you know every time we think we're going to have time to work on it something like covid pops up and and something else takes precedence so eventually I would like to see those pictures that I showed you of Brian Selznick and David Serlin and Serlin posted up here in our virtual museum that was the whole idea so that kids could go here and see the winners uh with their clocks and things like that so hopefully hopefully in the future that will happen we do have a comment in the question section now the comment is thanks ladies I'm not sleeping I have enjoyed your presentation a lot so yeah thank you yeah thank you so if we don't have other questions and I think that Kathy thank you so much you did a great job covering all the aspects of this um wonderful award it's so great that you're the still the chair of the Golden Sower Committee if I know she said once if someone else wants to be they can but nobody wants to take it away from you you're too terrific well someday they're gonna have to so Kathy Schultz former librarian now retired yay that means she has more time for Golden Sower right I think it's probably what it is I I look at some of the things I've been doing for Golden Sower recently and thinking how did I get all those things done while I was still working I don't know but yeah it's nice to be able to uh like when I am proofreading the manual to be able to sit down and just work on it for several hours without interruption I had trouble finding that before well thank you for proofreading the manual and thank you also for being here today and if I get any questions I'll direct them to you and okay well thank you Sally for lining this up this is always fun and thanks everybody for coming in today or watching us later to learn more about the Golden Sower award and I hope some of you decide to become involved if you haven't before become a reader or even suggesting some titles that you think are extra special would be appreciated so that's true so that's why you can you can you can volunteer to without being on the committee you volunteer to be a reader you can volunteer to help with manual pages I'm going to mention that again because Dana said oh please please ask people to volunteer she has some of the titles already spoken for so if you are interested in a particular title contractor right away and hopefully it's still available if not I hope you'll pick a different one but uh yeah we we meet all your happen input uh I think that makes the manual better too when you have so many different people working out that have different ideas they they all see it differently than I do for example I worked in a public library I didn't necessarily do activities from the manual with the students so I have more trouble coming up with activities that teachers do but you come at it from a different angle so that's good okay well thank you Kathy now I'm going to change presenter back to me so I can wrap this up thank you so much so we will um wave goodbye to everybody thanks everybody bye bye


So my roommate, Brandon and I are going to do the one chip challenge. We're real late on this. Yeah, sure. We'll be doing the mannequin challenge now. The mannequin challenge? Yeah, it's the one going around. They open. Slowly, apparently. That's smaller than I expected. What'd you get? Worded like that.   Like, are we just taking a bite or do you want to like...  All right, let's do it. All right, ready? Three, two, one. Yup, that's a spicy chip. My willpower is intense right now. Ah, fuck!  Hiccups! I'm finishing out. Oh, you got me doing hiccup? I'll do it okay, you path. There it is. Got yogurt. That's a six dollar chip.  Oh, that's soothing. Christmas spirit and all.  Ah, yogurt. It wasn't too bad, so let's try making it a piece. That's fine, just try with six dollar chip. There's like 12 dollars worth of hot peppers on it. So that's the what? That's the hot chip challenge. Jesus. I just don't want to go away. No, don't do it. I thought I would have passed by now. You want some yogurt? It is not passing. Make a sandwich with Frank's red hot. That would be nice and cool. Is that my computer? What, my computer? Oh, it's computer.