Hello, my name is Sylvie Tesson, I am an IAS Co-Found Fellow at Orus University in Denmark, and today I will present an overview of my IAS project which aims at investigating the dispersal and ice nucleation activity in airborne microalgae, and in particular the impact on atmospheric processes. Our blue planet is covered by 71% of water, which is an essential element to life. Water is visible under the form of ice, oceans, rivers, lakes, precipitation such as rain and snow, but also under more subtle forms such as groundwater, water vapor, permafrost, and in the biota. In the water, in a bit of mysterious and fascinating diversity of invisible microorganisms, they play a crucial role in biogeochemical processes at different scales. And if we consider, for example, one milliliter of sea water, which contains about 20 droplets of water, or a quarter of a teaspoon in volume, and we place a pinhead for scaling the organisms, then in this volume we will have about 10 million of viruses, 1 million of bacteria, 1,000 of protists, and few metasolones. Among the protists are the microalgae. Microalgae are unicellular prokaryotic or eukaryotic organisms able to perform photosynthesis so they can provide oxygen and food source for local communities. Microalgae are present in many habitats in the aquatic and terrestrial ecosystems. They are, for example, present in ice, sea, stream, lake, pond, but also in the soil, sand, on the bark of the trees, or even on human-made surfaces. And in the atmosphere, there have been several records of microalgae. Locally, microalgae can live in interconnected habitats. For example, in the Arctic, which is a fragile ecosystem, microalgae are present in the sea, but also at the interface sea ice, at the bottom of the ice cover, or into the brine pockets within the ice cover, and sometimes in small holes called cryonite located at the surface of the ice cover. Together, there's a sustained local food web. There's cold adaptive microalgae, can also form a source of potential active by your aerosol once emitted into the atmosphere. Some microalgae can also have a negative impact and be the cause of environmental and sanitary issues, such as, for example, the deterioration of building surfaces. They can also be a source of allergens and a source of toxic evans. Some microalgae can also play a role in climatic water and carbon cycles. Here, I will take the example of seawater microalgae dispersal. Aquatic microalgae can be emitted from sea surface into the atmosphere, mediated wind erosion of the interface sea air. This will generate little droplets of water at times containing microorganisms, among which the microorganisms, among which the microalgae. Once in the atmosphere, they will start to diffuse and then progressively be transported over geographical scales prior to be deposited by, for example, precipitation into new environments where they can proliferate. During the airborne experience, certain microorganisms have the capacity to attract water molecules or to transform surrounding water molecules into ice molecules. This biological reaction occurs at subzero temperatures close to the zero Celsius degrees. The nucleation of ice particles can lead to the formation of mixed-face clouds and, in return, affect the reverberation of the sun, which is called albedo, bioprecipitation pattern, as well as a dispersal capacity of airborne microorganisms. In this project, I am interested in the causes and consequences of microalgae dispersal through the investigation of the organism's survival capacities and their dynamic interaction with the atmosphere. The take-home message is that microalgae from different sources can disperse mediated air transportation and they can contribute either positively or negatively to the ecosystem equilibrium. Certain microalgae are able to actively nucleate ice under cold atmospheric conditions at temperature just below zero degrees Celsius, thus entering in competition with potent known biogenic aerosols. Also, local ice nucleation event can affect atmospheric and aquatic processes. The aims of the project are to investigate microalgae as a source of biogenic aerosols using eco-physiological and genetic tools, with the goals of refining the mechanistic understanding of their ice nucleation capacity and deciphering the impact of atmospheric factors on airborne microalgies. Results will provide a better understanding of the microalgae ecology and will bring novel knowledge in aeroecology. Results will also generate new parameters that will be used to refine model descriptors to improve atmospheric prediction, but also to foresee these personal changes. The project is based at IS and at the Department of Biology, Section Microbiology at Uruz University and is performing collaboration with international and interdisciplinary experts. I would like to thank ISCOFON program for the support and for providing me with the opportunity to develop further my research and I would like to thank you for your attention.


So in auto-encoders we have an encoder and we have a decoder and we have no uncertainty. But in reality a given input could relate to many z and every output could be produced by many z. In that sense if we want to produce meaningful probability distributions we need the probabilistic equivalent of auto-encoders. So we want to sample good z, a mapping from input x to a probability distribution q of z. Why? We want to produce good reconstructions of x for all the z that we may sample, all the z that we might want to consider. And we want to also correctly sample x given z. In this view we can also have a distribution of outputs for given z, p of x given z. Now what's the idea of the VAE networks? Let us make both the sampling operation and the stimulus generation be neural networks. We have q of z being one neural network parameterized by phi and p of x given z be another neural network parameterized by w. So how can we measure how good they are? And if I say how can we measure how good they are? I mean we need something that we can do gradient descent on it. So the integral generally has no good solutions. It's very hard to solve it. In most cases we can't. So instead we use another term that's called evidence lower bound elbow. That elbow can be shown to be a lower bound to the thing that we would ideally want to optimize. Now the elbow of x, i, phi and w is the expected value of the probability distribution q introduced by one of the neural networks parameterized by phi of the ratio of the log of the ratio of the probability of x, i and c for the parameters w and q as a function of z and phi. Now it has two intuitive terms. The elbow has a fast term which is a reconstruction error which is the mean squared error when p of x given z is Gaussian. What's the idea here? We want to make the observation x that I have x, i to be probable and in the exercise that's log px. There's also a regularization term which happens to be the KL divergence from p to q. Where you can say what we want is that the network's estimated q should be similar to the actual p of z which is KLqp in the exercise.


Hello everyone, I am Dr. Smita Srinukumar, I am a surgical oncologist and a peritorial surface oncologist practicing in Pune. Today we are celebrating National Cancer Awareness Day. This is a very important day that we celebrate in the memory of Madam Curie who was a radiation oncologist specialist. We need to be aware of cancer because it is fast growing not only in our country but also in the entire world. Every year in our country we see nearly 1 million cancer cases, new cancer cases and 50% of these cancer cases are diagnosed in the late stage. Now why is this important and why is this worrisome? Because cancer if detected early can be cured. This is important and how is cancer going to be detected early? It is when we are aware of the signs and symptoms, we are aware of what causes cancer, we are aware of the facilities that are available for cancer. So staying aware, knowing with specialists to approach with the necessary tests and symptoms. Knowing about cancer is important because if cancer detected early can be highly curable and it can be completely treated. And how is one going to be aware about cancer detection? This is going to be possible only if one knows the signs and symptoms, knows which appropriate expert or specialist one should approach in order to understand better about this deadly disease. There are a lot of myths involved surrounding that cancer. One of them is that cancer is fatal. Cancer is highly curable if it can be detected early. So staying aware early detection are the important ways in which we can beat cancer. There are various ways in which one can beat cancer, there are various ways in which one can stay aware. One of them is inculcating or developing a healthy health care attitude, various ways in which one can be cancer aware. One of them is developing or inculcating a health awareness or a health discipline. So regular health checkups involving in or engaging in screening programs being aware what screening test is available and what screening test is appropriate for a given age and given cancer helps to detect cancer early.  So there are certain behavioural, environmental and genetic causes that contribute to cancer. Understanding these causes, controlling them and detecting the symptoms that may be directed towards cancer is very important for early detection and is very important for identifying and treating cancer. Common screening tests are available for common cancers such as mammographies for breast cancers, ultrasonographies of the breast which is indicated in younger women, mammographies are indicated in women of more than 45-50 years of age, perhaps we are examinations are very important to detect early cervical cancer. Cervical cancer is an important cause of mortality in our country because most of these cancers are detected in the late stages and this is a highly curable cancer because if detected early the treatment is extremely simple and the survival outcome is much much better if it is detected in the advanced stages. There are other screening tests like prostate-specific antigen test for prostate cancer and a lot of CT scans, colonoscopies for rectal and colon cancers. These tests were applied at frequent intervals in normal individuals. So an individual who comes as a part of normal hair checkups must subject themselves to these tests at regular intervals in order to detect any changes over a period of time. This helps us to detect cancer, detect any changes in these organs at an early stage and helps us to cure cancer if detected. So stay informed, meet the right expert, diagnose and detect cancer early and beat cancer. Thank you.


