Boradal pub, thank you for joining me this morning I'm pleased to say that the Environment Air Quality and Soundscapes Wales Bill was introduced to the Centre of the World yesterday. This is an important milestone in our wider efforts to improve air quality and arrivats in Wales and delivers our programme for government and clean air plan commitment to deliver a clean air bill for Wales. The World Health Organisation has described air pollution as the world's largest single environmental health risk and noise pollution as the second in Western Europe. The bill will enable us to deliver actions to reduce air and noise pollution, protecting the health and well-being of current and future generations. Action delivered under the bill will also respond to our wider environmental challenges, including the climate and nature emergencies. The scale and scope of the bill reflects our commitment to improving quality of our air environment at a local, regional and Wales-wide level, and throughout society. In developing the legislation we have built on proposals consulted upon through the clean air plan and the white paper on a clean air plan. The Bill will enable us to set national air quality targets. These targets will provide a strong mechanism to deliver the Welsh Government's long term ambitions for clean air and associated public health and environmental outcomes. We are also amending legislation in relation to our national air quality strategy and establishing a duty to produce a national soundscape strategy. The Bill will align the two documents allowing us to publish them as a single document where appropriate. This will ensure the public are able to access information about the plans ministers have for air quality and soundscapes in the first half of the Senate's term. Wales will be the first in the UK to have legislation relating to soundscapes. We have brought forward these proposals in recognition of the importance of promoting the sounds that matter to people as well as seeking to minimize the noises people don't want to hear. The Bill will streamline, strengthen and enhance existing laws to provide local authorities with the tools they need to take bold action suited to their community's needs. In relation to the local air quality management regime, the Bill introduces a clearer requirement on local authorities to undertake an annual review of air quality and an obligation for air quality action plans to contain a projected compliance date. These legislative changes will be supported by updated statutory guidance to ensure the local air quality management regime operates proactively, preventatively and with a greater public health focus. We will continue to work in partnership with our local authorities and will support them to deliver air quality improvements. I'm therefore pleased to announce the launch of our local air quality management support fund which will make £1 million of funding available this financial year to support local authorities in improving local air quality. This is in addition to the £450,000 we awarded over the past two financial years through the pilot phases of the scheme. Through the grant we are inviting bids across three categories which are prevention, mitigation and innovation and I look forward to continuing to work collaboratively with our local authorities to deliver effective action. The Bill strengthens existing smoke control provisions in the Clean Air Act and introduces civil monetary penalties to replace the current criminal sanctions applicable when a person emits visible smoke in a smoke control area. We know that smoke emissions from chimneys and homes and businesses contribute to poor air quality in Wales and we want to help people understand how these emissions can be diminished by adopting best practice techniques. We are switching from a criminal sanctions regime to a civil one as we know this approach will provide a much more effective and fairer means of enforcement. As part of the proposed civil sanctions regime an advice-led approach can be taken by local authority enforcement officers when communicating with members of their community to inform them of the dangers of poor burning practices and the harness can do both to their health and well-being and that of their neighbours. We are extending powers to better enable the creation of clean air zones on trunk roads providing for a substantial intervention to tackle air pollution hotspots as stronger action is necessary to deal with persistent problems. Alongside this we are taking action to ensure that income from clean air zones on trunk roads can be utilised for a broad range of investments with a focus on measures that can further support air quality improvement. I would just like to confirm there are no current plans to introduce a clean air zone anywhere in Wales. However it is important we have the legislative tools to take action where needed. We are also taking steps to further prevent vehicle idling. Many drivers may not realise when they leave their car engine running while parked that they are creating air and noise pollution which is a negative impact on public health and well-being. Through enhancing Welsh Ministers powers we will be increasing local authorities ability to prevent and tackle idling. We will do this by giving Welsh Ministers power to set a monetary range of penalties and regulations. For the people in our communities across Wales this supports cleaner, quieter, healthier places and it will mean that local authorities will be further empowered to take action to protect vulnerable groups such as children, the unwell and the elderly. It is crucially important we ensure high levels of awareness so that we can all protect our health and the health of our local communities particularly those most vulnerable to air pollution. We are therefore proposing to place a duty on Welsh Ministers to take steps to promote awareness of the impacts of air pollution and ways in which it can be reduced. Everyone deserves to breathe clean air and experience a good quality sound environment. Through this bill and our clean air and noise and soundscape plans we have set out our commitment to take the action needed to protect public health and the environment. I strongly believe this bill strengthens our ability to collectively deliver action to secure clean air and positive soundscapes for current and future generations. I'm delighted we have reached the first stage in our legislative journey which will lead the way to a cleaner, greener and healthier future. Thank you, Diolch yn fawr. I'll take some questions next. You just find a sheet. I think the first person is Dan Davis. Thanks Minister. You said that the legislation will allow you to take action on cleaner zones where needed even though you have no plans to do that now. Can you explain to us under what circumstances you would introduce these zones whereby drivers of the more heavily polluting vehicles would have to pay? Yes, thanks Dan. It's crucial to see this bill as part of the package of measures that we're taking, not as a standalone item. We've got a clean air plan that reduces airborne pollution and improves our environment in Wales. It strengthens a suite of existing legislation to make it more effective and it complements existing legislation. What we've put into the bill is a backstop. What we're relying on now is working with our local authorities and with the people of Wales, across Wales, to make them understand what happens when they do particular things, burn particular substances, why that's better for both them and their immediate environment if they don't, enabling the local authorities to take action immediately, and then, if necessary, will plan to produce additional control areas. But I think there's every chance now that we can persuade people with the additional measures in this bill, particularly the move to civil enforcement, that actually they just need to do the right thing. It allows our local authorities officers to engage in an education type programme with people who are perhaps doing the wrong thing and get them to encourage them to understand it. I don't think a criminal sanction regime really allows that, and I'm very pleased particularly with that aspect. Can I forgive me, but I was referring specifically to clean air zones on the trunk road network. As you say, you have no plans to bring them in, but that you bring in this legislation in case they need to be introduced where needed. Can you explain when and where you may take that step on the A470, wherever else? At the moment, as you know, we've reduced the speed limits to 50mph. That's to protect the emissions cars, to let petrol and diesel cars emit a lot less particulates at 50mph. We want to see if that works. We hope it will work. We hope people will comply with that, and obviously we've gone to enforcement now on that regime. If it doesn't work, but I do expect that it will, but if it doesn't work, then we'll look to see if we put control zones in place. But I think it will work. Thanks very much. Dan Bevan from LBC Next. Thank you very much Minister. I'm sure you're aware of the report out today that secures the Metropolitan Police force of being institutionally racist, homophobic and sexist. I appreciate that, of course, it's a London-based force, but when it comes to UK-wide issues like counter-terrorism, they lead on that. So it does have an impact here in Wales. There are calls now off the back of this report to disband and break up the force. Can I just get your thoughts on that, please? Well, that's obviously not a matter for us. What we will expect is that our local police force here in Wales reads the report carefully and makes sure that they also learn the lessons set out in that report. But clearly, how the Metropolitan Police is organised is not a matter for us. I'll follow up on that before my second question. Do you think that there are some of the problems that have been referenced here reflected in forces here in Wales? I really don't know. I'm not the minister with responsibility for that, but I would expect that any organisation in Wales, when a report of such significance comes out, would look through that report and make sure that any strengthening methodologies that are set out there for the Metropolitan Police are absolutely enforced. In their own particular patch, so we would expect them to read and learn the lessons of the report, but it's not a matter for us how the Met Police is organised. Of course. And if I can ask about Boris Johnson going in front of the Privileges Committee tomorrow, what do you hope as a Government or personally comes out of that evidence hearing and what do you want to hear from the former Prime Minister? Well, again, it's not a matter for us what the Parliamentary Privileges Committee does. It's obviously very much a matter for us that people understand the rules, obey them, and we set a good example, which we certainly did in Wales. Apologies, but it's still a bad question, isn't it? What do you want to hear out of that evidence? I just hope the committee does their job effectively and efficiently, and I'm sure they will. Thank you. OK, next is the Clare Board from Barmidea. Thank you, Minister. So one of the easiest ways to reduce emissions for travelling is to get more people using public transport. It's a clear solution to these problems. So what works being done in Wales to improve their train infrastructure and buses, because at the moment many people would say they are subpar? Yes, so that's quite a complicated answer, I'm afraid. A number of things are happening. We are working, of course, on a much more integrated metro system, both in the north and in the south of Wales. We hope that will come to fruition over the next few years. We are working with our bus companies to make sure that they continue to be viable post COVID. Unfortunately, people haven't returned to public transport in the numbers we'd like to see, nor in the patterns of pre COVID. So we're having to take that into account. We have a bus bill coming forward in this Senate term, so we need to keep the industry viable until then. But there are much-needed reforms here, too. The deregulation that happened in the bus industry during the Satcho regime, which is, I'm pretty sure, prehistory for you, but I remember well, really needs to be undone. We need to be able to regulate the public transport in a way that benefits our citizens and allows us to put investment in that we are sure will actually improve the service. And so we're working on that. A bus bill will come forward. And in the meantime, we're working with the industry to try and make sure that the funding we have will span the gap between them. But post COVID it is very difficult situation as people haven't returned in the numbers we'd hope. So I'll take this opportunity to encourage people to use their local service. And also we've seen you not rolling out charging people for having vehicles with higher emissions should these other measures not work. We've already seen in London a push back to something very similar to Eulus compliance in London. Is it fair to expect people to have to, if they do have higher emission vehicles, to buy completely new vehicles even if they can't afford to, whilst costs are still really high with the cost of living crisis? So that's a really complex question as well, isn't it? Because we need to get our emissions down. We need to get our clean air in place and people in lower socioeconomic groups unfortunately tend to live in places where emissions tend to be higher. So we know that there's a social justice issue in this and that's why I'm so delighted to be introducing the bill. We also know there's a social justice issue in the way that media, sorry, what am I talking about, media, math, transit works. So basically women use buses more than anyone else and women in lower socioeconomic groups use buses more than anything else. So what we need to do is make sure that the service is fit for what they need. And as I say, there's a complex, far too complex for this short answer I'm afraid, but there's a complex equation between the regulation that we want to put in in our coming bus bill and the amount of money that we put in as an investment and what we get back for that. At the moment we put an enormous amount of money in, but what we're effectively doing is supporting a service that doesn't really work for people. So we need the bus bill to come in to correct that situation, to help our SME providers, for whom I have the greatest of sympathy by the way, and they employ people all over Wales, to help them transition to the new system and basically to help them access low emission vehicles as well because our public transport vehicles also need to be low emission. And in doing that we can help people not need a car at all, which would be ideal in some places in Wales. And then in other places in Wales we need to make sure that where they do have access to a vehicle that we can make sure that those vehicles can be as clean as possible. So it's quite a complicated picture I'm afraid. I think the next one is Issa Fafor from ITP Wales. Yes, good morning Minister. I would like to put the concerns of one mother who lives in Mertha over to you Minister. So yesterday I met Joe aged 47 who has severe asthma and moved to Mertha ten years ago. At one time she was admitted to the hospital up to eight times a year. She was diagnosed with, when she was 18, both of her grandmothers who are from the valleys died of a lung condition. And now she worries about her kids having no choice but to breathe polluted air. What can you tell Joe to assure her that the Welsh Government is listening and that we are doing everything possible to tackle this health inequality and pollution in Wales? Thank you very much Issa. Just to start off by saying that my heart goes out to any family struggling with that kind of condition across Wales. And we have a multifaceted approach to that. So this clean air bill is part of that. We'll make sure that emissions in their local neighbourhood go down. And so the air that you breathe if you're outside playing for example is much healthier. We will have an education programme that allows us to help people understand what to do to keep themselves safe. And actually, and perhaps somewhat counterintuitively, we have a house building programme across Wales for low carbon social housing, which actually improves the air quality inside the house as well for people. So I very much hope that we can roll the housing programme out. We will also be improving the quality of housing in both the private rented sector and in the occupied sector as we go. So there's a combination of things that are happening. And I think the advent of this bill and its passage through the Senate will accelerate that process and give local authorities more powers to act against people who are not complying with the regime, but actually much more importantly to educate people about how to comply and why it's so important. So I really do think it is a real beacon of hope for people who struggle with things like asthma and other lung conditions. It's been welcomed by a number of the groups working in the area. And I'm really looking forward to working with them as we take the bill forward through the Senate to make sure it's as effective as it can be. Minister, if your current plan fails to bring the pollution level down, what's your plan B? Are we more likely to have clean air zones in the future? So the bill has a backstop provision in it, and that's the whole point of it, isn't it? If it doesn't work, then we will be able to do that. But I see no reason why it won't work. We work very closely with our local authorities. We're putting resource into the local authority to help them work with us. We'll be working closely with the WLGA as an organisation. I meet with the Cabinet Members responsible for this. We'll be able to roll out the training across the environmental health officers and so on, who help implement the legislation. I think we'll see a real step change. And as I said to Dan at the beginning of this set of questions, this is just one in a suite of measures that we're taking forward. So this shouldn't be seen in isolation. It's part of a much wider plan to improve both the air pollution and sound pollution, and it's important, too, as part of this. So I really do think it is a beacon of hope for people who have been struggling, and we will be working with our local authorities to bring it in as effectively and as efficiently as possible. Thank you. And the last one is David Nicholson, sorry, from the Morning Star. Morning Minister. Just before I move on to the questions, I just wanted to clarify something. You said the £1 million available to local authorities will be this financial year. Do you mean 2022-23 or 2023-24? 2023-24, sorry. I've moved my head into the next budget now, having put the last one to bear. Apologies. So, yes. 23-21. That's a lot of money you're spending in a few weeks, isn't it? Apologies. OK. OK, on the noise side of this, how is the Welsh Government proposing to minimise noise pollution? And what noises are we talking about? So a noise is a really aggravating factor for many people. It can be something that you're not even aware of that's actually causing you real serious stress. So what we're going to do is work with our local authorities to do soundscape plans to understand what the ambient noise, that's what it's called, the local level of noise should be and how it's affecting people. And then we work with people to make sure that that's reduced. So if you're close to a high sound industry, for example, we've worked very hard with our steel industry over the years to make sure that both our emissions and the sound that they emit is much lower than it would otherwise be. And there are lots of other examples around Wales where... And then the other thing to say is we want people to be able to hear the sounds of the natural world. We want people to be able to hear birds singing and so on. So we need the ambient noise level to be sufficiently low for them to be able to reconnect to natural sounds in their area. We know that has a major boost on mental health. And this is something that many people across Wales have been calling for. And I'm pleased to be one of the first... Well, the first government to introduce such a plan. OK. On idling of cars parked by schools, et cetera, how's that going to be policed and by who? Are people going to have a tap on the window of their car or are they going to turn the engine off? And if so, who's going to do that? We'll have both an education programme coming out from the local authorities and via our schools to make sure that people are aware of the effect of idling and understand exactly what's happened. There's a myth-busting fact sheet. So a lot of people think, for example, it's more expensive in fuel to turn your engine off and on. That's not so. So there are myth-busting things and I think people just really need to understand what they're actually doing to the local environment of their own children if they're idling outside of school. So the big piece of this is the education piece, but there are enforcement powers that go with it. So if you've been spoken to, it's been explained to you and you appear now to be woefully doing it knowing what the harm is, then there is an enforcement regime. I'm pleased to have gone to a civil enforcement regime because that's much more easy to administer and much more likely to happen. Criminal sanctions are far too much for people to want to impose and we've seen that from experience. So I think this will have some teeth. It will have the right kind of teeth, but the education piece is the most important piece. We need people to understand the effects of their own behaviour and then modify it. Sorry, just to come back to that question, I'll ask. So who in the local authority? I mean traffic wardens or people who will be talking to? It will very likely be an environmental health officer and there may be other enforcement officers who work with the local authority. We will work with the local authorities to ensure that they have a regime that's fit for purpose. So I can't answer that individually for each local authority, David, but we will have an enforcement regime which includes that education piece. Okay, thank you very much, Diolch.


