Well, I think it's about time to get started. There's still a bunch of seats over here if anybody's looking for one. Okay. Well, welcome to the fall 2022 CNI membership meeting. And welcome to what I hope is not the first in-person meeting of the scale you've been to. I know some of you were with us last year, but it's great to see you all. It really is. I trust that everybody has had easy travel. One never knows. I'd like to particularly welcome our international participants. International travel is very interesting these days, and I think I'll just leave it at that neutral word. We have quite a number of new attendees with us. We did a first-time attendees session this morning, and it was very well attended. So I'd like to particularly welcome those folks and to those who are long-time attendees. I hope you'll have an opportunity to meet some of this wonderful new group of attendees who are joining us for the first time. I'd like to also extend a special welcome to the ARL leadership fellows and LCDP fellows. We have a number of them with us, and I'm really delighted that you were able to be with us today. I don't know whether we have any clear fellows with us. They have been an important part of this meeting over the years, and that program continues to move forward. I would like to just extend, just in case, a welcome to all present or past clear fellows who are with us. While we're welcoming folks, I should also welcome a couple of new members. We have with us a new member, Cal State San Bernardino, and we have from the UK the University of Leeds as a new member. They're doing some very interesting work there. We also have two rejoins, the University of South Florida and West Virginia University, and we are glad to see both of them back with us. Just a couple of quick logistical things while I'm thinking of it. There is no mask mandate, at least at present, in the city of Washington, DC, at least not that I know of. You are very welcome to do whatever is comfortable for you, and we have tried to do a number of things, not filling rooms more than we have to, putting out sanitizer and also making some to-go lunches available for people who are more comfortable with that. I think that all I will say in this area is that people are in really different places, and I think I would just ask everybody to respect where everybody else is on these things. As far as schedule changes, if schedule changes take place, we will note them on the board opposite the registration desk. We will also update SCED as appropriate for those of you who are using the online schedule. I note that we have printed schedules available for people who like printed schedules and like to write notes on them, and we also have electronic scheduling via the SCED app for people who are happier with that, so we have a bit of something for everybody there. All of the sessions, to the best of my knowledge at least, are being recorded unless something goes wrong, and we will make those recordings available after the meeting, a few weeks after the meeting, through our usual channels. We will put out an announcement about that on CNI Announce when they're ready. Hopefully that will help you as you make choices among parallel sessions, because I think you can expect with some confidence that whichever sessions you chose not to go to, you will have recordings available from. I want to note that we are trying an experiment at this meeting. We have taken the hour before the reception, and we are doing a plenary series of lightning talks. The idea here is that there are lots of things we get proposals in for that, at least in my view, and given the time constraints of the meeting, really don't need 30 or 45 minutes. So what we're using these lightning talks for is updates for the community. Somebody announcing an initiative, announcing a report, announcing a project, providing a quick update on a project. These are not intended typically to be the end of the conversation, but rather an invitation to start a conversation. And these have strategically been positioned right before the reception. So I would urge you, if you hear things that capture your interest during the lightning talks later this afternoon, to follow up with those people, either at the reception in person or through email later. And we will be asking you as part of the meeting evaluation later how you thought that went and whether we should be continuing with these. But I'm hopeful that this will fill another need for a certain kind of communication in much of the same way as the quarterly collection of prerecorded project briefings that we're now making available is filling a need for something that we used to do pre-pandemic in person as part of this ridiculous series of eight or nine parallel breakout sessions in each slot. And after some consideration, we really decided that there was a set of these that work better as asynchronous project briefings would follow up as needed. So that's where we are on that. I want to do two things in the time we have together in the next 45 minutes or so. I want to just make some very selective observations about some things that are going on in the world that I think we want to keep an eye on or that I think are particularly strategic for one reason or another. A few of these I will just mention in passing. A few of them I will talk about at a little more length. After I do a bit of that, I want to move on and talk a bit about CNI and CNI's strategy going forward about some of the things we're doing and about how we're approaching the world as we move into our 2022-2023 program year. I intend to finish in enough time. I hope that we will have at least 10 minutes or so for questions. And if we need to, we can always run a little bit into the break. So that's the strategy for the rest of the session. So let me start with the landscape and a few of the things that have been happening in the last six months. And I really just want to start with the kind of ongoing weirdness of the world in general. You know, we seem to be trying to move past this pandemic that, you know, we seem to have declared it's not a pandemic anymore, but it's still there. And everybody's trying to figure out how to adapt their behaviors individually, organizationally as a society to deal with that. We have a rather significant war going on in Europe, but somehow we aren't talking about this very much. I have been to Europe several times in the last year. And they don't really mention it a lot, even though it's a very real issue. And even more than here, it is dramatically starting to affect their economy, their energy security, and other things. It also is a fascinating and sort of horrible case study of how these kind of conflicts are going to play out in the current information age. While all of this has been going on and we've been in pandemic mode, there's been all this progress kind of quietly with technology and technology adoption. I don't know whether it sort of happened when we weren't looking or what. One of the things that I've been really noticing, for example, is the extent to which facial recognition is being adopted for various kinds of security operations. If you've boarded a plane recently, for example, often that's being done now just based on your face. When did that happen? It happened sometime during the pandemic when not a lot of people were traveling. The technology there is surprisingly sophisticated. We tend to think of face recognition as, oh, well, we have a camera watching everybody coming out of the subway or something. And we have a database of people we're hunting for. That's a hard facial recognition problem. What you're seeing now is a lot of much more easy, much more constrained facial recognition kind of issues. Well, we know the 200 people who are supposed to be on this airplane and we've got records of their faces. So we'll see, can we match you to one of the 200? Which is a very different problem than the sort of endless open-ended search. Again, very striking to see these kinds of things. Against this backdrop, though, let me move on to a few things that are a lot more specific to the areas we're concerned with. And the first place I want to start, as I often do, is with networking and related sorts of questions. One of the things that happened very quietly during the course of the pandemic and kind of got completed in the early part of this year is that Internet2 in the United States did a total technology rebuild.  The other thing that's really shocking about this is that they also managed to reduce the energy footprint and the physical footprint of the networking nodes by, you know, like 60%, 70%, amazing numbers. To see that kind of a win in that sort of a technology transition where normally you'd expect to see roughly the same kind of power consumption, just better performance. This was really, I think, something that points to the extent to which you really can get environmental wins if you think carefully about it. The conversation that was going on, just to follow in the networking theme for a minute, before the pandemic about the national research platform and the global research platform, is back. There was a workshop this fall on the global research platform. And there will be a workshop on the developments in the national research platform in San Diego in February of 23. These kinds of very high-speed data transfer and computation-sharing platforms are, I think, going to be quite significant when we look at particularly the demands of some of the scientific work that is coming over the next few years. I had an opportunity to see some of the IEEE Science Conference where they took a careful look at several of the sort of big science projects that are underway and are scheduled to move into new phases or to come online over the next couple of years. The kind of data that these projects are going to generate is something that I think we really have not wrapped our collective heads around. We don't know where we're going to put this. We're not sure how we're going to move it across our networks. The computational demands on this are going to be absolutely enormous. One of the takeaways I see from this is that we're sort of seeing the split between big science, if you will, really big data-intensive science and the sort of more manageable demands of research data management as they are typically being encountered on our campuses. It almost feels like we're going to see a significant technology divergence in how we're going to handle these two problems over the next, let's say, decade, but I would say that remains to be seen. I would just urge you to be very aware of what some of these extremely ambitious observational and experimental scientific platforms are going to be producing over the coming years. Just looking quickly at a few other developments, we talked in the pre-pandemic and early pandemic times about the question of remote access to special collections and about a project called Sorcery and where that might lead. They have continued their work and I am looking forward in the coming year to see sort of the next stage of that effort. So that's one to be keeping an eye on. If nothing else, I would say that our experience with special collections during and after the pandemic shutdown has really emphasized the importance of thinking through some of those efforts. Other programs that we've talked about over the years continue to flourish. One that was particularly striking to me is the SNAC project, Archival Identities and Contexts, Social Networks. You've heard several times about that over the years and I had an opportunity to catch their annual meeting recently which took place virtually. That whole project now has matured and feels to me like it's reaching a pretty robust operational stage. If you've not looked at that, I would say that it is well worth your attention. We saw this fall a series of awards out of the National Science Foundation under a program called FAIROS. These are community research coordination networks in various research disciplines. Those awards really I think have just been made in the past month or two and it's going to take a bit of time to get those projects up and running. There were many, many applications for those and I believe if memory serves, NSF ultimately funded 10 or 12 of those. I think in 2023 and beyond we can look to some significant developments from some of that work and that's an area that we'll be tracking going forward. One of the things that really has hit home to me over the past year is the change in the availability and the use of geospatial data. And many of the arenas that I have seen this in most prominently are outside of the academic research community but I can't help but feel that this is going to be very significant for a number of academic research activities and I think it raises a lot of questions about who's going to preserve and provide access to this. Fundamentally what's happened just in a nutshell is that there are a lot of commercial companies now that have put up small low orbit satellites that are imaging or sensing in various wavelengths and you can now buy essentially commercial coverage of almost any point on the globe from these folks in multiple wavelengths, high resolution. This is the sort of thing that ten years ago mostly was the terrain of nation states and now is a very vibrant commercial activity. Interestingly it has taken on at least as far as I read it the character of sort of an ecosystem in that you're not, it's not merely the platforms that are capturing it, there are other companies that are involved in processing this data. Applying for example image recognition or AI prediction algorithms trying to pick out things, well here's a very interesting case in point. You remember a little while ago the so-called Nord Stream 1 and Nord Stream 2 underwater gas pipelines between Russia and Germany just blew up. There were these explosions and everybody said we didn't do it or didn't say anything. And so as far as I know nobody has actually assessed any responsibility for that conclusively to anybody. So it turns out that there are people who have been mining these low altitude satellite data and they've got algorithms for example that will detect shipwakes. Now normally the way you track large ships is they have essentially a transponder on them. So they much like an aircraft and they transpond up to a satellite and there's a you can get a big map of where all the ships are except when you turn the transponder off. So it turns out that there are these interesting shipwakes and they can actually estimate the size and the weight of the ship based on the wakes that apparently had their transponders turned off that were moving around in that area. Now this is not what's striking to me about this is this is not the assessment that some national government's intelligence apparatus made. This is sort of open source data that's available to everybody. I don't know exactly where this is going to lead but it seems to me that this is really starting to change the game potentially for certain kinds of research. Now while we're talking about game changers let's say a word or two about generative artificial intelligence. So some of you who were with us in December 2019 at the Omni Shorum for the fall meeting may recall that in my remarks there I mentioned something called generative adversarial network or GAN to mostly fairly blank looks. This was something that was pretty new at the time at least outside of people working in AI. Now in the last couple of years since then we have seen amazing progress in these areas. You've probably seen some of these image generation systems like Dolly too where you can ask it to do things like you know show me somebody riding a horse on the moon and do it in the style of Rembrandt and it will produce such a thing and it actually is pretty good. I mean as with so many of these AI things it's pretty good. It's occasionally hilariously wrong and it's usually fascinating. You've probably also seen these text generation networks like GPT-3 where you can basically feed it a topic and it will spew out a paper on the topic that actually may or may not be right but certainly at least sounds authoritative and sometimes is even right or defensible. There's a certain amount of hype about this about the debt you know AI is coming for authors now. I'm a little skeptical of that claim although clearly there are going to be some niches for fairly formulaic stuff where this will happen. More to the point I am seeing a lot of discussion about maybe we really need to rethink how we teach high school English or freshman college composition because these kinds of systems are pretty credible for that. Interesting developments I would just say that I don't think we're anywhere near the end of the developments here they are going to be significant. One of the things one of the implications here is that we can produce lots and lots of plausible text and flooded out in various directions and we're going to need to think about that so maybe issues around provenance and authenticity are going to become even more significant. The other thing that I will say in this area that's worth watching is that at least based on my very limited understanding and I underscore very limited here the position that the U.S. Copyright Office has been taking to date is that things produced by AI systems are not copyrightable that these are outputs of computation. They don't have the human creativity that is necessary for the award of copyright. This position is just sort of adding to a growing amount of angst about under what terms can we make use of the outputs of these kind of AI systems. Who can use them in what context. It's worth noting that some of the big image banks will currently not accept images that are produced by these kind of systems because they feel that all the rights issues surrounding them are so ambiguous they just don't want anything to do with them. I think we're going to see some interesting developments on that in the coming couple of years. My sense is that this sort of issue which has long been fodder for science fiction writers is now actually starting to progress to a point where we're genuinely going to have to deal with it for basic kinds of commercial reasons. The next to last development that I want to call out is the so called the OSTP memo that came out towards the end of August the so called Alondra Nelson memo which basically puts a enormously greater emphasis. I mean this memo does a lot of things and I don't want to talk about the open access publishing implications. Those have been well covered by others. But I want to I do want to stress that it places a much greater emphasis on the sharing and making public of research data arising from federally funded work. You can actually I think make a good argument that the new NIH data sharing policy the one that's supposed to go into effect early 2023 the one that at least based on what I'm hearing from colleagues at many campuses is now stirring up quite a bit of attention among researchers who are asking questions about what does this mean for my grant applications going forward. How do I satisfy these requirements very pragmatic kinds of things that those that NIH data sharing policy could be viewed as sort of the prototype and poster child for what the OSTP memo wants every federal research funder to do around data sets. My guess is that as NIH goes through the process of complying with the various things having to do with data sharing they're called for by the OSTP memo. They're probably not going to have to make a whole ton of changes. They're probably going to basically say well yeah that's that's what our current policy says to a first approximation. Now I think this is a wonderful thing. I also think that this is a very scary thing and I can't help but feel like. We have as usual we haven't quite fully considered the question of what happens if we succeed well what we've now done is we have persuaded or we are well down the path of persuading lots of researchers to make lots and lots of data available for sharing that comes out of their research. What we have not told them and what we have not figured out is how long do we need to keep this and what are the criteria for disposing of it and how do we go about disposing of it once we decide that we should dispose of it. We know I think with a very high level of confidence that the magic of technology is unlikely to save us. Storage is not getting cheaper fast enough so that we can you know sort of infinitely retain everything that's being produced particularly not when you start looking at the ever growing data volumes coming out of a lot of this instrumentation. So my reading and this is something that I think CNI is going to convene some kind of discussion around in 2023 is that it is now past time to at least start thinking about issues about deaccession or you know whatever you want to call it getting rid of data about data lifespans CNI as you know tries to look a few years ahead to think about problems before they turn into monsters and this really feels like one where it should be quite timely for us to help to launch a discussion around the issue. I don't think the answers are simple but I think that there's no avoiding the issue. Let me turn to the last kind of environmental scan thing that's very much on my mind. I've been thinking quite a bit over the last six months or so about issues around social media and what how we should be thinking about social media in the context of stewardship of the cultural record. There are some really hard issues here. One of the hardest issues I think is that we're very confused about what our objective is. One way to think about social media is it's a place where creators put things and you can try and preserve pieces of it from the creator point of view. Here are contributions that have been made by an individual or a set of individuals. You can do that in the context of getting the individual to work with you on this in which case it really becomes sort of a special case of personal digital archiving or you can do it by tracking people to the extent that the rules in terms of service of these platforms allow you to do that and copyright issues allow you to do that. On the other hand, you can ask a very different set of questions about social media platforms. If you regard them not as places where people can share their creations but rather as mechanisms for the propagation of news, propaganda, rumor, whatever you prefer, primarily pushing things out rather than communicating, then you can start asking questions about how is this influencing the way sectors of society are thinking? How is it influencing public opinion? Where is that manipulation coming from and what are the pathways it follows? Documenting that, it seems to me, is a very, very different and in many ways more challenging and frankly more alien problem than thinking about stewardship at the personal level. So that is one of the kind of fundamental issues that I've been puzzling over for some time. The other thing I would say about social media broadly is that somewhere along the line, a lot of research communities and perhaps the broader public became obsessed with Twitter and Facebook. In fact, if you look at the data about the size of user populations, the number of hours logged on various platforms and how that shifting over time, it becomes increasingly clear that the pattern is shifting very significantly and that we really need to have some conversations about how we prioritize, how we even recognize shifts in usage patterns and what those should be doing to our stewardship strategies, if anything. Okay, so that's the broad context around this. And then all of a sudden, all of this craziness happens around Twitter and Elon Musk. What a strange situation. All of a sudden, I'm hearing on mass media, I mean, these are not conversations among archivists, stewards of the cultural record. These are like people on talk shows saying, you know, it would really be a shame if this important, you know, repository of recent history went away. I mean, that's just a remarkable statement to hear, but it does kind of open the possibility for public discussion. There are two other things that are very, very interesting about this besides the question of archival integrity and archival responsibilities, if any, and things of that nature. One is privacy. So if you look at Twitter, it has, you know, public messaging and private messaging, essentially. And it's really not clear how much, how private the private messaging is, especially if you don't trust the people who own it anymore, and you start thinking about what would happen if they monetize all those private messages by letting other people sift through them. All of a sudden, I think we're seeing a really interesting public lesson in how much do you trust your service providers to do the right thing? What happens when your service provider changes? If you will, it gets sold or something, and all of a sudden you have all this hostage data that moves to the new management and how comfortable are you with that? I think that this, this, I don't know, you know, nobody knows what's really in all those private direct messages other than there's undoubtedly plenty of, you know, scandal to go around, plenty of embarrassment to go around. But I'm starting to wonder if this may actually trigger some conversations about data privacy that we haven't really seen before. The last thing about this current situation, and I'm really indebted to our friend, Herbert Von Dessampel, for underscoring this in a conversation I had with, I had last week with him, is that for the first time, we're starting to hear at some scale about people wanting to get their data out of one of these platforms and perhaps migrate it from one platform to a new platform. You know, we've talked about that theoretically. Most of these social media platforms have a way where you're supposed to be able to export data. Generally, this is obscure and what you get out of it is not necessarily easy to use. But you are starting now to see people, for example, who are promoting platforms like Mastodon as a, you know, possible path forward and away from Twitter to talk about data migration from one platform to another. That is a very potentially fruitful conversation to have in the context of stewardship, especially if we frame it as stewardship based on individual creators, individual authors, and their contributions to these platforms. So I do wonder, I cannot help but wonder if we're not at a unexpected but potentially pivotable moment here. So those are a few of the things I'm watching. There are lots more, but those are a few that are particularly interesting and that interact with CNI's agenda in various ways. And with that, let me come, let me move over to CNI's agenda. And I guess a few things, I want to say a few things, just in general. We, as just about everybody else did, moved virtual in early 2020 as a result of the pandemic. As is the case with many organizations, particularly smaller ones that do the kind of work that CNI does, we have stayed primarily virtual. We expect that we are going to be operating primarily as a virtual organization with people working remotely for the foreseeable future. And we're gradually making the necessary changes to get us there. That's quite a shift. It's a less difficult shift for us than it is for many other organizations that have ongoing operational face-to-face activities. We only do face-to-face activities that where we bring people together a few times a year like this. And we can easily do that without maintaining a big physical footprint the rest of the year. At the same time, we think that there is something really important in the physical meetings in bringing people together for conversations to network with each other and get to know each other. And so in that sense, while we are operating as a virtual organization primarily, we do not expect our activities to move entirely virtual. In fact, we are bringing them back more and more physically. If you look at what we did in 2021-2022 program year, and remember our program year is July 1 to June 30 of the following year. We actually, in 2021-2022, had what I would call a transitional year. You may recall, I know many of you were with us in December, 2021, where we were one of the first organizations, not the first, but one of the first to bring everybody back together in person. We did a spring meeting in San Diego in the spring of 2022. At the same time, in a fit of necessary insanity, we also did a pair of virtual meetings, spaced about a week away from the in-person meetings. That, I believe, was a very necessary transitional phase to go through. It was also thoroughly unsustainable. You will note that we are not doing a virtual meeting. We didn't just finish one. We're not doing one next week. We're not doing one in conjunction with the spring meeting. We are back to in-person events. Having said that, we are also continuing to work through what makes sense to leave digital, to leave virtual, and how much of that we should make use of. So just as a few examples, we are now doing pre-recorded quarterly project briefings, and we put out an addition of roughly 10 of these every quarter we call for contributions. These supplement the breakout sessions that we offer in the in-person meetings. Those make sense, we believe, to do asynchronously and virtually for a bunch of reasons that we can get into. The executive roundtables that we used to convene in-person either on Sunday afternoon or on the Monday morning of the first day of our meetings. Those are virtual now. They are desynchronized from our meeting schedule. There was no reason to synchronize them to our meeting schedule except for the fact that you already had people here in-person and it saved a trip. It makes a lot more sense to do those flexibly and to do those virtually. We have, during the pandemic, started a set of monthly gatherings, and I know many of you who are member reps have participated in one or more of them called hallway conversations where we just bring roughly a dozen max member reps together for an hour with me with no particularly fixed agenda to just talk over issues that are on our mind. Those have, I think, been very useful and seem to be well received. I believe that we will continue to do those as long as there's demand for them and we've already largely filled out the one for January 23. So we will be doing things like that. As I'll describe in a few minutes, we are going to be doing at least a few webinars, topical webinars on things. And we're still, these are synchronous webinars I'm talking about. We're still thinking about what the right proportions are. One of the things we don't want to do is continue in the kind of mode that everybody seemed to be in during the pandemic where you just can't have enough webinars and everybody is just glassy eyed from this endless collection of webinars. If there's one thing that I believe about CNI, it's that we don't want to deluge you with things. We want to try to be very precise and very parsimonious about bringing things to your attention you wouldn't see elsewhere and things that are or that we believe should be important to you. Not to make sure that you have a webinar every week from us whether we've got anything genuinely useful to say or not. We're going to try very hard not to go there. Another thing that I want to mention is that we have been working with our steering committee on a restructuring of this sort of thematic framework that we use to describe our program. Those of you who've been with us for a long time will remember if you go back to the pre-pandemic times that for example, every year up until program year 2019 slash 2020, we produced a document called the program plan. This was actually sort of two documents in one. One was general background on CNI and then the other talked about what we were doing programmatically for the year. And we really organized that along a long a framework that spoke about managing content, about organizational and institutional transformation and then about standards and technology with a sort of an additional one that dealt with public policy and consultation kinds of activities. It became very clear, particularly as we looked at the roles that we found ourselves in during the pandemic as we looked at our evolving set of interests and strengths. And as we also looked at the shifting roles of other organizations that we work closely with and that are in adjacent areas, I'm thinking here of groups like ARL, EDUCAUS, ClearDLF, that some rethinking here was really needed. We are still working through all of the details and I'm very hopeful that when we gather next year in December of 2023 that I'll be sharing a new program plan based on this new organization for the 2023-2024 program year. I'll be sharing some more material on the website in probably January about the restructuring and I would welcome feedback as we get there. I think that one of the things that we really came out of the pandemic with was an understanding that CNI, and this is very different than some other organizations, really if you look at our members, they're bound together by a significant commitment to not just teaching and learning but research and the resources necessary to support research, to support research today and to support future research. That really is something that is quite different when compared to other organizations that really reach across a much broader spectrum of higher education. The other thing I would say that makes CNI a little different is our time horizon. Many organizations stress things that you can take home and use tomorrow and that's not really what we're about. We're about getting you to think about things that you can take back to your institution and say, we really need to talk about this in the context of five-year strategic planning. We need to be aware that this is coming or this is potentially coming and think about how we should be positioning with regard to that. So we've really tried to recognize some of those things and just to give you kind of the top headings for how we're thinking about reorganizing our programmatic themes. One obviously is the changing nature of research practice and its implication. It's about how we're doing scholarship. It includes issues around computationally and data intensive scholarship, infrastructural changes, researchers support and what it means to support researchers in this environment and obviously hand in hand with all of that, how does the system of scholarly communication have to change to reflect these new research practices? A second thrust is shifts in organizational structures in our member institutions and the practices around them. To really give you a quick insight into this, go back to the 1990s when CNI was being characterized as a place to make the needed collaboration between library leadership and CIOs happen. What a simple bipolar world that was. Libraries, CIOs. Now look at what we've got out there. We have research computing, we have chief research officers in the mix, we have presses and publishing programs, we have chief privacy officers, chief information security officers. I'm thrilled to be able to report that among the members of our steering committee this year, along with the traditional CIOs and those sorts of folks, we have our first information security office, chief information security officer. And that is absolutely consistent with the kind of places we need to be going as we speak about privacy and how privacy and ethics around big data and those kinds of questions play out. The third major thrust is preservation and stewardship of the scholarly and cultural record and all of the implications that come with that. And I'm not even going to dip into that one because I could go for an hour. But that is clearly very central to so much of what we do. Now I just want to conclude my remarks by giving you a few heads up about some things that we have launched. A few of them have been announced, a few of them haven't been announced yet and I'm going to just share them anyway. So I think that you've seen the announcement of our senior scholars program. And I'm really excited about this. I think that it's an opportunity to get some of the best minds in our field an opportunity to engage with really critical problems that they care deeply about and that are very resonant with CNI's agenda and objectives. And we couldn't ask for a better inaugural senior scholar than Don Waters who I know is well known to many of you. He is looking at how institutions are organizing to address what I would characterize as deeply multidisciplinary grand challenge problems, climate change, pandemics, those sorts of things. And by deeply multidisciplinary here, it's the point is it's not just several different sciences working together. These are places where the humanities and the social sciences very much come into play alongside the more traditional STEM fields. And figuring out how to do that and then even more germane, what kind of information infrastructure is necessary to make that work is I think an incredibly important problem. We've just had, I think arguably at least a good case study of not doing very well at that in the response to the pandemic. We did spectacularly in some sense from the medical side, from the side of engineering vaccines, but from a sort of a societal response, it was pretty rocky. And I think we're, as we look back over that experience, it's helping to underscore the importance of the sort of work Don's doing. I think he's gonna be, he is planning on a presentation in Denver at the spring CNI to share some of his initial work on that. Okay, next thing we're gonna be doing. Joan Lippincott, our associate director emeritus who many of you know. During her last couple of years at CNI led a effort that was very important to us that focused on digital scholarship centers and how they fit inside institutions, their programs, what was working and what isn't. She is going to revisit digital scholarship centers, fundamentally ask questions like how have they feared over the last five years? How did the pandemic change their practices? Have they successfully become genuinely institutionalized? And I expect that over the first half of 2023, we will see probably a webinar, a report and a session at the Denver Spring CNI meeting reporting on various aspects of that work. I think that that's gonna be just fascinating cause in some sense when we first looked at this they were the new thing that everybody was excited about. And we don't go back and revisit new things that seemed like a great idea at the time near as often as we should to see what we can learn from that. Okay, we have quite a backlog of executive round table reports that we are trying very hard to catch up on. I am reluctant in the absence of major crises to schedule a lot more round tables until we get those reports out. But I expect that the next round table we do at least tentatively will look at some aspects of research support services as institutional competitive advantage. And that will probably happen sometime mid 2023. The last thing I wanna mention that I hope to make some more specific announcement about is that we've heard a steady set of queries about the use of machine learning and related AI technologies in the context of special collections and archives. And certainly one can point at a lot of interesting experiments that people have done. The problem is that most institutions at this point are not necessarily interested in experiments. They're interested in sustainable, transferable, reproducible, scalable kinds of services or practices. And I really am hopeful that we'll be able to provide some insight into what people can expect in that area in the coming couple of years. And I hope to be able to say more about that in early 2023. And there will be more to come. So those are some of the things that we are looking to get done this program year. I think that there's lots to do. There are a lot of exciting questions ahead of us. And I really hope that you will be with us on this journey. There's a lot of challenges. There's a lot of change, but there's also I believe a huge amount of opportunity that's starting to emerge in this landscape as we come out of the pandemic. I have not touched on many, many aspects of this, some of which are a little bit peripheral to CNI's work, but questions of how the diffusion of knowledge will happen in virtual rather than face-to-face settings is a really key issue we're going to be seeing play out and we'll be watching carefully over the next few years. Questions of remote work and how that resolves and all of the follow-on implications of how that resolves are going to be very much an issue. So I think we're in for a really interesting few years and I'm delighted you're here to explore them with us. Thank you very much. And okay, so I only lied a little. We probably have 10 minutes for questions. I would welcome a few questions or comments. There are some microphones I think around there and there or feel free to just yell if you prefer and I'll repeat the question. Yeah. I'd like to have Michael Siegel from the United States of Berlin and the iSchools. I really understand what you mean about the difficulty of having a virtual meeting facing onto a physical one. That's something we've had to do though because we are highly international and we don't have a good solution to moving people around the planet, especially an ecological solution, except by doing that. But the difficulty of that I would underscore as well. It's really hard. I'll just make a couple of comments on that. So from my perspective at least, so-called hybrid meetings where you've got some people in the room and some people out there tend to be just a disaster especially if you're doing anything other than sort of one way lecture presentations. Yeah. I think that you can pull that off in a classroom setting sometimes, especially if you have really good control over the facility but I don't think it meshes with us. Now what we did in 2021-2022 was two completely separate meetings that were designed to be complimentary to each other. Basically the easy way to think about this is it multiplied our workload by about 2.5 times. It turns out to be worse than simply linear because of the various couplings in coordination between the meetings. And just surely in terms of staff burnout, we couldn't do it. There are different organizations that are coming down in different places on this depending on what their goals are, what their memberships are, what their geographic footprints look like. And I wanna stress that we made a call for what I think was best for CNI with our membership and our geographic footprint and our agenda. I think you're gonna see an enormous variation from organization to organization in the right answers there. And there are some where I will say honestly, we haven't resolved what we're gonna do. You may recall we used to every couple of years do a joint meeting with JISC in the UK bringing together US and UK people. And that was always in person. We did that once virtually and for a lot of reasons it didn't go well. And I'm disinclined to do it virtually again. On the other hand, we may end up rethinking that meeting and saying the right way to do that is virtually. I don't know on that one yet. We have a lot of conversations to have. But I think what I would just stress is that we need to be mindful of the workload and the time demands on people because what we were seeing in 2021, 2022 is that it wasn't just our staff getting burnt out. It was also our members who were like, oh, well, you've got two different meetings one in person and one not. And I guess I need to watch all of both of them. Thanks a lot. Yeah, thank you. Cliff Bob Hanisch, National Institute of Standards and Technology. I wanna take you back to your speculations about AI. One of the biggest challenges, as you know, in research data management is metadata creation and curation. Do you see technologies like the BGT-3 and other AI as solving that problem for us? Or do we still have to worry about manual curation at a high level? I am very pessimistic that those kinds of things will solve our data curation, metadata problems, at least in the near to medium term future. What I'm actually more optimistic about is the kind of things like the cloud lab work at Carnegie Mellon that we talked about last December. There, what you're doing is you're generating data in an environment where you sort of automatically pick up a ton of the metadata that you need. And as you well know, the more you can do that right in the workflow that produces the data, the better off you are. I'll also though, I'm struck by just how hard it is. The fair principles are just such a nice slogan and they are so difficult to genuinely achieve. I've been watching with great interest this series of very specific disciplinary workshops that the European community has been convening, trying to understand how one might actually use these in practice in specific sub-disciplines to actually get the kind of reusability and interoperability that is so easy to talk about and hard to do. But I wish I was more optimistic about the use of AI kind of systems in that setting. Just thank you for teeing up what I'll say in my talk in the panel about laboratory information management and metadata capture at the birth of the data. So thank you. I'm 100% with you on that. So maybe I have a bit of a simplistic question, but I was intrigued by the topic for your next executive round table and I just wondered if you were to take the top universities by the herd ranking or something like that and look at how they're using their money to support research, it feels like the solution is always just having lots of money and then you fix the problems and so is that something you would consider to think about those institutions and looking at their resources and then it could be a more active discussion about what are the, like an institution like my own that doesn't have the same level of resources. So that is not a simplistic question at all. That's a really complicated question. I think right now that there's a very poor understanding of even the extent to which investment in research support services genuinely adds value to various, advancing various institutional goals such as increasing the research footprint of an institution, competing for grant funds, things of that nature. There's no good handle on how much is enough here. There's, we don't really understand, I don't think, how to begin to measure this, how to make the case for it, how it should be positioned vis-a-vis the institution as a whole as opposed to specific schools or departments. So I think there are a lot of different questions to ask there and certainly people have argued, I think quite sensibly that changing research practices are creating a bigger and bigger demand for professionalized and institutionalized research support services, but the conversation hasn't happened at a strategic level in the context of institutional goals. That's probably the best way I can explain what I'm after in this round table, at least in the current immature stage of thinking. I think that there is a whole second order problem about what are table stakes in this world, if you will, and how many institutions really can afford those table stakes. I don't know what the right answers are there either, but that is a very significant problem. I think it's going to play out in some surprising ways. Let me just leave that there. Hi, thank you. I'm Gwendolyn Reese. I'm from American University Library, but for the past six years, I've been the chair of the IRB. So I'm asking questions coming from that kind of perspective. I wanted to thank you very much for talking about privacy a little bit, but I'm kind of wondering whether or not some of these issues are kind of on your agenda. Some of the things that give me nightmares, and I just have a lot of nightmares right now, is this combination of the big data and the way in which we're doing data preservation along with AI that is developing. So for instance, so much of what we do in trying to protect human subjects is de-identification of data, but what does it mean in terms of the risk of re-identification when you're trying to foresee AI as it will be in five years? And so I'm just kind of wondering those kinds of things. And then what do you think the general role of us in this kind of community are for talking about and helping people be educated about ethics when it comes to data ethics and AI and so forth. Thank you for your thoughts. Gee, we could do an hour on that really easily. Let me just make a couple of very quick points. So I think that there's one set of questions about educating our communities about privacy and also about ethical use of research data and those kinds of things. Those are somewhat separate problems. I think that there are a lot of really hard problems about good archival practice, personal digital archiving, how public is public and that assortment of issues. I think the re-identification thing is really nasty. I mean, all the indications are that it's getting harder and harder to genuinely de-identify anything and still be left with data that's useful. There are some interesting approaches like creating synthetic data based on the distributions of attributes in real data, which I think bears some consideration, but that de-identification issue is really hard and I think it's just getting more complicated the farther we go. When you look at some individual making a choice about sharing their genomic data, they're not just making a choice for themselves and we've seen that again and again and we don't know how to handle that. Clearly when we get into the big data world, there's this huge disconnect in that, at least as I understand it, a lot of IRBs have taken the position that, oh, if you're just scraping public data off the web, we don't need to get involved. That's public data. At the same time, we have certainly seen what feel to me like profoundly unethical pieces of research using this kind of data and even worse creating data sets that then are put out for reuse and further abuse. We really need to start thinking more seriously about that and I am encouraged that some disciplines are starting to do that. For example, if memory serves, there is at least one major annual conference that deals with sort of social scale web data where they actually are putting papers through an ethical review group that's part of the conference program committee essentially. We may see more of that as well. So I think it's an interesting question, how much of this ends up institutional, how much of it ends up disciplinary, but I think there are huge challenges there. As far as CNI's agenda, we're interested in these things, but we're interested in it, I would say specifically in the contexts of research and appropriate stewardship and use of collections. I could probably do one more question. I think people are ready for a break. Well, thank you, welcome. I hope you have a great meeting.


