Okay, so I'm Todd Gamblin. I am going to talk about compiler dependency resolution in SPAC or rather how compilers affect dependency resolution in SPAC. Just for some context, I'm from Lawrence Livermore National Laboratory. It's this square mile facility in Livermore, California. It's about an hour from San Francisco. It's maybe 6,000 people who work there. We do national security stuff for the Department of Energy. And we are pretty vested in high performance computing. And so that's where SPAC comes from. This is Sequoia. It's a 1.5 million core system. The cases are off, so you can see the network on there. These are the kinds of machines that we have to try to build for, and it's not pleasant. And so that's where SPAC has come from. SPAC is a general purpose from Source Package Manager. It's inspired somewhat by Homebrew and Nix. And like I said, we're targeting HPC in scientific computing. It has a growing community. These are lines of code by different organizations in the packages over time. And so you can see that like up until about 2015, it was all Livermore. And then we started getting contributions from all sorts of people after that. And it's been going well. The goals of SPAC are focused around flexibility. We're not trying to be a stable distro yet. We're mostly focused on helping people get things built for high performance on big machines. And also running on laptops in other places that scientists need to run in commodity Linux clusters. We want to make it easy to build packages with lots of different compilers, different compiler options, different flags to swap compilers in and out of a build and to swap implementations of libraries. So like MPI and other ABI incompatible libraries, we want to be able to swap those in and out easily from a build. And so the end goal is to help scientists in the Department of Energy and elsewhere actually get their software up and running on fairly exotic architectures. How do we do that? We have a CLI syntax that's supposed to make it easy to install a package lots of different ways. In the base case, it looks an awful lot like another package manager. You might say SPAC install MPI leaks. That's a tool that we developed for analyzing MPI programs at Livermore. And SPAC should do something sensible if you say that. If you want to get more specific, you could say install MPI leaks at versions 3.3. So you can specify the custom version. You can say what compiler you want to build it with. So you can say percent GCC at 473 for that. You can add build options that are exposed by the packages. You can inject C flags into the build. And then this syntax is recursive. So you can basically apply those same constraints on your dependencies. So that's saying I know that thing depends on MPitch somehow. So build it with MPitch version 3.2 and build that with GCC. So how does this look from the package perspective? We're trying to keep that simple, too. The SPAC packages, this should look familiar to anyone who's ever seen a homebrew package. They're just Python classes. It has a simple Python DSL. And what's going on here is all the stuff at the class level is metadata. So this is your home page URL. These are the different versions that you could build with the package and also the hashes that you could download them from. We can sort of try to extrapolate these URLs from this one. These are the dependencies. And so this is CMake. It's a build dependency. These are all the link dependencies. And you can see that you can provide those same constraints that you can provide on the command line to the actual dependencies. So you can say that this thing depends on boost 1.42 or higher with the multi-threaded option. The methods, the actual instance of a package is basically an installer. We call these methods on it to get things installed. And so all this does really is it deals with CMake and it calls make and make install. So we passed the dependency DAG in here through the spec. And so you can refer to all of your dependencies in some fixed configuration from inside the package file. The idea is that by the time you get to the install method, we've already worked out what the DAG should look like. So you shouldn't have to do any searching around on the system. We just tell you what to build and you translate it into build instructions. The other thing in SPAC that we do to enable that swapping is we have virtual dependencies. And so the idea is that you depend on an interface. Something like MPI or maybe people are more familiar with like JPEG where there's JPEG and JPEG Turbo. Those are interfaces and they're not implementations. And so in a lot of package managers, you can only depend on specific packages. Here you can have one package that provides MPI and they can provide it at different versions when they're at different versions. So I can say I'm in Batch. I provide MPI version 2 when I'm at 1.9 or higher. And then the actual packages like this one here, you depend on MPI at a particular version. And so SPAC does the job of looking at this DAG saying, oh, it depends on MPI. What version of MPI does it depend on? And I'm going to pair it up with one of these providers. And you can also specify a specific provider on the command line. And so it's really easy with this to type a bunch of commands and essentially get lots of different builds of the same package to compare and to sort of settle on a nicely tuned one. To do the compiler swapping, we build with compiler wrappers. This is kind of like homebrew shims. These are basically little wrappers that add, include library and R path parameters to the things that SPAC builds. And so what this guarantees you is that all the libraries that you build with SPAC, all the executables and things, they know where to find their dependencies, which can be useful if you're building lots of versions of things and you don't know what you were doing at build time when you get around to running things. To manage all that versioning, the way that versions work in SPAC is, I mean, we have the actual version of the package, but we have those other options as well. You can think of a SPAC version as this entire dependency DAG for a project. So this would be the version of MPI leaks plus all of its dependencies plus their metadata. That stuff turned into a document and then hashed. And so then you take that hash and we give every package that we install a unique installation directory like this. And essentially the libraries in each of these directories, they know which other directories within the same install route to find their dependencies. We like R path a lot because the rationale is you knew what you were doing when you built the package or at least the package manager did. And by the time you get around to running it, we don't want to put it on you to remember all the dependencies and things and where they live for these packages, which is what people have done manually for a long time. So we're trying to fix that. The dependency model centers around something that we call concretization and what most package managers, I guess, call dependency resolution. The concretization is kind of like dependency resolution except for, like I said, we're solving for more than just package inversion. You can depend on something plus an option. You can depend on something with a particular compiler. So the constraints can be a little more extensive throughout the packages. So what happens when you type that on the command line, if you say install MPI leaks with this dependency at that version and this other dependency in another version, is we build an abstract DAG with some of the constraints on it. And then we take that, we run it through the concretizer and its job is to fill out all the details on this thing. So that by the time you get into install, you have all the information about the thing that you're going to build and you don't have to ask any questions. You don't have to go searching for things. You just say, okay, what did SPAC tell me to build? The other thing here is that, and this will be important later, is that the nodes here, they can have different compilers. So currently we're modeling the compiler as an attribute on the node and I'll get a little more into that later. The other constraint that we impose on this is we want there to be only one instance of a particular package in a DAG. So if I do one build of an application, I enforce this constraint that basically there can only be one call path library in here. That's imposed by the native language runtime. Languages like JavaScript have support for multi-version DAGs and their module system will actually allow you to have one package over here calling one version of a dependency and another package over here calling a different version of the same dependency. We're dealing with native stuff and so we have to deal with LD.so or LD or whatever the linker is on the platform. And so you can link an executable where there are different libraries in your DAG that depend on different versions of something like lib standard C++ but you really don't want to because it's a race. At runtime basically the first version of that library will get loaded. The second one gets invoked and then it ends up calling a function in the first version and if the ABI is incompatible you get a nasty error and things explode. And so one of the things we have a lot of problems with is managing all the different versions of C++ compilers in the standard lib with the recent proliferation of versions of C++. I think that's a good thing personally because I think a lot of good things have happened in C++ lately but it is something that makes the build harder for users especially if we're using older versions of the OS like REL6 where the default standard C++ is pretty old and you often want to build with a new one that's not the system version. So in general you don't want to have two versions of one library in the same process base. Alright, so why aren't compilers proper dependencies in SPAC right now? Well it's mostly for expedience. We wanted to mix compilers in one DAG because we wanted to play around with lots of different types of compilers and we can't do that with our one compiler per, or one thing per, one instance of each package per DAG restriction.  Essentially this says, here's your C compiler, C++, different 4-tran compilers. What operating system was it for? Things like that. Modules, if you can load it from a module. And it uses this as the description of the compiler and you have this SPAC identifier down here. This is what gets put on the DAG right now. So we'll just say use that particular compiler and we trust that if we detected it then it's the same version across different systems. So that's what we did. Why do we care about that so much? So we want to use lots of different fancy compilers for high performance. We like running the Intel compiler. It tends to get better performance than GCC on the Intel machines we run on. If we run on a Cray we tend to like the PGI compiler or the Cray compiler. And there are other nice tuned compilers for different systems. On the IBM's XL tends to get the best performance slightly, even though it takes forever to compile. And then the other thing is that on many of our machines we actually have to use a special compiler because we're cross compiling for the compute nodes. So like on our Blue Gene systems, the front end is not the same architecture as the back end. And that's the case on a lot of the Crays today that use Xeon Fies.  The front end is where people log in to build. And so the other reason that we care about the compilers is people want advanced compiler features. So a lot of our programmers are using things like OpenMP to do threading on the big fat cores that we have on the front end nodes. We care about those C++ language levels and features like that. We care about building with CUDA. All of those things are features that are exposed by the compiler, or you might say that their interface is exposed by the compiler. And we want to be able to experiment with them. And it would be nice if we had a proper dependency model for that stuff. So all of these things pose some challenges for the dependency models. I already talked about this a little bit, but the fancy vendor compilers do tend to get better performance. The other issues that you can have with those are that if you're using those, most of the OSS projects don't test with them. So if you're trying to build something like CMake with the Excel compiler, it is unlikely to work because they probably haven't tested with it. And there's also no reason to do that. So for a lot of these build dependencies, we tend to not build them with the nicer compilers. We'll just build the numerical stuff that does all the number crunching and we'll try to build dependencies with something a little safer because we don't care about the performance. So what does this look like? We have a DAG like this where I've got a bunch of different packages. The B's are build dependencies, the L's are link dependencies, the R's are run dependencies. I want to go and build this so that the build dependencies get built with the easiest compiler possible where I don't care about performance. But anything that links into this thing, even on the back end, which I intend to run fast, is going to get built with the fast compiler. What we've tried so far is we've made it so that we just, if anything is a pure build dependency, anything under there that needs to run in the build environment, we just build that with the easy compiler. And so what ends up happening is, so this is a pure build dependency here. You get this whole tree building with the easy compiler, so like GCC or something. This is a link dependency, so it forces this guy to be built with the fast compiler along with the root. And so on down this link and run chain, and we know that this needs to run in the run environment so we figure it's something computational. So we'll build that with the fast compiler too. And then this is a pure build dependency, so we just make that easy again. And you'll notice that this is a build dependency, but it's something that's fast that depends on this other library as both a link and a build dependency. So here we're just prioritizing the link dependency because we can still use the code that we built if we're using two different compilers for the same architecture. So we get away with that here. This seems to work pretty well for a lot of our numerical codes and we're planning on merging it in. Things get a little more complicated when you try to cross compile. So why do you care about cross compilation? Well, your big machine has a different architecture from the front end. So the user login nodes, we tend to provision with these nice big fat cores for building like Power 9s or Power 7s on the actual blue gene machine. They run a standard Linux distro. It's a nice, easy environment to work in. But to run on the compute nodes, you know, we run a special core. It has a lightweight OS. It's not the same runtime that exists on the front end. And that's for performance and for reducing OS noise in these parallel applications that are synchronized frequently. If you have a lot of noise, the synchronization can be a lot more costly. So we care about that when we're running on a million cores. You basically build the things here. You submit jobs to a workload manager and it runs them back there. And then that's how you get your speed. That's how we get machines this big is by packing the processors more densely and using special cores. Why not build natively on the compute nodes? In many cases, if you build on the compute nodes, it's pretty slow. We have lots of those cores, but that doesn't mean that they're fast. They're fast when you use lots of them. But if you look at, say, a Xeon Phi, it's like it's one chip. It has 72 atom cores on it. Each one is 1.4 gigahertz. And if you tried to build any kind of significant thing on that, it could take hours and hours. Typically, those things only talk to the network file system, too, because the nodes are diskless. And so this is a giant pain to build out there. And then also, many of the compilers aren't even ported to the compute nodes. They only run on a straight Linux distro. And so we don't really have the option of building on the compute nodes in some cases. We've also had people try to do a make-j out on these Xeon Phi chips and they've blown out their Intel license because there were so many threads on the thing. And so they started 256 copies of the Intel compiler and only had 64 licenses. So that can be sort of a problem. So there's all kinds of reasons not to build in the exotic place. So how do the build dependencies actually work with cross compiles? So recall, we've got these three dependency types. Build are things that you want to run at build time. Link are things that the package is going to link with. And runner are things that you might invoke at runtime. So the build and run ones are basically commands. You have an issue now because you need your build dependencies for the architecture where you're building, because they have to run at build time. And we got away before with cheating and basically building some of the things that were both link and build dependencies for the back end. And so we can't do that anymore because we're actually cross compiling. If we build the build dependencies for the back end, they really won't run on the front end even if they won't run on the front end. Because it's a different architecture. And so we could use our build dependency trick here, sort of, but we have to modify it a little bit. So here's that same dag from last time. You can do the thing where you basically run the front end compilers for these libraries that are basically dependent on through pure build dependencies. But you have a problem. This build dependency here, it needs to be run in the build environment. And this won't run anymore because now it's for a different architecture. Same down here. This build dependency has a run dependency on this thing. And so this won't run because it's a different architecture. What we do here, or at least what we're planning on doing, this is the new model, is that we would actually duplicate these guys. And so if you have these kinds of dependency relationships, you actually have to make a different version of these two guys to run on the front end. And so we have to actually split the dag. Now you have sort of a violation of our original constraint, which is that this, now you have two versions of five in the same dag and two versions of eight in the same dag. That's not so good, but we can handle it. We have to modify our model a little bit. But at least now we can run, we can actually run on the cross-compiled machines. It's just a little more complicated and there's a few more relaxed constraints that we have to deal with. There's some other interesting constraints that come up in this environment that like this one I wasn't even expecting. There are certain tools like setup tools in Python that actually add code to the installed package. And so you may think that you could just do resolution kind of separately for the front end and the back end. But you actually can't because this setup tools is running in this Python on the front end and it's going to inject code that needs to run in this Python on the back end. Now Python's interpreted, why does it care about architectures? Well, you don't care about architectures, but you do have a constraint that these two pythons now have to be the same version. Otherwise the code that setup tools is going to inject to run back here is going to fail. And so we now have, we have a dag where we have to have two different versions of the same package in it and we have constraints across architectures that run through the dependency problem that we're solving. And so that one actually surprised me. It was pretty cool that we actually have to deal with that. All right. And then the last issue, compiler dependencies. I said that compilers are a special case in SPAC right now and we did that to get it working quickly. That's true. But what we'd really like to do is have a more natural dependency model for our packages where you don't have to remember all the different versions of the compiler that support the level of C++ that you care about. We don't want the packages to have to say, I need GCC 493. I need Intel 17. I need this other compiler at this version. We just want them to say, I need C++ 17. Or I need these features from C++ 17. The other issue is that compilers in our current model can't easily have their own dependencies and actually this comes up. You would be surprised. Some compilers actually depend on other compilers. So if you run the Intel compiler, it depends on GCC because it relies on it for its lib standard C++. And so there's the nastiest version synchronization problem that you've ever seen when you try to build with new versions of the Intel compiler on systems where the standard C++ library is very old. And so you have to actually, you have to tell it to use a newer GCC than the system GCC. And you have to remember to R path that in so that when you actually run the binary, it finds the right lib standard C++. Either that or you have to have the user remember to source all the right files to get the application that they link to run. So what we're planning on doing is factoring the compilers out as actual dependencies. And actually this would allow us to have virtual dependencies for the different language levels. So we could have C++ 11, 17, 14, things like that. OpenMP is another one that I think is really good. I could say we depend on OpenMP 4. And we could have compilers provide both say C++ at different versions and OpenMP at different versions. So suppose we do that. You've got a package here. You've got it depending on the Intel compiler at version 17, which then depends on GCC. This is actually kind of fine. We don't have to do very much special here. And you could actually do this with conditional dependencies. You could just say Intel at 17 depends on a specific version range of GCC. And you wouldn't have to introduce anything too special to this DAG. But suppose that you now want to build against something that's already installed that used an older version of Intel. And this actually comes up because we have so many compilers running around frequently. Now you want to link this against the second library. And that one's built with Intel 16. This is already installed. And that built with GCC at 4.9.3. Well, if you have these version ranges here, you have this Intel compiler depending on a specific version range of GCC. You have this Intel compiler depending on a version range of GCC. It's still not constrained enough that you can sync the standard C++ versions between the compilers and ensure that they're consistent. And so what we have to do here is actually introduce another type of dependency. So what is a compiler? It's a build dependency that imposes some link dependencies on the things that it builds. And so in this case, it's the runtime libraries. It's things like lib standard C++. It's G lib C, although I'm not going to cover that here. It's all the different libraries that are bundled with the compiler that you don't see on the link line. And so what we have to do is add hidden dependencies to the DAG and normalize them like we did originally, where we only have one instance of them for the whole DAG. So the new dependency model looks kind of like this. If I have that DAG from before, now I say, okay, these compilers here, I need to figure out some way to get their standard C++ synced up. So I have them impose a link dependency on the thing that they're building. So now you get these two implicit hidden dependencies from the compiler on lib standard C++. And we force this to have one node for lib standard C++ per DAG. And when those constraints get merged, then you'll get a conflict if the lib standard C++ are not synced between these different compilers. All right. And so this is the model we're planning on going to. I think it's pretty cool because it allows us to actually have virtual dependencies for compiler features and ensure consistency of the runtime libraries and get the R-pads right, which will make a lot of people happy on our clusters. So that's the summary. We're working on constraints for compiler integration and it's not easy. Weird things can happen, surprising things. Cross compiling can affect how your pythons have to be synced between the front end and the back end and also you have to add additional dependencies to the DAG. And we're trying to make this part of SPAC's build configuration. And we're hoping that this will make it really easy to write a single source package that you can compile in lots of different ways on some pretty exotic machines. So I have a bunch of SPAC stickers over there if people want stickers. So come and get them. And that's all for my talk. So the size of the truth of DAGs that you make, how long does concretization take? So right now I think, so it was taking forever because it's some really, oh sorry, I must repeat the question. So the question was for the sizes of DAGs that we're dealing with, how long does concretization take? It takes no more than like five seconds right now for what we've got. It may take longer once we go to a full SAT solver. I'm not sure. We're a little greedy right now in the way that we do the solve. But most of that is Python being slow and not how fast SAT can run. When things go wrong, how is that exposed to the user? I guess the ones I'm most interested in is if the concretization... You can't resolve something. Or similarly, say you ask someone to be built with GCC 4.7 and it can only build 4.8 and that's not being defined in the package because no one's tried that particular combination. What do each of those cases look like? Okay, so the question was how is that exposed to the user when concretization fails and if the package doesn't expose all the right constraints and if the build fails? So the short answer is not well. And so if concretization fails, I wouldn't say that we have the best error messages in the world yet. If it's a simple constraint, you may get the two constraints conflicting that you expect. So it may say this thing depends on GCC and you're trying to build with Intel. Often it takes some thought to figure out exactly what it's trying to say to you, which is not great. So that's something we can improve. For the build failure part, we've tried pretty hard to make it so that a big build will give you intelligent error messages. We stole the magic regular expressions from CTest and so we'll actually go and parse the build log and spit out highlighted error messages with context for what happened, but yeah, it's still an error message. So this is still an improvement over building by hand, which is the bar that we're trying to get above. Yup. What's the time frame of the improvement you were speaking about and would it be compatible with the old? Would it introduce a new version of SPAC and compatible with the old? It would introduce a new version of SPAC. It wouldn't be incompatible with the old one. Oh, sorry. So what's the time frame for all this stuff and will it make SPAC incompatible with old versions of SPAC? We try to stay backward compatible with the stuff that we install so that a new version of SPAC can understand the old database. So you would still be able to see your old packages. It may just rebuild a lot of stuff. Yeah. And so the time frame would be by September is sort of the latest. We're hoping for earlier. Cool. Thanks. So I think my time is up. Thanks.