All right, my friends, combine your cells, fibers, and ground substance in different concentrations and flavors, and you're going to get a great diversity of possible tissues. So I'm going to show you how we break down connective tissues. First of all, there are three main types of connective tissue. I hope I am giving myself enough room. There is connective tissue proper. This is your, like, traditional connective tissue. When you think of connective tissue, you think of connective tissue proper. You don't really think of structural connective tissue. In fact, structural connective tissue is, it's just kind of surprising, but give me, tell me. I've already told you what an example, a couple of examples, all the examples are. Bone and cartilage, that's your structural connective tissue. And then you have fluid connective tissue. Who's my fluid connective tissue? There's only one of those clowns, and let's just fill it in right now because we can't, we know, we know who that guy is. Blood is my only fluid connective tissue. That's cool. Let's do structural connective tissue next because bone and cartilage actually are logically, like, they're really similar to each other. So our two kinds of structural connective tissue are bone and cartilage. And bone and cartilage, my homies, they're actually three, they're two bones and three cartilages. Bone can be compact or spongy. And in the last piece of this lecture, I'm going to show you a picture of every one of our 20 connective tissues, and I'm going to talk you through, like, how we're going to tell the difference. Like, what's the difference between compact bone and spongy bone? So this is giving you a big picture. We'll look at specific examples when we go through it at the end, and then we get to spend the entire lab playing with these guys and practicing them. There's three kinds of cartilage. There's a cartilage called hyaline cartilage. Hyaline cartilage is found on the ends of your long bones. So it's that end, like, your epiphyseal plate is made of hyaline cartilage. Those are the growth plates in your long bones. We also have a substance called fibrocartilage. Fibrocartilage is super tough. Like, the fibers in fibrocartilage are crazy, strong collagen fibers, and fibrocartilage is found in places where you have grinding, like the meniscus, like your menisci in your knees. Those are made out of fibrocartilage. The discs, the vertebral, intervertebral discs in your spine are also fibrocartilage. And focus one more, elastic cartilage, as I already mentioned to you. So elastic cartilage, you can imagine, is just full of elastic fibers. All of them have collagen fibers, hyaline cartilage. You can't really see the collagen fibers so much. Connective tissue proper has two main flavors. You have loose connective tissue proper and you have dense connective tissue proper. And loose connective tissue, adipose, is an example of loose connective tissue and a realer connective tissue is an example of loose connective tissue. Sometimes a realer connective tissue is called loose connective tissue. So if you see something where somebody's like, dude, look at that loose connective tissue, you can know that they're going to probably be talking about a realer connective tissue. Dense connective tissue also comes in two flavors. We have dense regular and dense irregular connective tissue. And dense regular and dense irregular connective tissue, both have really big, significant collagen fibers. But in dense regular, all the collagen fibers are going the same direction and in dense irregular, they're not. Now, our last two tissue types, muscle and nervous tissue, we're not going to break it up because the functions and the structures and the different types, they're not nearly as complicated as epithelium or connective tissues. Connective tissues are the craziest. So let's look at our last two, muscle and nervous tissue, muscle first.


