My name is John Little, and this is a workshop that was requested by the DataFest group. DataFest is a contest about analyzing data that is sponsored by the Duke's step-side department, and my Center for Data and Visualization Sciences is always happy to participate in that. This particular workshop that they requested is about making slides out of R, and there's a great package called Sharingan that we're going to talk about today, which is a way to make slides out of R Markdown, and R Markdown is a way to do literate coding where you have your pros and your code chunks integrated into your analysis. So there's a lot of jargon there, and I want to break it down. Anybody who's been working with R for a while, some of this will feel a little bit redundant, but it's worth it to double check. However, let me just mention that if you're brand new to R and R Studio, and this is the first time that you've been on one of my workshops, let me just point out the R Fund site, which is a sub-branded site for my department, my Center for Data and Visualization Sciences. And what you'll find there is a whole series of modules on different things that you can do in R. And for example, I mentioned that Windows machines sometimes need to be configured with Git, so if you click on Find Out More, there's a link to a previously recorded session, and there's always code and slides if they're available. But it's the historical information here that's useful. If you're brand new and recommend this first module, quick start with R. There are a series of shorter videos, 20 minutes or less, sometimes just five minutes, that cover important concepts. So quick start, deploy for data wrangling. There's a whole series of different little sub-videos here. So R Studio Projects, which I just mentioned, would be right there. R Studio, the IDE, tidyverse, joining and merging, pivoting, all of those things. If I cover something too fast, just know that you can refer to those videos later. But going back to that GitHub link, what we're going to cover is we're going to cover Markdown, what it is and why it's useful. And then we're going to start by producing our very first sharing in slides. And finally, I want to point out that there are some, there's a slide deck on just documentation. Because what I've found is that sharing in is actually pretty easy to get started with. But slides often, they take on sort of the kind of a heightened importance for the person who's authoring them. Because usually we look at slides very closely in terms of the style and presentation. And so you probably want to go beyond the default style and presentation of sharing in. And what I found is that documentation is kind of all over the place. So I tried to pull together the important parts into this one document. Now, let me just briefly explain a little bit about GitHub, which is the site that this repository is hosted on. There's really just three files here. There's the 00 markdown.rd that stands for our markdown. There's the 01 get started sharing in r&d. And there's the 99 documentation links to r&d. Okay, so the cool thing about our markdown is that you can, you can put your code and your pros into an R Markdown document. And then up to the very top and we'll look at this in just a minute. There's a line that can identify what kind of report you want to produce. So do you want to produce slides or do you want to produce a dashboard or PDF document or whatever. So I used our markdown in the first case in this first document to render a dot mb dot html document that's a notebook document that you could send anybody like you would send a PDF document. But the difference being that because in this case it's an HTML document. It really has the ability to be interactive on like a PDF document. I don't want to really go on too long about these different report styles but the code is the dot r&d so that has a rendered output. This dot r&d has a rendered output. And while you can use our markdown to generate PDF documents for the case of slides. It's often easiest if you just open the slide deck, which is, it's rendered into an HTML document so open the slide deck and either Firefox or Chrome, and then just print it. And rather than printing it to your printer or print it to a PDF file. The advantage there is that this HTML file is not self contained this one is but this one is not. So you need some extra, we can talk about that but you need some extra supporting files that are easy to pull together. I just didn't do it. The easier step is to print it out as a PDF document. So in this case if I'm hosting it on GitHub, as I am. I can just click on the PDF document. And you'll see that the slides will be rendered. Here and a person could scroll through me. Okay, so clicking back. There is the same thing for the documentation, there's an HTML slide deck. And there's a PDF rendered version. Both. In this case they did not both get produced I'll just hammer that home they did not both get produced from the R&D, although typically the R&D is how you produce all of your derivatives just slides are special. All right so we're going to start with 00R markdown. So, one more time if you haven't done this, click on the green button, click on the download zip, unzip that and then open the RStudio project. That will take you or should take you to in RStudio project that looks a little bit like this I'm just to make sure that I've got everything clean I'm going to click restart. And of course I'm going to open this 00R mark, 00 markdown. Probably worth pointing out at this point that markdown is a general concept it was developed by these two guys, John Gruber and Aaron Schwartz back in 2004. Although it's called markdown it actually is a markup language so for anybody who's looked at the source of a web page, the source that makes a web page work generally, minimally is something called HTML hypertext markup language. And these are all ways to provide structure to a document. In the case of markdown markup languages are often hard to read you often need something like a browser to render that into something easier to read. The goal of markdown was to make a markup language that is appealing to human readers. So this is an example of that. What it means by appealing to human readers is that you can read this markup and basically get a sense of what's happening here. Right. You don't have to have a special viewer, just to read the content you may need a special viewer to get the style that I want to impose but not to just read the content. So that's what markdown is. Now, the guy who developed the sharing package that we're going to use today his name is ui z I believe is his last name. He actually created our markdown there's no single definitive version of markdown. And there's minor minor differences between markdown and our markdown. For the most part they work almost exactly the same but we are in fact using our markdown, because we're in this case in our studio. Okay, so markdown basically consists of kind of like three parts. There's a little header at the top. And importantly it has a line like this all this header can get more elaborate but it always has. There's actually one footnote to that but we don't have to go into that there's it always has one output variable to identify what is the rendered output that you want. In this case it says HTML which is a good way to start if you haven't done this before. Anytime you want to start a markdown the easiest way to start is to go to new file or notebook. And that produces another markdown document that that displays really what I want you to know a markdown document has a header, and then it has pros and code chunks. The code chunks are the analysis the pros is going to explain the analysis. You can have multiple code chunks. In this case it turns out that the pros is explaining our markdown so it's a little self referential. But it's useful to know every time you open up one of these notebooks, you're going to get information about how markdown works. So here's an example of a code chunk and some very basic our code. If I wanted to execute that I could click on the green button that actually is identified right there. If I wanted another code chunk as it says right here, I could just put my cursor right there inside. I can place it on Windows control I can I get another code chunk, or I can put in another one I can use the mouse. Have one more code chunk I can put more elaborate code in each one of these things, but I'm not going to do that. Just put some comments in there. And then typically what someone will do. You'll notice that there is some other markdown going on here there's a link. That's a bold word. If I wanted this word to be italics, I could wrap it in underscores. And then when I click preview. It's going to ask me for a file name so I'm just going to say. Oh, world. It's important to have a dot R and the extension. And are should render that. It just rendered it into the dot MD dot HTML extension. And you can see that down in the viewer and you can see that the title is rendered as a header one and you can see a link. And you can see, oops, I was wrong about that I said that that run was bold is in fact, astros to underscore single ones make things italic, whereas doubles make it full. I'm going to just click preview again so you can see the difference or bold there's italics. And then you can, of course, integrate your code. If I didn't want my code to show up maybe I have a technical audience maybe my goal is to have a technical audience and let them to see the code. Or maybe my goal is an executive audience where I don't want them to see the code I just want them to see the output. There's all kinds of configuration options that you can get to in a code chunk by clicking on this gear right here. Anyways, I would change it to show output only. And I could run the whole document. There's only one code chunk that matters. But preview it one more time and you'll see that that code chunk just the other two code chunks are still there they check just one comment. I'm going to turn those apart off. I could do it globally, etc. That's what our markdown essentially lets you do. It's an example of what's called literate coding. Right is this idea that all of what you need to produce your output is in a single file, and your pros is intermingled with your code and your analysis. And that goes towards reproducibility. If you keep it all in one spot and come back to it after setting it down for six months. You don't have to wonder oh how am I going to copy and paste this what program did I use for this part of the analysis and what program did I use for the visualization. And how did I exactly produce the output and then I copied it somewhere and then I pasted into Microsoft Word. All of those copy and paste tips end up being essentially barriers to reproducibility. So that's another reason why people use our markdown and literate coding. There's another example of literate coding aside from our markdown you may have heard of Jupiter notebooks. Jupiter actually stands for three coding languages Julia, Python, and our so technically you could be multi-lingual in a Jupyter notebook. You can be multi-lingual in our markdown as well. So there's some repeat there. I'm going back to my 00R markdown. I covered that part. And I covered that part right getting started you just have to click on our notebook. Now. Oh, this is important to point out in case you don't have the latest version or one of the later versions of our studio. If you upgrade there's a nice feature in 1.4 and above, which allows you to have rather than what feels like this old 1970s style of word processing. I guess I should probably say 1980s style because almost none of us were were processing in the 70s, including me. But if you wanted a visual editor from our studio version 1.4 there's a new icon over here and there's an option from the menu. It says switch to visual editor. So I can press that button and indeed I could then, you know, do the editing like where I'll used to in a super modern context. And it works quite well. I wanted to turn that word into a link. I could add a link. And then it's a link. Now. That's very nice by myself find that I kind of prefer the other way once I've gotten very used to it. So no recommendation there if you prefer the visual editing upgrade and and it will work very well it'll work the way you're expected to accept and this is maybe but important to know that under the current version of sharing, which is the package we're going to use today for slides, visual editing doesn't work. And that's probably because you can do some very specific things with markdown and the visual editor is relatively new and the markdown package is a little bit older. Obviously two things will merge. But if you wanted to undo the visual editing to turn that off and back to the traditional editing, you just click that icon. Okay, so it's good to know about that. We talked about this right up in the very top line three. This is going to produce an HTML notebook when I click preview for most of the other markdown options. It's going to change from a preview button to a yet button so you'll hear people talk about instead of saying rendering they'll say I needed the document. Here's an example of some of the kinds of documents that you can get right. HTML notebooks we just saw HTML documents they're roughly the same, but the sort of the differences that HTML notebook is kind of for development whereas HTML document is really kind of more towards the final production. And why is that an HTML document will, every time you knit it, it will spawn a protected unique our process and start from line one and go all the way to the bottom, whereas, as opposed to HTML notebooks that are more for development, you can run codes out of sequence you can run code chunks out of sequence. You can skip things, and you don't have to run the whole document in order to render it. So I myself tend to mostly work in our markdown notebooks. Until I decided that I want to make something else be it a word file or a PDF or a dashboard slides that we're going to do today. So a useful exercise that we might try before the end of the day is that you could take this 00 underscore our markdown document and turn this into a series of slides. As we get towards the end you'll be able to do that. It will require a little more editing in the case of each slide, just like it would if you wrote your outline in Microsoft Word, and then decided to turn that word document into a Microsoft PowerPoint. You know, because of the nature of slides where precision and placement kind of really matters, you're going to have to do a little bit of tweaking, but you can do it, you can definitely do it and so you can imagine that if you have code chunks interspersed in your document. You're going to be able to keep everything together. We talked about the YAML header that's up at the top. We talked about rendering reports and just a minute just a quick comment about help. If you've never worked with our markdown before from the help menu, you can go to markdown quick reference. And this is a really nice handy guide of the ways that you can mark up your text. I'm not going to cover the details right here it's very short, barely a page long. But that's not enough for you remember that the Hello World document that I created actually has a link to the R Markdown website. In addition to those two sources, if you rather than scroll down to this markdown, but you hover over cheat sheets, there are even two more R Markdown cheat sheets. And so the more you work with Markdown. You'll find that you're using some of those features like, like footnoting that it automatically every footnote red it's going to, it's going to increment each footnote by one things of that nature. So they take a little bit of work, but not much and you'll find that as you use them they become quite intuitive. Nonetheless, every time you use a command line kind of tool. If you don't remember it it's handy to know where those reference kind so. Okay, so what I want to do next is I want to start by making in our sharing and slide deck. But before I do that. I think what I want to do is I want to show you. Here's a slide deck that I'm actually going to be. This is a sharing and slide deck. I'm going to actually be just using this tomorrow morning for a different presentation on doing. But the reason why I want to show it to you is because I've been working with sharing and for a couple years and as I mentioned earlier to do the easy stuff is really quite simple and very intuitive. But it's taken me a little while to find the exact format of how I want to present a slide deck right what are the fonts that I want to use things of that nature. And this has evolved into this slide deck where you can have a whole image on the right and then have it. I'm going to go to the left for the next slide and things like that. Some of this takes a little bit of doing. And I so I want to show you this may be the maybe even if you don't like the fonts I'm using. You might recognize that you'll end up developing your own slide style and sharing and certainly supports that. But we're not going to get too far into that today I'll try and point you to all of those things that all of those techniques are in the 99 documentation links. I'm not going to go into the files. But what we're going to do is we're going to just go back to files. And if you want to work along with me that's fine. You can open up and oh one get started sharing and R&D file. And I have mine right here. All the way up to the top. And you'll notice right off the bat that my YAML header is much more elaborate than what I had a moment ago. Now, I want to go through this but before I do, if you have installed sharing it. Let me go back to GitHub for just a second. Down in the read me file, the very last line, you could use that to install sharing and it would also try to reinstall tiny versus it wouldn't. It wouldn't harm anything if you already have tiny versus tall. It won't harm anything if you don't have time to install but this is how you would install sharing again if you don't already have it going back to our studio of course you could always click on packages install. Next they are sharing them, and there are two packages we'll talk about sharing them later. But you could install that. Once you get that installed. The easiest way to get started with to get this rather elaborate YAML header is to do it this way. Go to file, new file, scroll down this time instead of our notebooks scroll down to our markdown. To this wizard choose from template I'm going to do this twice because I know it goes a little bit fast. And when you get from to from template scroll down until you find the option that says ninja presentation and over on the right. It tells you that's coming from the sharing in library. Right. If I click on that, it's going to open up a very similar version of this document and the nice thing about this document is. It's actually the directions on how to use sharing.  And when I click knit, the R markdown is going to render. And there's a slide that I modified of UES sharing in documentation. It's largely the same. Okay, so just real quickly I'll show you that one more time so it doesn't get lost new file. From template ninja presentation. And this time I will click okay so you can see what happens. Just throw up a new file. And all you would have to do is click knit. And you would get very similar documentation I modified it only ever so slightly. I think I'm going to do this but I don't know I don't know that I'm going to recommend that you do this right off the bat but one of the nice things about sharing. Just don't follow me at this point, but just so you can see everything on one screen is that sharing in comes with this tool called the infinite moon reader, which you can largely ignore what that means. I'm going to click restart just to make sure everything stays clean. It puts a thing into my add it's all the way down at the bottom in my case, and I'm going to click infinite moon reader. What infinite moon reader does is it allows me to render my slides in this viewer in real time, rather than having to click knit every single time. So that's going to be useful for our demonstration. You may be perfectly comfortable with and fine with clicking clicking it every time and there's nothing wrong with that. But for this demonstration is just going to be a little bit easier if you can see what I'm doing in real time. And what I mean by real time is if I decide to change the name from sharing and demo to sharing and Demonstration, and I click save. I'll give the renderer a minute to to reconfigure and it's updated the slides. And so that as I move my slide deck. I can create new slides. Right. So this stuff right up here you can you can pretty much guess what's going to happen there. And then what really makes sharing and work is that those two lines right there, output to sharing and moon reader, and that's how you render these slides. So what we've got here is a mark down. A bit of code that says header one right, a single hashtag is a header one I wanted to make a second level hashtag I could do header to or third level and you can see over on the right that it's changing size and rendering different ways depending on how I limit it. I also have some class information up at the top. This is allowing me to center the text. Not only actually vertically but well I always get those confused but it doesn't matter center has my has my text center, whereas middle has my slide center from top to bottom right so if I took out one of those classes, and I resaved it. This slide should reconfigure and now you can see it's top justified so those. That's one thing that sharing and allows you to do is it allows you to create classes of slide behavior. And when we get into the documentation. You'll see how that works but again, if you had done that new docked out that new mark down from template shared in presentation you would get all this information in the documentation and so you could see how it works in real time. So here's my first slide. And then, if I go to the second slide, you can see that there's another feature, the ability to have background images. I have a text on top of this if I want to one of the things that's really striking to me about this is that there's this little code chunk right here. This is usually at the very top, I actually moved it down one just like it's stuck with the text slide. But let me move this slide up to the top so you can see how you can, you create new slides by just just adding three new dashes like you see a line 25 or line 14 or line 37. And I wanted a new slide between nifty and and this image. I could just use my cursor and create a new slide and they can header size to new slide. And then I could do things like say, Sharon Sharon slides super nifty. And I might make that bold. And it would be really helpful to have a whole bunch of ready made text but I'm just going to copy this over and over again. And then I might do something like say, fruit, apple, great. And orange, right and I've made a little bullet list. And in the spirit of our markdown, I might want to do something more than that. Right, maybe I want to have something on the left hand side and something on the right hand side. And this is in these slides to go farther down, but I'm just going to show you. There's a class called pull left poll dash left. And you anything that goes inside a poll dash left is going to be pulled to the left. So I'm going to paste my text in there. And to make it pretty I'm going to kind of separate out some of the stuff, and then I might also want to have me hit save so it re renders. It might make sense to you that there's also a class called poll dash right. And so I'll put all right over here. And sometimes you have to kind of finesse it a little bit like this seems to be higher than that I don't really like that. I'm just going to put in a break, which you can do in a number of ways. I think I'm going to try this before so we'll see if that works. Yeah, that didn't work so ignore that. One of the nice things about Markdown is you can actually use HTML markup in Markdown document. So in HTML markup there is a tag called BR break. And you'll notice that I could have several of those and I can use that to really kind of finesse the exact location of the text. My goal here was to have it have them be roughly in the same spot. And they're close. They're not as close as I want. I can pull that up. No, not up down anyway, I could fool with this for a long time and eventually I'll get it right. The point that I wanted to show you was there these these classes called pull back and pull right. And it maybe is not a surprise but just so you can see it you can do other things like you can center the text for right justify the text. Either one of those cases. And that that's essentially how you compose slides in sharing. Right now I said that this thing is usually the top so I want to go ahead and move this to the top. And then I'll explain why a little bit more about what is here. I'm going to put it really right up here. Right there. I'll move back up to the top and we render the slides. The reason why this is always up at the top is because of this little code chunk here that does not display. And I'll just be honest with you. I don't even know what it does. I never really looked into it. I assume that it's important for how web pages get rendered because sharing and slides get rendered as if they were web pages, right. The viewer for sharing and slides is a web browser. But I have from time to time left it out and it didn't hurt anything. Just sort of my policy rather than looking up to see what exactly what it does was just to leave it in. It seems to be fine. There's some other. Markdown that you see right here. This is the way to separate out the slide from the speaker notes. Right. So these are speakers. And the way you would get speaker notes to peer is that there are shortcut keys for sharing and slide presentation. So if you have a sharing inside presentation up in in Firefox or Chrome or whatever, you can hit your question mark. And it'll give you the keystroke tips, but I happen to know that if you hit the letter P. It gives you the speaker note view right so my current slide, my speaker notes, and my next slide. So I could actually clone this and have one slide that's being presented and speaker notes and all of the nice features of speaker notes could happen at the same time. I'm going to change that back to its presentation. And let me just double check where how we are on time 710, we started at 630. Okay, so I did a little bit of on the spot sort of documentation but just remember that the stuff that I just showed you is basically embedded throughout this whole document. There's another sharing and slide that's centered in middle has a header one and a header three. Here is what's called an inverse slide. Right so if you want to have like sections among your slides. You could use the class inverse, and that's going to change everything if I take that away, and we read the slides you'll see how it changes back to normal. Return that to where it was. And we render that slide. And you can see that I put some text here inside of what looks like a code chunk but it does not it's not an R code chunk because it doesn't have the code designation, and that just makes it a mono spaced box that you can use to demonstrate or show some code that you're not planning on running or that you need to appear in mono space. You could do that and I do that rather frequently. Here's a slide that reminds you how to install sharing. There's a slide. Oh, there's a nice feature here. It's demonstrated here. Notice that we went from three dashes. And there are several two dash options in our space by single dashes right. What does all this mean the single dashes are for bulletin items. And the two dashes are to allow you to incrementally reveal your slides every time you click on right. So you can see that they're this is all part of one slide from here. This is two of the three dashes at line 81, and I was just able to incrementally reveal that in my presentation mode. In my case with my arrow keys, but I think you can click on it to. So that's a nice feature. Another nice feature that's worth pointing out if you can skip the. This is kind of an inside joke or Easter egg by the developer. This is a friend of his name is Carl. The point really of this slide aside from he wanted to highlight Carl's face larger than the image usually is, is to show some of the background image features that you can use. And you'll notice that because he set class to inverse his header size one, which is appearing at the bottom, because it's inverse it also shows up as font is white. And that's how you can use the basics of markdown to the best of your advantage. Now this is important. He calls this a ninja presentation. And he might be points out that sharing in slides are built on this library called remark.js. So there's really very little between difference between sharing in and remark, they basically work the same. But most there's a lot of documentation and remark that he does not recreate the main differences are things like infinite moon reader and the ability to run within our studio. So I kind of largely ignore remark. But it's nice to know and he recommends right here that you should probably read the remark wiki that is the documentation about configuring slide shows and slide classes and some of those things classes like we just mentioned right class center class bomb. Oops, sorry. That is documented at this wiki. And it's sometimes easier to it's probably worth it says right here you should read through it at least once, probably true, I will admit that I didn't read through it at all until I've been using sharing in for a year or two but when I finally got around to reading it. I found it helpful. Just scan it just to see what are the things that it can do that I might want to do with my slide deck. Okay, here's another this is the same picture as before you'll just notice that this is the actual picture using the background size cover to cover up the whole slide and you'll notice that it's. It's, there's more depth of field to this picture, or there's a wider frame, because of the one previous. You can see some features to make it zoom in. So that's one way you can more features that you can use with your with your images. Here's another inverse slide that and from this point forward, he's mostly just talking about how you can use sharing. There's a particular slide who's talking about the differences between the two. But here's something in this next slide that many of you will find useful. If you are, particularly if you're going to data fast or you're coming to this from staff side you may need to display. Here's one of the other ones, la tech formulas that are marked up in la tech. The way to do that is to surround your formula, your la tech formula in double dollar. Excuse me double dollar science, and that will display it nicely in the middle of the page. If you were to render your la tech formula in single dollar science, you could render your formula in line with the rest of the text. There's some limitations there that he mentions. And a lot of what goes on forward I'm not going to do this much longer, because I want to get to some of the other stuff that's useful. You can display code. Here's how you can display plots. So you could do a ggplot there if you're familiar with ggplot, here's how you can display tables. If you're not used to tables. I like, I like the GT package a little bit better. T tables. And we will display that with the GT function from the GT library, and let's go ahead and see if I can get it to render that. There you go. So a little too much code up there at the top, which happens from time to time. The easiest thing to do is just to change that down to show output only. And I'm just going to put my cursor in here and hit save again. And the moon reader will be oops, I didn't display exactly as I wanted because I wanted that to be centered centered. That's sort of an example of how you might go about using literate coding with our to render in your slides. Let's see what else is useful and it's not much more that we really need to talk about but it's nice to know that you can if you have HTML widgets, you can have interactive parts of your slide deck. So leaflet, not all of the HTML widgets necessarily will work in sharing them, but a lot of them do leaflet is for for doing maps. DT tables is for interactive tables if you need to click on things or just find the things that are peddling 1.4.  And since sharing and slides are actually HTML or rendered as HTML, they work. There's some stuff here about auto play and all that you can read through that if those are important. Just want to see if there's anything else that I really want you to know about. Code highlighting probably is, if you need to highlight some code, you can get these yellow lines based on how you use your markup. There's another example of two lines that you want, that you want to point out. And then he goes on, on and on to display some stuff. So what I thought might be useful at this point. But you are welcome to redirect or ask questions. But I wanted to suggest why don't you all make your first sharing and slide deck by going to our markdown and just play around with it for five minutes. And we'll come back and you can and you can unlike at any point and ask any questions but we'll make sure that there are no further questions. And then after that, I'll show you how you can use some other packages to manage more of the style of the slides right now you can set fonts and colors and things like that. So that's my suggestion go ahead and make your first slide deck but if anybody wants to unlike. Go ahead and do so now and ask a question. Just in case you're still looking at my screen I will remind you that in order to make a slide deck. I'll start by going to new file are marked down from template. Ninja presentation. Okay, and I'll set my timer for about five minutes. So that produces a pretty basic document. And in my case it leaves a lot to be desired I'm not crazy about the fonts. I don't especially like the lack of color. I like the pink, but how to change it. And the answer is that one of the easier ways to change it is to start using a thing called the sharing and femur. Okay, so that is this library right here. And then you remember I said there was some stuff that you wanted to put up in the top of the other document. Some of it is related to sharing and femur. You want to install sharing and femur course it's a package just like anything else. You could just type in sharing and, and it's the second one that shows up. And once you do that, you should definitely check the. Oh, it's in my documentation document I'm 100% certain so it will be, it will be a little bit farther down. But once you run sharing and femur, you can run this. This is their example, the example style mono accent, where you, in this case I'm just running the false base suggest, which is to use this green color. I'll show you a little bit more about how you can identify those colors in a minute, but that's a hex code for kind of a green, and that's all my identifying the base color. And then it's also identifying different fonts depending on whether or not they're header fonts text fonts, or code fonts. Again, I just use the defaults but I like them all better than. And what comes with sharing in my default. When you put that up at the top and then the other thing that you have to do with this one of the things this will produce is a file called sharing and dash theme or dot CSS, which is a cascading style sheet that's what CSS stands for. And so I should have, there it is, produced that file right there sharing and theme or CSS. And so then I need to add my nine. And that's all in the documentation for sharing and theme or which we'll look at in just a second. But once I once I have those two things I can re render the files. And now it has this green and these new fonts. And that I have three lines commented out here. You could comment out these two lines. On the example and uncommon out these three lines. And there I'm using some specific colors that Duke has blessed as part of the Duke color palette. So, let's just see what happens when I click save. See if it re renders and blue that did. So that's where I got the blue. And now I've got a blue instead of green. And then if I can get a secondary color to show up. It'll be in this crushing blue. We'll talk more about that. But. So this reminds you where you get your documentation. Let me just point out that there's a link right here in this slide to chapter seven of a book called the definitive guide are marked down the definitive guy. It's also written by you. And chapter seven is all about how to use sharing and slides. So it's worth knowing that that's there. It's probably worth a read if you find that you like this. And there's another bit of documentation. Let me just go ahead and click on that. There's chapter seven goes on for a while. There's a whole bunch of stuff. It's very useful. There's also the Sharon can wiki, which has some really useful things like slide layoffs like number footer header, how you can deal with stuff like that slide margins link color. All of that is very useful. So if you wanted to do something with slide number. This tells you how you can, I think, you can tell you how you can mask the slide number I forget how you can change the format. Here's remark JS remark JS again that's the foundation for sharing and slides. So here's a link to the remark JS wiki that we talked about. And there's some useful things there remember we're talking about class like middle and center. It's more on the different kinds of classes that are available more on how you can manipulate background images. You can make things like templates and layouts that get carried through to all of the rest of the slides. So if you have a template that you really like, you can generate this and you can turn that template on and off as needed because you might have a slide that should not have the template on it. We talked more about cascading style sheets which is ultimately the way that you really, that you really affect the style of something so for example, I'm using Markdown right here to make that a header size one remark JS. But that's just a way you don't have to remember this but just a way to do an HTML header size one. Okay, so if I re render that slide, why did that happen. Oh, I didn't each one. It looks the same. But the nice thing about HTML is there's a feature where you can affect the style of something. So I could say color. Let's make it easy. So, all of those style features. That's what sharing and theme or suppose it makes easy on you, but if you really want to start tweaking individual slides, you're going to end up editing style sheets, style sheets like we identified right here. Right, so I'm just going to show you real quickly. I probably don't want to get into this right off the bat I just want you to be aware that it's possible. So with I open up this style sheet. This is what a really elaborate style sheet looks like you can create a custom style sheet that feeds off of the elaborate one and override some things. And that's how people start to really customize. But this is not a class on style sheet so I just want to point to point to you the fact that there's information about how style sheets work. And if you really want it if you really get into this and you're struggling with style sheets by all means reach out to me because I've done a fair amount of work on this. And I can usually point you in the right direction. So style sheets. This is why you might want to use something like sharing and thinking right because you can quickly define some primary colors and some fox and some styles. And as I mentioned to you. I created the code to use blue, some Duke colors. I got those colors from this link right here. It says Duke colors, which is a web page that is basically a style guide for Duke University. And here's the main hex color code for Duke blue what we call Duke blue. Apparently Duke has a royal blue. That would be the hex code for that. Here's the Prussian blue that I had used in mind. You know if you want to use dandelion or cast iron or shackle for all of those hex codes are right there. You don't have to use those you can do anything you want. But if you wanted to make it look very Duke like. And then what's really cool about sharing and theme or is not only does it theme your slides with some colors that you choose, but it has a feature. That will theme your, your GG plot with the colors that you choose now in this case, I pulled this image off of the Internet so it did. If I had generated this, this GG plot image within a code chunk. It would then have proceeded to use the Duke blue colors that I chose just a moment ago but as you can see it's the shades of green that were used in the default green that I started with. But that's I think a really nice feature it's a nice touch stylistically. And then this coming to the end. I showed you right off the back and I had finally kind of found the magic formula that I like to work with. And so there are things like a slide with an image on the right and slide with an image on the left and different kinds of two column slides. And all of that comes from this cascading style sheet called apron that has these things called slide lands. And if I click on that, it'll start to look to you a little bit like how you may be familiar with PowerPoint slides right you can choose. You can use these, these words up in the class section of it and slides you can make a title slide, or an image left or a two column slide or three column slide, and it will allow you to do all of those renderings with the apron style sheet. And then there's also the Descartes style sheet that allows you to do things like imaging image placement. So I'm going to slide forward here and see if I can find an example. That's kind of cool if you want to do sheet music. Like this, these kinds of very specific image placements and box placements start to become a possibility with even more style sheet. And then lastly, there's a thing called tacky arms, which is really a way to make things like this box. That's done with something called tacky arms. And, you know, we could get into that but I kind of think that most of you will find that level of detail is not appropriately placed at this level of the introduction. What I would recommend at this point is after I after I introduce the next exercise is that if you want to shout out a question. I would recommend that you go back to 00 underscore markdown.rd and see what you can do about turning that into a slide deck, where every two second level header is a new slide, and just start to play with some of the realities of sharing And while you're doing that, it's going to be open season for any question that you can think of and I will try my best to answer it. And what I'll do is I'll give you about maybe five, six minutes on that. That's one of the suggestions go into your files menu. Open up 00 are marked down and turn that into an actual sharing them slide slide deck. Alternatively, you might have a brief bit of code that you're working on. And you might want to just start on your own slide deck. Can I ask a question. Absolutely. Yeah, so I was. Maybe it's easier for me to share my screen. Sure. So basically I was trying to make the slides for the, the code chance. And there is a figure on it. And the figure it seems like the figure, the size of the figure is too large to feed in the slides. So I was wondering how do I resize that or how do I make it to to feed. Yeah, it's a great question. Let me just make an example. So if I turn, let me just real quickly. I'm going to turn this mark down into a slide deck. And I'm going to do it by going over here and grabbing this code and putting that in the top. Oh, actually, all this copy. So I'm going to make this right here. And then I'm also going to grab all of this. And that should be the setup for making a slide deck. So this should be slide one. And then I'm going to make that slide to that slide three. But then up here instead of slide to do an example. So let's resize image. Right. So let's get some code going from your library. So if I save that and knit that. I now have there's my code and now we want to deal with the image size. So let me just do this. Just to make sure nothing crashes. I'm going to change that over to. All right, so the first thing I'm going to do this case in my case is I'm going to change that to show output only. And the image is still probably not the right size is close enough. Now, if I want to change the size of that, I'm going to just click on this gear in the code chunk. And change this to use custom figure size. And then I might make it, let's say, I'm going to start with 10 it should be it says it's inches. And I'm going to go to six, and we'll see how that shows up. And I might also just because I like to change the dev to SPG, because you usually get CRISPR graphic out of that. But that did a pretty good job of generating particular size right. Okay, well, but you guys are welcome to unlike it anytime. You can see that I did in fact, start to turn this into a slide deck and saw how I did it. A more traditional way would have been to start. You know, specifically through new file and our markdown. And then in my case, at this point I would probably start with sharing and theme or the ninja themed presentation but all that does is some of the stuff that I copied and pasted. So I might add author. And date. Today is April. Or as you may or may not know you can. You can actually do inline our code here so that should bring up some some more things and then really the simple, the simple techniques are just to are just to put these slide designations in the beginning. This one I might change to classical middle just because I'm not always crazy about it when it's all the way up at the top but my mind changes on that on a regular basis. Then you saw the resized image one. Should be able to do a title here. And if I did that I'm like, yeah, that's probably not what I want because it's so small but there's other, there are other functions in ggplot to make those fonts larger and smaller. But then you'll no doubt run into here's an example of where I've got too much stuff and then I might just want to tweak it so that I have two slides that might be the easiest thing to do. That's probably this in this case it's going to be three slides. And that's pretty much that's pretty much the bulk of it. It doesn't really get more complicated than that. I want to definitely would encourage you to use this there are other ways to make slides just so you know if I go to a new file or markdown. There's an option right here that says presentation. And you can make I don't use any of these so I can't really tell you much about it but you can make IO slides, slidey slides be more slides, or even PowerPoint slides. I'm pretty certain that PowerPoint slides and sharing and slides work quite similarly together in that, you know you're using our markdown and probably all of them using our markdown because it comes from this markdown template, and you're probably designating the slides differently, but I don't have any real constraints with any of the others. The sharing and slides work pretty well in my opinion, you may see them around. So I thank you for your attention. You can always get in touch with me through the email at my department ask data at DukeWU. And if you want to you can make an appointment with me. You can schedule me. I wish you good luck. And I will record this and send you a link when the recording is done. But just let me know if you have any questions.