Cooperatives are local, loved and trusted. So choose Cooperative. Local! Local! Local! Local! Loved! Love! Love! Loved. Trust it. Trust it. Trust it. Trust it. We also think we are for unique creative for people that profit. Compassionate. Wonderful. Inclusive. Class. Ethical. Helpful. Blaster. Tasty. Amazing. Finished. And we offer Action. Security. Membership. Community. Bet trade. There are thousands of us. And we do all sorts of things. We are businesses that give people an equal say and a share of the profits. Cooperatives are expanding. There are 6,000 cooperatives in the UK with more than 13 million members and that number is growing every day. These days it's hard to find a sector that we don't work in. There are too many to show in this short film. So choose Cooperative. We're local, loved and trusted.


It focuses on a lot of the rugged country in eastern Kentucky and south West Virginia and a little bit of history behind it and how my family's tied to it. I mean I knew where I wanted to shoot, I knew where I wanted to go, but as far as like writing stuff out and planning it and going by storyboard and all that stuff, I just didn't do it.  I think I think it was over like 22 miles on foot with cameras over, you know, four or five days. You


COVID-19 has been linked to severe neurological damage and increased mortality worldwide. This is caused by a combination of factors such as hypoxia-induced oxidative stress, cytokine storm, and internalization of the virus. These factors lead to a hypercoagulable state and vascular thrombosis, resulting in multi-organ failure. To prevent further complications, it is essential to provide specialized care to patients with COVID-19-related neurological damage. This article was authored by Sabani Saka, Subhajit Kamaka, Malini Basu, and others.