What are Darwin's finches, and why are they so important to biologists? The study of finches led to the development of one of the most important scientific theories of all time. But how did this come about? In December 1831, a naturalist called Charles Darwin boarded the HMS Beagle bound on a surveying voyage to South America. Whilst the ship and crew carried out coastline surveys, Darwin was free to explore the islands en route. In 1835, the Beagle arrived at the Galopagos Islands near Ecuador. What Darwin found there surprised him greatly. As well as giant tortoises and marina guanas, Darwin collected and preserved a variety of different songbirds called finches. Upon returning to the UK, he examined them together with hornetologist John Gould and made some fascinating discoveries. The scientists observed that the birds were all similar to a single type of finch found on mainland South America, suggesting that these mainland finches had originally colonized the island. However, the Galopagos finches were all slightly different from the original mainland species, and they were also different from each other. The finches on each island showed distinct variations in their overall size, beak shape and claw size. These differences were attributed to the differing food sources available on the various islands of the Galopagos. Some of the birds had long thin beaks and sharp claws suited to catching and eating insects, while others had large powerful beaks suitable for cracking open nuts. Because of the distances between the islands, breeding between different species of finch was unlikely, and Darwin concluded that the finches must have evolved over time from the original mainland species to suit the conditions found on each individual island. In all, 13 of the birds brought back by Darwin were identified as being entirely new species, all similar to each other, but with definite variations from their common ancestor. Darwin proposed that the variations seen both within and between the finch species arose by chance. Variations which gave any individual or competitive advantage made them more likely to survive and therefore reproduce, out-competing those with less advantageous characteristics. Darwin called this theory natural selection, and he published it in his book On the Origin of Species in 1859. Evolution by natural selection is now widely agreed to be the most accurate theory to explain the origin and diversity of all life on Earth. In this video, you have learned how the finches of the Galopagos Islands led to the development of the theory of evolution by natural selection. Is evolution of these birds still happening? See what you can find out.