Hello everyone. In this video we'll be discussing about the use of arrays in shell scripting. Here is the learning outcome. By the end of this session students will be able to apply the concept of arrays in shell scripts. So first of all we'll be discussing about what are variables and then recall some of the basic definitions of arrays from other programming languages. Then I'll show you the demonstration. So it's a good moment now to discuss about what is meant by an array in any programming language. You can pause the video for a while and then think on it and then resume the video.  So an array is nothing but a collection of similar data types as you can see here. So there are six array elements which are sitting side by side as shown in the block diagram here and whatever values that are displayed in the form of indices here is generally referred as either index or the address of this particular array. So array is basically a collection of common data types which are held together so that you need not to define individual variables for storing individual data. The things will be more clear when we get into the demonstration. So let us get started with the basic block diagram of Unix system. So as you're able to see on the screen basically we have hardware here. So the PC or the computer or the CPU which we have seen earlier in the previous slide is going to rely somewhere here under the hardware block which is overlapped by something known as a kernel. So kernel is nothing but the core what we can call a system or the core course of this particular operating system. So hardware is overlapped by a kernel. So this kernel is nothing but a sort of software layer which is installed onto your hardware and which is then controlled by another layer called shell. So as you can see there are a variety of shell available in the Unix environment. So we will be generally calling it a shell. So shell will be acting as a bridge between the outer application layer and the inner hardware layer. So this is the drop structure like we have level number one, two, three and four. So level number one is the core hardware like maybe a CPU or some sort of PC on which we're installing an operating system. So the operating system has kernel which has a direct linkage with the hardware. And then this kernel can be communicating with applications like either maybe of a Gmail or it would be an FTP server or it would be any word or a text editor. So these text editors are nothing but those are the application layers which can be generally accessed by the users. So keeping this architecture or so called the block diagram of a Unix operating system we have seen that there is a shell in between the kernel and the application layer. So if you have this knowledge of how to access the hardware maybe you are connecting some sort of USB drives to your USB port on a computer and then you want to access it. You need to access it through an application then probably you should be capable enough to write a shell program to write a command which would access the definite hardware which you're interested in. So this is quite possible if you are known to this basic block diagram of Unix system. So I have logged in into the Ubuntu operating system then let me first of all open the terminal and then let us first of all log in with the root password and then let me make a new folder called 3. I'm entering into this folder and let me list down. So currently there is no content available in this particular folder. So today we'll be discussing about arrays. Let me show you exactly how the things happen. So let us quickly define a new shell file called array.sh. So as usual we are going to type the shebang first then I'll be first of all showing you the difference between variables and arrays. So for instance if I'm defining a variable with a name called name 0 1 where I'm storing the data called 1 in the text format. Similarly I'm writing name 2 defined for storing a text called 2 and then I define the last variable which holds a data called 3. Now I can access any of the individual data by using a sign called dollar. So for instance say name 0 1. So we can expect here that whenever I execute this it will show me one displayed on the screen. So before that let me make it executable then if I execute this yes. So as you're able to see I have echoed only the content of name 1. But for instance if I want to display the contents of each and every variable then it is going to be a little bit difficult. So currently the thing is that I only have three variables but in case if I'm having more than 10 and hundreds and thousands of variables then probably it is going to be the toughest part to write the same statement again and again and that becomes a little bit inappropriate in programming language perspective. So definitely we need to find a way of doing the things in a different way. So what I'll do is I'll define only a single variable so the variable name is going to be name but now I'm putting square braces here which is similar to other programming languages like Java and C and C++. So I have only single variable whereas I'm trying to refer the array sub positions with the help of their index values like we have seen in our slide earlier. So currently name of zero holds one, name of one holds two and name of two holds three. Now I want to print the same value called one similar to the output which we have printed earlier. So I'm simply writing dollar name at the index of zero. I've saved it and let me execute it and see what output I'm getting. So it is currently displaying one of zero. Okay so it's meaning that we need not to write anything like this. So if you execute this yes so this is the proper syntax of defining an array initializing it and then you can directly execute it for displaying the output. So for instance if I want to echo all the elements together of this particular array called name then I need to put a bracket which is going to be curly brace so it will be name of everything. So generally it is like a star. Okay so I need to put the dollar here so dollar name of star has to be enclosed inside the curly braces. So now if you try to access it should display you everything. So the syntax for this is going to be so the syntax for this is going to be so here is the proper syntax you put a curly brace curly braces enclosing the name of the array and then the star and then you need to put this entire thing inside the double quotes. So that whenever you execute it will display you everything. So this is the exact way of how we can use arrays in our programming of shell scripts. So this is going to be very much beneficial like reading thousands of files available in a given directory or maybe in upcoming videos we will be able to see like you are trying to read some list which has some thousands and lakhs of entries you need to convert everything and the data needs to be held inside a specific variable. So in case if you are defining a single variable and that variable is able to only store a single data at given moment of time that is generally referred as a scalar variable. So this is how we generally identify whether a given variable holder is a scalar variable or an array. So arrays are going to be very much handy in holding the data and processing the data related aspects. Here are the references used. Thank you.