And now for your strong Europe spotlight. The 4th Combat Aviation Brigade from Fort Carson, Colorado has arrived as the next aviation brigade to deploy to Europe as part of the heel-to-toe rotations in support of Atlantic Resolve. The brigade offloaded their equipment at the port of Rotterdam in the Netherlands in preparation for further movement to Illesheim, Germany. From there, they will move throughout the European area of operation to conduct various training exercises with allied and partner nations. The 4th Cav brings a full list of capabilities to enhance and support U.S. Army Europe. The 4th Combat Aviation Brigade brings a powerful asset, the United States Army Aviation. So that's all the dynamics that aviation capabilities can bring with three different platforms. So that includes lifts of assets, personnel, flexibility, reach, and also combat aviation brigade with the Apaches that will follow on. For more information, check out our website at www.er.army.mil.


Good afternoon, everyone. I'm very excited that all of you are here. This is such an important topic and please feel free to connect in the chat and I'll see those and reply to them live. Hopefully everyone can hear me and just get ready to truly, truly think outside of the box when it comes to OER open educational resources. This session is titled designing an interactive OER syllabus as an equitable practice. My name is Dr. Jennifer Edwards. I'm here in Texas at Tarleton State University. We're part of the Texas A&M university system. I am a professor of communication and I have been for the last 15 years at Tarleton State. I am a local OER advocate for the last seven years and I truly believe that it has transformed our campus. I also serve as the executive director of the Rural Communication Institute at Tarleton State as well as the Texas Social Media Research Institute. And within both of those institutes is very important to realize that in Texas we have so many rural areas that to get an Amazon delivery of textbooks, it takes a while. I'm especially right now with the supply chain issues and the mail issues. So it's important to make sure that our students are fully equipped for success at our institutions. So my OER story, prior to transitioning back to my faculty role, I served as the Assistant Vice President for Student Success and Multicultural Initiatives at Tarleton State. And one of our premier programs was actually the Mental Freedom Program. As you can see, MEN is in the Mental Freedom part and it is a program for men of color, especially at our rural institutions. One thing that the men truly appreciated, these are mostly undergraduate men, they appreciated the textbook checkout because it was important for them to be fully equipped without having to get a book loan for the supplies and the resources that they needed for class. And so that textbook checkout was a great program, but it was short lived because either A, the textbook author changed maybe modified one or two things in the textbook and the textbook became irrelevant. Or the faculty member chose another textbook all together. So it's just very important that was the turning point for me to say, I don't believe that the system is sustainable and we need to figure out another way to fully equip our students for success. Also, one thing I imagine that all of our campuses are dealing with from high school all the way to graduate school is that our students are graduating with older or antiquated knowledge, and it's knowledge that is not as broad. So I teach these courses at the institution as well as some of the higher education courses. And it's important for me to fully equip our students for their job interviews or for their next steps within their career journey. Unfortunately, by the time textbooks are published, and by the time textbooks reach the hands of our students they are around three to four years old. So we are educating our students with old knowledge and so it's important to make sure that we can do what we can, as information scientists as well as faculty members and staff to make sure our students are well equipped for the work world after they graduate from our institutions. Also, bookways and sustainability is very important as well. If we have many versions of a textbook, I love Goodwill, but one thing that you can truly see in each goodwill store is the fact that there are so many old textbooks there. They still have very relevant information. However, those books are not being utilized and circulated around our institutions to contribute to our knowledge, our students knowledge. And also last but not least social media and relevancy. It's very important for faculty members as well as staff and the community to make sure that our students are reflective of the information learned at our institutions, and that basically means that they can encourage themselves as basically as experts when it comes to, to their subject matter so say if it's public health or even social work or biology with the OER resources they can tweet those out they can communicate with the authors, they can really really get ingrained with the material and make themselves more relevant and more marketable when it comes to their careers. So why do I use open educational resources? I've asked myself that many times because yes, it does take more work. It is not just a textbook with a test with a test bank with all of the bells and whistles that people usually, you know, appreciate from a plug and play with a piece from a, from a book publisher, you have to work for it. However, it is well worth it. So I like open educational resources because it provides our students with day one access. That means I operate in no excuses environment. Day one, let's go ahead, you have homework, and you do not have to wait on Amazon to deliver your book you don't have to walk all the way to the bookstore to get your book is an equitable practice. So no matter if you get financial aid or you do not obtain financial aid, it is something that each student can begin class day one with materials that they need for success. Also is easier for the student, the students truly appreciate not having to buy a textbook but also they can just get the access to the materials on their telephone super easily. So mobile access on their iPad or their mobile device is very, very accessible for the students and also one thing I like is that we were a former Blackboard campus and now we are a canvas campus and it's they the OER resources are easily integrated into our canvas shell. So I'll show you what that looks like in just a few moments. And also it's easier for the professor, every single day. I walk across campus with my phone and say if a student realizes, oh my goodness, well hey Dr. Everest's date, you know, can we update this because instead of a Thursday is probably needs to be a Friday date I'm like okay well that makes sense. As I walk across campus I can update that on my phone, the students get an automatic automatic notification that something has been updated, and it is like a well oiled machine. And also it's simultaneously updated on campus as well. So let me just let you know, after the session, you all will be able to number one, identify how to integrate innovative elements on an OER textbook syllabus. Also know how to identify resources from the library databases one of my favorite places on campus to utilize an OER textbook syllabus, and then also last but not least to know how to adopt and integrate the OER textbook in an online hybrid and face to face format for your courses. So how I use open educational resources and I actually utilize Facebook groups as well as Facebook live and a lot of zoom lately during the pandemic to integrate these OER resources. In face to face classes I taught on classes from entry level, public speaking classes all the way to our graduate classes but I integrate QR codes and almost everything that our department does to reach our students. And so that's very important for the students because they get access to that material from day one, but also I remember so many years I would stand by the copier for like days on end, copying on six to seven pages per student. And we multiply that times 125 students that's a lot of trees. So I utilize QR codes for the syllabus so I put the QR code on my, basically on the black board, but on the board, and the students scan it with their phone, so that they can get access to that syllabus right then. And also I'll say hey click this for your assignment for reading assignment and they can look at it exactly at that time. So this is very interactive and I like that piece because, again, it's a no excuses environment. Yeah, I say no excuses but we want to begin success on day one. Here's an example of my syllabus, and I will actually click that so you guys can see what it looks like with every single semester I actually design a new on long graphics so that the students will know that this is the course that they're enrolled in and they're currently completing the coursework for but also the same graphic lives on my canvas as well so everything is integrated so anytime they see a telephone, then they know that this is the social media campaigns course. It has my contact information at the top. And also one thing that I'm truly is that the students wanted was to know like we take, we take all these social media courses but what makes this course different. And I have it highlighted on every syllabus in Turquoise what makes this class different. And we talk about the importance of launching social media campaigns because they're being used for almost everything. I have my office hours on there as well. And also one thing I do not want to forget about is that we have a weekly journal club so so many things that we do live on the syllabus and never get revisited. Students just read the content which they should. However, I wanted to know that the students were actually getting the content were actually digesting the content. So that means that I created this semester, a weekly journal club is a virtual weekly journal club for our students. I was very jealous my husband attended Texas A&M and so he was in the stimulus. And basically, they had a weekly journal club and I was super jealous about that because they had the chance to discuss articles and literally dig into what the implications of the articles were. So I decided to adopt something just like that for our communication students and I'll introduce you to our journal club. So we have a Twitter chat at every single Thursday at 8pm. And so basically, with the Twitter chat, we answer questions about class, but we also talk about the articles, the resources that are being integrated in class as well. We have the course description but also have a big. It's not an X but like a, we're not doing this. And it's basically telling the students that this is an open educational resources course, and we will access the course materials from the university library databases. My thing is they're already paying for it anyway they might as well know how to use it and know how to use it effectively. So we are learning how to use the library databases and also we're learning through the library databases as well. And because of that I'm not requiring students to purchase any additional course materials whatsoever because it's already in their tuition and fees. These are the intended student outcomes for the course. We have our policies for the institution, just general best practices from our course. And then that leads to the modules on campus and I'll show you what that looks like in a minute. And then we have our class schedule so remember I said day one. We have no excuses, but and these are the things that they will need to do every single week so in purple, that is the weekly topic, and then in green, and well in yellow we have our outcome for the course, and then in green, we have the article so if they click that article, it's going to lead to that article on the web, or the library databases so this one is social networking sites. This is from an a or a and we are article this was from 2007 but it's a good foundational article for social networking sites. So they get to read that, and then also they have activities that they need to complete from from Facebook actually because Facebook has. I like to call them we are resources as well, but they learn how to create Facebook ads they learn how to choose a campaign objective and be Facebook ads manager experience. So not only do I use the library databases but I also utilize the free course based resources from technologies that the students have access to anyway. And last but not least, I'll just tell you these journal club articles have been interesting the students really get into it. So we have a sign up sheet on on Google spreadsheet so basically I have this like for example, using a media campaign to increase engagement with mobile based smoking cessation program. And basically we have that article and the students basically choose whether they want to cover the first half of the article or the second half of the article. And they read it they digested and they present it on Tuesdays. So if anyone's interested in coming to one of our journal clubs, please let me know and I will definitely send an invitation, because it's a great way for the students to digest the content. The journal club is actually in in groups of 1515 and 15. So 15 minutes is focused on digesting the article from presenter one and presenter two. Then the next 15 minutes is focused on the interpretation or basically discussions about the article, and then the last 15 minutes is focused on. Okay, so what does that look like for society, what does it look like for implications how can we use this in other pieces so it's focused on smoking, but maybe something else is focused on on another part of health or, you know, like the flu vaccine or something of that nature, but it's all focused on the implications or the so what factor. Also, within every single week, we had the journal club and we have the activities, these activities are also integrated on campus and I'll show that to you next. As you can see, we are hitting the ground running from week one. With that, and this is our campus model so that syllabus is also located here as well. And then also with our journal club, the students have to log their facilitation points, and also their participants their participation points for participating in the journal club. Each week has their assignments, and then also one thing I did this semester, because this one is an online course actually did on a YouTube series about like any questions that they had about me or you know personal questions or professional questions or whatever. So I answered all of those questions in a three part YouTube series so they can get to know me a little bit better and I divided that up over three weeks. With that, we also had created campaign students have to use the, the articles that they read that week to create a campaign so for example, this one is how to educate elderly individuals. Hey, Dr. God, how to educate elderly individuals in rural areas about community and state resources so every single week they have to think outside of the box in order to create a campaign. That's really, really not the norm for our college students. So with that, let's go back to the presentation. I also adopted this for our intercultural communication class and one thing that is so interesting. I don't know why, but I put all of my lectures on YouTube and because I do that I end up getting a lot of comments from all across the world, which is great for our current students to get to network with people who have different mindsets but also different modes of modes of how they lived live or how they, you know, integrate what they're learning to their, their job or their future career. And so the neat thing is, I actually log all of my, my tours of the syllabus so I do a tour of canvas so I show them my canvas modules, and then also I take them through the syllabus as well. So exactly where things are located. I do that every single semester for every single course. So if students have any problems finding something that can always go back to that YouTube video. With that, I record my lectures as well. And I will tell you that this lecture is about four years old, but it receives comments almost every single week from all across the country and so I utilize this because number one I don't have to recreate something twice. I don't mind doing it, but I don't have to recreate something twice but also the students know that this is our go to thing. And one thing I did not integrate in this presentation that I think is super relevant is the fact that our students graduate. They go on to get these amazing jobs, and then sometimes it hits them like a ton of bricks like pin I really wish I had that resource, because my company is wanting me to do a presentation on intercultural communication. No problem. Just go to my YouTube channel and you can get access to that lecture again for free. You can get access to that lecture piece as well. Okay. So with all of our education, open educational resources is very important that people not only know that they're there, but they're, but how they can be utilized as well. So, if you are from, if you are an information scientist and you work in our library. You're seriously super heroes and if I were to do any other profession I would definitely be an information scientist because you guys are doing such amazing work to educate our faculty staff students in the community about resources that they can utilize to make their lives better. So, it's important to know as information scientists, what library resources are out there but also how people can easily integrate that those resources into their everyday lives. So with that, if you think about our library resources podcast links are amazing to integrate that especially for our students who commute podcast links can be utilized on syllabus on on an interactive syllabus, they can click it they can access to it right there. Also guides from prior semesters so one thing that I do is my students from like two semesters ago would create a guide, the next semester would use a guide build upon that guide and then they would integrated in subsequent guides. So it's very important that your students know that they're contributing to the the literature and to their body of work regarding the communication field or public health or, or counseling that they can build upon subsequent semesters and also that's enabling you to work smarter and not harder, and not creating things every single semester. So with that, also YouTube videos I can't emphasize that enough on the library databases are also videos that can be easily integrated and embedded on your canvas shell or either on your blackboard shell as well. Also database article links that's something I use so often. I use the permalink and I have a a hack is basically a YouTube video, focus on hacks that our students can use in order to use the library databases so I'll talk about the citation guides I talk about the permalink I'll talk about how to save your search, and even if your computer logs often loses the battery, how to go back to your search, because I've been burned by that so many times so I give them hacks that have taken me 12 or 15 years to, to truly get, but the students really appreciate that so anything that can help make their lives easier that you can integrate in your OER course can truly truly help transform learning at your institution. So one thing that our new librarian has truly truly exposed me to this semester have been LibGuide so utilizing the LibGuides for your discipline is very important that our faculty staff and students know that LibGuides can save your life. Some additional considerations that I want everyone to just keep in mind is to take an inventory of all library resources that could be utilized as OERs. Just because you know it's there doesn't mean everyone knows that those resources, new resources are there, but also to know that those library resources can be interpreted differently by different disciplines. And you could have one resource that you think could be used one way but then after you introduce it to like six colleges, they could have like 250 different interpretations of how that library resource can be utilized. So let your library resources live to their, their true potential. So team teaching is a truly interesting concept. So whether it's team teaching at your institution or maybe you're teaching the communication and at a community college you're also teaching the same communication course, then you can actually do team teaching, have a, a syllabus that you utilize an interactive syllabus that you utilize, and then you can actually team teach with that person who is either located across the county or across the state or even across the United States. So it's a great way for students to network with one another, but also it's a great way for you to integrate that teaching research and service to show that you are thinking outside of the box, when it comes to OERs. And also connections with authors. One thing I'm waiting for something to happen is with our journal clubs and putting all of those on YouTube. And because I'm putting all of those on YouTube, I am going to tag those authors of those articles to show them hey yeah so people are reading your stuff, but then also to know that they, how the, the information that they're putting out there that they're publishing is being interpreted by many different audiences not just the pure academic faculty audience or pure academic faculty staff audience but how they're being interpreted by students so that could truly transform the way that people publish as well. Also, some additional considerations. This is enough. Check your links. And after you check your links at the beginning of semester, check it, check them every two weeks, because those links, especially if they're located if they're not a permanent link to the library databases those links can change, and they change often permanent links are usually your friend, but when it's a link to an OER resource from another university or from our to a industry like like the Facebook educational pieces, check your links before you send them to students to send them to something else to just check your links. Also, check for more relevant resources that's super important as well, because after you publish something, then on your syllabus, then you have it from semester to semester which is great, but then you're stuck with something that says on top ways that Facebook can be utilized in 2020. And then a student see that they're like okay well did your professor not do their homework, but you need to check for more relevant resources because you're adding so many features all the time. Then also, just to make sure that you're working smarter not harder, develop a pre and a post semester checklist, I don't care if you put it into your note section on your phone or put it into a spreadsheet and you just check it off, but just make sure that you know I need to check my links. I need to make sure that I update my dates on my syllabus I need to make sure that this this highlighting is still working I need to make sure that the link is still working. So you need to develop a pre and a post semester checklist and also I would keep a running list of things or suggestions that students contribute that they think would be helpful for subsequent semesters I always ask that at the end of the semester, what would be more helpful for the subsequent class and so they always have things to say, I work with communication students they, they love to talk and contribute suggestions so I would definitely make sure that you have a running list that you don't have to think about whenever the fall semester rolls around again, and then also integrate your OER endeavors with your research, your teaching and your service. So I talk about marrying as much as possible. I'm not talking about romantic coupling I'm talking about making sure that what you're doing is integrated with everything single thing that your university values for promotion and tenure. So that basically means if you are since you are teaching, make sure that your OERs are tied to your teaching with your research, make sure that your research is also focused on some aspect of OERs as well especially if you're spending that amount of time utilizing them. And then also with your service. If you are team teaching with someone from a community college that service. If you are offering like basically professional development for people for even high school, high school teachers who are interested in OERs. That is also services well integrate your teaching research and service with your OER endeavors. But that's what we have today. And I am definitely open for questions I know that this is a lot of information, but please let me know what questions you have because OERs, and I say OERs open educational resources are absolutely fabulous and they can truly transform the way that we teach and transform the lives of students not just for this generation of students but for generations to come. And it's truly truly transformative. Okay, I'm looking at the comments. Okay, let's see. Kristen, I feel that this is such a great example of how OERs are removing are about removing barriers and such a great demonstration of the pragmatic aspects for students. Oh, awesome. Thank you. Yes, Kristen just send a message to me. I'm actually going to put my email and invite you to our journal. Okay. Hey, Dr. Guy, I use structured reading groups with my first year students what and you've been teaching for your students for a long time. It's a great introduction to peer review literature for them works online too. And Dr. Guy, just to charge I'm just, I'm just saying, but consider publishing on that as well because there's so many OER outlets and journals that, especially with structured reading groups, especially for first year students that would be that would greatly benefit from your suggestions. Oh, thank you Dr. Guy. Let's see. This is very insightful and well organized. Thank you. Remember that in your evaluations. Yeah, let's see. Kristen, such great advice. Awesome. Thank you. I would love to see a copy or syllabus that looks fantastic. Thank you so much. If you can just send me an email I will definitely send a link to you, as well as to Jackie as well as well as to Dublin. Let's see such great advice. Thank you. Oh, yes. There is a permanent hack for the library databases. I have a YouTube video about permanent hacks, especially for our EBSCO databases, and then also for if you like I'll work with groups of students on undergraduate research and utilizing OER resources, but also if you search for something on on the library databases, and if you like step away from your computer for too long, it will log you out of your search and then you will not ever ever be able to find a search again, in my opinion. So I would say that I'll send you send me an email and I'll send me a direct message on Twitter, and I'll send that hermalink and pack to everyone who sent that to me. Awesome. Thank you, Dr. Guy. As a librarian I appreciate the insight into your workflow. Oh my goodness. And how you integrate OERs into your work helps me to think about how to support faculty and doing that. Yes. Oh my goodness. Thank you for what you do because the librarians truly truly help me on every single day and so I really appreciate how librarians and information scientists think outside of the box and they've helped me think outside of the boxes of faculty members so awesome and if you need any help or if you need, you know, just a sounding board and just let me know. Thanks for the great presentation. Is there one facet of the syllabus that the students find especially engaging or useful. You know what they truly for that class they truly like the color coding to know what they're focused on that week and also one thing I forgot to emphasize is the So today is Monday, I send a an announcement to our group. And so basically to my 25 graduate students in one class and 25 and the other, but I have what to focus on this week it has a checklist, and it has go to a briefest article so I put the links to the OER articles in the actual announcement, then I put what you're supposed to focus on for the Journal Club, who are the Journal Club presenters, the link to get into into the Journal Club. And then also just in case they missed it because they are graduate students at the very bottom. I actually put what we focused on last week just in case they need to catch up because unfortunately, you know things are kind of interesting right now so if they need to catch up they can catch up. Even though I said no excuses. Sometimes I do appreciate excuses as well because life is life. Let's see, and then also they I put on that on that on the announcements I actually put what we're focused on that week for the learning outcome is is and then also what skills they will be able to focus on that week as well, because when it gets to the end of the day of doing evaluations, I don't want a shadow of a doubt to emerge to basically say, Well, we didn't focus on that in class. Yes, we did. Here's the week. Here's what we did. So everything is very streamlined for them. So that's what I would put is things that students felt were especially engaging are useful and then also the fact that they can just click it. They don't have to go to a page, you know in a book to find on the article to read that week. Well, wow. Thanks for the nice presentation. I had a few questions. Hey, you mentioned you put your recorded lectures on your YouTube channel how does the university or students feel about that. You know what my recorded lectures actually record on zoom or on quick time on my Mac. And so I upload those on my personal YouTube channel, and the students are not necessarily in those lectures but they can comment on below the video and so they are interact with one another and also with people all across the country. So it's really neat for them to do that. And they really like it they they ask questions they get ingrained in the content they actually contribute more resources.  Um, let's see, but good question. Let's see. I'm interested in syllabus and general club. Yes, awesome. Please send an email to me I hear some emails coming in too. That's awesome. Let's see, I mean that students pay tuition and fees to attend those courses then then you offer them for free online. I have this question from one of our faculty members and a librarian. So basically, when we create open educational resources. I believe they're open educational resources. And so that means that they're there for public consumption. So they're so the students are getting, you know, they, they do the assignments or assignments or not on the web, you know, all the pre web their assignments are on canvas. They are also exposed to open educational resources through the YouTube videos and through the open articles but they're not getting everything, you know, in the open environment. The students still have to take their tests the students still have to do their graduate research they still have to do their assignments so they're still getting the, the bulk of the experience, but they're just sharing that experience with others. And then online context that is open for public consumption. And I believe public consumption is very healthy when it comes to academia, because sometimes we can be very insular and we can think that we're the experts on this topic until we're we're challenged or we are we encounter something new. So open educational resources keeps keeps faculty members very relevant, and also keeps faculty members accountable for what we're teaching our students. So I mean I'm all about accountability and I think faculty members should be as well. It's a great way for people to integrate what they're teaching in their class to, to the world. And we're contributing to the discipline as well. Let's see. Oh, yay. Thank you for a great session variance. Thank you. Let's see. And also, oh, thank, thank you for a truly practical session Dr Edwards I too am interested in senior syllabus. Hey, please send me a reminder and an email and also Carla. Well, everyone thank you so much on this. And, you know, we have if you think of anything else that I should have integrated. I didn't. Please let me know and if you have any questions please let me know on my email address is JT Edwards at charlton.edu, and I'm always open for comments so thank you so much. Thank you for sending me I think it's going to close us out. Well everyone else have a good rest of your day and please do not forget your evaluations. And I look forward to getting getting an email from you. I'm poor I will definitely send an email to you.