Bad bosses are to blame for rise in workplace mental health issues. A recent study commissioned by Global Staffing Business, Robert Haff, showed that half of workers surveyed quit due to a bad boss. The survey results seem to support the theory that people leave managers, not companies. Mental health expert and the CEO of the Workplace Mental Health Institute, Peter Diaz has warned that bad bosses are contributing to a rise in mental health issues in the workplace. We already know that workplaces are increasingly under more pressure due to the state of the global economy and the level of digital disruption happening across all industries. These pressures are being felt by many people as employees are being asked to do more with less time. At a time when employees need to be further supported given the challenging economic environment, it seems many businesses and managers haven't got the memo. Peter Diaz says there are eight types of bad managers you could avoid for a mentally healthy workplace. 1. Rude and insulting managers. This type of manager seems to find joy in making others feel less powerful or special.  Whether they do it on purpose or do it without even realizing, this type of behavior is incredibly destructive. You can let them know how their actions affect you however often this behavior is attached to narcissistic personalities and those who feel threatened by others. Making them feedback is unlikely to change their behavior. 2. Ungrateful and inflexible managers. Many managers struggle with the concept of thanks and making their staff feel valued. Even worse.  As most millennials will tell you, flexibility in the workplace is very important. In fact, it has been identified by this generation as one of the most important elements of the ideal workplace. Staff need the ability to blend their busy lives with work, whether it be family, kids, or illness. Managers need to be considerate and flexible and find a way to meet staff in the middle. 3. Disorganized and last-minute managers. This type of manager typically makes their inaction your emergency. I think we have all worked with someone like this and can vouch from personal experience that this type of manager is dangerous and soul-destroying. Helping them to better manage themselves and their responsibilities is not your job. 4. Unapproachable and arrogant managers. This type of manager is difficult to work with. Often staff will avoid dealing directly with this type of manager because they find them so intimidating. Often when these managers do engage, they are always right and tend to gloat about it. This is a personality and style issue. You can do your research and work out how to crack their self-loved veneer, but it can be a challenging task. 5. Managers pick and play with favorites. Unfortunately, these types of managers are everywhere. They overtly pick favorites and these people seem to get away with blue murder including not doing their job. They also tend to be the ones put up for promotion and other opportunities. Other staff often end up carrying the load which burns people out and leaves them feeling undervalued, underpaid and exploited. You can try to pamper the boss with praise and sell your soul to get into their good books.  6. Micromanager. This type of manager will give you things to do and then tell you how to do it and check every aspect of your progress. Most capable staff will only put up with this behavior for a short period of time before leaving or exploding. The key is to build confidence and trust fast while establishing mechanisms to keep your manager constantly updated. This tends to add so much work to an already busy load that most people move on to other roles to get away from the micromanagement. 7. Too busy and unavailable managers. We are all busy in the year 2019 but the people we should be most available for, are our staff. If it means that managers have to get to work earlier, or lock in staff time that cannot be doubled booked, then this is what must happen. Managers who find themselves too busy for their staff are not managers, they are simply absent colleagues. Staff meet engagement with their manager. They need to be able to access their manager to discuss and resolve issues and seek guidance on work related matters. 8. Distressed and overwhelmed managers. Bosses are human too. When they are distressed and overwhelmed, they can become a risk to the mental health of their team. Self-care is very important for bosses too. Here you can encourage your boss to care for themselves. Do things they enjoy and have regular small breaks throughout the day to improve productivity. Bad managers can cause mental health issues in their workplace, and through bad management they can also worsen issues staff may be experiencing. If we can better equip businesses and managers to understand and deal with mental health issues in the workplace, we can save lives, many lives. Importantly, we can also help managers to be better managers. Peter Diaz and Emmy Golding have written and released a book to provide organizations and managers with practical assistance on dealing with mental health in the workplace. Their much-anticipated book is called, Mental Wealth, an Essential Guide to Workplace Mental Health and Well-Being. This latest Workplace Mental Health book provides important guidance for all organizations, leaders and managers on mental health in the workplace and how to build resilient and meaningful cultures and processes that enable organizations to support and appropriately manage those with mental health issues. It is more important than ever that every business, organization and manager across the country is positioned to deal with mental health issues and understand the warning signs. We all need to step up and ensure we are taking care of people. The only thing that gets us through hard times is people. We need to help people and support them to cope and to be resilient. So when you subscribe, you'll get a notification letting you know when a new one's just been published. So make sure to hit that subscribe button and don't miss out on this vital information for yourself, your colleagues and your loved ones.