Team keep it clean. What's going on is engraving here with another video and a video that we haven't been able to do. Has it really been seven months? What are we in August? So July, June, May, April, March, February, January. Wow, it's been seven months. It's been seven months. It's been seven months that long, since we had Raven's football. And again, really quick, let me address them before they come through, because I know they're on the way. The people that say, oh, and Raven, it's just a preseason game. Why are you so excited? Don't even waste your time typing that. Don't even waste your time. We are back. This is, I don't care if it's preseason. We hype. We got football, man. We ain't have Raven's football in seven months. Oh, my boy, J.B. Small says, since December 31st. So the whole month of January, February, March, April, May, June, July, the entirety of those months, we have not had Raven's football the whole time. But now, guess what? We got it. We got it. We got it. So team keep it clean. Oh, I miss doing these streams, man. I miss doing these streams. It's been so long. Look at it. Look at Markel, man. Don't worry, y'all will be up next week. It's all good, man. Y'all will be up next week. But appreciate y'all coming through. Thank you for coming through. Yeah, we heard about Antonio Brown getting hurt. I'm sure he'll be okay, but we'll see. We'll see. What's up, Garnett? Yes, football is finally back. Appreciate everybody coming through. Make sure y'all subscribe to the YouTube channel if you haven't already. Turn your notifications on. Leave a like on the video. Follow on Twitter, Instagram. Everything is engraving vids. Make sure you subscribe. If you are Raven's fan, if you are Bear's fan, if you just love some football, what's up? Appreciate y'all coming through. So now, what are we waiting on? What are we excited for? What are we watching for?  Some people say, oh, we don't really like Lamar Jackson. He's gonna be a bus. We'll see. This is the only the beginning. Real quick, real quick, real quick. Hey, appreciate, he said flag on lose the job tonight. Real quick, y'all, remember, tonight, I ain't telling nobody not to be hype. Trust me, I would never tell you that. Get hype, be excited, be all of that stuff. Cause we got football back. Don't care if it's only pre-season. It don't care, but while you're getting excited, while you're getting hyped, keep in mind, it's only one game and it's a pre-season game. So they won't be doing everything that they would normally be doing in a regular game. Now they're still going against some other competition. So this is a better analysis of what you get from training camp, of what you get from practice, of what you get from all of that stuff because you're going against somebody else. You're not going against your teammates. You're going against people that are going against you, that want you to lose, even though it's pre-season. But still, keep in mind, this is the first game. This is the first pre-season game. Just keep that in mind. Cause I, and I know it's gonna happen anyway, but which is fine. People get hype, people get excited, people get all of that stuff. But what you should do is just be mindful, especially cause it is pre-season. It's pre-season. This is the first game of the pre-season. Not the first game of the regular season, but the first game of the pre-season. And we've got five of them. We've got five. We've got five of them. So I know, I know it's gonna be a lot of people over analyzing stuff. And you know what? Tonight, give everybody a pass. Give everybody that says, oh, Lamar Jackson, he's looking like a Hall of Famer. If somebody says that, you know, tonight, give him a pass.  He's locked down. Nobody's gonna catch a pass on him. Give him a pass. Bears back up quarterback? I don't know who it is. Man, that guy, he could take Mr. Biskey's spot. Give them a pass. Give everybody a pass. Again, reason why I say that, give everybody a pass is because everybody is just so excited to have football back. Everybody's super excited to have football back. You just wanna see if Jackson can make all the throws that saw. We just wanna see him, period. I know everybody wants to see him take off. Everybody wants to see him throw the ball. Everybody just wants to see him do everything. And he himself, he said he wanna show out tonight. So apparently, my guy Moonlight Swamy, he said that, they said that RG3's first half and Lamar's gonna start the second half. We'll see how it all plays out. But either way, football is back.  We're looking forward to him too, man. I'm just excited, man. We're excited. He's in all your bugging. He gotta do it for the culture. You see how Y Receiver Wright got smoked in a joint practice with Panthers by a rookie DB? Funches told him off, hey, it happens, man. It happens. It's practice. Practice is the place to get smoked, not regular games. Now, if it's happening in regular games, then you definitely got a problem. Yes, we're looking forward to Tim White. Let's just go down everybody who we looking forward to tonight. First, quarterbacks. RG3, Lamar Jackson, Josh Woodrum. We're looking forward to seeing all those guys. I know I am. What's up, Prince? Am I streaming during or after the game? Definitely after. We probably come through in half time too. What's up, Ian? What's up, Rich? So that's quarterbacks, running backs. Buck Allen, I don't think he's gonna play. Kenneth Dixon. Hey, when's the last time we seen him play? When's the last time we seen Kenneth Dixon play? Who is that guy? He's a ghost.  What's up, Gridiron? So, Kenneth Dixon obviously ain't playing. So, 44. Shout out to my guy, Berlin BS. He knows his name. Is it Gus Johnson? I forgot the backup runner, the undrafted running backs name. What's up, Cody? So there's them, Wider Severs. Wider Severs. Wider Severs, ooh. Jordan Lassie, Tim White. Oh yeah. We definitely gotta keep an eye on both of them, Berlin. Do I have the link to the game? No, I don't have a link yet. If I get one, I'll put it on Twitter. Anybody, this season, I can't do the DMs for the links to the game. I can't do that anymore. Because last season it just, it was DM after DM after DM, which is not a problem. But, what I'm gonna do this season to get a DM, I mean, to get the links to the games, or the links that I use to watch the games, I'm just gonna put it on Twitter. You just gotta follow on Twitter. Can't ask for a DM. I'm not gonna do, because there's so many DMs and I end up forgetting. So people end up missing out. I end up missing out on DMs that somebody sent me because I'd be so focused on a game that I miss a DM. So if you want the links to the game, what I'm gonna start doing this year is if I have a link to the game, I'm just gonna put it on Twitter. That's it.  I ain't gonna make them pay for something that I get for free. Chickas get out of here, man. Get out of here. But anyway, oh, yeah, well, yeah, that's the way we really make the announcement. Yeah, we can't, yeah, we didn't do that yet. I guess we could do that tonight, maybe a half time or after the game. So that's a good idea. But yeah, I can't do that. Anyway, but for the links to the game, for the links to the game, he said he ain't been Joe Cool in years. Stop it, y'all are funny, man. For the links to the game, to watch the game so y'all can watch it, I'll put the link that I'm using on Twitter tonight. You shouldn't even need a link because it's not even on cable. But I'm not doing the DMs. If you're on Instagram, no, I can't. I can't, you just, you gotta follow on Twitter. If you follow on Twitter, you'll be able to get links to every single Ravens game that's not on regular TV. I can't help anybody else. And I'm not trying to be mean, it's just that stuff gets bombarded. No, I mean, yeah, it's not even tonight because like I said, it's not even on cable. You don't need one tonight. But next week, you're probably gonna need one. If you don't live in Maryland, if you don't live in Baltimore or DMV or Virginia, any way up there, then you're probably gonna need one next week. But going forward, I just had to give y'all the heads up for that. So just to make things easier for myself, easier for y'all, y'all don't gotta send me a DM and wait like, man, engraving, why isn't he responding to me? Come on, engraving, what's going on? Are you ignoring me? And then y'all start sending question mark, question mark, question mark. You ain't even gotta do all that, man. You ain't gotta do that. Just put it on Twitter and that's gonna be it. That's it. That's it. It's gonna be simple as that. So anyway, anyway, anyway, what's up the best tests? Yeah, we here, man. All 85 people in here right now appreciate y'all. Make sure y'all leave a like on the video and follow on Twitter because this year we having so much fun, man. We having so much fun. The NFL questions from subscribers that we do on here is gonna be completely different. We're gonna be doing it in a way of a better style that more questions will get to get answered and the questions will get to get answered faster. And I'm sure you guys will appreciate it a lot better because you know what? We'll just talk about it right now, real quick before we start getting into this game. He's ready this year. Who you talking about? William? What's up, William? William, you come through all the stream. He say, yo, the bro, that's my guy, man. Yeah, Raven Spaces back. I did see that. Somebody called me and had to eagle, man. He knows I'm live streaming, but it's my guy, my longtime friend, but he knows I'm live streaming. You can't call me right now, man. You can't do that. So anyway, did you hear that now that hit on Aaron Rodgers that knocked him out for most of the season? Now it's gonna be a penalty. Might as well start playing flag football.  It's only gonna get worse. Oh, man. Oh, okay, hey, appreciate that bird, man. But appreciate that a lot, man. So hey, week one, let's do it, man. Let me book the ticket. Let me book the flight up to Baltimore right now. Team, keep it clean. Gonna have to do it, try to do a meetup. We're gonna have to try to do a round two. We're gonna have to try to do a round two, and you know they ain't gonna cancel that actual game, but the weather should be a lot better. It'll be September. So hey, let's start making it happen. Vegan King, what's up? But anyway, for questions from subscribers, and we about to get into the game right now, but for questions from subscribers, what we gonna do for that? Continue to send your questions via DM on Instagram or Twitter, and then the way that we're gonna answer them, instead of doing video after video after video after video after video after video after video after video, because it is a lot of videos, as you all saw, especially over the past couple of days, I had all those videos sitting for like, almost a month. Like, one of the videos was so old that I put out today that it was a time when I said that Tim White wasn't even gonna make the roster. That's how old it was. I was saying that, I didn't think that Tim White was gonna make the roster, and you all know that I was saying that a long time ago, and way before training camp. So, that video was super old, that's why the way that we're gonna do it now, moving forward, and shout out to Chibs, I'm looking forward to doing some work with them. What did you end up doing after the practice was canceled? Oh man, Amar, you ain't here? Ravens, they came through, man, they came through. But real quick, what we gonna do for questions from subscribers? Yeah, you're right, JLD, exactly. We will be doing groups of questions together, all in one video. So instead of y'all having to watch video after video after video, instead of some people having to wait forever, like, and some people be hitting me up too, and I ain't got no problem with that. I ain't mad at it, so don't feel bad. But, Meach, real quick Meach, but this will help with that. Meach said, I think you should feel to your question, some of them are stupid, no offense, only answer thoughtful ones to save time. But yeah, we gonna answer them all together in one video, not every single question, but a group of questions all in one video, just to make it easier for me, to make it easier for y'all. So when y'all answered it, like, yeah, exactly, there are some questions that are super simple. Like, oh, engraving, does Flaco have four or five kids? Yeah. But, I mean, Meach, they're hypothetical questions, so I can't get mad. No, no, no, I was just joking, J.O.D., I already know how much kids he got, man. But, yeah, some of the, there's like toward the more recent questions, not one of them that I put out today, but towards a lot of the more recent questions that I got, like over the past week, that I did. They, that was some great questions, man. People are really starting to bring it. They starting to think a lot harder with these questions, only because we've answered so many of them. We've answered so many of them. But even with that, man, Berlin, he got me extra hype now, man. He got me extra hype now, man. Oh, boy, I'm ready, man. Oh, I can't wait, man. Oh, man, I can't wait. But real quick, so yeah, we're just gonna be putting a lot of them all in one video. So the video might be in 10 minutes, 12 minutes, it could be 15 minutes, it could be seven minutes, eight minutes. We'll see when we get there. But that's going to allow more questions to be answered and more questions to be answered faster. Because, so people won't have to be like, engraven, did you do my question yet? Engraven, can you do my question? Engraven, when are you gonna do my question? Engraven, can you answer my question in the video? You're not even gonna have to do all that. So this is going to make it so much smoother for me.  And it's just gonna make it just so much smoother for team keeping clean period. It's gonna clean it up. So instead of having to do all these different videos, which is a lot. Like, not even like, I'm not trying to make y'all feel bad or anything like that, but doing all those videos for all those questions is a lot. Those videos may be like two minutes, three minutes, sometimes even one minute. And they may be quick videos, but it's a process, man. Anybody that's ever done YouTube, y'all know, it's a process to answer the question, to record the video for the question, make sure I'm in a good setting, because y'all know the settings I'm in, not always quite, to upload it, to title it, to just, it may not sound like a lot, but doing it over and over and over and over and over and over, it's a lot. So anyway, yeah, that's that. I'm excited about that, man. I'm excited. I saw you put that earlier, Byron. He said Lamar gonna answer by his career tonight. We'll see, man. But anyway, I'm looking, I'm excited for that. So anybody that sent me a question on Instagram or Twitter and it hasn't shown that I've read it yet, trust me, I'm not ignoring you.  It's only that I'm saving the questions for this new format. Now we've got all the questions from subscribers that I had saved up, they're all done. They're done, they are done. So now going forward, we're good. Clean slate, we're good. We're starting from scratch now. I have no videos saved up. Well, I actually do have one. And it was a Des Bryant video that I edited, got music on it, got cuts and all that stuff. And if he joins that team, because it's when I thought that Des Bryant was gonna join a certain team, but he didn't end up joining that team.  But I had to put work in it because I edited it. And I like one of these videos, but I say, you know what, if he does join that team, then this video will still apply. So we'll see what happens, and we'll see what happens with Des Bryant. So I'm gonna wait, I'm gonna wait. Yeah, exactly, Birdland, you already know, man. So anyway, tonight, because y'all already know, y'all I missed these things because y'all know I could talk forever. I could talk forever. Somebody get them out of here, you say flackle fam, Pete, this is tragic. This chill, man. Tonight you gotta give everybody a pass, man. You gotta give, no, it wasn't Cleveland. I made the video like two, three months ago. So it wasn't Cleveland though. But it was a team that I really thought he was gonna join. And a lot of signs were looking like he was gonna join him and he didn't. But it's still possible that he joins him now. And it's not the Giants either. But anyway, tonight, we talked about the quarterbacks, the running backs. We were on receivers. Lastly, let's see if lastly can be that guy. Tim White, let's see if he can still catch everything in sight. Jalil Scott, I really wanna see him. I really wanna see him. I really wanna see Jalil Scott.  Cause he's so big. I just wanna see if he can just be dominant, man. And I wanna see this dude climb the charts, man. I wanna see him climb the charts. Shout out to James Cortiz. He just sent me a question. So I did see it. So don't think I'm ignoring it. Loso, what's up, man? Well, Flacco have a Romo career. Flacco won a Super Bowl, so Romo is already crossed out. He's already crossed out. And what would that mean anyway? What do you mean to have a Romo career? What does that mean? Often that football is back here to see my arch rival, but have mad respect to see, hey, appreciate it, man. Appreciate it, Lewis. And thank you for supporting, man. Flacco's won a Super Bowl. His career is already better than Romo's. There it goes, man. I just said Chris Moore had a good catch and he dropped one there. Aiden Hurst gotta get money for me and, oh, this is the whole huge scout, man.  I thought you was on PS4. Oh, no, you on both, right? If you're on Xbox One, you know we're gonna have to get it, man. You know we're gonna have to. Oh, really quick, man. Anybody in here that's on Xbox One? We're gonna have to get it in Madden, man. Anybody that's up in here right now on Xbox One, we are going to have to get it in Madden. I don't know if some of y'all, what's up, Juan? What's going on, man? I don't know if some of y'all saw the game we just played the tournament game, stressful game, but it was extremely fun. I know there were some people that let me know too. If they were in the same situations that I was in in that game, they wouldn't have been on Team Keeping Clean. Understandable, it's fine, I understand. But it was just wild, man. It was wild, it was wild. Oh, there goes James Cortes right there, man. Hey, appreciate it. I did see your question too, by the way. I did see it. But yeah. So anyway, yeah, the receivers. Jaleel Scott, I'm definitely looking forward to him. Perriman, I know that Perriman is going to play the night he has to. Perriman has to play every game. He doesn't have time to take time off. So, hey, Daniel, I agree. I've never been as high for a preseason game either. You can't watch the game. Why is that, Christian? You got to watch it, man. You gots to. Great, I'm surprised you don't get mad about the group chats not keeping it clean. I mean, I just ignored, man. I just be like, oh, whatever. Sorry, are you going to keep this for call? Yeah, hey, that's, hey, JOD, I'm there, man. I'm down. I'm down. But yeah, the receipt, Genorian Grant, somebody mentioned how to watch out for him at kick return. That's true. I do want to see him make, I want to see them put him there. So I'm sure they will. I think starting off the game, I think they're going to put Tim White there. Oh, I don't know about all that, Meach. I think they'll put Tim White at kick return to start and probably throw Genorian Grant in there, like maybe second half or something like that. Do you think the Browns are going to give us trouble? Yeah, they give us trouble every year. Fariko, every year. And I still think they're going to beat us in at least one game. I definitely think so. Who else? Oh, what was the, what's the receiver at number 80? Jaylin, is it not Cronin? What's Jaylin's last name? What's number 80, man? What's his name? Well, QAP cut? I guess I could, I honestly forgot about him. Oh, Acklin, appreciate y'all. Thank you. Watch out for him.  Definitely got a black name. Well, if you hear that name, oh, Jaylin Acklin. Maybe the last name, maybe, but definitely the first name Jaylin. Oh yeah, black dude right there. Okay, there it goes. Everybody's sitting out the notifications about, I mean, we, see, this is the thing, man. People have been asking. They have been asking team, a lot of people from Team Keep It Clean were asking, oh, who's going to start the game tonight? Who's going to start the Hall of Fame game? And I had been in RG3 for weeks. Had been seeing that for a while now. And then all of a sudden, Jameson Hensley put it out, oh, RG3 is going to be starting the Hall of Fame game. I'm like, hey, Team Keep It Clean, people that have been watching the videos, they already knew that. Jameson, they already knew that. That's old news to them. Oh, that's you, Flacco's Elite? I did see that. I need to share that on my Twitter feed, man, and on my YouTube too, because that video was fire. I loved it. That video was fire. So appreciate you sharing that in a group chat, because I think I watched it at like 12.30 this morning. That video was fire, man. I loved it. So yeah, I got to make sure I put that on Twitter so anybody who follow and could see. And I shared to my YouTube feed too, because that thing was nice, man. It was nice. Yeah, I loved it, man. I loved it. So I might have to get you to do some, if you can, if you wouldn't mind. But we'll see, man. Look at that. No TV, no problem. Watch the Hall of Fame game online at stream.nbcsports.com. There you go. You don't even need no link. Anyway, back into it. See, we're back to where we started, man. We're back to where we started. We're picking up where we left off, but we just go on for the forever. And we talk about everything else, but what the video is about. Whoa, Woodrum is a waste of roster space. He's not gonna be on an active roster.  He ain't gonna be there. They're not gonna keep four quarterbacks. I mean, they barely keep three. I think they may keep three this year, though, but he ain't gonna be on an active roster. So he can't call them a waste of space, because he ain't gonna be there. Don't let this distract you from the fact that the Falcons choked the 28-3 lead, okay. But I wish they would have choked the lead today in the Madden game. Tim White's definitely making the 53. He said things are looking good for him now, man. Posey, what happened to Posey? Posey's still there. I forget about Posey, though. I forget about him. Oh, Jude Honest playing, Willie Henry, Brent, oh, Brent Urban better be careful.   Why you say that about Brent Urban? You're the reason. So, because it's not his body, that's the reason. It's not that he got a history, that's the reason. It would be me, but it's all good, man. But anyway, who wins the starting kick return, punt return job? We just gotta see, Sam, we don't know. We gotta see who doesn't, we gotta see, because Grant looks a little faster than Tim White. They both shifty, they both shifty. I think Grant might be a little shifty-er, but man, whose voice is that? I mean, that's just a subscriber voice. Man, less than 30 minutes, yeah, to watch a football game, man. Said he came right away to scout this game. Oh, shout out to my guys, scout, man. Check them out, man. Check them out. Woo! Oh, that's a lot better. We got some light now. We got some light, because it looked like y'all were just talking to a shadow for the longest, man. We got some light. Ever been gonna last through the pre-season? Oh, chill, you said it, not me. You said it, not me. You said it, not me. I ain't say it. Anyway, funny, my wife was making fun of me earlier. She like, man, those things you get on.  Let's say, that's how they be, man. That's how they be. Let's see how the Bears can be from last year as a crew. I don't even think Mitch Trubisky is playing, but I don't know. I don't know. I don't know how the Bears are doing it. Definitely knew how the Ravens were gonna do it, but I don't know how the Bears are gonna do it. RG3, whoa, that's the second time you said that. Before we know Byron said RG3 will be hurt tonight. Wow, that's no way to make the 53 man roster. Halftime live stream, you know he coming back, damn. You know that, man. Hey, Michael Blackman, you never know, man. You never know. You never know. Ravens just, all Ravens gotta do is make that call, man. Just make the call. Make the call. Oh, Cohen, Cohen was nice, man. I had liked him. He was nice. Yeah, she is right, Alec. She was, she was. It's all good, man. Where can I watch the game online? It's streams.nbc, is it? Oh, I just said it a little while ago. Do you have Twitter? Cimo, if you have Twitter, follow pro football talk on Twitter. They just tweeted it like not even five minutes ago. They tweeted the link for it. So yeah, it's like nbcstreamsports.com or NBC. I forgot what it is, man. I forgot what it is. I live in Chicago, so I'm a Bears and a Ravens fan. Okay, cool, cool, cool. Hey, no, never, Michael. Never, never. Perryman will catch one pass tonight out of 65, though. Boy, you going in on everybody right now, man. Hey, appreciate that, D. Thank you, man. Hey, thanks a lot, man. That means a lot.  They just, it's confirmed now. If RG3 goes off in the pre-season because you see Bucks trade a late round pick for him, that's, I mean, it's always a possibility, but. Ah, I don't know. It's a possibility, because this pre-season for RG3, this could be one of the biggest pre-seasons of his career because he could possibly be auditioning for other teams. Yeah, I did see that, Marcus. So shout out to Ladarius Web. Finally, I mean, the Titans brought in eight safeties, though. They brought in Eric Reed. They brought in Ladarius Web. They brought in a couple other ones, too. I forgot the other ones' names. They said RG3 a cup holder. But this is his chance to really put on film for other teams, reason being because everybody knows that right now is Flakos. Flakos the guy. In the future is Lamar Jackson. So what is RG3 fitting that? RG3 could possibly be the future in the future as far as the future back up. But if he impresses enough and looks good enough, it's a possibility that somebody who needs a quarterback real quick, they could end up making a move for him. So we'll see. The MPs and Ladarius Web, I can see the fourth quarter, 75-yard touchdowns, man. What if Lamar gets traded for two or three first round draft picks? All right, it's not gonna happen, man. I think they really love this dude too much, but we'll see, man. J-Mack will be a free agent this entire season.  It's really going in on everybody, everybody. Is Kenny Young even playing? Has he even been practicing? I've literally heard not one thing about Kenny Young this entire off-season, nothing. I've literally heard nothing about Kenny Young. Have any of y'all? I haven't heard anything about him, nothing. Since he's got draft, I've heard nothing about Kenny Young. Y'all got a bet on tonight's game? Oh, he's a Bears fan. Ah, okay, okay.  Yeah, he is a middle linebacker. What's up, J-J? What's going on? Should Ravens trade Lamar to Pittsburgh for Bell? Never, no. They said Kenny Young could be the starter, okay. They said Kenny Young was pushing peanut for the starting job.  Oh yeah. The Sean Elliott gonna hurt Allen Robinson. If Allen Robinson even plays, I can't see them playing the big money guy in a Hall of Fame game.  I can't see them putting him out there in that first preseason game. What's up, Cesar? Wing said he's arrived. Okay, 15 minutes, okay. Appreciate y'all giving that up. Now I'm looking at the group chat and then this too. Yeah, hey y'all, thank y'all for being in here right now too, man. Appreciate y'all. What's up, Dudu? Dudu under the dome. Okay, that's, hey, what a username that he is, man. Oh yeah, we right there, man. We right there. Dudu said you ready for some football? Yes, we ready for some football, Dudu. We definitely are. What's up, Bryce? Appreciate y'all coming through, man. Oh, we got Dudu and Poop Nugget here right now. We got them both in the building at the same time. I saw y'all about two hours ago. I saw y'all in person about two hours ago. And after I saw y'all, I felt so refreshed. So appreciate y'all joining us in the live stream right now. Thank you. Will, you said I'm ready for absurd calls to ruin game outcomes. Hey, this NFL, it's a business, baby. That's true, Daniel. That's true. Is something still AB Juju? I saw your question. I ain't forget about you. I got you, man. He said, Dudu and Poop Nugget, he better than my antenna and Rice. That's what it is, man. No Mark Andrews yet, man. He was stretching on the field before the game. He ain't playing tonight. He, there was that rumor going around that he was out for the season. I don't know who started it. I don't know where it came from. That's why I ain't do no video on it or anything like that. But hopefully he's fine, man. Do I play fantasy football? I have, but one, I get bored of it. Two, I just stop keeping up with it.  I don't care about this. So yeah, what you say, AB's haircut is his injury. Yeah, we don't want no injuries. We definitely don't want no kind of injuries. Oh, let's go Bears. No, we don't want the Bears. Shout out to Dudu and Pod and Poop doing their thing. Okay, that's what's up. Let's see if Elliot's game will translate. Well, we'll see, we'll see, we'll see. Bears are better than the Ravens. Hey, we'll see. That's why we got football for, to see that. When's the induction ceremony? That's on Sunday. That's on Sunday. Yeah, I want to see Orlando Brown too, man. I'm hyped to see, to really to see everybody. I just, you know, I thought about going down the whole depth chart and just seeing everybody. But I just, I mean, I thought about going down a depth chart and going through everybody to talk about everybody piece by piece by piece. But it's Saturday. Oh, well, I don't know. I thought it was Sunday. Whenever it is, I probably ain't gonna be watching it. But yeah, oh, it is Saturday. It's Saturday. Appreciate that. Appreciate all y'all, man. See, that's why I love the live stream. Cause when I say something, if I'm wrong, y'all will let me know quick and be like, hey, in Raven, no, you're wrong.  You're wrong. So appreciate y'all. Thank you. Oh, Ray Lewis is just gonna be talking, talking, talking. He said, hop off, I better not wear them glasses. He will, we know he will, man. Hopefully this won't happen, but if the Ravens offense is struggling really badly, what do you think happens first?  That's a good question. I think it would be a Flacko bench first. I think it would be Flacko bench first. Hall of Fame game, and then, oh, battlefield four. Bears win 14-7. Hey, that's fine, man. That's fine. I just want to see these dudes work, man. I want to see these dudes work. Raven's known for going undefeated in the pre-season though. But you know what? One thing, cause we've been undefeated in pre-season, I think like the last two, three years, I believe, y'all let me know though, I'm not sure. But I believe we've been undefeated in pre-season like the last two, three years, and we haven't been to the playoffs. So I wouldn't mind if we did get beat in the regular, I mean, in the pre-season, and we didn't go undefeated, and we actually made the playoffs. Do I have a link to Teo ceremony? No, I don't. If we haven't losing record this year, hop off a morning wig, it has to go. Yeah, man. Oh, I love Tayvon Young, man. I love Tayvon Young. Love him. Yeah, Ravens Bills week one, that's what it is, man. I need Steve Smith and Shannon Sharp for my commentary. Hey, yeah, Lamar is supposed to play second half. So we're going to see how it goes, man. Oh, 4 a.m. On this side of the map, wait and see if it's real hype or just repeat it 2015. Let's see. We'll see. We're going to see. We're going to see because I mean, it's too early to tell if it's going to be like 2015. But 2015 was just injury after injury after injury after injury after injury after injury after injury after injury. Everybody just kept getting hurt. And that's no fun. That's no fun. Do you think Woodrum is going to play? I think so. Even though they say in Lamar, the whole second half, well, most of the second half, we'll see. We'll see. Flacco now play, yeah. No, man, I've been told y'all, Flacco wasn't playing in a Hall of Fame game. Hall of Fame games, the starters usually never play, especially starting quarterbacks. They never play. They never play. It's always the backups, backups. So yeah, 10 minutes. Appreciate it, Reaper. Thank you. We should make it like 2012, 2013. That would be lovely. He said Flacco eating nachos right now. Winner of the Venice year, Dre. You think so? Hey, I would love that. I'm not sold on the receivers yet, but we'll see. We're going to see. We will see. I'm excited for it, man. What's up, sinister? Nick Kaisa making the roster that tight in. Hey, number 82. We don't see. Hey, he could. What's up, Joel?  Oh, what's the deal? Brown's major test. Oh yeah, Brown's for sure, man. For sure. What channel is the game on? It's on NBC, right y'all? I need to actually get set up to start watching because I feel about Kenny Young. I don't know yet because I haven't seen him do anything yet. Haven't heard about anything with him yet. So I don't know. NBC, Nitro says CBS. What's up, Nitro? Appreciate you joining us, man. Are the Ravens wearing color rust jersey this season? I'm sure they will. Can we get a redesign of the jerseys? Ravens jerseys, definitely not the sexiest. The black jerseys are nice. And when they wear the black jerseys with the white pants, this fire, when they wear the black on black, I love it. The purple on white is cool, but that's what they've been doing. Yeah, they did say it's a hamstring for Andrews. Hopefully that's it. Hopefully, he just needed to eat some bananas. He needed to eat some bananas and stretch. I'm sure he just got a Charlie horse. So that's it. Oh, the gold pants, those mustard pants. That was disgusting. So, hey y'all, we almost there. We almost there. We almost there. See, the color rust jerseys, they're very unique. I like that the NFL did the color rush thing. It's very unique. Some of them are super clean. Some of them are super nice. Seahawks is nice. The Raiders, it's nice. It's simple, but it's nice. I think Falcons, they got the all red, I believe, which is nice. Ravens is, it's all right. But what are saints have? The black and gold ones, I think? I forgot. But we'll see, man. Should NFL wear white at home like the NBA? I feel like it should be whatever the team chooses, man. I think Falcons got the best jerseys in NFL. Regular jerseys are fire. They got the best jerseys in the NFL. Yeah, Giants color rush is nice. I think it's blue. Their home color rush is blue and something. Their away color rush is white. White with red letters, I think. Something like that. I forgot. What is Rams, like white and blue, right? Jags is all, oh yeah, Jags is that gold. But yeah, man. It's almost time. Oh yeah, the practice jerseys are fire, too. You're right, D'Lava. We are right there. Rams, yellow. Yeah, they are yellow. No, I thought Rams was white and blue. They're yellow? What are the yellow and blue? I must be thinking of a different Rams jersey there. Either way. So yeah, I think the Cowboys dogs are the best. Not a Cowboys fan. I think that's fine. Do I watch NBA? No, it's too drawn out. And it's too boring for me. I know a lot of people disagree, which is fine. That's why we all got opinions. But it's too boring for me. It's too drawn out. 82 games is like, I'm not gonna sit there and watch anybody play 82 games. That's not me. But to each his own. Not my thing, though. But anyway, Leach just said it's game time. So it must be very close. Let's see. The time, 7.54, we got five minutes. So yeah, I'm gonna go ahead and get off of here now. Get myself set up to watch this game. Y'all Twitter, Twitter, Twitter, Twitter, Twitter. Please be on Twitter. Let's tweet during the game. Let's get some conversations going during the game. And let's do it, man. I love y'all. I appreciate y'all. Make sure you leave a like on video. Make sure you leave a like on the video if you haven't already. Subscribe to the channel if you haven't already. Turn the notifications on. Set them to all. Cause YouTube is starting to get a little better now. Little worse, but a little better. It's starting to get a little better. But y'all come through. I will see y'all on Twitter. And if I don't see y'all on Twitter, I will see you during halftime as we prepare for Lamar Jackson to come out next. Anyway, love y'all. See y'all. We out.