Hey, what's up? Yes, how are you doing? Wanna keep in touch with your friends? Use WhatsApp Messenger. It's a cross-platform instant messaging application that allows iPhone, BlackBerry, Android, Windows Phone and Nokia smartphone users to exchange text, image, video and audio messages for free. Wanna get started? Arlene here. Welcome to Burn2Learn. First things first, in this video we'll show you how to get going by installing this app on your device. If using iPhone, go to your Apple Store to find it. Or if using Android, go to Play Store and type WhatsApp Messenger. Select it and tap the Install button. Give it a few seconds to install it and then tap the Open button. You have to agree to the app's terms and conditions. So tap the Agree and Continue button. WhatsApp might need access to your media. So to allow it, tap Continue. Since this app can be used wherever in the world, you'll need to add your country, the country code and your phone number. Then tap Next to verify your number and receive a text message with a 6-digit confirmation code. If you have previously had WhatsApp before and you're reinstalling it, you can recover your data and restore your messages and media from your phone's internal storage. If not, just continue. You can add your name and an optional profile photo. Once you've done that, tap Next. Now you'll be ready to start new conversations, communicate with all of your WhatsApp contacts and invite those who aren't yet to become part of the practical, useful and fun WhatsApp community. Stay tuned for more handy WhatsApp video tutorials on how to use many of its practical features soon.


One of my favorite charts in the world has to be this one. This is by James Clear, the author of Atomic Habits that shows that 1% improvement every single day could lead to a 37 times improvement over the span of a year. With 2022 finally here, here's how to guarantee that you can become 37 times better in school in your own personal life today. Hey friends, welcome back to the channel. In case you're new here, my name is Lakshman, internal medicine physician. I love making videos and content to help you succeed on whatever journey you're on, but doing you with less stress. If this video gets edited and released on the right time, then today should be new year. So happy new years to you, my friend. In this video, I'm going to talk about the model that I personally am going to be using in both my life as a physician, as well as my personal life to improve and try to aim to that 37 times improvement from where I am today on January 1st. And before getting into what model I plan on using, I think it's important to mention why I'm actually changing my model in the first place, because let's be real, no one's new year's resolutions really last in the duration of the 12 months. And for me, I felt like 2021 was a fantastic year in both areas of medicine, business, personal relationships. I did feel like at every phase, there was some part of anxiety and stress that just came from things going well, things not going well, a roller coaster of life that was going on. And I really just want 2022 to just feel more like an upwards roller coaster versus one where I feel at the very end, it's like, did I make any progress or not? That leads me to the model that I'll be using this year, which I'm just coining to keep it as simple as possible. The simplicity model. Now, for me, the simplicity model was inspired by the hecticness of 2021. And essentially what I wanted to do is ask myself, what are the main pillars of my life that I want to make sure I'm always making progress to? And what kind of things can I do individually on each of those pillars to actually see that signs of progress? So just to give an example of a student that's who typically watches most of my videos, your main pillars may be one being academic, another one being the relationships in your life, another one being your fitness and your personal health. And finally, your hobbies and kind of side projects that you're doing. Those may be the four pillars that this example student may want to do. The next step that I've done in my simplicity model is to really order those pillars by the ones that have been hit and damaged the most over the span of the last year. So for example, in 2021, you may have noticed that your time as a student may have led you to have big sufferings and kind of sacrifices in your relationship and your fitness as well as your hobbies and then less so in your academics because you're spending so much of your time actually doing those. And so in this example, whenever I've identified which pillars have taken the biggest hit in 2021 for me, the next thing I'll be doing is the tax system. Now the tax system is essentially evaluating each pillar and saying, OK, if this took a big hit, I need to really give some focus on a daily basis. If this one not so much, then more on a weekly basis. And if this was something that I really crushed it on and I'm going to always succeed on, then maybe a monthly basis. For me, most of those pillars that I had in my life that I talked about academic relationship, fitness and hobbies all kind of took a hit at a different spectrum, but it's something I still want to work on. And so I'm going to be focusing on these on a daily and a weekly attack system. And essentially what this will mean is how micro focus you get on making sure you're improving something. So for example, if you're really struggling in medicine on a specific pillar like relationships, then you can't really just say on a weekly basis, I'm going to work on the relationships. No, if you really want to have that 37 times improvement by the end of 2022, it has to be something you do daily. And you may also say, well, fitness was also took a big hit 2021. If we gain weight, I can't run as far or like barely do anything without getting short of breath, maybe relationships and fitness are something that you need to make sure on a daily basis, you attack compared to other things like academics and your side hobbies. Maybe there were some successes there, but not consistent. You can do those on a weekly basis. So for me and those examples, dude, I may say I'm going to have an attack system on a daily basis for my relationships and my fitness pillars. And then on a weekly basis, I'm going to focus on the academics and the hobbies. Now, step number three, once you've identified your pillars, as well as your individual attack system strategies to really have both 1% and a 37 times goal. Now, just like we showed in that chart at the start of the video, to really get that 37 times improvement, you really first have to start with that focus on 1% improvement every single day. So it's going to be important for you to have a super simple goal that is very easy to say as to a 1% goal that is ultimately going to lead you to where your 37 times goal is. So for example, if we're going to go down and say, okay, look at each pillar, I'm going to focus on my daily ones first.  Now I'm setting myself up saying at the end of 2022, if I went on a big, amazing vacation with my significant other, that'd be pretty awesome. But if I also took those small steps to make sure that I talked or called somebody that was important to me for five minutes every single day, that's something that it could easily say yes to and definitely we'll start improving that relationship pillar. If you're somebody who is struggling with fitness and that is something that you've decided is going to be a daily pillar that you're going to attack, then your 1% goal may say, I'm going to do a workout for 30 minutes a day or that's going to also include 10 minutes of running because I want to improve my cardiovascular health. And then my 37 times goal is I want to sign up for a half marathon or a marathon. I've never done one, seems challenging, but at least doing something every single day or again, get the ball rolling by the end of the year. If I can say, huh, I've done a half marathon where I couldn't run two to three miles, that is a big success. And this way you can look at your pillar of fitness and saying, compared to 2021, that was definitely a success. Now on the other end of the spectrum, let's say you're a student who says academics was okay for me, but I need to make some more improvements. So it's going to be something I'm going to attack on a weekly basis because otherwise it just gets too overwhelming. The 1% goal may be on a weekly basis. I'm going to focus on trying to decrease how much I'm studying by about 20 to 30 minutes each week and evaluate places where I can become more efficient. That simply means on Saturday, you can say, okay, like what type of things lux did you do that didn't actually lead to better grades? But on the flip side, you may have spent more time doing it just because you thought you have to. Each week, I can make the effort of decreasing my studying by 20 to 30 minutes. That means each month, I may be decreasing my studying by upwards to an hour. And then going to the end of the semester, you may be at a system where it's so efficient that you know exactly what you need to do and not have to spend extra free time. And on the flip side, my 37 times goal may be any of the study only five hours a day. That is a big goal if you're studying like 10 to 12 hours, going to five hours is ridiculous. So going on a weekly basis or every two weeks and saying every week, just focus on taking down 10 minutes, 20 minutes, 30 minutes and see where your efficiency will come from. And it's very easy. Yes, sit down, evaluate. But then again, you get the ball rolling to get to that ultimate 37 times goal of having that five hour study period. And then finally, if you are somebody who is trying to improve on their hobbies, maybe you've had some time to do so, but one consistent, your one percent goal may just say, I'm going to spend one hour twice a week, whatever that may be spending time either learning a new skill or practicing old one I want to improve on. Maybe you love playing the piano, but I haven't had too much time to do it as a student. So you want to spend 30 minutes or an hour twice a week doing so. You put those in your calendar or for me, for example, next year, I really want to learn how to cook. I feel like one of the responsibilities is my wife just takes over because she's much better than I am is because she actually knows what she's doing. I would actually on the flip side like to know what I'm doing and actually be able to cook a meal for her. So on the days that she's really tired, I can say I got this. But right now, unless we're making basic tacos or salsa, can't really do much. And so that would be a good goal for me to spend in 2022. And then my 37 times goal may be I want to cook a big meal for my family. I want to spend these two hours a week that I'm learning the skill. And then I'm going to flip it and actually cook an entire big meal for my family, whether it be for Thanksgiving or a holiday or just having a signature meal that people like whatever you just made, that was amazing. That would be really awesome. And it's going to be something that I'll be planning on doing in 2022. But it starts with that 1% goal to ultimately get to that 37 times. So to quickly review what we talked about this far, to really get to a 2022 that you're just super proud of because you are such a different person, not just one times better or two times better, 37 times better. You have to start with those 1% improvements. And so the first thing you have to do is identify the pillars that you really want to make sure are the core aspects of your life, reorder them based off the ones that really took a hit in 2021. For whatever reason, you'd either you didn't give enough focus to it or you tried and the rest of your life was too hectic. And then start to ask yourself, OK, am I going to attack this on a daily basis or a weekly basis, depending on how much attention it needs? And then finally, within each of those pillars say, OK, what's my 1% action? And what's my 37 times goal? And then you'll be able to say, OK, like that is a manageable 2022 that I'll be proud of. If I can be that student who calls a family member every single day, goes on a big trip, works on my personal fitness in 30 minutes, runs a half marathon, learns how to cook and studies five hours, that would be a pretty awesome 2022. Now, obviously this is going to depend and vary completely on your own personal decision, but this is the approach I'm planning on taking. I'm really excited to see how such a simple model again, the simplicity model is going to lead to big and crazy results, both from me, my personal relationships, business and we'll see. Also goes to show you and one thing I'm hoping to do in future videos in the year of 2022 is to show that medicine doesn't have to be your career or your personal life. Ideally, it should be both. And I argue that having high qualities in both your personal and career is really going to lead improvements into each other's and having a career that you're not happy with or a personal life or not happy with is really going to start to affect the other aspect. And so if you want to be a happy doctor, if you want to be a happy student, it's really important that you start improving all those aspects of your life. So you're happy, you're motivated and you're excited for every step forward, both as a future physician, if you're in my shoes or in whatever personal aspects or aspirations you have. And one important thing about the simplicity model, the more I thought of it that I really need to mention is that you are going to have events that are going to look like a roller coaster of 2022 where things are failure. So your academic goal, you may be failing a quiz and realize that that kind of sucked. But then you take a step back and saying academically, like failing a quiz or getting straight A's wasn't a goal. I needed to study five hours. That's my 37 times goal. But it's OK if you fail a quiz because now I can say, OK, maybe I don't take away 30 minutes this week. And instead I asked myself, where can I dedicate more time more efficiently? On a similar note, for your fitness pillar, again, your initial goal was to work out for 30 minutes a day and go over and a half marathon by the end of the year. If you gain some weight because you had a busy Thanksgiving, if you know what I mean, that doesn't necessarily mean that you failed. That pillar, again, was not focused on your weight goal. It was focused on your daily exercise and your ability to do half marathon. So keep everything in perspective of what you want your pillars to do. Now, obviously, if you want to lose weight and you're gaining weight, then you need to do some recollection of what you need to actually do going forward. But if you focus on just the one and the 37, everything both good and bad don't seem like such a big deal. Everything also starts to feel like a big sense of progress. So guys, hopefully with this approach, you can start to see how 2022 can just be the best year of your life. If you guys did enjoy this content, go ahead and let me know in the comment section down below. If you did enjoy this video, all I asked really quickly before you click off is to hit that like button, hit the subscribe button and notification bell to make more content like this as well as more things to help you on your medical journey and doing with less stress. If you're listening to this on a podcast, really appreciate you leaving an honest review on iTunes, more listeners or we have the more people can help with these messages. If you got anything out of this episode, a quick thanks to either like a subscribe or a review on podcasts would be super appreciative. As always, my friends, thanks for being a part of my journey. Again, happy New Year's. Hopefully I was a little help to you guys on yours. If you did enjoy this video, definitely check out this video on how you can use on key like a pro as well as this video right here on how to study in medical school step by step. Until then, friends, I will see you guys in the next one. Peace.