Combat today is more complex, more swift in its movement than ever before in military history. And the training of today must provide skills, weapons know-how, overall capability that is far beyond anything demanded by the challenges of the past. Then to the global military commitments of the United States Army in the 1960s make necessary an establishment the size and power and versatility of which the world has never seen. Forces prepared through intensive physical and technical training to meet any challenge at any time with a measured response. Forces ready and able to go anywhere on earth at a moment's notice taking with them all they must have to make their action decisive. The effective functioning of such a vast and varied operation does not just happen. The coordination of all factors, movement, communications, supply and resupply and the disciplined action of a team's large and small which carry combat to the enemy. All this takes leaders and leadership does not just happen. Today one of the prime sources of the junior officers who provide this leadership is the Army's officers candidate school system, OCS. And the record these OCS trained officers have achieved is a proud one. Few people realize how far back that record goes. Many of us remember the OCS operation of World War II but actually it began in 1917. The first class graduated in August of that year and two of its members went on to wear the four stars of a full general Walter Bedell Smith and Johnny Ho. When the OCS concept went into action again in 1941 it was in response to a desperate need for leaders in a world conflict much faster in scope than World War I. And it met that need. OCS turned out half a million officers during World War II. Today this emblem still stands for a source of dedicated professionally skillful junior leaders and the magnificent they're doing around the world speaks for itself. Just how they're trained for that global job is the subject of today's big picture. Okay, move out. Leaders have spotlighted the vital role of the Army's officer candidate school program. Three Army service schools are now conducting officer candidate courses for various branches of the service. The infantry officer candidate school at Fort Benning trains candidates in the professional skills required of a second lieutenant in the infantry. In addition, the school commissions officers in branches which do not have an OCS program such as military police, intelligence, chemical, finance and adjutant general. In the two other officer candidate schools students are trained in the basic combat skills and in specialized subjects as well. The artillery and missile OCS at Fort Sill teaches candidates how to use every type of Army artillery from Howitzers to free rockets and ground to ground missiles. At the engineer OCS at Fort Belvoir candidates learn the specialized subjects pertaining to that branch. Building bridges, roads, combat construction, demolitions, laying and breaching minefields. From these three schools, young officers are also provided for further training in other military specialties. Quartermaster, ordnance, signal, transportation, armor. These schools are turning out an impressive flow of well-trained and highly motivated young officers who are serving with distinction in Army units throughout the world. To illustrate some of the great variety of courses which make up the six month curriculum and to show how leadership potential is developed we will follow a young candidate through one of the officer candidate schools. In this example, infantry OCS at Fort Benning the high training standards maintained at Fort Benning are typical of those at all officer candidate schools. I'm Bill Sand and I'm after the infantry OCS at Fort Benning, Georgia. I guess it wasn't until I said goodbye to some of the guys that going to officer candidate school became real to me and not just a wild hope I'd been sweating out for weeks. I got a real charge when I passed through the Fort Benning gate and got my first look at the infantry school building. That giant statue of the infantry man really hit you. Maybe in six months I was on my shoulders too and be wearing that infantry school patch. Follow me. Whoever thought of that slogan hit it just right. It was all I could do to keep up with the rush of things that first week. It all started with a hearty warm welcome by the tactical officer for the platoon. I was about to lose my hard-earned PFC strike and now I was getting my first good look at the guy who was going to keep an eagle eye on me through OCS. During those first four weeks he was always there making corrections, prodding, coaxing. Much later I was to realize how important this transition period was in preparing us for the pressure of the weeks ahead. We must have drawn our weight or double in equipment and manual. That's my roommate, candidate Williams. We wondered how we could ever sort out all this stuff and put everything in its proper place. We didn't have long to wonder. That is a senior officer candidate. He has the duty of orienting all new candidates. He is telling us in his own gentle, coaxing manner that there is a regulation for the placement of each item. This was our first lesson in how to organize ourselves an important step in learning leadership. You learn how to do in minutes what used to take you hours where time is precious. You get up running early in the morning to keep up with the long day ahead and you stay running as part of your daily physical training. You feel you're getting close to perpetual motion. Every step is carefully regimented even when you stop. In the chow line each candidate stands approximately 40 inches from the man in front of it. However, you're given plenty of time to eat three full meals daily without any harassment or hazing from upperclassmen. You're expected to conduct yourself as a gentleman here as well as everywhere else. And if the candidate needs instruction in the social graces it is given in a positive and constructive manner. The first four weeks of the course were tough but with the fifth week they really began to pour it on. It all took on meaning, however, when we heard a talk by the battalion commander. He told us a lot of things about OCS, the honor code and so on but the main thing was, he explained, that the purpose of the school is to produce infantry officers who have the will and the capacity to lead men in combat. That the seemingly endless details are to teach prospective officers to remember the little things that may make a vital difference on the battlefield. That the endless pressure is to harden men to stand up to the much more critical pressure of combat. When men's lives are at stake and success in battle depends on an officer's steadiness of mind under fire.  It's leadership. Leadership, leadership, emphasized unceasingly. The battalion commander gave us the inspiration alright but what would make it pay off was perspiration. The tools of an infantry officer's trade are weapons and tactics and we went to work to learn them. Qualifying with the rifle, firing on a train fire range and pop up targets and then assault fire. The M60 machine gun served weapons like the 81 millimeter mortar the 90 millimeter recoilless rifle, the 106 recoilless rifle. We learned the trick of firing tracer rounds for spotting stationery and moving targets before letting go the money punch. We got lots of map reading, learning terrain association. In this problem you find your place on the map from the contour lines in the blow up on the terrain board. Many hours of communications instruction. Everything from how to prepare a military message to proper radio telephone procedure. Lessons in air mobility, exciting stuff. Instruction in ground mobility. Ranging from the tactical use of infantry vehicles like these armored personnel carriers to their maintenance and care. It isn't all weapons and tactics however.  Preventive maintenance. Military history. Company supply procedures. Army organization. Cold war operations. You name it. Plus quizzes and exams all the way through. The primary emphasis however is on leadership training. The platoon tack officer is the one who really keeps the leadership heat on. And he's never tougher, more watchful or more critical than when you take over a command position. You get at least six tours of duty as either company commander, executive officer, first sergeant, platoon leader, platoon sergeant, or squad leader. You don't get too swelled up over these command insignia you're wearing. Big brother is watching. You've got to keep that platoon looking smart and marching smart. Lieutenant Abla is always ready to help you do just that. Every subject, every lesson has leadership meaning. I think that drill was just to learn how to march. But as an officer candidate, you're taught and you teach proper procedure in teaching drill. You learn how to give orders and how to get the job done. The way you do it adds up to your leadership rating. He's as nervous as a wet hen. There goes the tack officer writing an OR, an observation report on him. You get to know what those ORs mean when you report to the tack officer for a counseling session. These are held at least once a week. You'll find after a while that the tack officer is tough but fair. He'll do everything he can to help you in academic or leadership subjects. But it's you who've got to cut the mustard. You learn that you must know how to accept discipline before you can require it from others. The demerit system is used to help maintain the high standards of OCS. Too many demerits result in loss of privileges. You are evaluated three times during the course. Besides the tack officer, there's the company commander and your fellow candidates too. It all adds up to whether you continue to move along in OCS or not. The 11th week is critical. That's when the first leadership evaluation is made by your company officers. Candidates who do not meet leadership standards are identified. They may be turned back to another class or dropped from the course. Williams was one of the doubtful ones. You'll get another chance in a different class. Now they begin to pour on the tactics real heavy. Lessons in terrain analysis. Then into the field to put the classroom stuff to work. You learn how to use the rifle squad and the weapon squad. Both defensively and on the offense. Setting up a base of fire. Using fire and maneuver to knock out an enemy's stronghold. I learned that your performance in these tactical situations is the most important factor in evaluating your leadership ability. We moved up to study platoon tactics. With me running this problem. Enemy position ahead. You'll move up to make an estimate of the situation. To consider enemy strength, weapons, fortifications and many other factors. You have to think fast and right. Thank God for training. Call your squad leaders to meet you at a designated location. When you've assembled your squad leaders, you issue your attack order. Here's where you apply the principles of tactics you've learned. The attack order must be clear, concise and complete. Following the outline of a five paragraph field order. How you perform here is most important. The attack officer will rate you on your ability to make sound decisions. If they are the right ones, your platoon will overcome the enemy position. The decisions were right. Leadership training paid off. It paid off in advancement too. I became a senior in the 18th week. Along with the rest of my classmates who made the grade. As a senior candidate, I was entitled to wear the blue helmet liner. I was now a full-fledged blue. I could walk instead of run in the company area. And man, did it feel good to get a salute from a lower classman. You could almost feel those officers' bars growing on your shoulders. Your responsibilities grew too. You've got to set an example for lower classmen. And you'd better be sharper than ever. Leadership ratings and panels go right through the final weeks of OCS. So does the pressure. Like this obstacle course set up by ranger instructors. They call it the physical confidence course. And you're entitled to the feeling. Since you have to go through the course twice. We knew we were on the home stretch when we began a series of problems in infantry company tactics. A mechanized rifle company attack in armored personnel carriers. Backed up by tanks and supporting arms in a combined operation. Teamwork. Blasting away to neutralize enemy fire. Riflemen deployed from the APCs to successfully overrun the enemy. For me the exercise was the high spot of OCS.  It's the 23rd week. You're almost there. It's graduation day. The main event takes place in the beautiful George C. Marshall Auditorium in the school building. Speeches by distinguished guests. The top 10% of the class receive their graduation certificates first. They are known as distinguished graduates. This honor entitles them to special consideration for regular army commissions and also in the choice of assignments. The man who is number one in his class, the honor graduate, receives his award. He sure had to work for it. A special award goes to the candidate who proved himself tops in leadership. You know that man is going places. Then your own big moment. Getting that precious certificate that says officially you are a second lieutenant in the army of the United States. Bearing in.  It marks the successful end of the toughest but most rewarding six months of your life. But this was only the beginning for Lieutenant Bill Sands. The beginning of an experience which will provide him with unlimited challenges and opportunities as an officer in the United States Army. He has shown that he has what it takes to graduate from an Army officer candidate school. He has good reason for looking forward to the future with anticipation and confidence as a leader of men. What he has become. When he arrives in a combat zone, he is ready. For six rugged months through OCS, his determination has been tried, his stamina tested, his natural potential forged into professional competence. He is prepared whatever his military specialization to go where the job needs doing and get it done. As an artillery officer, he is ready to handle the complexities of providing fire support to ground units in action. Armor OCS will have prepared him to take his part in wielding the tough and mobile firepower which is now his specialty. The fast moving and hard hitting ground cavalry of the 20th century. As an engineer OCS graduate, he may be involved in construction projects which are truly massive in scope and essential to the success of combat forces in the field. He may share in the building of a working harbor from ranks of high capacity piers to the complex of administration buildings, barracks, buses and the rest without which the great harbor could not function. A harbor whose capacity and monthly tonnage traffic equals that of many commercial harbors of the world. Here too the quartermaster officer may help in the mountainous task of seeing to the supply needs of units throughout the combat zone. Tons of equipment and materiel must be stored in stockpiled economically and safely, moved to their destinations promptly. This is what the quartermaster officer has been trained to do. Supplying and maintaining the army's firepower is a function of the ordnance branch and its officers are trained to supervise the repair of weapons. The replenishment of ammunition supplies. The sustaining of the massive firepower of today's combat army. The movement of all this vital equipment and materiel and indeed of the men themselves will be the concern of the officer of the transportation corps. All of these specialized skills, these specific areas of training and ability combine to make possible the overall combat effectiveness of the army in the field. And in every aspect of all this, leadership is what makes success possible. Officers whose training befits them to guide men, to use the newest weapons and equipment and tactics, to carry out the mission of the soldier, to close with and destroy the enemy. The effectiveness of any fighting force depends in the end upon its leadership. And leadership, though its potential is greater in some men than others, depends in large degree upon training. That leadership is something that can be learned and taught. The success of the officer's candidate training program has proved beyond doubt and proved it where it counts on the field of battle. The junior officer of today's army, when he completes the six months of rigorous physical and mental and technical training that is OCS, has earned his position as an officer by his sweat and his demonstrated skill and professional competence. And he has earned as well the thanks and respect of the nation in whose defense he is ready to use that skill and competence.