The dark night of the ego means the ego doesn't want to die.   First you smoke half of what you do and then you gradually reduce it because life is just that exciting without those things because those things they give you a feeling that life is more than what it is. But life is not more than what is in front of your nose. It's a very simple story actually.


We're pleased to have with us today the winner of the Viscous Prizes 2016 in Category, Cultural Diversity and Identity, Linguistic Diversity and Local Content, coming from the United States of America, Bridge Africa and their project Connectivity is Productivity. What are the major objectives of your project? According to Google, there is more online content in the metropolitan area of Tokyo than the entire continent of Africa. So we know that there is a major content divide in the world. That coincides with the general digital divide that you have where many people in the global south and particularly in Africa and countries like Cameroon have less access to the internet. And with that there's also less content that people are creating because it can be expensive, people don't have access to the internet and sometimes just feel intimidated about the process of creating content. So the purpose of our project and primary objective was to diversify content and to be able to create an application that could simplify the process of content creation. And we did this project in Cameroon where we connected more than 7,000 small and medium enterprises in particular. Pharmacies, people who are selling produce, craftsmen and women, etc. And so what we do through our application is allow them to create websites and also access a database by sending an SMS and or through the internet by creating a website directly through the internet. So we help them to overcome any digital barriers that they might have like access to the internet.  And at the same time, if you live within Cameroon, you can send a text message to get the phone number of that same pharmacy that's around you. So it works as a yellow pages database as well as a website. So we're kind of bridging between that, that life of people who have access to the internet and people who don't and allowing everyone since mobile phone penetration in Africa is almost at 95%. In Cameroon, it's at 95%. Almost everybody has a phone and it may not be a smart phone. So just a simple handheld phone, anybody can access database information within the country and also send a text message. I think that we're theyelp.com meets week.com, weeks.com of the global south. How does your project contribute to the sustainable development? Well, in terms of the sustainable development goals, one of the main goals is to make the internet accessible to all. And we know that several research has been done that connects economic development with access to digitalization and the internet and also putting your content online. Because right now in 2016, it's almost like if you're not online, it's almost like you don't exist because there's so many economic and social barriers that you will face as well as great benefits that one can have a part of being on the internet. So our project helps people to get on the internet despite the digital barriers that they have access to the internet. Which would in addition help ending poverty? And it also helps to end poverty. I think that it was many people from USAID and as well as President Obama who have made several statements about the connection of the eradication of poverty with digitalization. And I think it was strategy specifically that said that the development of communities could happen within the billions contributing toward the GDP if more communities were to actually get online. So we know that there is a connection with being on the internet, having your content around the internet and economic prosperity. Where are you committed to this process, including the Viscis Contest Prize? Wow. Well, I think that the internet has the possibility to help so many communities. I particularly started Bridge Africa as a result of my position as a US Fulbright scholar to Cameroon and from doing research and seeing the digital gaps that were there and also seeing how ICTs could be used to bring people together and that's what the Viscis Forum is doing is bringing together government stakeholders, private stakeholders, civil society organizations and just letting everybody come together so we get beyond just theory and looking at solutions and being a Viscis Prize winner has been such an honor to me. I'm so happy to be here in Geneva for the very first time. So I just think it's a great initiative and bringing all these people who care so much can only produce positive results. Thank you very much for your efforts and I hope you will continue to contribute to the Viscis process. Connectivity is productivity. Thank you.