Do you have the TH3D easy board light on one of your machines like the Ender 3? Do you need to compile the firmware and want to do it super easy? Well TH3D just put out a crazy new super fast tool for this. Let me show you how to do it. My name is Jim and this is the Edge of Tech. So yesterday TH3D announced that they put a tool on their website that allows you to configure firmware and they will compile it for you. I jumped on the site today, I learned how to use it super fast. I talked to Tim, went through all the steps and I'm telling you it is really easy. It is probably 5 minutes or less now to compile firmware for their 32 bit easy board light. It is only good for that board right now, but who knows, maybe in the future they'll do it for other boards. But I tell you what, I ran through it two or three times to test it and each time it took me 5 minutes or less from start to finish to get a firmware going all the way to an SD card. So that's what we're going to do today. Quick shout out, happy birthday Rachel from TH3D. I hope you had a great day and thank you for packing everything in our boxes. With that being said, let's jump on the computer and let's show you how to do this. So what you want to do is go to the website and I'll put that in the description below. All you have to do from here is go up to online editor and click it.  So what you want to do is put any tags in here so you know it's you. You can put your name, you can put a code name, whatever you want just as long as you know it's you. Then what you want to do is come down here and you want to read the instructions. Now this currently is only for the TH3D easy board light, the 32-bit board from TH3D that's a Creality drag and drop. So you'll read through the instructions and at the very end of this we're going to put it on an SD card. We're going to boot the printer and then we're going to reset our eProm. We want to make sure everything is set to default when we get the new firmware. So start your cursor at the top, hit Ctrl F, type Ender up here and you'll find the section for your printer. In my case this is an Ender 3. So we're going to comment out the Ender 3 then we're going to scroll down here. I do not have an easy out and I don't have the filament sensor if you're using the CR10S but we're going to come down here and since I have an Ender 3 what we need to do is comment out the OEM mount for the CR10 which is actually the same thing for the Ender 3. Now that I've done that that's all I need to do for my Ender 3 and the reason why I commented this out is because I have an easy ABL mount on mine. If you just have the Ender 3 all you need to do is take out these two slashes to uncomment define Ender 3. When you're done you have your tags up here, hit Submit. Now here's the queue, there's one in the queue currently, it'll take roughly about three minutes to get through this, okay. So now it went from compiling to success, that's what we have here. So now what you need to do is click on this download button and what you'll see is success the edge of tech video happy birthday Rachel that's what I called the tags on mine. Click that file download the firmware dot bin it'll download for you then you want to save this firmware dot bin file on your SD card so now you have the TH3D firmware compiled you take that file that you downloaded you put it on your SD card you come over to your printer you put your SD card in your printer and you turn your printer on at that point it'll go through a little bit of configuration it'll take a little longer to boot than normal it'll boot up and then all you have left to do is to reset your eProm if you follow the instructions on the page it'll show you how to do that you can use the control on your printer to if you click the button go through the menu and find reset eProm it'll be perfect it's right there that's all you have to do you got your firmware compiled you put it on an SD card you loaded it on your machine you turned on your machine it's done now just print it's super super easy thank you so much TH3D for coming up with this tool I think it's super easy it's very quick to learn and you guys really took a lot of the hard work out of it we don't have to download the whole thing anymore especially with a 32-bit board we don't have to fumble around in new ways to do it that are different from our 8-bit boards it takes all of that guessing out and it actually works all I got to say is thank you you really made this super easy for us users to use and now anyone that's having trouble all we have to do to help them is jump on this say what kind of machine do you have they say enter 3 go in editor we uncomment enter 3 we can pile and they can get on and actually download the file from their side which is so cool so I could compile your firmware you could get on download it and I could help you walk you through the steps to finish it I mean I don't know how it gets any easier than that that's just it's just awesome it really takes about five minutes in real life from the time you get on their website to the time you're plugging in your SD card and you're loading your new firmware firmware changes going forward are gonna be so much easier with the TH3D easy board light I hope you guys enjoyed the video and as always keep printing hey everybody we are over 4100 subscribers so please click that subscribe button below click the thumbs up and give me that if you like the video and the little bell over here if you want to be notified next time we put out a video or we go live thank you guys so much let's get to 5,000 happy birthday Rachel later