Welcome back to the Riffamonis Reproducible Research Tutorial series. Today's tutorial is all about the importance of documentation. I don't know about you, but when I'm working on a project, my first inclination is to write for myself. Also, I generally have a very high regard for myself and my ability to remember things that I did today, tomorrow, next week, six months from now, even next year. The fact is, I couldn't tell you what I had for lunch yesterday, much less what I was doing for analysis on a project six months ago. I also have a bit of a biased recollection of things. If I were to describe to you how to get to my departmental seminar room, I might alter those instructions based on whether or not you're familiar with the University of Michigan. You may have encountered this with a previous tutorial when we were developing instructions on how to fold a paper airplane. I might make certain assumptions that you would know what a paper airplane looks like and how it's supposed to be folded. My instructions may have not been explicit to tell you to fold the paper airplane, to fold a piece of paper lengthwise. What I was looking for would be a paper airplane that looks like this, a fairly classical model of a paper airplane. If you had folded it widthwise on the first step instead of lengthwise, you'd get a paper airplane that looks a little bit different. It has a shorter body. You'll see that the fins back here stick out the back of the plane. It's a bit of an imperfect reproduction of my paper airplane. Regardless, they still fly pretty well. I still have fun with them, but it's an imperfect reproduction because I made a critical assumption about how you would make that first fold and perhaps I wasn't explicit enough in my instructions. Although writing documentation throughout analysis can be tedious and isn't a whole lot of fun, it's critical for ourselves, albeit next week or six months from now. It's even more critical if we expect someone else to build upon our work. Today we'll be discussing various ways that we can provide documentation throughout a project. A downfall of many projects is to see the final manuscript as the documentation for that project. Really, a manuscript is just a signpost along the way towards other projects that hopefully others will continue to build on. Regardless, there are many other steps going from the beginning of a project to a manuscript that need to be documented. Where did you get certain reference files? What did you do at different stages of the analysis? What parameters did you use? All these things need to be documented so that others can build upon it. And it's even more critical for you if you're going to be picking this project up again, say in six months or in two months after your reviewers' comments come back and you need to update the manuscript. Join me now in opening the slides for today's tutorial, which you can find within the Reproducible Research Tutorial series at the Riffmonis.org website. Before we discuss today's tutorial on documentation, I'd like to revisit some material that we discussed in the second tutorial of this series. You'll hopefully remember this grid that I suggested was a useful framework for thinking about issues in reproducible research. So what I'd like you to do is take a 30 seconds or so and see if you can remember what goes in each of these four quadrants. There are single words that we had that I described going in each of these four areas. So go ahead and hit pause. And once you've come up with a solution, go ahead and press play again. So hopefully you came up with something that looks like this, where if you're using the same methods and the same population as somebody else and you get the same result, we'll say that's reproducible. If you've got the same population or system, but you're using different methods, perhaps think of this as like triangulation, you would say that the result was robust. If you're using the same methods, but on different systems or different populations, we'll say that the result is replicable. And then finally, if you're using different methods applied to different populations and systems, and you get the same result, we can say that the result then is generalizable. So moving on to today's content, the learning goals for this tutorial are to first demonstrate that every threat to reproducibility is grounded in the ability to document one's work. That every problem that we have with reproducibility is ultimately a problem of documentation and communicating with the people that follow us. Second, we want to identify the various forms of documentation that can appear in a reproducible research project. We will then articulate the importance of scripting to document the processing of raw data to a final product. Next, we'll review the written documentation of a project and provide recommendations. And finally, we'll critique and generate self-documenting directory, function, and variable names in various scripts that we might use. So a guiding principle in thinking about reproducibility is this quote that is popular among many people within the software carpentry community, but nobody really knows who to attribute it to. Your single most important collaborator is you, six months from now, and current you doesn't have email.  Say you have to go to a conference or you're going on maternity leave or you're going to be teaching for a semester. How would you write your documentation?  And I and many other people would agree that if you can do that, if you can document your project such that it's not that difficult to pick it back up again, then anybody else should be able to easily pick it up as well. And so by satisfying you as your most important collaborator, you will then satisfy future collaborators. So today to discuss where we're going, we're going to talk about various types of documentation and specifically written documentation and then a number of other areas where we can document our project without really writing out pages of documentation. One area is a principle of keeping your raw data raw, using data organization as a form of documentation, the idea of scripting everything, the dry principle of don't repeat yourself, automation, and transparency. So we're going to be discussing each of these in this tutorial, but they will all come up again and again and again in subsequent tutorials. So if they seem a little bit abstract right now or if I'm talking about commenting code, know that we will be doing more of commenting code later in the tutorial. So this is an introduction to these different ways that we can provide documentation. So where have we seen the importance of documentation already? So I think this is the fifth tutorial in the series. Where have we already seen the importance of documentation? Well, this is a partial list, and so one area we might think of is our ORCID ID, which provides a universal way to connect to somebody. It kind of aggregates all of their scholarship. We might think about the data description fields in a fig share data set, meadows at all in that paper we looked at, used our markdown documents, which combined both code and text. There's a project description in GitHub for each repository. When we wrote that readme file for the paper airplane exercise, that was another example. And then also the project license that you may have seen in a few of those projects, that that's documentation about the permissions that the authors give to subsequent researchers for how they can interact with and use the code. And then also when we were doing the paper airplane exercise, at the bottom of the page we'd write little text about what we did to update the code. And those are called commit messages, which we'll see in subsequent tutorials when we talk more about version control. So all of these are examples of documentation that don't involve us writing copious lines of text describing how we did something. The documentation is baked in to these various aspects of how we're doing our project. And that's a great practice. So one of the really useful tools is what's called a readme file. And again, we've seen these in various GitHub repositories that we've already looked at, including our paper airplane example. And so what makes a readme file useful? And so I think to help with this, let's look at a couple different examples. So we'll look at the Meadow et al. microbiome study, two papers from my lab, one from Mark Z and colleagues looking in Mbio, as well as a paper from Sarah Westcott and myself. And so as we look at these, what I want you to answer, the questions I want you to answer are, what do you notice about them? What other information would you like to see? And how would you change the readme you wrote for that paper airplane example in the previous tutorial? And again, I'm showing these examples not to say one is infinitely better than others, but I think they all have flaws, they all have weaknesses, and we can learn from each of these to make better readme files in the future. So I'm going to go ahead and click on these and open up in separate tabs. And so this is the Meadow et al. readme file. I guess my link goes straight to the readme, but you'll see if you click on that link that as we recall, GitHub will render the readme file on the main page of the repository. It's also here in nice bold letters, readme.md. And so if you look at this, these scripts detail statistical analysis of bacterial communities found on classroom surfaces. Okay. And there's some amount of information here. It's pretty minimalistic, I would say. Something, if I was searching through GitHub and came upon this, I might wonder, well, what's the title of the paper? Where is the paper? How do I get a hold of that? Here is from Mark Z's obesity paper. And here he's got a title. I believe this is the abstract of the paper. And some information about how to analyze the full dataset, how much RAM you might need, how long it takes to complete. And then there's an overview here of the organization of the project. And so you'll see the project directory. This is the top level readme. There's a folder for documents, data, code, results, scratch, temporary files, other files, and a make file. Again, if we click on this link to get back to the parent, we can don't see a link to the actual paper. And so maybe that would be a good thing for Mark and I to go ahead and do since this is our own paper to tell people where this paper exists. And yeah, I mean, it's got a lot of good stuff going for it, but at the same time it's missing something. Something you might also notice is that up here there's directory for submission, but down here there's no directory for submission. It says there's three files, study, RMD, study, MD, study, HTML. And those are probably here in this submission directory where there's a lot of other stuff that doesn't necessarily correspond to what we saw in the readme file. So there's documentation, but it doesn't totally align with the documentation as it actually exists in the repository. So speaking from experience, you're so excited to have the paper finished that generally you don't go back and tidy up these little pieces, but it's really important because again, if somebody wanted to come along and say they did want to add their own data set to the pipeline, we need to improve the documentation so that it's easier for them to do that. So here's the third one, a paper from Sarah Westcott and I. Again, title of the paper, the abstract organization, different data files that we used. It's a directory called submission along with the various files in that directory. Down here is a list of the different dependencies you need to run the analysis. So what versions of the software we used, where the things need to be installed, and then how you would go about building the paper. So if you go to a prompt within their repository and you type make write dot paper, it'll run it. And then links to the data sets that we used in the study, links to the PubMed versions of those papers. So again, more organization, more documentation, still no link to the paper, which is pretty bad of me. And so we should go back and fix that. So hopefully by the time you're watching this video, I've gone in and updated to indicate where it goes. And so a good place to do that might be right here, paper describing opti-class method. So let's go ahead and just do that. And I'll just... So what I did is, up here there's this description, paper describing opti-class method. You can press edit. And then we'll say paper describing opti-class method published in M-sphere. M-sphere. And then let me go to PubMed and get the PubMed link. So if I do Schloss, and so I'll go ahead and grab that link, pop it into this description. Maybe I'll put it in the website, actually. We'll see how that works. And do save. And so then you now see paper describing opti-class method published in M-sphere. And here's a link to the paper. So that makes things really nice and it links it back to the paper then. And of course in the paper, we describe the presence of this repository. Another thing that we've done is that we've created a topic that's called within GitHub, called reproducible paper. And so what you can do is if you click on manage topics, you could type in reproducible-paper and it will pull that up. And it'll be basically a tag on your repository. And so if you then click on reproducible paper, this will pull up other reproducible papers that people have been publishing and that they've tagged. So here's somebody that put together some tools for doing reproducible research. Other things from my lab. Here's a reproducible paper from Ben Marwick. And so here again is a really nice README file describing the repository contains research compendium of our work from the 1989 excavation of Malacca Nuja. So it's nice to be able to look at other people's repositories within this reproducible research tag to get an idea of how we might improve the reproducibility of our own projects. Okay? So again, like I said, none of these files are perfect. They all leave a little bit to be desired. But as you interact with other people's repositories or as you look at what other people have done, critique them and think about what's good, what's limiting, and what can you bring from those to improve your own study. Okay? So I'm going to go ahead and close these tabs out. A big problem with this, like we saw with the Meadow and Z examples, is that documentation is a very thankless task that no one wants to spend a lot of time on when they could be analyzing data and writing a manuscript. But again, in the long run, you can build upon your work or if you want to be able to communicate with you in six months, it's really critical to have that documentation to have that form of communication. It really helps to have a readme in the root of your project. And that then provides navigation, can provide navigation to anyone coming into your project. A nice feature of GitHub is that it will automatically show the readme file when you open the repository's webpage. It's also useful to provide this directory structure so a newbie coming in knows where everything is or should be, right? Or if your PI comes in and needs to make a figure for a presentation, how difficult is it for them to find the data and the code to build a figure from your previous paper? You can also then specify software dependencies, versions and where they should be installed, and then give instructions on how someone would enter the project and what they would do to run your project. And so this readme that we're describing is in the root of your project. It's at the highest level folder of your project. And so something you might also consider would be putting a readme file in some of these subdirectories. So putting a readme file in your data directory to perhaps explain where did the data come from. Or putting a readme file in your submission directory to perhaps describe where the manuscript has been submitted or what conferences you've presented it at. The next thing I want to talk about is keeping your raw data raw. And this is really critical because by keeping a raw version of your data, you can always start over. You can always go back to a blank page if you will. Whereas if you've got a spreadsheet that you're working with and you start editing things where perhaps people formatted the date differently when they've entered data, if that's the only version of the file you have, then if you screw up or if more data are added or if there's different versions, it quickly becomes a headache. And so it's a really great practice to keep your raw data as raw as possible and to even if it's got all sorts of formatting issues and different problems to keep that file somewhere within your directory structure for your project, so that you can always go back to it. As an example, I've done this frequently. Have you ever accidentally sorted a spreadsheet by one column? So one column now is sorted alphabetically, but the rest of the tables, the rest of the spreadsheet didn't get sorted with it. I think that's a very common problem. And so if you have a raw version of that, that's not such an issue. You can always go back and figure things out. We can also think of data organization as a form of documentation. And so have you ever been to a conference or a seminar? And you get to see somebody's desktop and you see it's covered in a thousand files. How efficiently do you think they're able to access the information in any one of those files? How easy would it be for them to find the file they want? You might also ask, you know, what's the likelihood that one of those files might get lost or deleted? And perhaps over six months I maybe have, as you've perhaps seen, I've maybe have like 20 icons on my desktop. And I know that I probably have too many there because it's very easy to lose track of things. And if I accidentally delete something and I don't notice it for another six months, then that can be a big problem. And then similarly, say somebody can make it work with a thousand files on their desktop, how likely are they going to be able to teach that system to you? So if you've got to come into the system and understand where the code is or where the raw data are or their naming scheme, how difficult is it going to be for you to pick that up? And so this is where it's very valuable to have separate directories for your code, your data, your figures, your tables and your documents and make it very clear where the different types of files should be located. If you think about the repositories we looked at, those with better organization, it was very clear what different types of data should be. So next, we want to think about scripting and that we want to be able to script everything to convert from raw data to processed data. And so by scripting everything we can make it automated so that I don't have to question whether what parameters I used. If I'm providing you a script that has explicit instructions that the computer's following to complete the analysis, then that's going to have all the parameters. That's going to have the location of the code. That's going to have the name of the software I used. Your scripts then become that lens that you and others can use to see how you've analyzed your data. And your instructions then become better as you become more explicit. So if your computer knows what you're doing or what you want to do, then it's a good chance that others will know what you're doing too. Also, if you cannot, if you don't allow yourself to manually manipulate the raw data, then you have to be explicit in how you document the processing of your data. Sometimes I've worked with a tool called Arb ARB for working with 16S sequences and it's got a nice graphical interface that I haven't figured out how to work with from a script. And so if I'm working with that software, I have to be very explicit about what buttons I push, what toggles I flip, what parameters are set, because if I have to come back and do it again, I know I'm going to have to do it. And I'm going to have to remember how to do it. And I maybe go into Arb, I don't know, once or twice a year at most. Also then although the computer might understand what you're saying, you might not understand what you're saying. So your code needs to be interpretable. And we'll talk a little bit about this in a bit, but you need to provide comments for your scripts so that when you come back for it to look at it in six months, or when others come and look at it, they need to understand what's going on. Related to scripting is automation. And automation is helpful because it'll keep track of the ordering and maintenance of dependencies. And so if you have a really complicated data analysis workflow and if you say add a data set or add a piece of data or move a piece of data, off the top of your head would you know what steps to repeat to kind of update the overall project. And again as those projects get more complicated, it gets a lot harder. And so by automating your workflows that will then keep track of the ordering and the maintenance of your dependencies. And so a question to ask yourself is if you had to add more data how difficult would it be for you to update your analysis? And would you remember all of the steps? And so one of the goals for that paper with Mark Z was that if another person publishes a paper that has obesity data some BMI information and 16S data, we would like to be able to add that data set and right at the end there make right dot paper and have it regenerate the plots, regenerate the whole paper including that new data set. I think that's the ideal, it doesn't always work out that well, but again thinking about automation in those terms it's very easy to see how that would facilitate greater reproducibility. Again in these large and complex analyses it becomes very easy to lose track of where you are in the analysis and by again scripting it so that you've got your workflow down for the computer to read then it becomes much more explicit. And of course not only do we have software dependencies but we also have data dependencies where if we're doing say classification of 16S sequences well there are all the upstream steps going from a fast queue file to that sequence that we're trying to classify but then there's also dependencies like the reference files that we use and those types of file dependencies that go into our analyses. So next aspect of documentation we want to think about is transparency and so how well are you going to document your analysis if you know that someone else might look back at what you've done and so this is the question that I realize it would be fairly cynical about but I'm hoping that you think about this question in the spirit that it's intended that again if the intent is for somebody else to eventually build upon your work which is the goal of all science I hope then you want to be transparent you want to help future you as well as future collaborators and so you might want to write in documentation that is explicit about why you've done different things or why you've done the things you've done why did you pick the RDP training set for classification versus the silver or the green jeans training sets why did you pick this particular parameter value and so by being transparent about that and being transparent about your documentation it then is much easier for others to build upon so science will only move forward when others can build off of our workflows if you're trying to have sharp elbows and keep people away from what you're doing be opaque, don't tell people why you're doing things but I can almost guarantee you that nobody's going to build off of or want to work with the data that you're doing you could put all your data all your code up on github but if you don't give me a roadmap if you don't tell me what you did then it's kind of worthless so a tool that we have for doing all this a lot of this documentation is using plain text and we've already talked about that a bit and as we described and worked with Markdown as we were making the paper airplane repository and writing out that readme file and so by using Markdown we put greater emphasis on writing the text rather than the formatting you know we use an asterisk to denote a bulleted list or two asterisks around a word to denote italization, some emphasis and so it's easier for computers to read text plain text than say a word file and so it's much more portable it doesn't depend on another person having the software to read it a text file is a very generic version of a file anybody can use it we can also use code to generate text which we'll see in a future tutorial so when we write this documentation we've already talked about one file for documentation which is called readme what does that file name tell you it tells you to read it it's very explicit about what's going on in that file sometimes you'll see a file called install right and so that's going to probably have instructions on installation so it's very important also to put documentation into our file names and so thinking long and hard about what we name things and there's a few rules that you want to keep up on so one best practice one rule is don't put spaces in your directories or file names yeah it looks prettier to the eye but it ends up causing big problems for computers because the computers frequently freak out at spaces and so we really discourage the use of spaces in directory or file names and so as you can see here the example of raw data you could write that as two words the computer would see that perhaps as directories but if you wanted to be a directory called raw data you would use raw underscore data or you could blend the two words together to make it raw data and the same goes for files like build figure one you could have it as underscores or using capitalization to denote the boundaries on individual words it's also helpful to be descriptive for comic and logical right so don't name your directory stuff don't name your directory data raw or data mother name a directory data and then within data have a directory called raw and have another directory called mother that you can then use the directory structure as a form of documentation to show you where the different types of data are and data you know what that is if you call something stuff well I guess there's stuff in there but I don't know what the stuff is as we move to thinking about our code there's always a goal to make our code what's called self documenting where we want to pick meaningful variable and function names in our scripts again we don't want to call a function or a variable stuff we don't want to call things foo or bar that's kind of a generic variable name that a lot of programmers like to use we want to use meaningful names we want to choose a casing strategy and be consistent about it so we talked about this already in the last slide about directory and file names that we don't want spaces in our variable or function names and so using underscores what's called snake case because the text looks it's all lowercase and it looks like a snake alternatively there's camel case where the first letter of the name is lowercase but then you use capitals to denote the word boundaries so it looks kind of like a camel alternatively you could also capitalize the first letter but the key is to be consistent pick one type of casing strategy and stick with it try not to mix snake case and camel case I have done this frequently and as I work with these scripts more and more I frequently forget was that variable in snake case or was it in camel case but if I always wrote in snake case which I'm trying to do more and more then I don't have that question I don't have to worry about it depending on the programming language there's other symbols that you probably want to avoid because those symbols are going to have some baked in meaning in R you generally want to avoid using periods and hyphens and other symbols in your variable names but the only symbol that I want to use in a variable name is an underscore something else that you might try is applying some grammar to your variable names and so if you've got a variable give it a noun as a name you can think of a sequence as a variable name for a sequence that is a noun for functions we might think of giving the names verbs so cluster sequences plot data generate figure 3 if we have a variable that's a logical think of it as a question use the variable name to be a question is sequence and so then we would expect the answer to be true or false yes or no by using grammar nouns verbs logicals we can think about how we can name our variables better to make them a little bit more self-documenting so that if I see a variable called cluster sequences I know it's not holding a value but it's holding a function so based on that I'd like you to look at these file names and how would you fix them if you think there's a problem and so if there's a forward slash at the end of the name think of that as a directory name if there's a pair of parentheses think of that as a function name and if there's a dot letter like dot r generate figure 1 dot r think of that as a file name so look at these and how would you suggest that somebody change their names the variable and file and directory names and function names to be more consistent to be more helpful so I'll let you take go ahead and pause this go ahead and pause this and answer this question and edit these variable function file and directory names to be more descriptive to be more helpful there isn't necessarily a right or wrong answer ultimately this is going to relate to what's helpful for you and again helpful for you in six months when you're coming back and trying to figure out what this variable means so as I said with that last exercise there isn't really a right or wrong answer there are some peculiarities for how we can name files and directories or variables or functions that are kind of built into the environment but for the most part how we name things is a tool to help us it's a tool for documentation and so a lot of people develop what's called a style guide if you've ever read the instructions to authors for a manuscript for a journal you know every journal has a different style guide there's no right or wrong reason for why they want you to site references a certain way or use different headings or whatever but they need consistency so that all the papers in that journal look the same well the same is true with our code and with our data analysis tools that we need consistency we need to develop a style guide and so I encourage you to come up with a style guide with your research group that you might think well I'm working on this project and no one else is working with me and that happens a lot in academia I know but at the same time think about the potential that if you and your colleagues in the lab realize that you're all generating the same type of plot or doing the similar type of analysis you could very quickly see the value in sharing code between projects but if you're all using a different style or a different approach to coding then perhaps going to be of limited use because you're not going to be able to talk to each other it's going to be really difficult to interface with each other okay and so again be consistent within your own project and across projects and then hopefully across your research group and think about what you want people to be doing in terms of programming and approaches that they go you can also poach ideas from other style guides, Hadley Wickham has one for R Google has one for R and Bash links are here on that page and you can click on those to go see the style guides and something to appreciate is that style guides are pedantic and often very arbitrary and their goal isn't to make sense necessarily, their goal is to enforce readability and good practices and how we program and so here is an example from Hadley Wickham's style guide where he says place spaces around all infix operators things like equals plus minus arrow and the same rule applies when using equals in function calls always put a space after a comma and never before just like in regular English okay so you might say well why do I need a space before and after a division sign or a plus sign well more space makes things more readable easier to read well you might disagree with Hadley, that's fine but come up with a style and be consistent about it okay and again Hadley's got a lengthy style guide as does Google for R code so other areas that help you to enforce good coding practices and we'll come back to this in a later tutorial when we talk more about scripting within R file called a .R profile file so pop quiz what does that . mean in front of R profile if you don't remember I'll let you look that up but you generally won't see that R profile file and so there might be some secret sauce in that file that if you give somebody a copy of your directory or R code from your directory they may not get that R profile file with your code and so if you've got a whole bunch of code in there that your script to generate a figure depends on then that person that's trying to generate the figure as well is going to be in for a world of hurt similarly don't save your R session on exiting if you save your R session then you're going to have variables that may or may not persist to the next session again that's not going to be very portable between users, between environments or between projects don't use attach or set WD in R again we'll come back to why these are problems but ultimately they're problems of documentation we're creating an assumption about the structure about the tools that other people are going to be using including yourself again in six months and so it's really helpful then to be able to run everything from the root of your project directory and it's very clear where everything starts and ends and there's no mystery about whether or not you are in a certain directory when you ran a script because you're always in the root of your project when you run every script so again these are kind of getting a little bit away from where we want to be about talking about documentation but they also relate to these issues of transparency in documentation and not making assumptions about future you or future collaborators and we'll come back and discuss these again in a subsequent tutorial another thing to think about is to write code for people to read right so and we want to pick languages to facilitate this goal that languages like R and Python are very popular I think because they're very easy to read another language that isn't so widely used by bioinformaticists is Ruby which is very easy to read other languages like Perl are very powerful and have been very popular but they're impossible to read I've heard them called write once read never languages that you can write the code it will work but you're not really sure why and if you had to explain it to somebody it might be really hard related to this is that there's also a push among some people to write minimalistic code and so there's a game that people like to play called code golf where they're given an assignment do this operation in the fewest lines of code or fewest characters and so you can imagine that there's this push then to generate code that is frankly worthless because it's not readable and it's so cute or sophisticated in a way that it's worthless because nobody knows what it's doing or how it works and so really think about writing code for people to read if your variable has 10 letters in it big deal that might seem really long but if it's a descriptive variable name then that's really helpful it's transparent, it helps others to read what you're doing one of the things my group does as a group for lab meetings each other's code and there are people in the group that know nothing about coding but because people write their code well and use descriptive and expressive variable names people that don't code can participate and can read the code and figure out what's going on in the text and so that's very powerful and I think that's a goal that we should all hope for so related to making our code more readable is to be sure we're commenting our code yeah we want to give expressive variable and function names but that's really insufficient for documenting your code something to think about would be at the top of a script file having some type of explanation about what the script does and what are the expected inputs and outputs to the file beyond just the top of the file if you have more sophisticated and complex functions you also should have better descriptions about what's going on in the code as well as what are the inputs and outputs and then use comments liberally to describe what a line of code should be doing and why very few people put in too much code it's usually a problem that there's not enough code so I have an exercise for you now and what I'd like you to do is copy and paste an R script that I've got linked here from this study from Kozich at all from my research group we'll see this project in subsequent tutorials and what I'd like you to do is copy it into a new text file and save it and I'd like you to think about three things that we did well in this code stylistically and three things I could improve upon comment the code add comments to indicate what's going on and where you have potential questions at the top of the file add a comment that includes your assessment of how readable the code is and if there's anything about the code that you might change and then compare your code, commented code to somebody else so I'm going to go ahead and come out of full screen and open this in a tab and so here's my R code and as I talked about in the previous tutorial we can use our terminal and what I'd like you to do is to create a file that we'll call plot an mds.r and if you're using git bash or if you're using terminal on a Mac or Linux at the command prompt you can open a text editor that's fairly simple to use called nano and so this is again a nice text editor it's not super powerful but it will get the job done for the purposes of this tutorial series and so go ahead and copy and paste the code in here I'm going to hit control o which will then ask me to write the name of the file to write and I will say plot an mds.r and then you can cursor around in here and as you've perhaps noticed at the top here you can make a comment by using the pound sign and so again to hit enter to get out hit control x and so now we can type nano plot an mds.r and it pops back open so again what I'd like you to do is with that R script we've now copied and pasted into our text editor we're using nano as a text editor name three things that we did well stylistically and three things that I could improve upon again just thinking about stylistically don't say oh you're using base R you should be using ggplot we'll save that for another tutorial also but think about my variable names my function names my commenting comment the code to indicate what's going on navigate the reader through the code and perhaps use comments to indicate where you might have questions about what's going on and then at the top of the file add a comment that includes your assessment of how readable the code is and if there's anything bigger about the code that you might change many of the practical aspects of today's tutorial will reappear throughout the rest of the series we haven't talked about scripting yet but we'll again see the need for code hygiene in a future tutorial later we'll make use of a tool called make that helps to document the flow of data from a raw file all the way through a summary statistic that might wind up in your final manuscript similarly in the next tutorial we'll see the need for readme files and structure to separate raw and process data files between now and then please look back at the directories where you have your most recent project do you have any type of readme files that will orient someone coming into the project how well do you comment your code if your PI were to come along and take a look at your directories would they be able to find the code and the data needed to generate Figure 3 that's your homework for the next tutorial until then think about the various ways that we can improve the documentation of our projects and resolve to do a better job of documenting them I know this is an area that I frequently slack on but I do a better job with too