You're telling me, an opening came out for this anime? So an opening came out. Opening number two. And it's by the same group! Wait, no, no, no, this says Higgy, Dan Dism, and the other one says Dism. So is there another group called Dism?  Hold up. Japanese to English.  Higgy-o! This is like if they survive said the prophet for Vinland Saga season 2 and if they do that, I'm gonna get banned because I'm gonna come on camera. Man, I don't even know what this anime's about! I don't even know what this is! I have no plan on reacting to this! But I'm excited! From Crybaby, one of my favorite openings. This is like in my top five. It's in my top five.    First of all, absolutely beautiful. The neon lights. Is this Mappa 2?  No, okay. Oh my- I'm gonna cry. This is gonna be it. Kid is so beautiful! Look at that tattoo! I want that! Is it the same person? 20,000 likes and I'll get that tattoo on my head. Shit, I like that! The way it led up to the chorus? Is that Connie? Like a cyberpunk version of Connie? From Attack on Titan? He's in everything! Okay, look at this. The edgy characters right here. After this, I'm gonna guess what the show's about. Erin! I'm not gonna say anything. She could be five. That is beautiful. Come on, higgy dandism.  Nah, man. This is way too good. Shit! Gotta watch this immediately. The music is good. The animation is good. I love the character designs and there's kissing. This song is great, man! Look the same. Are they the same person? Is this like Shazam? Were they all the same? That was something else. I gotta hit this. I gotta hit this part again. That- that was amazing. That was absolutely amazing. That's probably my favorite opening in a minute.  It's like I don't even know what the story is about. But I still felt emotional. Okay, they're brothers. Their parents are dead. That's what I'm guessing. Because it's anime. They're parents are dead. They're alone. They're orphans. And they have to stick together for the rest of eternity. Look how serious they are.  You're on the road. You see a motorcycle like this? You better go the opposite direction.  I love that. The wheel moving and the landscape. Oh my god! If church looked like this, I'd actually go. What's this guy doing? This guy is- is definitely a villain.  These two are... friends. They're like, they're side- not side characters, but they play a role in a main character's life. They serve the story. Is that her quirk? She's always on her phone or some shit? I don't know. This guy is just beautiful. That's him. Is that the same Doofen in the beginning with the brother? The orphan? I don't know. This kid's cool. Is that them growing up? I want to buy a motorcycle. And bless the song on it. Who died? Who died? Is that Erwin's grave? Who are- bro, I don't know who's who. Some of them look the same. I bet these characters, they don't do much. But they're- they're part of the cast. The main characters, but they don't do much. It's just they- they're there.  That- that's probably very weak. And then this guy- I don't know. This- this is definitely the villain. Definitely. Definitely. Definitely. Yeah, definitely. Looks like a wolf. Does it turn into one? Here- here's the uh... Type guy. There's Erwin. Erwin Yega. I don't know what he's doing. Why is there nobody else there? This is uh... a loli. Wow.  Or the future in the past. I don't know. Cause some of these characters look the same. I don't know who's who. So- okay. Is that- what's his name? Denji? From My Hero? Or was it Denji?   I'm trying to put this together. That's the guy- that's the little kid with the cape that I said looked like the My Hero dude. Like him. Him. Him. No. Wait. Him. Him. Him. It looks like there's three of them. Are there three brothers? Three orphans. Why is he dressed like that? He looks sad like he's responsible for something. Oh god. He's responsible? Or maybe the kid died? Why is he crying? That kid is dead. He's either dead. He lost- or he lost him to something.  I don't know. Something happened. Oh god, I love that.   Wait, wait, wait. Is that the kid with this cape? Oh, he's dead. He's dead. That's why he's crying. Then that dude just- is everyone suicidal?  One kid jumps off a building.  Who's dead? Who's dead? What was that, bro? Come on, Tondro. Hold up. This guy got shot in the head. Jesus Christ, what's Aaron doing here?  Damn, everyone's crying. Oh god, it sucks when the opening is so good, because then I want to check out the anime, but I'm already behind on some animes that I've chosen to watch on the channel. Like Full Metal, Mob Psycho, Vinland Saga, for example, even Spy Family, I think about returning to that. And then I see something like this and I'm like, oh god, it looks so good. The music is so good. Everything looks so good. Fuck. What do you guys think of the opening? You probably like the first one Cry Baby better than this one. I don't know. Let me know which one you like more. It's too soon to say it, but this one was so different from that first one. The first one is a- Like that just alone steals the show for me. I could die to that, but then this has an emotional squeeze to it.  I don't know what I meant by that, guys. I don't know. Anyways, yeah, let me know down below which one you like better, what you think of the opening and House Tokyo Revengers. Does this suck? Let me know down below. Goodbye.


A research team at MIT has spent years trying to unravel how climate change will affect Earth's habitability in the future. Using sophisticated computer simulations, they've shown that extreme heat waves will sweep across a region spanning Southwest and South Asia, potentially rendering some areas inhospitable to human life. Now, in the third part of this ongoing study, they've shifted focus to China, currently the largest emitter of greenhouse gases in the world. Using regional climate models that examine how irrigation impacts surface conditions, the team found that the current pace of greenhouse gas emissions will leave North China plain, an intensely irrigated region that is presently home to about 400 million people, vulnerable to extreme heat waves, making it difficult for humans to survive in what is now one of the most densely populated regions on Earth. The reason? Irrigation exacerbates heatwave conditions, worsening the impact of climate change. In recent years, China has experienced more and hotter heat waves, as the mean surface temperature for the country has risen at a rate roughly double that of the rest of the world. Most studies have focused only on this mean temperature when characterizing heatwave intensity, overlooking the important contribution of surface humidity, which directly impacts how humans feel heat stress. Irrigation substantially increases surface humidity, as well as the total energy of the atmospheric boundary layer. To account for this effect, the team first estimated the impact of irrigation in the period spanning from 1975 to 2005. They found that irrigation significantly increased the daily maximum wet bulb temperature, and thus the intensity of heat waves over this time frame. The wet bulb temperature represents the lowest temperature that air can be cooled to through water evaporation, and thus provides a measure of the body's capacity to cool itself by sweating. The upper limit for human survivability is 35 degrees Celsius. After validating the model's performance, the team simulated the link between irrigation and extreme heat waves for the years 2070 to 2100 under two conditions, a moderate mitigation scenario in which the greenhouse gas emissions are reduced, and a business as usual scenario in which current emission rates are maintained. They projected that the combination of irrigation and unmitigated climate change will increase the daily wet bulb temperature over irrigated areas by nearly four degrees Celsius. In practical terms, this means that at the current pace of greenhouse gas emission, irrigated areas in North China Plain will experience extreme wet bulb temperatures that exceed the threshold for human survival at least a handful of times over this 30-year period. On a more positive note, even moderate climate change mitigation efforts can significantly reduce the risk of these deadly heat waves, suggesting it's still possible to keep North China Plain livable in the future. If China and other industrialized nations can make some tough cuts to carbon emissions, the rich soils of this region may yet support China's population for decades to come.