Hi there. Welcome to our online self-access materials on Foreign Against Essays. Let me ask you a question first. Why are you asked to write Foreign Against Essays? Have a think about it. We'll come back to that later on. Okay, so what is a Foreign Against Essay? Well, it's a kind of writing where you need to investigate a topic. You'll need to find and evaluate evidence on the topic, and then establish your position on the topic. This unit will look at two types of Foreign Against Essay. One with a balanced structure, and the other with a one-sided structure. For both types, we'll look at how to write an effective introduction and conclusion. So, what is the answer to the question I asked earlier? Why are you asked to write Foreign Against Essays? Look at the screen now for some answers. Start now. Watch the video by Jessica about Foreign Against Essays. And if you're still unsure about anything in this unit, you can always ask the staff in the Independent Learning Centre of your university.


Hau by�� o ein bronol. Os ydych nhw corpus cyfan y dyfodol, ymy Rhaid Ferrari? Ddych chi i chi'n dwellfyn uch feminine ondo yr ar gyfer. Desi andaethau nokiaeth. trains bikel, dwy ni a ddaeth ar ôl y drafod я lungaer. We are not agreed. I would invite members to cast their votes now and the vote is closed. The result of the vote on amendment number 702.1 in the name of Pauli McNeill is yes, 50, no 68. There were no abstentions, the amendment therefore is not agreed. The next question is that motion 7002 in the name of Christina McKelvie on recognising the vital role men must play in challenging and eradicating violence against women and girls. Be agreed? Are we all agreed? Are we all agreed? That is agreed. The final question is that motion 7002 in the name of George Adam on designation and lead committee. Be agreed? Are we all agreed? We are all agreed and that concludes decision time. There will be a brief pause before we move on to members' business.