Hello and welcome to the session. I am Deepika here. Let's discuss a question which says Now we know that cos theta is equal to mod of l1 l2 plus m1 n2 plus n1 n2 Where l1 m1 n1 and l2 m2 n2 are the direction cosines of two lines And theta is the acute angle between the two lines Now the equation of a plane containing a line is lx plus my plus nz is equal to 0 Where l mn are the direction cosines of the line So this is the key idea behind our question We will take the help of this key idea to solve the above question. So let's start the solution Now we are given the direction cosines for two lines Which are l1 m1 n1 and l2 m2 n2 So according to our key idea the planes which contain the two lines are of the form l1 x plus m1 y plus n1 z is equal to 0 Let us give this equation as number 1 and l2 x plus m2 y Plus n2 z is equal to 0. Let us give this as number 2 where l1 m1 n1 and l2 m2 n2 are direction cosines of the normal to the plane Now we have to show that the direction cosines of the line perpendicular to both of these lines are m1 n2 minus m2 n1 n1 l2 minus n2 l1 l1 m2 minus l2 m1 Let The line that is a third line With direction cosines l3 m3 m3 is perpendicular to Both the lines it is perpendicular to both the planes containing the lines the equation of the plane containing this third line is plus m3 y Plus n3 z is equal to 0 Let us give this as number 3 Now we have to find out the direction cosines of this line That is we have to find out l3 m3 n3 So the direction cosines of the third line can be find out by the cross product of normal vector to the given two planes thus the direction cosines of the line perpendicular to both of the given lines is given by by the cross product of equation 1 and 2 therefore, we have determinant of x y z l1 m1 n1 and l2 m2 n2 is equal to 0 or x into m1 n2 minus n1 m2 plus y into n1 l2 minus l1 n2 plus z into l1 n2 minus m1 l2 is equal to 0 Now we will compare these two equations so on comparing above equation with equation 3 we get l3 is equal to m1 n2 minus m2 n1 and m3 is equal to n1 l2 minus n2 l1 n3 is equal to l1 m2 minus l2 m1 and we have proved that the direction cosines of the line perpendicular to both of these lines are m1 n2 minus m2 n1 n1 l2 minus n2 l1 l1 m2 minus l2 m1 So this completes our session. I hope the solution is clear to you. Bye and have a nice day