down while she does the introduction. Let me welcome everybody here this afternoon. Thank you so much for coming down. And we are really looking forward to a great session today with Admiral Ruffhead. And then hopefully members of the media already got this information. But if you didn't, there will be a special press availability in the back of the room after this session from 5 to 545. So members of the press are welcome to join Admiral Dorsette for further discussion at the conclusion of our talks today. We turn now to introducing our keynote speaker, Admiral Gary Ruffhead, who is now, I believe, three days into his third year as the 29th Chief of Naval Operations. I recently learned that he grew up in all kinds of bad places, or interesting places, I should say, Iran, Libya, Venezuela, among others. And so perhaps we should get a full list of everywhere you've been and keep a close eye on them. But in any case, he decided to embrace that international life by joining the Navy, graduated from the Naval Academy in 1973 as a surface warfare officer. He then went on to six operational commands to include a NATO command. And he is one of only two officers to serve to command fleets in both the Atlantic and the Pacific. He's received numerous commendations and medals throughout his career, and we're deeply honored to have him here to talk about the changes the Navy is making to better position itself for the Information Age. So thanks very much. Go over to your top. Thanks, Mark. Appreciate it. Thank you. Well, I think, as Martin alluded to, the places where I grew up properly prepared me for life in Washington. So I'm in good company there. But it really is a pleasure to be here with you. And of course, as Martin mentioned, I have Vice Admiral Jack Dorsett, who is our director of Naval Intelligence and who figures very prominently into the moves that we are making within the Navy, within my headquarters, but within the Navy structure writ large, and our approach into the wonderful world of cyber. As Martin also mentioned, in embracing the international life, next week we will be hosting, as we do every two years, the International Sea Power Symposium in Newport Road Island. Four years ago, we had 76 countries there. Next week, 106 countries will assemble in Newport Road Island with, what we believe right now, 100 chiefs of service, of maritime service, to be there. So that's a pretty significant event for us. But the reason I mention it is because in preparation for it, I was looking back at a speech that was written for one of my predecessors for the first International Sea Power Symposium in 1969, a speech written for Admiral Arleigh Burke. And I was really struck that I could take that text and deliver that speech next week, and it would be dead on target. And so I think it makes a lot of sense to me to come here to talk about the future in a place that is so tied to Admiral Arleigh Burke, because he was one of the co-founders. So it's just kind of a connection that I've enjoyed. But I would like to take this opportunity, as I said, to talk about what I think are some rather significant moves that we're making within the Navy to better man-train and equip the United States Navy for the fight that we're in and for the challenges that we're likely to face in the future. I came into my current position having spent the past few years with the operational forces of the United States Navy in the Atlantic and in the Pacific in joint positions and in Navy positions. And it was in that period of time that I had a wonderful vantage point on the uses of information, particularly in an operational sense, how we gathered it, how we processed it, how we managed it, how we exchanged it, and most importantly, how we then tried to use it. I also have had the insight recently of being able to make several trips to Iraq and Afghanistan to see how, particularly in the area of special operations, that we have been able to fuse information and intelligence into operations in ways that we have never been able to do before and in ways that have made our forces there extraordinarily more effective, where we can use the power of the networks to get the information, the right information, to the right person at the right time to be able to do the right thing. And even though we have been moving along over these last couple of years, I don't think that we and the Navy had gone far enough. And it became clear to me, and this idea really has been germinating now for about three years, that we really needed to transform our strategic concepts, the institutions, the organizations, the capabilities and the processes, and I think possibly most importantly, our culture, if we as a Navy are to remain dominant in this information age or cyber age or whatever moniker you choose to put on it, I think that we have to take advantage of the new opportunities that exist, such as the vast stores of collected data, information and intelligence that often lie at rest, unrecoverable, unavailable, and untapped, to take advantage of the ability to filter, to analyze, and then disseminate that information and to link that information, that appropriate information, to either kinetic or other decisive effects in real time. To take the opportunity to communicate more broadly with people and with more people, and also in that exchange of information to better understand the cultures in which we will operate. To take the opportunity to share that information in ways that we can foster relationships and build the capacity of other militaries, and particularly in our case, other navies, that may not be at the same place where we are. And to be able to do that in a way that we're not constrained by the barriers that often fall into the path, either because of security issues or policy issues. And I think that it has been reflected that there's great power in that latter piece with the work that we have been able to do in a very short period of time in areas such as maritime domain awareness and how we exchange that information with other partners, with other navies, with other countries that can contribute and foster increases in defense capabilities and security capabilities. There's no question that as we move off into this area that there are vulnerabilities associated with it. I think one of the vulnerabilities is our dependency, that the navy does require unfettered access, uninhibited access, to assure communication capabilities in cyberspace. We need that to operate. The vulnerability, too, that cyber in and of itself is a battle space. First we learned how to fight on land, and then we went to the seas and then the skies. And now we're going to be fighting in this newer domain, and we are fighting in this newer domain. In the business of ships and aircraft submarines, I think that there exists between the United States and other navies around the world. I'm quite comfortable with the capability gaps that we have in those areas of ships, submarines, and airplanes. But in cyberspace, that is a much more contested space. And the question for me has been, do we enjoy that same capability gap there? And we must be prepared to operate in cyberspace when it's denied, and then we must be able to also be able to deny space when it's required or when it's appropriate. And the other vulnerability, I think, is the speed of action and response. We can make pretty quick decisions in combat today. But I believe the pace is only going to get faster and faster and faster. And as I looked at this, it also was apparent to me that cyber is going to be particularly challenging for us because the nature of the cyber domain is pretty unique in many ways. I'd say the first is what I'll call the low bar of entry. You don't have to travel or pay to have great technology to enter into this battle space. So it's a pretty low entry fee to get into it. The second is that speed, I touched on speed earlier, but speed in cyberspace takes on a new meaning. We used to be able to think in terms of speed of weapons and how fast they were. And we could talk in minutes, and then it became seconds. But as someone pointed out to me in cyberspace when you can do a Google search that can scour the web and come back with 309 million results for the word Google in a tenth of a second, that speed that is almost incomprehensible, if not incomprehensible. And that also that we're going to be in a domain that, in a way, is self-governing. The internet grew on its own out of a need to share information among US government labs. And it's been growing and morphing ever since. And then the fourth being that cyber is going to be a pervasive, a persistent, and an adaptive domain. People are always in it. They are never absent from it. So there is someone in that space all the time. And it affects our lives in some pretty extraordinary ways. And it is going to constantly be adapting. And because of that adaptation, there's a reason, I think, why Microsoft has had to go to patch Tuesdays instead of patch a month. So these are some of the challenges that I think are with us in what has shaped my thinking as we move forward. But I would also say that the United States Navy has been no stranger to the world of networks and information and clearly as a service that relies heavily on technology. We have always had the challenge of communicating over long distances. From the first time, we started going to sea. And to show that I'm not exactly that far forward a thinker when it comes to cyber. One of my favorite quotes, I'll also go back to Admiral Harley Burke when he said going to sea used to be fun, and then they gave us radios. So some things haven't changed, as I said. But in a way, the Navy was the first to move to network operations. In fact, the first course that I attended as an ensign in the United States Navy, on my way to my first ship, was a course in the Naval Tactical Data System and TDS. So even from my earliest days, we have been involved in networks and the sharing of information in an electronic medium. And we've been operating with integrated sensors and networks that bridge information and operations between our ships, our airplanes, our submarines, and now our unmanned systems, guided missiles, satellites, facilities, the shore, and our computer networks. In the time that we have done business in these domains, we've developed important relationships with other institutions, organizations like DISA and NSA. And that, too, has kind of shaped who we are, how we think, and how we do business. And we, as a Navy, have also had some pretty proficient operators. And we have instituted some fairly top-notch schools in the area of cyber operations and cryptology. Admiral Grace Hopper, one of our earliest luminaries, is someone who is somewhat of a giant in this. We, in the Navy, were designated the executive agent for Joint Cyber Warfare in 1999. And we established the Joint Schoolhouse in 2001. And then in 2004, we stood up the Cryptologic Technician Network rating, specifically focused on cyber operations. And outside of cyber, but very important, information dominance, Navy has, what I would say, in elite intelligence, communication, information operations, and oceanography professionals within our cadre, officer and enlisted. And I believe that all of these efforts over the last decade have positioned us to lead in cyber in a way that the nation would expect. So while we are well positioned and we have experience and we have talent, I'm not sure we have taken enough of a bold or comprehensive approach, and one that can really leverage the world of cyber in our operations to ensure that we have the access and to enable better decision making on the part of our operators. And this is why I directed the reorganization of my staff and made three what I consider to be important moves for the Navy. The first is on my staff to combine the director of intelligence and the director for C4I into one entity, into now instead of an N2 and an N6. It will become an N26 or the director for information dominance. The legacy platform-centric approach that has been part of our Navy for so many years, the ships, the submarines, the airplanes, I believe is the way of the past. Those artificial divisions, and in some cases they have been not too artificial, particularly as you get into budgetary issues, have really caused us to suboptimize our ability to aggregate combat capability and the movement of information in ways that can maximize the effectiveness of a fleet of a unit or of an individual. So we're bringing together the resource sponsorship for all of our information-related capabilities into one entity, and that will include intelligence, networks, electronic warfare, cyber, meteorology, and oceanography, space, and unmanned systems. They will all be resourced in one organization, and we will manage those capabilities collectively and holistically to achieve information dominance for the Navy and for the Joint and Interagency partners. The reorganization is moving quickly, as it should, and will be complete by the end of this year. An N26 or the director of information dominance will be the one making the major investment decisions as we prepare our 2012 budgets. And if someone asked me this morning, where are you along this timeline? And I think the quote from Hernando Cortez applies. We've burned the boats. There's no going back. So Jack, you're the helmsman. We are also establishing the Fleet Cyber Command. It will be the service component to the US Cyber Command at Fort Neat. He will be dual-hatted as the Commander Fleet Cyber Command and Commander 10th Fleet. It's a similar model organizationally and functionally as we have with NAVSENT and Fifth Fleet. So one entity, but basically two functions that will enable Fleet Cyber Command to execute the operational missions required by US Cyber Command and by the Navy and often ask why 10th Fleet? It has some historical roots. There was a 10th Fleet in the United States Navy at one time. In World War II, there was a new threat that came on to the scene that was strangling Great Britain and seriously affecting our ability to control the seas. And that threat was called a submarine. And we couldn't get our head around how to get after these submarines. We had some information, some intelligence, but we couldn't synchronize the intelligence and the operations. So Admiral Ernest King stood up 10th Fleet and we were able to overcome the submarine threat that existed at that time. So 10th Fleet will be reactivated as Cyber Fleet. While N26 will focus on the investments that will ensure our dominance, Fleet Cyber Command will focus on the operations. Fleet Cyber Command will be the cyber operator for the Navy. And I think, as in all things for me, the most important element of any organization is the people. And that, I think, is the most important change that we're going to make. The technology, I believe, is going to be available to us. But people who will operate in this domain will be in a premium because there will be great competition for their intellect, for their experience, and for their competence. So people are going to be the key. So what we have done is to take our already very proficient and experienced operators and create with them and with others an information dominance core. Right now we have a lot of ratings, a lot of specialties within the Navy, that in and of themselves are a bunch of different communities, different structures, if you will. And we will combine them into an information dominance core. It will include our information professionals, information warfare, intelligence, cryptology, the aerographers, mates, IT professionals. They will all be combined into an information dominance core. And when you add that together, it will constitute about 44,000 sailors in the United States Navy. They will retain their individual identities, but they will be managed as a core. They will develop as a core, and they will fight as a core. So the goal in doing this is to ensure that the commander gets the right information to the right place at the right time so that they can effectively perceive, understand, reason, decide, and is the culture of the Navy command. That's what all of this is about. These are important changes that I believe we needed to make, that we now have made to realize a more effective operational environment for the Navy. So I'm pleased that we're underway. And as I said, this is where we're headed. And with that, I'll take any questions you may have. Yes, sir? I'm sorry. And it's restricted line officers. And I'm wondering how you see these changes, this convergence of intelligence and operations affecting that structural and cultural, I don't want to call it divide, but bifurcation in the Navy. I think what we will see as a result of this and as a result of the creation of the core and the identity of the core is a warfighting community that will be viewed and seen and considered as clearly a warfighting dimension of the United States Navy and not a supporting branch of the Navy. And we are also going to be moving in the direction of, at least initially, limited direct accessions into the information dominance core, which was something we have not done, excuse me, as you know, in the past. Stan? The terms and your initial memo for the new N00X capability on regarding capabilities assessment read very like what N81 does now. And in the Navy planning part of the PPP process, what is the line as you begin to implement this between the traditional warfighting capability assessments and functions of N81 and the new, maybe overarching capability assessments of the N00X? Yeah, thanks for the question. And I didn't talk about that, but in addition to the cyber adjustments on the staff, we're also creating a director of warfare integration. The designator is N00X is what we've put on it. And the reason it's N00X is because that director will be a direct report to me. And the intent of N00X is not to do detailed analysis, but rather to take into account the analysis that is available to us, to look across the portfolio, many portfolios within the Navy, not just the platform portfolios, and to be able to look at those areas where we want to accept or reduce risk and advise me on where the investments need to be made. So it won't be as much detailed analysis, but rather stepping back, looking across the entire Navy, the activities that we have going on, the investments that we're making to provide direction as to where we can move, where we should throttle back a little bit and paint a more complete picture of what I refer to as the entire kill chain. From that first tickle of intelligence that you need, all the way through the options that you have, all the way to potentially a final kill. And so that's what I'm looking at N00X to look at, clearly. I would also see them providing certain looks at particular warfare areas, dimensions of warfare, and being able to provide top-level assessments that I can use in developing my decisions. Yes, ma'am? About the international partner aspect to this. And as you guys are restructuring yourselves internally, how are you going to also work with your international partners that maybe aren't up to speed in making all the changes that you are to address this cyber problem? Yeah. Well, I think actually by consolidating these activities into one entity, I think that we can have a more coherent view for our partners as we work on things like maritime domain awareness, data links. I mean, we in the Navy now have to go to a variety of different organizations within the Navy to address these various things. N26 or the Director of Information Dominance, all of that will be resident in the one organization. And I would say that initially the most active area is probably going to be the portfolios that have the maritime domain awareness activity associated with it because that's where much of our international effort is right now on reaching out pretty much regionally with other navies and other maritime services to get some interoperability going there. So I think it's going to work much better in that regard. Sir? Admiral, you mentioned speed of action and response. And currently the Trident Warrior series generally takes one or two years at a minimum to field new systems. And also we have a lot of times the accreditation where people don't necessarily assess things to be in risk adverse, but rather risk intolerant. And so it's Stymie's innovation sometimes within the Navy. So how do you see these changes so that we can field new systems to the fleet faster? Right. I think that is a great frustration of mine, how long it takes. As an operator, you want it yesterday when you see something that's promising. And quite frankly, that is a significant driver in how I got to where I am, being able to get the complete look at what we're dealing with. For example, in the area of sensors, and I know Jack will talk in greater detail about how we're going to be put together. But in the area of sensors right now, I can go to multiple leads, whether it's a underwater sensor, above water sensor, on the water sensor. All of that now will be in one place. And I think we can make a better decision about where the right investment will be. And are we being redundant, or are we leaving some gaps? And then the double OX organization is who I will rely on to be able to talk about those. And in fact, I just came from our Office of Naval Research. And we're going to be putting someone from the Office of Naval Research into double OX so that we can look at what might be out there. We'll have the common view from info dominance and then make decisions based on that and work to drive to earlier realization. I'm not naive in thinking that there will not be impediments and that there will not be inertia, especially when you're displacing one program for another. But I believe that this will give us a more common view and a more synchronized view as to where we will get the best return on that money. Yes, sir? As you all know, this generation of sailors have fairly high expectations to remain connected to family and friends while they're deployed and underway through social networking and sites like Facebook. And also, as you all know, a lot of bad things happen on the internet. Will the N2O6 organization and Cyber Command be involved both in the war fighting and as well as the social or morale end of cyber in terms of shaping policy? If it's a network, if it's moving information in some way, it will be the director of information dominance that will have that. And you touched on a very good point. There is no question that that is going to become more and more important to us as we go forward, not simply from the standpoint of the expectations of young people who are coming into the military today and the security issues associated with it, the costs associated with it, but the value that comes from it. I'm intrigued by it, and I get the risk, and I see the value today in a pretty good way. But I go back to several years ago when some of us first started to hear of something called chat. And chat was just something that was out there. Go in any command center, in any service today. That is how we command and control. And I would venture to say that the person that heard about chat when it first popped into the lexicon never envisioned where it was going to go. And I think that some of the power that we see in the social networks, I think we're on the front edge of something that potentially will change the way that we communicate and exchange information and awareness in the future. I don't know what it's going to look like, but I can guarantee you it ain't going to look like what it is today. And the young people that we have today, especially these folks that we're talking about being in the Infodominance Corps, are going to teach us things that we never thought possible. And so that's where I think this is going to take us. And by the way, you can find me on Facebook if you want to. Mitzi, for you. I'm Mitzi Wertheim with the Sbrowski Institute. I want to take off on that, which is foreign languages. And a lot of information gets through language. So my question is, what are you doing about expanding the population that can be able to speak the languages? I mean, I look back on World War II, where one of our advantages was Navajo, because nobody else can understand it. And it seems to me we're on the other side of that stick right now. Well, we have in our enlisted ranks, we've incentivized the learning of languages. In our commissioning programs, we've done the same thing. I think the challenge for us is to be able to get the right balance between when do you teach the language, what degree of proficiency do you want, and what's the return on that investment. Is it better that you expose a lot of young officers as ensigns to a particular language with the intent that one of them as a captain is going to become the attaché to that particular country? Or that they will be conducting maritime security operations with that country? Or do you seek ways, as you neck down on those assignments, to have effective ways of teaching that language? So I think what we've done is we've started to immerse more of our sailors into second languages. But I also believe that we need to think about when, where, how much, and to what end. And I'm very interested in that because you're absolutely right. I think there's a language component, but then there's also the cultural awareness component. And I'm not sure you have to have both all the time. But I would submit that when you go somewhere, you have to have the cultural awareness. And then the language is something that I think is additive to that. In the back, yes, sir? I'm Harry Inland. I'm a lawyer. Just curious how you protect your communications. In other words, if you're sending something out, can somebody hack into it? Is there, there's a security aspect to the whole thing? Yes, sir, without question. The security aspect is huge. And that's why I believe that having an organization and a fleet that is looking globally, that is, that has the right skills and folks who are trained and experienced in it is the best defense there. I do not think you're ever going to get to the point where the attacks are going to stop. And it's just a question of how you prepare yourself and present yourself to be able to counter the attacks, recover from the attacks, and the policies that you put in place to make sure that you don't become so overly protected that you're not passing any information either. So I don't know if that hit on the question or not. Yes, sir, in the back. Yes, Admiral. Gildewald from the High College at National Defense University. I was wondering if you could elaborate a little bit on how you think these initiatives will affect JPME. Thank you. How they'll affect JPME? I think it really is probably a, what I'd be more interested in is how is JPME teaching our people about this environment and by developing a cadre of experts. And experts may be too bold to word because I think this is going to be a constantly evolving field of knowledge. But I do believe that this Information Dominance Corps can become the pool from which the JPME programs can bring in the pros who are current, who are practiced in being able to impart the knowledge that they've leaned over their experiences to the commanders and to the practitioners that are coming along. So I think it will create a pretty robust group of folks well-grounded, well-versed, and well-practiced in information operations. Yes, sir. Good diamond from Raytheon. If I were one of those 100 service heads up in Newport next week that hear about this, I might be tempted to think, oh, brother, there they go again. They're gonna leave us further behind in my service and the US Navy tends to do the great things first and maybe think of us as an afterthought. Are there components of your changes that will keep our partner capacity sort of a pace with us from the get-go or is that something that's gonna come later? No, I think that this will help us put the initiatives that we have underway with our foreign partners in a better context with what we're doing than what we currently do now. Right now, a lot of the command and control activities either has its foundation in the N6 or in the N8. As you get into some of the higher-end war-fighting paths or data paths that we use. The Maritime Domain Awareness Organization and the activities that take place there are in my N35 organization. So I now have three directors who are making decisions that affect that balance and that access and the consideration for our foreign friends and partners. This will all be in one entity and in the decisions that we make with regard to Maritime Domain Awareness, data links, our Maritime Ops Centers will all be done within one organization as opposed to spread out across several areas within the organization. So I think it's gonna be a positive and if there's one area that we have worked extraordinarily hard and where it's been my pleasure in the past couple of years to see some terrific progress made by our Navy Component Commanders at regional levels. It's been an MDA and the way that we have pulled regions together and now are in the process of connecting regions but it's not a U.S. only show. Today I have my Italian counterpart here and he is the spark plug on many of the coalition activities that we have going on and we intend to keep it that way but this is actually gonna help us do that. I think we have two up front when we get there. There's one over here in the shirt and tie and then if somebody popped here I'll take that one as well. In your speech you mentioned technology gaps. Can you elaborate a little bit and specifically state what some of the technology capability challenges that you face are? Well my comment there really was gaps that I think favor us. As I've often said in talking about the Navy today capability is not what I worry about most. Capacity is what I worry about most. So as you look at in the individual warfare areas we enjoy some pretty incredible systems and capabilities and so I do believe that there is a little bit of a buffer that we enjoy. That's not that we rest on our laurels but for me it's capacity that has my attention today. Admiral, question on the acquisition process of moving these technology faster. You made the comment early about Microsoft doing patches a week versus patches a month. What's gonna be the view, vision now of moving acquisition processes faster so that you can move things to the tactical float and to the desktop faster so that technology's available to the sailors as was brought up earlier by getting more social networking but clearly there's a counterpoint to that where you also have to secure that if you're gonna release it faster. You have any comment on that process of moving that alone? What I would say is I think that's a process that needs to be attacked because the speed with which this is moving and the speed with which the acquisition pace moves, it's not there. I'll be working with Sean Stackley as we go forward to see how we can accelerate that but it's not just a Navy issue and we're gonna have to get into it but there's no question that we often get involved in some pretty cumbersome processes and programs that by the time we get it out there, it is extraordinarily expensive in its technology of years past. I'll take one more and then I'm gonna turn it over to Jack Dorsett who can just mail every detail that you guys have. Thank you Admiral. Your remarks have been wonderfully enlightening. In the area of pointing out that the Navy is truly positioned to take this, the context seemed to be within Department of Defense, clearly cyber affairs affect society in general, every agency, every department. Where does the Navy, where do you envision the Navy being in the interagency as well as the international? Well, where I envision is the organization that I've put in place clearly will be vested within the Department of Defense and then Fleet Cyber Command will be the Naval component of US Cyber Command and so it's not that we become the figurehead or the leader, that's not my intent, but it's the intellectual effort that we can put behind this. The way that we can take the school houses for which Navy has responsibility and really advance the programs there to truly make them world class. For us to be able to put our intellectual effort and our energy into seeking out and determining good investment decisions and then to go back to the acquisition question, what can we do to contribute to the evolution? Indeed, one might say the needed revolution in acquisition as it applies to cyber entities. So I think that that is a role because of where we have been, the talent that we have, the duties that have already been passed to us in terms of training and education and to simply accelerate that and become a driver for change and relevance as we move into the future. But I thank you for your time, your great questions and your interest in this topic. It will become increasingly important. There's no question that it is not the easiest of areas in which to operate. It's going to continue to challenge us, but this in my opinion puts the Navy in a position to be organized so that we can man train and equip our Navy and contribute to the joint force in a way that's relevant for the future. So thanks CSIS for this opportunity. Thank you so much.