the GPG tools package for a Mac and use it to verify the signature of a downloaded file. So previously I have downloaded the GPG Suite package and I'm going to run the installer. I want all the default options. Of course it's going to ask for my system for my password because it has install system software. It opens some help files which I'll dismiss for the moment. You probably ought to read them. So the first thing it asks you to do is to generate a new key pair. When you install GPG for the first time, it notices that you don't have a public and private key pair. GPG, or really which is an alternative to PGP, so I'll use those two terms interchangeably, is an encryption and verification system that relies on every person having two keys, a private key that they keep for themselves and a public key that everyone else can see. And it's by signing or encrypting the files with one of those two keys that both secure and verified communication can take place in a mathematically provable way. You don't have to generate a new key pair. In fact, for the moment let me cancel because we don't really need it for what I'm about to do. I'll maybe come back later and show you how to make a key pair if you want to create one. So what's the situation? Let me close the installer. I don't need that anymore. And I'll remove that. So what's the situation which you want to use GPG to verify a downloaded file? Let me go to a download directory and drive the folder I've shared. And maybe there's a very important file you want to read, lesson0.pdf. But because it's so important you're worried that maybe it got changed accidentally, maybe someone went in and changed it just to mess with you, or maybe there was just an internet hiccup when you were downloading it. You want to make sure the file you end up downloading is the same as the one that I uploaded. So here's the PDF that's super important. A preview of it. Let me download that file because after all I want it on my computer so I can work with it. So yes, I want to keep the file. It ends up in my downloads directory. Now going back to Google Drive, next to lesson0.pdf there's lesson0.pdf.ask. So the .ask indicates that this is a PGP signature for the file lesson0.pdf. So let's look at that signature and see what it looks like. So this is clearly a PGP signature. It doesn't tell me anything other than the fact that it is a signature and has this big pile of what should be essentially random characters. So I'll explain in a moment where this signature comes from, but for the moment let me download this file. And it of course also ends up in my downloads directory. So what can I do with that signature? Now that I have the GPG keychain installed I can click on that file and notice what it says verification results lesson0.pdf signed by Abraham David Smith undefined trust. The important thing here is that it says it knows what file it's talking about lesson0.pdf and knows that file has been signed by this particular person but we don't know whether or not we ought to trust that person. So what this is doing is when you click on the file lesson0.pdf.ask it's looking at that signature we just saw in the browser window, remember the signature looks like this file so it's reading this file and it's noticed, so better than this information this is a hint of who had signed the file it's then checking the internet to see what key had signed that file and who that key belongs to and then it's observing that in the same directory as the signature there's a file actually called lesson0.pdf so what it's doing is examining that file bit by bit and comparing it to what this person said that file ought to look like indeed they match the fact that this is simply a message and not a big red warning saying failure to match or a verification error or so on means that this is in fact the file that this person or the person controlling this key said it was going to be so pgp signature contains two pieces of information it tells you that the file you're looking at is the same as the one that was signed because if there's any small no matter how tiny or large the alteration is to the original file this signature should really not change at least statistically extremely unlikely as in many multiple lifetimes of the universe unlikely and it tells you who declared at that time that the file is what they said it was so there's two questions here is the file what it was claimed to be and who claimed it was that in the first place and pgp signature deals with both of those questions simultaneously how do you know who this person is who signed it how do we know that person is well in fact we open that one more time i can look at uh... or let me do that i'll let me do that so let me take you to the key which is on my web page and here's the key eighty smith pubg i asked this is this is the key i used to sign this file it's a lot of random bits it's about uh... four thousand random bits which is plenty for uh... any sort of encryption you want to do in the human world so i'm going to do is i'm going to download this file i'm going to download this file i'm going to download this file finally save page as and yes i'll call it the same thing and of course ends up in my downloads directory what i want to do from the keychain manager is i want to import that key and now it's imported now along the keys that you know about there are two of them one of them is the key from the people who wrote the software we're currently using the other one is this key by this person planning to be abraham david smith a smith wouldn't do it for my new you with this id number if you were to make your own public and private key then you could officially declare in a cryptographically secure way that you actually trust this person and then when you look at the verification it would say fully trusted or marginally trusted to indicate how much you trust this person to be honest about signing that file but for the moment this has served its purpose um... if you believe that this key really belongs to me then the file we downloaded is indeed the same as the file that i had signed let's see what happens when the file got altered so to do that let me mess with the file a little bit um... let's see, let me close that let me close that let's see so let me go to my downloads folder and let me actually do something kind of nasty i'm going to take this file and rename it let me do something pretty nasty like let me come... let me uh... let me copy it so i don't... well actually let me just delete it let's do that okay so that file is now gone and let me take some other random file like say this one here and let me make a copy of it that so that's actually a video let me make a copy of it that sir petitioner said when to call lesson zero dot pdf so now i have this other file called lesson zero dot pdf that's now a totally different file so what happens when i verify that if i now try to verify again ah lesson zero dot pdf verification failed so you know there's a problem that the file is not what the signature claim said it was so that's the sort of thing that you have to look for to see if maybe your download was corrupted or the file you got was somehow altered along the way either by you know a hard drive error it could be you know sunspots flipping bits in the memory of your computer it could be someone walked too close to your hard drive to the magnet and messed it up a little bit it could be that you know your wireless was being interfered with when you're downloading the file it could be that the web server was surreptitious it could be that there's some evil player along the way messing with your data or it could be your roommate was messing with your laptop again so all these things are possible and this verification failure tells you that something is wrong with this file so that's the main purpose i'll stop there and next time we'll talk about how to make your own key to build a web of trust of people who you trust