Hey guys, it's Monica. I'm gonna share with you a wig and a look that I probably You know like sometimes you see wig reviewers and they'll they'll review wigs and you can immediately say oh That doesn't look good on her or oh, I love it on her or This or that so oftentimes the wig reviewers will review products or show products in different colors different styles So that you if you are on a wig wearing journey can get an idea of what a particular style would look like on you So for me this cut and color would not have been a pick Wig or look that I would have chosen, but I absolutely love that I have the opportunity to share it with you I actually looked to see if I could find a review of this wig and I really couldn't I only found one That I could find on this particular style. This is actually uni wigs and this is their new 2020 release they came out with I think for maybe five wigs that were new that this year that all had Heat-friendly fiber they had sent me one that I reviewed before I'll make sure that I link that above And it was a very blonde color. It was absolutely beautiful. I love it This is in that same line with the heat-friendly fiber. This is actually called Karen this is uni wigs Karen and I'm going to just show you it does have a full monosynthetic top It is heat friendly so you can actually if you wanted to use some you know put some curls in here You could it is however a very short summer style And I'll tell you that it is very light very comfortable on my head and you can wear it many different ways When I got it, I shook it I tried to lift the fibers up because it came to me very sleek and I prefer more of a looser look So I tried to lift the fibers up. I hung it upside down. I didn't do anything. I didn't add any products to it It does have a full bang I don't prefer a full bang So I did kind of push it off my head very much pretty pretty choppy layers Comes in a number of different colors, but the fringe is really designed to sort of Disguise camouflage any sign of a wig hairline because sometimes you can see you know Unless you get something that has an exceptional lace front Sometimes you can see that wiggy looking hairline with having a little bit of a fringe like this You really you really can't see it. I think it's a really pretty shade It's got some highlighting on it some different dimensions And I am all about having different dimensions in my hair look because I don't want to have one solid color So for me So this is called smoky sand and the color code for uni wigs is 12-26 are so it has a little bit of a root It's got some nice blends of those two colors in it and it's called smoky sand I'm gonna do a spin it as a short look for those of you that are looking for a short Super cute summer style. Check it out. I'll be sure to link it, but check it out because it really is cute So here's the back view. It does have an extended nape. I'll show you the inside in a moment side view front view The air tabs it fits really good. I have a 22 inch circumference and the dimensions on this is 21.75 it actually fits me very snugly, but not tight. So I have worn this for Gosh, maybe Walking around the house for an hour and that to me is long enough for me to tell on my head Whether or not it would be too tight because sometimes, you know like when you were a headband or you wear something That's too tight for me. Anyways after about 30 minutes my head starts to hurt So even though I have a 22 inch circumference this 21.75 fits me really really good And it's very very comfortable. So this is uni wigs Karen in the color smoky sand And I'm going to show you I'm going to superimpose right now and show you the inside of the cap and as you can see here It really has a lovely monofilament. It has a base. It is Hand-tied monofilament base Really nice natural scalp of herring. You can actually part it on any side you want and going around it You can you can actually see that the air tabs are nice, but they're not like huge They fit actually pretty flush to my head going around the back It has a brass wrap adjuster and I had it on the largest adjustment as you can see there A little bit of an extended neck really nice nice look now I'm going to superimpose some of the outside shots that I took just so you can get a Little bit of a different idea from the outside because I think that makes a big difference So anyways in closing if you're interested in this wig or any of the brand new 2020 uni wigs check out the link below This was sent to me Complementary from uni wigs in exchange for review and like I said in the beginning Sometimes I have been totally surprised when I'm sent a wig that I would not have chosen Based on the photos of the model and sometimes it's just so super good when you can watch reviews of real people You know not just the stock photos on a website of a model wearing it I think it just really really helps that decision-making process for you at alternate hair has come a long way and uni wigs this is this is Real I think this is really cute. I think you can do a lot of this check out the different colors I already know if I were to order this myself or color. I would pick Anyways, thank you for watching truly appreciate your support. Bye. Bye