Welcome to my talk. So this talk is about making upgrading easier for your module users. So who am I? My name's Kim Pepper. I'm the technical director and co-founder at Previous Next. For those of you who don't know me, I've been working with Drupal for more than 15 years. That's the 15-year party tonight for Previous Next. And I'm the subsystem maintainer of the core file subsystem. And I've been an active contributor since the early Drupal 8 days, and I'm a maintainer of quite a few contrib modules. So what I'll cover today is why it's important to make upgrades easier. I'll be focusing on deprecations in this session and how deprecations work. I'll be looking at some of the tools that you can use to check for usage of deprecations in your code, but also how to write your own deprecations in your own contrib modules, as well as some common patterns that you can use and then some just general recommendations. So who is this talk for? So this talk really, my first focus was trying to encourage people who write contrib modules or contribute to core in some way. So developers, essentially, to basically make your modules easier for people to upgrade when they're doing a big site upgrade, they're upgrading a major version, like make their life easier. And I think we heard a lot about making, being kind to your users in Drees keynote this morning. I think this follows the same line, and this is one of my motivations for doing this talk. But also, if you're not a developer, but you might just be curious on how deprecations work, this will kind of give you an insight into how this whole process works. So first of all, why is it important? Well, I talked about that briefly. But basically we have a lot of more frequent releases happening now. So there's a lot more pressure to be upgrading. There's a lot more changes coming. Drupal, Symphony, PHP all have more frequent release cycles now than previous years. And I mean, this is the standard Drupal usage. It's not a super accurate graph, but it does kind of show you what it was like prior to Drupal 8. And then after Drupal 8, we've got a lot more releases. A lot of those are minor releases, but you get the gist. And I think the real point to illustrate here is that there is a cost in upgrading. We can lose users when they find upgrading too difficult, especially major versions. And the cost isn't monetary necessarily. It's just effort cost in doing the work to upgrade. And also, we've got a new release schedule. So this only came out about six months ago. We're trying to have a much more regular cadence for Drupal releases now. So in addition to that, we're going to have long-term support type releases, which are the green bits in here, which is essentially trying to make it easier for people to stick with a long-term release of Drupal and not be forced to upgrade every time a new major comes out or a new minor version comes out. The other side of it is that we actually depend heavily on Symphony. So we're actually forced into some of these releases due to Symphony's release calendar. So we're trying to keep in a cadence where we're sticking with Symphony's long-term releases as well, just to make that process easier. So there's a lot of pressure, I think, on this more rapid releases and more frequent releases and trying to keep on top of things. PHP as well. You might be surprised to know that 8.0 is already out of support. It wasn't that long ago. A lot of people are on 7.4 running their Drupal sites. And so this is happening quite regularly. So as you'll see in this table, 10.0 of Drupal's no longer supported. 10.1's actually running a version of Symphony. That is, well, the minimum requirement is Symphony 6.3, which is no longer supported. And the PHP version is security only. So again, we've got pressure on keeping up to date. But we want to be able to keep up, but we don't necessarily want to break things for our users at the same time. So this is what this talk's all about. So we basically want the stability of the software, but at the same time be able to continuously improve and evolve the code base and move it forward. So basically, this is what I'm talking about is trying to stick to a backwards compatibility promise, which is basically you're not making any API changes between major versions that could break somebody's code who's using that code. And then, of course, we use semantic versioning to demonstrate what that means. So in this example, you might have an example version, 10.2.4, the major version, between major versions, we're able to make API breaking changes. But in those minor and patch ones, we're trying to keep backwards compatibility. OK, so that's just the kind of introduction about why it's important, what sort of challenges we're facing. So I'll talk a little bit more about deprecations now. So first of all, what is a deprecation? So it's essentially a warning that an API is either going to be removed, added to, changed in the future version. And by API, what I mean is any of your PHP classes code that's marked as public, that another user could actually use or call or extend in their code. But it can also refer to other things like config schema, twig templates, reusable JavaScript libraries. That's essentially your area of exposure that other people could actually use your code. So now we'll look at a little bit of how we can tell if we're using deprecated code in our module code or not. So there's a few different tools. The first one I'm going to talk about is the upgrade status module. And this is really a great tool. Basically, what it will do is just look at the current status of your whole site and tell you what modules have an upgrade path or are compatible with the newer version. It will do things like it will check for deprecated code usage, but it's also doing a lot more. So it's doing things like composer version compatibility, core version compatibility, and so on. But underneath, it's actually using tools like PHP Stan. So PHP Stan is a static analysis tool. And what it means is it will check your code without actually executing it. It can check for lots of common bugs, things like unknown methods, dead code, missing return types, things like PHP type hints. It can check for a lot of things, basically because it runs on a system of rules. And we do have a, fortunately, there's someone who's contributed a whole lot of rules for checking for Drupal deprecations. So this is a very basic run-through of how to use these tools. So first of all, it's fairly easy to install with composer via the command line. I hope you're all comfortable with the command line. And really, all we're doing really is installing the MGlamon PHP Stan Drupal module. But you need to add an extension installer first if you haven't got one. So that basically means those rules get installed in the right place. And then we need to configure PHP Stan. So this is just an example configuration, but this is what it looks like. It's a neon file that sits in the root of your project. We can specify things like the path to our custom code. And we can also do things like ignore common errors. So for example, if you're always butting your head against the slash Drupal pulling a service into a class, I mean, there's plenty of cases within Drupal Core that you can't actually do dependency injection. So this is something that you could legitimately ignore. If you add it to your ignore list here, then you won't get warned about it all the time.  So PHP Stan slash analyze, space analyze. And then if we've got a deprecation, you should get this nice detailed message. So you can see here, it gives us the actual path to the file that has the deprecation in it. It gives you the line number. And then it's printing out the deprecation notice for that deprecation. And you can see it's very helpful. It's telling you what the function is that you're calling. It's telling you that it's going to be removed in a future version and what else to use instead. And the other thing is that you, instead of... So you can basically, you can set a level from zero to nine in PHP Stan in terms of the level of strictness. So if you want to make it more strict, you can do that. You can start at zero and gradually work your way up. Or you can do what's called a baseline where you can say, okay, well, we want to get to level six or generate a baseline that will capture all of the errors that occur at level six. You then essentially ignore those errors and then slowly pick away at it until you are at level six. So there's two ways to do it. The second tool is Symphony PHP Unit Bridge. Obviously used by Symphony itself, but it's something that we use in Drupal Core. And essentially it's just enabled by setting up a PHP unit listener in the PHP unit XML file. And it will check your code while executing your tests because you all write tests, right? Yeah. Yeah, and tests will fail if you've got deprecated code. And again, it's very simple to install. You can install it directly, but if you in your project run, like install all your developer tools with Core Dev, so using all what Core will use on your project, then it'll require this project. So you'll already get it. Okay, so as I said, it's fairly easy to set up. We just add a listener in our PHP unit XML file. And then you can configure it using this environment variable, the Symphony deprecations helper. The value there is kind of like, there's a lot of documentation about all the things that you can change, essentially, whether you are triggered on deprecations that are incurring in like third-party libraries and things like that, so you can tweak it so it makes sense for you. There's detailed documentation on it that explains all of that. And again, you just run PHP unit to trigger it. And you can see here, we've got a nice deprecation message being output, it tells us what again, what the structure is, what the version is, what to use instead, and then a link to a change record, which is very important. And then in certain situations, you might want to automate this. So if you've got something like, there was a function called Drupal set message, which was used everywhere in Core, that was obviously very difficult to try and kind of manually go through and maintain to get that committed to make all those changes. So a tool like Rector can automate that process for you. So essentially what it does, it just provides some rules to say, okay, this is what it was before, this is what it should be after, and it will go through your code and automatically basically do an intelligent type of find and replace. And there's rules for Drupal, but also for symphony, PHP unit, and Twig as well to automate some of those changes. So this is how you install it. So installing by a composer again, and then you configure it by just running the command. If you don't have a config file, it would generate one for you, and then you just run it.  Okay, so that's the overview of all the tools, how you can use it to check if your code's actually calling deprecated code, but really what we want to do is learn how to write our own deprecations. So if you've got a Contrib module that you maintain, you want to be able to make, like I said, keep things stable but make changes and innovate and improve your code. You can do that by using deprecations. So this is a simple example of a procedural function that's being deprecated. So at the top, you've got an annotation in our PHP doc block saying it's deprecated. Then in the deprecation message, which follows a standard format, needs to have all of these things in the right order. We've got a C annotation, which again is a link to our change record. And that really, the doc block stuff will actually help in PHP Storm or something like that. If you're using an IDE, it will do things like strike out that name or give you an indication that that's a deprecated function. But the real action happens when we actually trigger an error. So when this code gets called, it will call this trigger error. It starts with the at symbol, which will actually silence the error so you don't get a big error being displayed on your site. We've got the name of the function, what version it's deprecated in, again, what version it will be removed from, and then a suggestion to what will be used instead, and then a link to the change record. So the last thing is just the error level for trigger error, which tells it's a user-defined deprecation for PHP. Yeah, so this is the format for the message. So it's deprecated in deprecated version and it's removed from removed version, extra info, C, change record. So it's all stuff that we've seen before, but this is the format that it needs to be in, and all of these things are pretty standard stuff, so from these examples. Okay, so Drupal core uses a change record for every deprecation, but any contrived module can use change records as well. I think they're an underutilized thing in Contrib. I think we should try and use them more. It's got a huge benefit for people to be able to go and find what the clear information about what has changed and why and so on. So while you might get a trigger error, might say use this other thing instead, a change record could have much more detail on a link to the original issue, like detailed instructions on what it was before, what it is after, and you can do things like search for the function name that you might be using or you can filter by versions, release versions. It'll be essentially the first thing someone, when they get a deprecation, notice the first thing they'll go to do, they'll click on the change record link to say what the actual change is for. Of course, we can test our deprecations because we all write tests and this is an example of how you can actually test the deprecation. So there's two things you want to really be doing is making sure the deprecation gets triggered if you call that function correctly with making sure it has the correct message. But the second thing is just to ensure that you haven't broken your legacy function because people are still using it. See, that has to continue to work and the deprecation test has really just said to say, yep, triggering a deprecation, legacy function still works. At the top, you can see we've got an annotation for group, which is legacy. That's actually gonna be required by PHP Unit Bridge and it will provide that expect deprecation function. If you don't have that group, it actually won't work. Yeah, so. And if you want to create, you can create your own custom RectaRule. There's an easy way for you to do that. So Recta, the command line tool has a custom rule command.   So I'll talk briefly just about what you can deprecate. There's quite a lot. I won't go into all of this because there's loads and loads of things that Core does deprecations for, besides kind of like the PHP code. So things like services, hooks, plugins, asset libraries, JavaScript, settings, config schema, theme templates, all of that can be deprecated. But what should you be deprecating? So I think the first thing is that you don't know how your module users are actually using your code, how they're extending it, whether they're owning their own custom module that really just extends one of your classes and adds some additional functionality. So you need to assume that any classes or services that are declared public could be being used. So yeah, things like interfaces and abstract-based classes are obvious because they're public, they're meant to be extended or implemented. Yeah, and even config schemas you should be considering to be a public API. So a recommendation is just to try and minimize your public APIs. So this is something that I don't think is happening much yet in Core, but it's happening more and more where we're making classes final, making internal methods private, even marking with annotations to mark things internal, and really trying to minimize interfaces for things that actually need to be interfaces. And I think people think that, I guess the idea is as much like, don't assume that anyone can do anything with your code, you really want to minimize the public APIs just because you're adding to your own burden of maintaining that code in the long term. All right, so I'll talk about a few common patterns for deprecations. So again, I'm not gonna go through the full list of all the different types, this is a few code examples for what you can do. So we talked about procedural functions, this is exactly the same. So the deprecated annotation, the C annotation and the trigger error there. But this also works on class methods, so it's not just procedural functions. So if you've got a method on a class, it's exactly the same. But you might find that you need to add a new service to, say if you've got a class and in the constructor, you're injecting a couple of services and you want to add a new one. You can't just add it in without, you can't assume that the, well, anyone who's extending your class, that will break immediately if you just do that because they don't have that service, that service is not gonna be there. So what you need to do is just follow this pattern where essentially you make it an optional field, not an optional parameter, and then you just check if it exists. If it doesn't exist, then you trigger a deprecation message and then look up the service and set it as a property on that class. So that's usually fairly straightforward for a constructor, but there's also a more complicated constructor example. So if we've got three services that are getting injected in here and we want to remove the middle one, it's not so straightforward. So this is a pattern that I've seen that you can do that. So the first thing is at the top, we're using a trait that's part of Core called the deprecated service property trait, and all that does is you provide the property that existed on that class and the service that it should look up. Then if a subclass tries to access that property, it will trigger a deprecation for it and say no, it doesn't exist anymore, but here it is anyway. So it'll go and look it up and return it. So it won't break existing code just by removing a property. And then the second part is if you look at the constructor, you can see that we've got a union type there for the two services. So what we've done is basically just said, okay, we're removing the bar manager. I should have come up better names than this, but bar manager from this service, swap it out. But if we get a bar interface passed in that second argument, then it means that it's calling the old interface. So trigger, grab the third argument, which is the old one and use that as Baz, and then trigger a deprecation error. So this gets around that problem of being able to remove things. So interfaces in abstract classes is also complicated. So you might think, oh, well, I can just add a new parameter to an interface method. Well, as soon as you do, it will break any code that is implementing that interface because it doesn't do it yet. So you don't want it to happen. So it's a kind of a more difficult situation. What we do in core is we basically just add that new parameter as a commented out parameter. You tell it the type. And then we're essentially just saying this is gonna be coming in the next major version. We warn people that it's coming. The symphony debug class loader will actually trigger a warning about that and say, next major version, this will be required. And then we can't actually add this in until the next major version. So just at a high level. So if we wanna deprecate a whole interface, the whole class, we do that at the class level. So the trigger error can go in just under the namespace here. And then the annotations would just go on at the dock block at the top of the class. So it's just moving where things are.  You can put the deprecation notice at the class level dock block but trigger the error in the constructor. So every time one gets created, it'll trigger an error. And following the same pattern. So services, it's pretty straightforward with services. You just have a, we have a support for adding deprecated to the service definition in your service.yaml file. So anytime someone tries to use that, we'll get a deprecation warning. And then hooks, hooks are slightly different too because normally the convention is that you have a .api.php file that documents the hook. So you can put deprecated in the api.php file in a dock block. But then when you invoke that hook, you need to be calling invoke deprecated instead of invoke or invoke all deprecated instead of evoke all. So that will trigger the deprecation if that hooks gets called. And then plugins is the same really as a class. So most of the time plugins are classes. But there are other types of plugins, ones like yaml files. There isn't any support for that at the moment, but there is an open issue to add support for all plugins to be able to just, you know, deprecate things at the plugin manager level. Okay, so that's a few examples of how to do deprecations. So now, you know, just a few general recommendations. So I think how you release your Contrib module is important in terms of support. So you should try and support your, the next major version of Drupal in the last minor version of your Contrib module. So for example, in this example, you know, we've got a 1.x branch. We wanna introduce Drupal 11 support in 1.2 and support two versions at the same time. And then when we get to our 2.0 version of our Contrib module, we can drop the Drupal 10 support. What this does is gives people an opportunity to upgrade to the last version of your last minor and be able to get support for the next major version of Drupal without having to do a big jump. So we don't want to kind of abandon them and go, now you need to go to version two and work it out for yourself. And there is some support in Drupal for supporting two versions. So there's this deprecation helper, backwards compatible call, which basically we just checked the current version of Drupal. And then, you know, if it's before that version call one, if it's after call the other and trigger deprecation too. So that will help with moving between supporting multiple versions. Okay, some other basic recommendations. So I think it's worthwhile. I mentioned testing a few times. I hope people are doing testing. Just having good test coverage helps you catch regressions if you are making big changes to do your code functionality. So obviously that's very important. You can also, when you do do big releases, I think it's good to put as much detail as you can into your release notes. Matt Glumman's got a great little CLI tool that will generate nicely formatted. Release notes between versions. And then, yeah, be polite and responsive in the issue queue.  Just remember that, you know, you're trying to encourage them to use your module and actually encourage them to kind of get involved. Okay, so quick recap. So I talked about why it's important to make upgrading easier. We looked at how deprecations work, what they are, how they give users warnings of upcoming changes. I looked at some of the tools like PHP Stan and Symphony PHP Unit Bridge to trick, to basically warn you of those things. And then I took you through some common examples of patterns for adding deprecations to your code to making sure that things run smoothly. So, yeah, I hope you found this useful and you're inspired to go out there and add some deprecations to your contrib module code. And I think you've got, I've got any time for questions. Right, yeah. Thanks, I'll take that as a comment. Yeah, I mean, I think the message I'm trying to convey is like, yeah, don't be sort of, they try that, yeah, I think we do that in core, right? So the last minor version, we don't try to add anything new. We basically try to make that just an upgrade version. Yeah, thanks, Jess. I think that's got to do, I mean, every contrib module is gonna be different. And I'm trying to kind of take some of the core concepts and apply them to contrib, right? So it doesn't always match up, but, you know, often if you've got to say a contrib module that is, you know, using an underlying third party library, for example, and that's got a major version bump, you might be trying to, you know, line your major versions up with that, that library's major version.  And I think, you know, going back to that upgrade status module, like the objective is to just make that green, right? So that somebody who's using your module comes along and they go, yep, okay, I don't need to worry. I don't need to go to the issue queue and find out what's going on. You know, you get your version compatible with the next major and make that process smooth for them. Yeah, cool. And I just wanted to invite everyone to our party. Yeah, you got a question? I know, I know, wrong talk. Oh yeah, I do, I will post the link. So I'm gonna post these slides and I'll put links into the deprecation policy stuff. Like it's really useful. There's a lot there and I couldn't get through it all, but yeah, I'll definitely post the links to the deprecation policy page with these slides. I think, yeah, I did think about that. But I think it means that essentially you're having to support more versions with your contrib module and so, and I'm not sure that that dribble deprecation helper might be useful for like, you're not gonna have three different versions running in that. You might have to write something that would support three different versions. Because essentially that's what would be supportive, right? But yeah, it's a good question.