Why do I love being a doctor at Kaiser Permanente? I get to play a part in keeping our community healthy. My only job is to take great care of my patients. I'm empowered to do what's right for you.  We all work together as one team. We're new to the area, but not new to the Northwest. We started here 75 years ago. We're excited to help Eugene Springfield thrive.


Thank you very much all for coming here at this for me quite early time my name is Wolfram I'm the current maintainer of the iSquashy subsystem in Linux and I want to talk about today about something I learned the hard way when I was preparing my subsystem for proper DMA usage so and I found a few things out I want to speak about I want to get known and I hope you can spread them and we can together raise awareness and hopefully somewhere settle this topic because if DMA goes wrong in unexpected situations you can imagine that can have quite drastic consequences so about iSquashy and DMAs if some of you say why would you ever use DMA with iSquashy then I'm quite kind of with you the usual use case is that you send lots of small messages like having a register and a value you want to poke into that register so when iSquashy entered Linux long long ago DMA wasn't really considered and so there were also no rules how buffers should be should they be should DMA take and be into account when you set up the message buffers because of course we have inside the struct iSquashy message we have a pointer to a buffer where the actual data is and one thing well you all know Murphy's law if you don't have clear rules and give a chance of things going wrong things will go wrong in all possible ways you can imagine when I finally had when you notice that they have issues with sending buffers via DMA and found out well well do the buffers come from they really come from everywhere heep stack read only data came up memory and whatnot so if you if there's no rules people go creative and do all this kind of stuff so when when thinking about it more or trying to get a clear rule oh no here sorry with some discussions after some discussions on the mailing list I thought it would be still best to have a clear rule which says DMA is optional I don't want like other subsystems do that they require their message buffers to be DMA safe but I didn't want to go that row for iSquashy in retrospect for the reasons I've given there I was afraid of regressions because there were like this zillion of drivers getting buffers from everywhere and to which to drivers for hardware where we don't have access to and I didn't want to mess convert that and so it was optional this the default case is we don't care too much about DMA but we want to have some guidance if you want to use DMA and of course that's why I'm here I want to speak about this that this is the case so people know and can handle their buffers properly so great now I decided that DMA is optional for iSquashy that but that means we have two potential code paths so we have a buffer which is DMA safe or we don't have and we need to go in the bus driver sending out the data to go this or that direction but how do we decide which direction to go ideally we would do this in a perfect world we would do this at runtime we just look at the buffer and say oh yeah that's good we use DMA or no it's not good so let's just you pulled it out and yeah that's the time I wondered why isn't there a function for us like is DMA capable for a buffer or what and the the fact that such a function does not exist already of course should raise a hint that this is not a very easy topic and it probably does not exist for a reason but I wanted to be brave and find out on my own and just how should the function look like if I want to find out at runtime if a buffer is DMA safe so I started looking what kind of functions we have to check that and then you find like maybe this address and this function and then you find out well it's not enough there's there's a may might be a better one or you should take out into consideration this or objects might be on the stack that you need to check out as well and by pointing out this this is what Greg through a hard man so the USB subsystem also needs to deal with that problem DMA safe or not and they have I think they mainly she used to check with that function and then somebody said oh well maybe we need to add this check as well and I don't want to bash Greg I just want to make out it's really complicated to or hard to know which functions there are inside the so I didn't know we had that macro to check it so it is complicated and if you think about cash line alignment and this was the point where I said okay no this is not going to fly I understand why there is no such function yet and this check at runtime I won't go this way there is this DMA oh it's renamed by these days I'm sorry this file name is not correct it it has been moved but it's basically the same there's a debug kconfig option for DMA and if you do development I really really recommend to to have it on all the time because it will find a lot of things it's made it found a bug in a driver for for a renaissance hardware I I'm looking after which we could find before it appeared in the field so it's really good but it's not good for production kernels of course so you should really do this during development and so okay I should also I I've also talked about it about this topic in honor at a conference in Japan so if you see some strike through this is the information which has changed since this talk and I think it's quite worth noting that the DMA debug code increased by one kilobyte since this summer so it's really a delicate topic so we have that but we can't use it for production kernels it but it's another idea how subtle this and complicated this issue is so what I did for I square C is I have an opt-in approach so with within I square C the messages can have certain flags and so I just added a new flag which says yes I know this buffer can be handled with DMA it's called DMA safe so opt-in which means that a lot of driver need to be manually audited and added but I think this is when you look at regression this is the same thing to do and to make it easier for drivers I have a small API which helps you to if you want to do DMA you just use this helper function and the message you want to process and it will check for you if the buffer is DMA safe based on the flag and if it's not DMA safe you get a bounce buffer so that whenever the when this function returns and you have a non null pointer you have a buffer you can use with DMA and you don't need to care where it comes from and there's a cleanup function for that as well which as you see got renamed to get the API a little more proper this is super still thinking about I scratch she is super simple most of the messages will not require DMA so this is a one-to-one mapping bounce buffer mapping if you have if you're not happy with that you can do your own pool based approach based on this DMA flag if you want to do that but I think for the generic approach this one-to-one mapping is okay and on the I square she client side we have two new function calls so the standard function calls to just get and receive data are called I square C master receive and send and now we have that extended with DMA save so that you can use this new flag from from the client side and have have all that properly working it's worth noting that if you you send messages from user space that we have a user space a dev interface they are all copied those messages are all copied copied from user space to kernel space anyway and then it's guaranteed that those buffers are DMA safe so happily we don't need to fix user space that's that's a good good news and they're also quite a lot used in the kernel are not directly I square C transfers but SM bus transfers to kind of a fallback for more limited hardware and this I square C controllers emulate these SM bus calls and everything which is emulated will be also DMA safe because there's copying around so actually most drivers should be okay with this change there are some which are directly using I square C messages which need to be adapted as I said opt-in every driver needs to be checked and the bus master drivers need to handle that flag also the problem with I square C again is that it's not only used directly but also well like RatchMap is a huge user of I square C especially accessing codecs and stuff like this and so I needed to sync with Mark Brown how he could access this new DMA safe functions and by the way how handle I asked him how a RatchMap handles DMA at all because it doesn't use not only I square C but SPI and slim bus and whatever buses sometimes lot buses I've never heard of and they what's the common ground of this and that's what he said we pretty much assume everything is DMA safe so it's an assumption there's also not a clear rule and when saying how yeah I can't really think of a particular good way how to handle all this and what I propose to him doing DMA safe is not particularly appealing but might be the best we can have I'm pretty aware that this is just what I came up with is an a solution only for I square C it's not very generic but I really want did want to well get this part of the kernel more robust because people were seeing crashes because of that and this is what I could come up with in that short amount of time and he really nailed it when I asked so should we do it like this I really like this phrase it's hard to summon enthusiasm but yes without changes to the DMA stuff it's probably as good as we can do which is exactly my opinion so I implemented that and I'm happy that we improve the situation but I'm not super happy about it because what he also later said we need like annotated buffers it would be super super great if we have a buffer object or whatever which could be annotated so we just can check if this one is DMA safe so I put this on the I square C level but it should be really on the lower level but we don't have that yet and as you can imagine this is a big task yeah and because red map is a user of other subsystems I checked some other subsystems and they're like for sure slimbo's SPMI and one wire which do have buffers with they in the same situation that I square C used to be they have some structs to pass around messages these structs have a buffer point pointer to a buffer and they have no rules set and nothing is mentioned about the buffers being DMA safe or not and so it could easily happen that somebody is pointing a buffer which gets someone used with the DMA capable controller and these things can go wrong really bad from from that point the nasty thing is most most of the time it will work but when you look from it at a safety purse perspective most of the time is not good enough clearly not good enough it needs to work every time SPI is another subsystem I looked at it's a lot better given given the documentation side of things because it has clearly documented where I said where follow standard kernel rules and provide DMA safe buffers in your messages so this is a clear rule it even has helpers to do the mapping and unmapping so you could think great this is a subsystem all cases solve DMA is not an issue for them but I I found a thread where there was an issue with doing an UBFS file system on an SPI nor flash at well obviously connected to the system via SPI and UBFS for reasons which I haven't really dug into but in that message that was said are okay use a formal of buffers at some times and there's a whole threat how to fix this issue I am not sure I haven't followed up but I'm not sure if it's fixed by now but there was a lengthy discussion about how to do things properly so even with these clear rules there can be still issues so if you okay well okay aren't sad that spinor is completely separate from SPI in the kernel so that might be that the rule is not affected but it's still a point in the kernel where the problem I want to point out here is not maybe not really well handled and well it could be a root file system which is on it right and a similar problem it was was also with SPI and went to do cache flushing which also started as a simple patch and turned out into a lengthy discussion how to do this properly and that also showed that sometimes DMA handling is based on assumptions which were more most work most of the time but not always and it's worth but to be aware of it and then to audit your systems if you're affected or not the also the subtleness of this issue can hit people in some unexpected ways for example if you if you get a buffer inside a struct your pretty have pretty good chances that you don't meet your cache line alignments so that is what some people go wrong so if you get your buffer just the buffer the kernel might handle the cache line alignments for you if you do this inside a struct you get the memory for the whole structure and the buffer is somewhere in that you might not have the cache line alignments this is just the introduction some people get this wrong but some people know this it gets more trouble if you use def mk malloc instead of k malloc because if you get just the buffer with k malloc things will most likely go right but if you use def mk malloc you still get this buffer you can use but internally it gets pre-panded it gets it is put into a struct as well and the cache line alignments are mostly broken again so as a rule of thumb it's pretty good to if you want to use dma capable buffers to not use def mk malloc and I think this is largely not no I didn't know that before it's very subtle but I think it's a rule of thumb which needs to be told or to be fixed or to be fixed yeah and then we have other issues like people work with buffers from stack which is pretty I wouldn't say common but it's not like a no-go because for example on arm it mostly works like a charm but even if it works on your architecture it's definitely architecture dependent but even on architectures would could make it work we have this config vmap stack to for a virtualized stack so that will break for sure yes that's what I said so okay aunts aunts view on this it doesn't work it just works accidentally but that's what people see they just do it and it works and so on the driver so okay so you could walk okay well I liked it I like rules of thumb don't do that even on arm you might get data corruptions on the stack yeah and then one other issues is you really have to I put it in brackets but still I'm rules can be overlooked ignored by people just hacking around and not reading so if you have rules like this you should really make sure they pop up everywhere and people are aware of that so I'm not too bad so so my conclusions from trying to get my subsystem proper with DMA and their buffers proper with DMA is I was kind of shocked to see how how much DMA transfers in the kernel are based on assumptions which are true accidentally true or whatnot but are not really rocket proof yeah rocket proof I don't know is that an English word but you know what I mean I have dealt the last month a bit more so I was in this so to Linux workshop which deals a lot with safety and with that interest reason I think this is this situation is not only bad but becomes especially bad because if you if I see all the devices where Linux should go into I really want the DMA to be proper because things go wrong horribly if that's not the case I learned there's no easy way to detect this is run at runtime yet the debug option I mentioned everyone should have that when on when developing to find bugs it's not good for production production use so it's current state is it's not really detectable at runtime yet if how what what kind of buffer you have so we need to audit and be very aware of what what's happening there the good solution is a big task as I as I said already annotated buffers would be awesome which as much handling as possible from core kernel subs memory subsystems so users don't have much choice to get it wrong at the last talk somebody mentioned if the DMA buff from video for Linux could be an option I didn't check it that time I checked it a little bit but I think it's too much design for video for Linux I don't think it would be efficient I think efficient would be a really for that targeted solution which then DMA buff might convert you to hop onto or so some but I don't think DMA buff is a good solution we need something which is a big task of course if you want to do that I hope I could demonstrate that the problems are can be very subtle I think about the K malloc versus def mk malloc problem for example or the fact that when I was talking about the UBFS thing accessing the SPI nor memory that the UBFS layer can be bring bring in problems where the SPI nor itself might be okay so stuff like this and some of the bugs are pretty long-standing as I said I don't know if this UBFS problem is actually solved by now for subsystem maintainers I really can recommend just write out rules be it whatever DMA require your buffers to be DMA safe or not whatever but just make a rule other as you found out with I square C things go in all directions and keep an eye on this during review so I sadly I didn't have so there's a new subsystem coming the I3C subsystem I sadly did not have too much time at looking these patches but what I said is hey you didn't say anything about your DMA buffers being DMA please please do that and they I think they decided that their buffers should be DMA safe but it's it's written out now so this is a good thing for developers I hope I said it at least three times by now there's config DMA debug when you're developing please use it okay thank you it's config DMA API debug like I said it fixed a problem for me before it turned out in the field where the the length of the buffer was an ahead and off by one bug and if you're touching code anyhow for whatever reasons and it uses DMA just take these extra minutes to double check that all the DMA related things especially when it comes to buffers are really proper and not based on assumptions and yeah this is for developers and for everyone this is more like also if you think about managers or organizations like let's say the Linux Foundation if you care about safety pay attention about to DMA because this is we're not in a good in my opinion the state of that is given the quality we want to have and the Linux Colour we're not not good at that and to do that we yeah spread the word document what's wrong and collaborate on how we can fix things and this is a big task it needs a lot of eyes and a lot of thought and but we want to have I am quite sure we want to have it so yeah this is basically what I wanted to talk about I hope you're halfway as shocked as I am if you if you care about good working devices with Linux that's good we have like ten minutes more for questions and do we have a mic for that or should I I shall repeat the questions probably right good then do we have questions there so so you were suggesting to you so there are DMA pooling functions and your suggestion is to use that kind those those functions which which access the pool and so we can have a guarantee that DMA will correctly work oh can we have that microphone this one actually to DMA APIs what you are referring to is the streaming API where we do explicit cache flushes when we have to what you asked about is the coherent DMA API with the DMA a lot coherent and so on these are not compatible if you use DMA a lot coherent you get a buffer that is not acceptable to be passed into a driver that expects a buffer to be used with the streaming API so this is not only not sufficient it's actually actually wrong you cannot use this and enforce things like i2c accessing all solutions with dealing with pooling even if you have a custom one I think we have a tendency that this is over engineered because DMA is rare so you might I think other questions what if you want to update you get a microphone so why do you say DMA because some hardware allows only easy DMA DMA transfer this is one of the reasons yeah yeah in hardware world everything is possible there are indeed the i2c controllers which can only do DMA awesome mark you had a question meeting lots of people great it's good for your health yeah so just on the spine or stuff it's supposed to be fixed I don't claim to understand it's officially solidly that I'm 100% certain but it's supposed to be fixed the issue is that you can allocate memory with V malik as well as other memory allocation functions and if memory is allocated with V malik you need to map it differently because this is helpful and useful but fortunately you can actually there's a function you can call to check if a given buffer is V malik which makes that tractable but yeah it's a pain yeah one more thing that you the one more trap that you can fall into so a buffer can be DMA safe for one device but not for another device because of the location and physical memory some devices have a limited view of the physical address space so you can have a buffer that requires to be in the in a lower address like within the first four gigabytes while another device can access data beyond that or within the first 24 megabyte 16 megabytes or something like that so came in lock alone so there's no generic way to check whether a device whether a piece of whether the pointer points to something that is accessible using DMA unless you also say which device should access it that I might be confused because I'm on stage but that would mean we don't have a way in the kernel to get a buffer which is surely DMA safe you have a way to do that but you have to pass a pointer to the device structure for this and which for every device we can get get a buffer that is accessible by that device if it can do DMA which function is that it's complicated so that would go back to the DMA log if you do if you use the DMA log functions then you can get a buffer that is accessible by that device it is also slow to access from kernel if you don't have cache coherent memory yeah cache current DMA well yeah just to say that I've worked on a couple of spy devices where I try to use make them DMS safe because UBI fs was passing we lack buffers so it turns out that there doesn't work well with VIVD caches which are there on old arm platforms and also on platforms that have LPA enabled where DMA can access only within 32 bits but with LPA you can access physical memory even at higher address and yeah those type of buffers still fail with whatever checks that are there and I don't see any way other than maybe if DMA map single was to somehow provide a bounce buffer find out whether this is here yeah it does so DMA map single should if the memory is DMA capable it will map it possibly using an IMU if there's no MMU and the device is not DMA capable then it should allocate a bounce buffer this is currently not fully implemented on arm32 because nobody has done it it's not hard to do I've talked to a number of people who volunteered at some point to do it but nobody has ever completed I don't think it's more than a couple of days work actually but until that is done you cannot pass a high mem buffer like a buffer beyond the first four gigabyte on the 32 bit arm system so this is there for arm64 is it not for arm32 that's what I'm saying the I mean DMA map single providing the bounce buffers it's there for arm64 but not for arm32 is that what I'm saying that would be correct yes on most architectures it just works because the architectures either use the software IOTLB or they are guaranteed to have an IMU an arm32 we do not guarantee this at the moment because most people don't have that much memory and it's very rare to actually run into this I'm so happy that you guys all basically confirm my basic feeling which is like on most architectures it should work like I think this pretty much describes the situation we're in yeah but maybe a good good snow is still a few minutes but it's nice to see in the I2C subsystem that bus master drivers are catching up that they really say oh we had this oops because the message buffer came from I think it came directly from module read only data because it was a firmware and then they oh yeah cool you have this flag and then they could correct things to work so a bit of success yay more questions two three four sold