I know you're not going to believe this, but there's actually something I forgot to tell you. I forgot to tell you that in chemistry, you measure things in molarity. That's the concentration that you use. And in fact, in our lab coming up this week on osmosis, wait for it, it'll be fun. Most of the concentrations of solutions that we're going to be dealing with in that lab are measured in molarity. And you'll actually see that. You'll see a .3 molar solution of this. In physiology, in bodies, molarity is not as informative as a concept called osmolarity. So we can actually measure the osmolarity of a substance. And this is something that you definitely want to feel good about. Osmolarity is not just the moles of a substance. It actually is the number of particles. Particles per mole, or per molecule per mole. Particle, can you even read that? That says particles. Particles per mole. Okay, so look at this for a second. Let's look at something like sodium chloride. Sodium NaCl. Sodium chloride is a substance that if you look at it, we could say, okay, I have one mole of sodium chloride molecules. But here's an amazing thing about sodium chloride. When you put it in water, it actually splits. And it turns into sodium ions and chloride ions. I'm going to expect you to know that sodium chloride, if you dump it into water, it's going to dissociate in water. And it's going to become two separate molecules. Sodium chloride dissociates in water. I'm going to give you an example of a molecule that does not dissociate in water with that molecule. Glucose. Glucose does not split into a different number of particles. It doesn't split into six, I mean, this would be 24 atoms. We don't get 24 particles when we stick a glucose molecule into water. It actually stays one glucose molecule. So if you put a mole of glucose into a solution, you're going to end up with a mole of particles. Does that work for you? If you put a mole of sodium chloride into a solution, one mole goes in. What do we have at the end? It dissociates in water. So now we have two moles of particles. You follow that? You need to know that sodium chloride dissociates in water. Beyond that, if you want to ask me, and you need to know that glucose does not. Other than that, ask. If I am asking you for the concentration of a solution and you're not sure if it dissociates in water or not, go ahead and just ask me. And then I can help you out because some things do dissociate in water and many things do not. If you want to know the osmolarity of a one molar solution of sodium chloride, that's actually two osmols. Do you see that? Because we have two particles that it breaks into. And one molar solution of glucose is one osmol. Excuse me. And in your cell, this is a cool fast fact. I'm running out of room. I'm going to draw a cell down here and I'm going to draw it in green because I don't think I've used green yet. So this is a cell doing its thing. Guess what the concentration of your intracellular flume it is. It's about 280 milli osmols. Does that work for you? 0.28 osmols. Sometimes we just round that up to 0.3 osmols and that's 300 milli osmols. Those are just the concentrations of your intracellular fluid. Now, the whole point that we were going to talk about in this part of the lecture is that diffusion happens if you have concentration gradients. So let's take a look at this visual right here. Remember we decided that this was super concentrated? Wow, that's really pretty. This is very low concentration. And so does it make sense that molecules are actually going to move down the concentration gradient? I could put a number on this. I could tell you that this was like four osmols and this was like 0.1 osmol. And now we've got numbers that say, yeah, that's super concentrated. That's not very concentrated at all. And now you can imagine that, yeah, those molecules are going to move down the concentration gradient. Of course they are. So take a look here at this little GIF thing. I think it's going to start over. Hold on, it's going to start there. Now it's super concentrated here, but these molecules, all they're doing is randomly moving. And that random motion, I know you did this. I know you did like the carmine red powder moving all around the beetles. Remember in Biowan, those little molecules just were like, moving, that's brownie in motion. They move like that, molecules move. They have a random kinetic energy that causes them to just move like that. And just by that random motion, they move from areas of high concentration to areas of low concentration. That's diffusion. Now, visualize. Stop, collaborate and listen.  Sorry about that. And then you got to bust out some MC Hammer. Really? Is that MC Hammer? Oh my gosh, I only have one more little lecture to do.  If I had some kind of wall between these two compartments, then it would matter if my molecules, I could actually put some kind of membrane between those. And if that molecule couldn't go through, then diffusion wouldn't happen through that little compartment. Does that work for you? Like, that's kind of logical. It makes sense. All right, molecules move from high concentration to low concentration. Take a deep breath and let's talk about osmosis. Osmosis is the movement of water.


Hi there, it's DJV and in this video I'm going to be doing a product review of the Dremel Easy Lock Tools So I use a mastercraft rotary tool and this thing has worked the same as a Dremel But I've had little to no success using the generic sanding drums it came with. These drums are quite useless Internally they have a rubber fixture that you're supposed to loosen with a screwdriver and then tighten when you add the sanding drum over top Now this doesn't always work They're really hard to squish in and I find that some of the rubber still ends up sticking out and when you sand a model the rubber will Completely go all over the model and I've just had these sanding strips rip off so many times Every three minutes I have to interchange with a sanding drum So I bought a whole pack of these on Amazon and I'm just finding that they're useless So I finally bit the bullet and went out and bought the Easy Lock Dremel brand products They were really expensive, but I can assure you that they are completely and totally worth the money There's a reason that things are expensive. There's a reason we pay a little more for certain things So I went out and bought myself a couple different products six sanding drums in 120 grit Easy Lock Sanding drum mandrel with a 60 grit sandpaper on it Easy Lock Mandrel with a metal cutting wheel for this video I'm testing these products on my the Desperado model. He needs a complete overhaul.  So I didn't even try the lesser grit Sandpaper in this video because all I needed was that high Grit sandpaper. So definitely for removing large chunks of a model the 60 grit worked really well The 120 would be good for running over the model again So that you can smooth out some of those rough edges that are left behind with the 60 grit for the cutting wheel I used to use just a metal wheel that came with my Mastercraft tool and it was pretty useless. I think it was pretty dangerous. It didn't feel like it was doing the job So this easy lock sanding disc I bought the metal version You can get a plastic version as well But they didn't have any so I just got metal because I sometimes will run into metal in my models as well You're cutting through wire for sure You need the metal version, but they're enforced so that they cut really well Once the mandrel is in your dremel pull down the little top piece Line up the disc in the allotted slot and then you twist it 90 degrees So that it locks in and you let go of the piece So that it pushes back up into the top of the disc and the disc is securely fastened So now this cutting disc worked about the same as the sanding drum amazing would highly recommend this I was able to cut off the entire tail and the entire neck of my the desperado model I didn't feel like it was gonna break It went through the plastic really easily as you can see not much damage was done to it Just the top layer paint so buying a pack of six of these guys is Expensive but totally worth it because they will last way longer than any cheaper Brand that you purchase so in this case, it's definitely worth the money So I will link all of these dremel products in the description below But I highly recommend if you're not already using these go out and use these as for the rotary tool You don't necessarily need dremel brand rotary tool I don't think there's any difference in my mastercraft tool versus the dremel brand tool But there's definitely a difference in the heads and attachments that come with it So I would recommend going out and buying yourself one of these. Thank you so much for watching and happy Customizing please subscribe for weekly Wednesday uploads. Follow me on Instagram and Facebook at DJB Studios Check out my website and sign up to my newsletter to be the first to know about commissions tutorials and sales pieces All of the tools used in this video are in the description below if you have any questions feel free to message me


I was a communist for the FBI. Starring Dana Andrews and an exciting tale of danger and espionage. I was a communist for the FBI. You are about to hear a strange story. Names, dates, and places are, for obvious reasons, fictional. But many of these incidents are based on the actual experiences of Matt Sauvettik, who for nine fantastic years live as a communist for the FBI. Here is our star, Dana Andrews, as Matt Sauvettik. Nine years is a long time to endure the hatred and contempt of your loyal fellow Americans. But that was part of my job when I agreed to become a communist for the FBI. And I don't regret it if anything I did was instrumental in helping defeat the grinning rottenness of communism.  In a moment, listen to Dana Andrews as Matt Sauvettik, under cover man. Andrews as Matt Sauvettik, under cover man. This story from the confidential file is marked, the party got rough. There was something about this man, Brown, that fell trouble to me and for me. He followed me into a dingy little upstate hash house and planted himself on a stool next to me. Instinctively, I knew that he was a party goon and that he was looking for me. And I was afraid, afraid that the Reds had finally discovered my double life. I was reaching for the menu and he jilted my arm and said, That can wait. Follow me outside, comrade. He didn't even look back because he knew what I'd do. I followed him to the street. Comrade Sauvettik? Yes? I'm comrade Brown. I got orders to return you to comrade Martin. Orders to return you to comrade Martin, my cell leader. Previously, I tried to think of an excuse for not returning with comrade Brown. An excuse Martin would accept, but I couldn't take of any. So finally, lamely, I suggested that Brown return to Martin and report that I was finishing my assignment and would follow him on the next train. My orders to return you, comrade Sauvettik, not to carry excuses. And my assignment is to establish several contacts, comrade Brown. Two remain to be made and I'm not in the habit of leaving party assignments uncompleted. All right. We'll make the contacts. You know that isn't permitted. I'll make the contacts and meet you later. How much later? Well, an hour at the bus station. Don't keep me waiting. I wouldn't want to be forced to report that you delayed our return unnecessarily. I wasted ten minutes making certain that comrade Brown wasn't following me. Then I tried to contact the FBI, but a local storm had disrupted the telephone lines. I tried again after completing my party business, but the lines were still out. So I met Brown at the bus station and we rode back to the city and cell leader Martin's house. It was a noisy house when comrade Brown and I walked through the door. But when we entered the room with the group, the chatter stopped abruptly. And in my state of mind, the quiet was commonest. You kept us waiting, comrades. I presume you have a reasonable explanation. Comrade Sauvettik refused to return immediately, comrade Martin. But you have to say that, comrade Sauvettik. You gave me a list of comrades to check. When comrade Brown arrived, I still had two contacts to make. As soon as I'd completed the assignment you gave me, we returned. I see. That probably explains it. Explains what, comrade? Why the party leaders have chosen you for a mission of utmost importance. I'm afraid I don't follow you, comrade. The party is conferring a great honor upon you, comrade Sauvettik. Obviously, because of your unflinching devotion. You're unquestioning fulfillment of any assignment. You're being rewarded through participation in this one. What is the assignment? I don't know. I was told only that I was to send you to party headquarters in New York. I was to board a train for New York at 1123. So I left Sir Leader Martin's house at 1015 to pick up some gear at my rooming house. To avoid attracting possible attention at that time of night, I was allowed to go alone. So I was finally able to contact the FBI. This is your phone booth, man Randall. Where have you been? Upstate. I was strictly routine until I was called off the assignment. Brought back here and ordered to report in New York. What's up? I don't know. They may be setting me up. My train leaves at 1123 and no one's going to the station with me. They may be establishing alibis. Your train leaves at 1123? Yes. I'll be at the station in about 20 minutes as soon as I pick up my gear. At five minutes before train time at 1118, stand under the big station clock holding your hat in your left hand. Look there and travel you to New York. I'll feel a lot better. So will we. Oh, if there's some reason I decide against an open contact under the clock, don't worry, I'll pick you up on the train. Thanks. Goodbye. After gathering my gear, I went to the station and stood under the clock, thrilling my hat in my left hand. But no one attempted to contact me. Finally, after the trainman's warning calls of all aboard, I sprinted for the moving train and swung onto it. I gave my ticket to the conductor and was settling down to a little rest. When I was contacted, I didn't know Randall, but I'd noticed this man watching me as he made his way up the aisle of the swaying train. So I wasn't surprised when timing his lurch to the movement of the car, he stumbled against me and muttered, club car. Straightening up, he resumed his course toward the back of the train and after a decent interval, I followed him. He was waiting in the club car when I arrived and I took a seat deciding. You can call me Hartman. Okay, you can call me Red. Red? You got a nice sense of humor. Thanks. You catch on quickly, too. I was expecting you. Me? Not you personally, perhaps, but I was expecting a contact. Oh. Do you have any ideas to what this assignment may be? No, none. I'm just worried. Sounds important. Yeah. You don't seem very enthusiastic. What's bothering you? That man halfway down the car on the other side. We're in a light gray suit? Yes. He's been watching us closely ever since I sat down. I don't like that. I've been expecting something of a sort. Ever since I got this assignment thrown at me. You think he's after you? I'm almost positive. In that case, I better be gone. You're not going to help me? This assignment is more important than the individual, Comrade. Comrade? Did you say Comrade? Sorry. I know it's against orders. It just slipped out. You better go. All right.  If he is an FBI agent, I'll find it out. All right. I'll see you later. Four minutes after Hartman left the club car, I sat in my chair bathed in a cold sweat. I had mistaken a party member for my expected FBI contact. In my mind, I tried to recall every word that Hartman and I had spoken, but I was too shaken to think clearly. I knew only that men had died painfully for making smaller mistakes. Rising to my feet, I walked half the length of the club car and took a seat beside the man in the light gray suit. He identified himself as Randall, my FBI contact, with his first sentence. What time did the big clock say? 11.18. Sorry I didn't get a chance to speak to you on the station. Not half as sorry as I am. I had to make certain you weren't being tailed. I don't believe I was then, but I am now. What?  I got a good look at him. And he got a good look at you. I pointed you out to him. Why? I thought he was FBI. And that you were a party-hanted man. Oh no. Oh yes. He didn't give me an identification phrase, bumped into me in my regular seat. I'm not a club car. I thought it was you. Did you give yourself away? I don't know. I don't think so. I just don't know. And why did you come over here and sit by me? Don't you think you'll be watching? I hope he is. I tried to cover myself by saying that I'd sit down beside you and find out whether or not you were FBI. What are you going to report? That you are. My only chance to regain the comrades' confidence. Yeah. Well, that case, I won't be able to give you any protection. Oh no. I'm on my own. Until you get to New York, I'll slip off the train to the first stop and phone a head in a new mail, pick you up and you'll reach the city. If I reach it? Well, don't take any chances. And be particularly careful when you're passing through the car vestibules going back to your seat. A man isn't expecting it. It's easy to push him through an open door at this speed. Yeah. I'll be careful. Yeah. Did this other guy have any word about your assignment? No. It's either a really important project or they're setting me up to knock me off. Well, good luck. Yeah. If the new man you put on me in New York gets a chance to make the contact, tell him to identify himself to me the same way you did. I'll give him the same answer. I sat in the club car until the FBI man had left his coach at the rear of the train. Then after we'd rattle across a bridge, I got up and started forward toward my regular seat. I'd passed through two coaches and had just stepped into the vestibule of the third, deep in thought. Subconsciously, I realized that the track side door was swung open and a man was standing in the shadows beside it. It was Comrade Hartman and he was beckoning me to him. For one panicky moment, my impulse was to turn and run. But before I could do so, he'd taken a step toward me and placed his hand on my shoulder. Was he an FBI agent then? Yeah. At least I think so. All right, then stand on the other side of the vestibule. When he walked through, lurch against him and nudged him over here to me. I'll take it from there. He won't be walking through, Hartman. Why not? His coach was at the other end of the train. When we passed over that bridge, I made certain that we won't be seeing him again. Good work. Thanks. You sure he's dead? I didn't watch him die. That's what you mean. But I'm quite sure he won't bother us again. Good. Now I can shut this door. We can go back to our seats and get some peaceful sleep. Hartman may have slept well, but I didn't. I forgot all that, however, when Hartman, another comrade named Franco, and I assembled at party headquarters and learned of our assignment. Comrade Rogers, a member of the Central Committee, explained our mission to us. In selecting you three comrades for this glorious mission, the party is bestowing upon you a great honor. Is it so? Very important, Comrade Rogers? It is extremely important, Comrade Stettich. If you are successful, you will strike a seriously damaging blow against the warmongering western powers. In fact, the damage may well be irreparable. Rosamund Bay, prime minister of an oil-wealthy country in the Near East, arrives in New York this week. He is coming to negotiate an important trade agreement with the American government. Your mission is to prevent his securing that agreement. How, Comrade? We have a plan, Comrade Hartman. If you three can implement the plan successfully, Rosamund Bay will return to his country, hating the west and without the agreement. If we cannot implement the plan successfully, Comrade Rogers? In that case, Comrade Stettich, you will make certain that Rosamund Bay does not leave this country alive. Now back to Dana Andrew, starring as Matt Sevettik. An eye was a communist for the FBI and the second act of our story. The mission for which the party had brought me to New York was important enough to thrill any communist fanatic, entailing, as it did, the effecting of an irreparable breach between the western powers and a small but oil-wealthy country in the Near East. And the party's plan for accomplishing this was beautifully simple, unless the FBI could frustrate it. It looked as though that might be possible too when Comrade Rogers ordered me to head the project. Within the framework of the plan, Comrade Stettich, you are free to handle this matter in any way you choose. There are no strings attached, Comrade Rogers? Only one. You must not fail. You must send Rosamund Bay back to his homeland empty-handed or dead. I understand. Good. You will start immediately. But can I have an hour to think this through and work out the details of your general plan? Certainly. I'll find an office for you where you can work undisturbed. I'd rather go for a walk if you have no objections. I think better on my feet. Oh. I can think of no objections, Comrade Stettich. Just make certain that you're back in an hour. As I walked out of the building that houses party headquarters, I stopped beside the entranceway and took plenty of time to light a smoke, a time-consuming gesture that gave any FBI man who might be waiting a chance to locate me and follow me for a pickup. A few moments later, I walked slowly down the street. I'd gone three blocks and was standing at a crossing waiting for the traffic lights to change when a cab edged up to me and the driver said, What time did the big clock say? 11.18. Hop in. The lights are changing. You were in there so long we were beginning to worry. We? There are a couple of others for protection. It doesn't look as though I'll need it now. I've just been put in charge of an important assignment. What is it? To force Rasmund Bay to return to his country without a trade agreement and hating Americans. Or to kill him. And you are in charge? Right now I'm supposed to be formulating my plan. How long can you stall? I was given an hour. The Bureau will need more time on that. They'll have it. I'm going to suggest that the first thing we do is circulate petitions. They take time. What sort of petitions? Demanding that our government refuse to consider any trade agreements in that area. Will the Reds buy that? I think there's a good chance. They take a perverse pleasure in using the Constitution to defeat itself. And the Constitution guarantees the right to petition. Well, try it. Try anything that'll take time. Without putting your neck out too far. I'll drop you at this next light. If there's the slightest change in your situation, get to a phone booth and call the Bureau. If there's someone with you so you can't talk, ask for Mr. Kroener. We'll know what you mean and get back to you. Some way. At party headquarters, my plan to circulate petitions was accepted as a starting point for the operation against Rasmund Bay. Comrade Rogers also had a suggestion to make. That's an excellent front for our activity, Comrade Svedig, but there isn't time enough for petitions alone to be effective. You must urge these people to meet Bay's plane when it lands. They're not up to make a great show of hate. But they won't need to. We'll have a crowd of party and front members there to finish the violence. Your suckers will give it a cloak of respectability. I see. And if some of the petitions get hurt, so much the better. Exactly. Before you leave, we'll give you identification that establishes your connection with businesses that would be affected by a trade agreement. If there's any official curiosity, you're simply acting as interested individuals. Any questions? What approach should we use? The obvious one, this trade agreement will permit the entry of cheap goods and put Americans out of work. While you're handling that, we'll be organizing the party workers and the various front organizations into the biggest demonstration New York has ever seen. Now, work fast. Probably no people in the history of the world have been as generous as we, but we hate to be played for suckers. And that was the Red's propaganda line for this attack. The results were frightening. We should let in their goods we don't need and put Americans like you out of work. If my congressman likes his job, it better not happen. Why should we give them prosperity and make a depression for ourselves? I say let's meet this Rasmund Bey when he lands and tell him to go home. As ward committeemen and businessmen, I want to thank you young man for the unselfish service you're doing the taxpayers of this country. Our wire, our congressional representatives, advising them that the voters in this district refuse to endorse any such trade agreement. But I'll organize a delegation to meet this... Now, whatever his name is, tell him to go back where he came from. Directed by propaganda, ignorance and misguided self-interest can be played right into the party's hands. At the Idlewild International Airport, surrounded by goons and agitators, these normally reasonable and good-hearted people would become part of an angry mob. A mob capable of driving Bey and his countrymen in their vital oil reserves right into the Russian camp. I reported the situation to the FBI. They had an answer. We'll contact Bey's plane and have it landed Washington D.C. instead of at Idlewild. I'll get back on the job and check with us in the morning. When I did check the next morning, the news was bad. Well, our plan didn't work and we're stuck. What happened? The old man's ill. This personal physician who's aboard the plane with him has countermanded our instruction. The plane with Bey aboard will land at Idlewild. Proceed to the airport as planned. You'll be contacted there. That was a real slap in the face, but a worse one hit me at the airport. A wild, shouting mob of reds and their dupes were waiting for Bey, and Franco and Hartman were waiting for me. They'd come directly from party headquarters with new and frightening orders. We have new instructions for you, Comrade Svedik. Yes, Comrade Hartman? Words been received from Washington that no demonstration can affect relations between the Western powers and Bey. It's already been promised a trade agreement. You have your gun? I was given one this morning. Good. You'll have a chance to use it. I'm not a very good shot. All right, then you'll have to get closer to the target than Comrade Franco and I. We three have been ordered to eliminate Rasmund Bey. Those are the orders? Those are the orders. Now, look, if you have anything on you that might serve as identification destroy it. I have the business identification, Comrade Rogers gave us. But then go to the smoking room destroyed and dispose of it. Yes, Comrade. And hurry. We'll wait for you here. The plane is due any minute. I was practically blowing my top as I heard toward the airport waiting room to dispose of my identification. And if ever I felt the need of help from the FBI, it was right then. As I stepped into the waiting room, a man following close behind me stepped on my heels. I spun around to face him and gave a little prayer of thanks. It was my cab driving FBI contact. But the thanks was a little premature. What's up? You looked worried when your boys were talking to you. The party's had word from Washington that this demonstration will have no effect because the trade agreement is going through regardless. We've been ordered to liquidate Bey. Who's to do the shooting? All three of us from different spots in the crowd. Can't you radio the pilot of Bey's plane and warn him off? It's too late for that now. The plane's too close. We'd have to spell it out so clearly that the party would fully understand your party. Let them. Let me glad to get out. I don't blame you, Matt. But I don't have the authority to do that. Well, whatever we do, we're going to have to do it fast. There isn't much time. I'll keep your shirt on. I know how much time there is. Carson, the guy you've been talking to on the phone is due here any minute. With a new plan? I hope so. He's coming through the door now. That little guy wearing glasses. What's new, Carson? Who's your friend? He's your telephone friend. The orders are out to liquidate Bey. And then we have to move fast. Our friend in particular. What do I do? We've arranged for a decoy plane.  The other, which carries official markings, will land on runway 4. Now, your job is to lead those party goons to the plane with the official markings. That's the decoy. Flight 23, now landing on runway 1. Special flight landing on runway 4. Yet going, friend. Point out the official marking to your boys and head them there. Roger. Well, one thing more. Get them over there, but don't get picked up with them. Once they're on their way, get lost or something. Good luck. Thanks. I reached out of the building and ran to where Franco and Hartman were impatiently waiting. Both planes were on the ground before I could convince the commons that they were heading to the wrong one. Why should you think this is the wrong plane, Comrade Svedik? Look at the official markings on the other plane. Nothing was said about official markings. Do you want to take the responsibility of letting Bey escape? No. Then follow me to that plane and eliminate Rasmund Bey. Come on. Come on. What happened, Comrade? Oh, my ankle. It's broken. It's sprained badly. Here, I'll give you a hand. There's no time for that, Comrade. Get to the plane. But you won't be able to get away. That's my worry. Your orders are to get Rasmund Bey. He's right, Franco. Come on. What happened, Comrade Svedik? We were trapped, Comrade Rogers. Comrade Hartman insisted that Bey must be on the plane with the official markings. I tried to argue with him, but he said that he had been placed in charge of the liquidation and that he was giving the orders. And then? Running toward the plane, I fell down and sprained my ankle. As I lay there, I watched Comrade Franco and Hartman drawing their guns. I'm afraid they were overzealous. When the plane door opened, they began shooting. They didn't have a chance after that.  He paid for it. As I left party headquarters, I couldn't help thinking. That time, it was Franco and Hartman. The next time, it might very well be me. For nine long years, I shunned all companions, sharing my secrets with no one. Because in the party, someone is always paying the price for misplaced confidence. That's why, by day or night, I choose to walk alone. Dana Andrews will return in just a moment. This is Dana Andrews reminding you that Abraham Lincoln warned us, a house divided against itself cannot stand. Communism's greatest weapon has been its ability to divide its opponents. Refuse to let anyone drive a wedge between you and your neighbor. Whether it's the man next door, or the man in some other country in the free world. Next week, we'll bring you another exciting story based on the fantastic adventures of Matt Svedic. Join us, won't you?


So now I'm delighted to pass you over to your buddy who will begin my presentation. Here you are again. Yeah, so I want to talk about Turbo Iwozum, so that's a working name. It's actually a reference to Turbo Geth, some of you have heard of it. It's a project by Alexei to work on to improve the speed of Geth and we want to leverage Iwozum. So it's a colleague and I from the Iwozum team, Paul Porjanski. We are working on leveraging Iwozum to try to make Geth a bit, or at least the 1.0 client a bit faster. So as a quick reminder, what is Iwozum? So maybe we should start with WebAssembly, what is Iwozum? It's a binary format that you can run in your browser. So you can write a program in whatever language you want, compile it to the Iwozum format, and then your browser should be able to run it. So now it's not only used, even if it's the initial intent, it's not only used as a binary format for the browser. You have a lot of other applications, you have people running it, you know, in what's called ring zero, like for amplitude application. So that used to be done in the 90s with the JVM and now people do it with the Iwozum VM. And yes, you also have blockchain projects that use it, for example EOS and of course Parity uses it for, actually is it for a Polkadot or is it for a Substrate or both? Both. Okay, thank you. Anyway, so how does Iwozum compare to Iwozum? Well, it basically was regular Iwozum except that you import functions that would initially up until now corresponds to specific instruction in the EVM. So functions like get the coinbase, get the code of the caller, things like that, that used to be instructions, now they are just function calls, so you just import them. So how is Iwozum going to be deployed in Ethereum? Well, you might have heard of Ethereum 1.x, which has been discussed for the last month and a half. So it's basically like improvements to Ethereum 1.0 to make it more scalable, waiting for Ethereum 2.0, which is now nicknamed Serenity. So until Serenity arrives we still need to make it 1.0 scalable. So that's what we're working on at the moment and it has been decided in Prague during DEFCON that it's actually been proposed, it will be decided next year. But we're going to use wasm as the language for precompile. So precompiles are special contracts that are called often and they are going to be rewritten in wasm, they're going to run wasm and if you want to extend it you can write the contract once and for all and you don't have to re-implement them every time you have new clients. And when it comes to Ethereum 2.0 wasm is the prime candidate to be the execution engine for each shard but that's further down the road so there's no promise of that yet. And yes, I'm talking on behalf, at least I'm part of the wasm team but just because we're working on wasm doesn't mean EVM is going to disappear, like the old EVM is going to disappear. It's still going to stay first because we have all those contracts that need to remain and as I'll explain in a couple of minutes, wasm is still working progress so there's a lot of reasons to keep investing in solidity in EVM and all this environment. So yeah, I was saying EVM is going to stay, there are some trade-offs but when you compare to the current state, there are different, there are some challenges, maybe some trade-offs you have to overcome. First is binary size because solidity compiles some code. It's very streamlined, you start executing it, there's no real transformation. It's pretty simple, it's pretty bare metal. When it comes to EVM to wasm or wasm, you can take whatever language and those languages they don't know, like those compilers, they don't know you're targeting any specific like a blockchain environment so they will produce a binary that has something called runtime so there will be a lot of cruft that is basically here to prepare for anything that can happen and yeah, all that cruft takes a lot of space.  I mean, each language has its specificities but some of them are adapted to this specific application or not. Yeah, like I was saying, the wasm spec is still evolving so we're not, I mean, it's going to remain more or less what it looks like right now, but we could have some surprises so when it comes to making sure that every single client does the exact same thing that's a bit of a challenge. And yes, the biggest trade-off when it comes to wasm is that like I was saying, you have an EVM binary, you start at the first instruction and you execute it all the way until you stop. In wasm, you require a little bit more work, actually a lot more work, you need to transform, you need to validate, you need to validate the binary, it's not, yes, like you have to go through the entire program, check everything, it's fine, all the loops are properly completed and things like that. So it's been designed for an application that would last, that would run a long time, so same Gmail, you have Gmail in your browser, it could be written in wasm. Clearly, you're going to spend like 10 seconds waiting for Gmail to load but once it's done, it's going to remain, it's going to be running for hours and hours at a time. In the case of smart contract, the load overhead is a bit of a problem because the smart contract executes and then you have to load another module which corresponds to another contract. So it's not as easy or at least it's not as simple and it's not as fast. So that's one of the trade-offs we have to deal with. So until now, I tried to describe pre-compiles as libraries so it would be some contract that you call. And yes, like you could optimize it this way. In wasm 2, you load it once and for all. The module is there and you keep calling it again and again. But at this point it starts looking more like a service and that's really what the core of this proposal is about. Start thinking about pre-compiles more like a service than a library. So we keep them permanently running. And because in regular operating system, which is where Paul and I, the world that Paul and I come from, it's an operating system, a service system to have better access rights. So we want to explore the idea of giving those services a bit more control over what the client does than regular contracts do. So we would like to give them access to the transaction pool to be able to map memory. And yes, that's what I'm going to talk about. The main domains where we could actually improve or at least offer something or experiment at least. Scalability, of course, because that's kind of the thing wasm is here for. Storage. Whoever has implemented a client knows that storage is a problem. If anybody has done a full sync, which is what I'm doing right now at home, it's taken three weeks and I'm not even halfway done. Parity. That's right. Yeah, parity, yeah. I'm going to the parity office on Monday, so I'm not saying anything. And yes, consensus. So that's the one that is a bit more science fiction-y. I don't know how to present that, but I just want to throw a couple ideas. And yes. So let's start with scalability. So I just want a quick reminder about parallel execution. So right now, you need, when you receive a block, you have transactions and all of those transactions get executed before the mining starts. And it's very important that it's sequential. I'm going to explain why. What we would like to have is something where, yeah, so what I meant, if you look at the second CPU, it's idling until the mining starts. It's not wasted, it's not a lot of time, because clearly mining dwarfs everything else. But because you have things like uncle rates that go up from time to time, being the first to the block is quite interesting. So what we would like to do is the second case, which is to have all the transactions spread between the two CPUs and be able to get to the mining faster. And that's all the more important, because when you're actually syncing with the network, the mining is gone, so the transaction is everything that's preventing you from being up to date. So why can't you really have transactions that are... Ooh, okay, interesting. Yes, but at least the picture is still here, so that's good. Yeah, so to try to explain why parallelism is a bit difficult, I proposed three transactions. So those squares on the left represent the states, and when you apply the transaction, each transaction applies touches of rights or reads from squares. So the transaction one will be represented by reads of rights to the red square, the two to green square, and so on. And now, yes, next slide still exists. So you can see, for example, if you perform transaction three before transaction two, you get a different result than if you get transaction two first and transaction three afterwards. In the case of transaction three and transaction one, it's not a problem, because they don't actually write to the same area. But yeah, you see the problem. So what needs to happen is that the exact order of the transaction needs to be reproducible, because if you don't, you just dump all the transactions in your blog, someone sends the blog, execute the transactions like in parallel again with a different number of CPUs or something like that, and it turns out the order is inverted and therefore you have no consensus and you have a form. So yeah, like there's... difficulty in partitioning is really determining which non-conflicting transactions can be run together or concurrently. If two transactions touch the same area, it's better if they're run sequentially and if they don't touch the same area at all, you can separate them and run them in parallel. Yeah, so one idea is that partitioning is really a generalization of sharding.  So there's an EIP that already exists. It's called 648. It's been created by Vitalik. And the idea is that it requires a little tweak to the current model where each transaction has to declare upfront or beforehand which addresses it's going to touch. So in the first case, you have the transaction pull on the left and each transaction says I'm going to address those addresses. And if, for example, the number one and number two overlap, so the transaction scheduler will say, well, clearly those overlap, so I'm going to put them, they should be executed sequentially by CPU one and three and four, they overlap two, so they're going to be executed sequentially by CPU two. And then once it's done, you just wait for completion and then you start mining. One of the things Paul and I are working on is live partitioning. So the idea is to do more or less the same thing but without actually changing the interface. So the idea is simply you run everything in parallel as if it was always possible. And if you detect that there's a conflict, you drop the second transaction, the second writer, and you put it after or in a different block, yeah. So the way that would happen, so you have two CPUs, two transactions running on two different CPUs and you have the global state at the far right. So transaction one is writing into locations, transaction two in one location. And then in the next step, transaction two tries to write in the second location but it's a location that has already been written to by transaction one. So what we do is simply idle. And it feels a bit wasteful but what you have to realize is that if you compare it to the current state, you wouldn't be using CPU 2 anyway. So it's like you're trying to cut the line if you don't get caught good, if you get caught well too bad but you don't go to jail for cutting the line, so that's fine. Another execution model that we're looking into is the classic map reduce. So a lot of people I assume are familiar with this because of Hadoop. So the idea is to go even deeper inside the state and realize that not all transactions address the same state, the same area of states. And that means that you could technically run several transactions in parallel at calling the same contract but not touching the same area. And you would need some special kind of service for scheduling that we'll get back to. So this is a fantasy code of course but the idea is that you have an array that contains all your tokens so this is some kind of ERC-20 token. You have a first function that tells that the scheduling contract or the scheduling service would call to tell you, I have two transactions. Are they conflicting? So you just check, so this is a very simple example. You just check that the to and from are all different and if they are different, you just return a true. So that means, okay, the scheduling service knows that it's possible to schedule them together and then it will select to... It will call, for each transaction it will call the mapper function on a different CPU but because those transactions are not conflicting it's safe. So on the more functional presentation you have four CPUs and four transactions but two of those transactions write to the same location so at most three transactions can be loaded or executed at the same time. You assign three CPUs to it. The fourth is idling or doing regular contract management and the third transaction is pushed back to another block or later down the list. So that was it for execution. For scalability, execution scalability now. I want to talk about storage a bit. So yes, the first technique that we use a lot in operating systems is caching. So you just cache a bit of the state. So right now I was talking about Ethereum 1.X or 1.5 before. There's a proposal still by AXI, the TruboGaith guy who just proposed to have some linear space so apparently it's not making it to the final draft but this is still an interesting idea I find. So map some areas of the space linearly and cache it. Get is spending a lot of time waiting for IO so what we want is to reduce that. We just want to keep that in memory and only write so often so spend less time just waiting for the disk to respond. So once you do that you can actually do so that was the state, the memory. We can do that for the code as well so I have a bit of an over complicated diagram to explain that but you still have the transaction pool here and you have a cache of contracts and you can see that transaction 1 for example at transaction 3 all correspond to the same address so they want to call the same contract and it's been cached. So the scheduler is going to say okay they clearly access the same contract let's put them in serial in sequence on the first CPU and then we see that transaction 2 also corresponds to a cache contract so we're going to ask CPU 2 to execute it first because right now the cache is still containing the contract so we should benefit from that and then transaction 4 is not in the cache so you execute it afterwards and load it from disk it's a bit of a pain One thing you can do however that's a diagram that has been used at Defcon is while you're loading that contract you can actually while you're waiting for the disk to load the thread is running on it will just lock and give way to another thread so more work can be done that's roughly what we're working on and now I just want to like I was saying something that is a bit more science fiction but I think it's a pretty exciting idea so I'm talking about it anyway and it's to give to those services to those contracts part of the consensus and the idea is that I was talking about the model like the MapReduce execution model before I was talking about the other that I didn't give a name to but let's call it the commutative transaction model I don't know and those things could depend on the type of traffic if you are at the time where you have a lot of cryptokidic like or an ICO a lot of transactions looking the same you don't want to use the same the same service as if you're executing a regular contrite that just an ERC20 token for example so it would be interesting to actually be able to send a transaction to some service to explicitly address that service and the service will schedule those transactions for you and from then some miners can decide to run some service or not and that's pretty okay because actually in Ethereum you can still have blocks so you can have several blocks that were all generated using a different execution model and of course the only thing that matters is that if your contract is not available or if the miner doesn't want to run that contract you should always be able to fall back to the standard execution model and now I start using the big words governance yes so there's always a debate governance is a big debate so why I find this idea interesting in spite of being a bit a bit undefined still is that you don't have to really vote if you want to have a fork to agree with everybody you can just deploy your own service if people for example if miners don't agree with your service with what your contract does what your service does they will refuse your transaction so you can go to a different miner to propose that transaction and the only thing that matters with that model is that even if you refuse to access to run a given contract if you end the block that does use it like there's a transaction that did use it you need to be able to execute it so the hope is that it will result in less force or at least reduce the need for forks but yeah that's still up for debate and I'm really interested in discussing that with people yeah so as a conclusion yeah like the reason why we offer that we want to work on that is because we believe they are advantage for miners simply because they get to generating the block faster and hopefully that also translates to an advantage for the user because if it costs less to generate a block hopefully the gas costs are going to also be reduced and ultimately when you send a transaction you wait less time which is always the the goal and on this that's the end of my presentation thank you I need to have any questions you are answering questions do we have some questions it's way too technical for me but I'm sure we'll have some more thank you there so the the second part is like the storage right so those ideas they look kind of generic in the sense that they could be implemented by any client what's the is there any relation to you wasn't right so indeed like some of those ideas are already implemented in gas for example there's some caching in fact Peter currently is doing a lot of work on that actually is it Peter Felix I don't remember but one of the two is doing something on that so why is it related it's not so the reason why it doesn't have to be wasn't the thing is I was just mentioning that because the caching could be used as an indicator of what transaction should be scheduled next so this is just connected to that idea but clearly caching is not a novel idea and yes it's already in use and obviously internalized did you measure how much of the current traffic could be paralyzed yes and no in the sense that yes I started measuring but for that I mean my note to sing the entire blockchain and unfortunately I didn't reach I have some pre some pre diagrams at home but they just where I am at the moment is right after the Dow hack so you have a lot of conflicts going on people are calling the same contract over and over so it's not giving me an overview but yes I'm looking into that and I will I intend to publish that hopefully before the end of the year this thing takes a lot of time I might not have the best computer the best network connection and so on but yeah it's been taking me three weeks so far have you started about using your Sleeker network and just walking to someone with a note yes I have started that except some people who do that it's a $800 a month cost so yeah I mean I asked a couple people but they were not really happy to have me run scripts that take forever on their on their machines but if you have a note that has already synced please talk to me I would love to yes you do yes except all my code is forget but I'll be talking to you soon do we have some more questions so I would say thank you very much youngs let's go


Welcome to Jenkins documentation office hours. It's the 23rd of December reminder that we abide by the Jenkins code of conduct. So topics that I had on the agenda, news, Sheikot Africa contributon, modernizing a plugin, and then I just added an action item. What other topics do we need to add? Meg, I know you had submitted a question in the docs office or in the docs getter channel for a particular poll request. Should we take some time here and managing Jenkins? Sure. Okay. So there's the poll request, great. Elizabeth, are there any topics that you wanted to bring? Okay, great. All right. None for now. Okay, super. Thank you. So by way of news, Jenkins on Java 8 deprecation poll requests are in progress. Needs a Jenkins enhancement proposal that plans the transition. And that transition includes documentation updates, compatibility, security, transitions on platform installers like Deb, RPM, MSI, et cetera. And lots of work to do there. And would it be useful to have a rough schedule to understand, I mean, when I first heard this, it's like, oh my God, we've got to scurry and get this done immediately, but this is beginning, right? It's not deprecated yet. This is, oh right, this is far from deprecated. These are still conversations about how it should work. So one of the challenges is there are some alternatives that, okay, my employer has large enterprise customers. So my employer, Cloudbees, has large enterprise customers. And those enterprise customers are relatively slower to move versions than a typical Jenkins user.  So alternatives that were offered were thinking, okay, so alternatives that were offered were things like, should we continue a parallel, you know, should we make something a long, longer lived release as the last version to support Java 8? You know, give it six months or 12 months as a viable thing. Or should we delay the current draft, the current rough proposal was from Tim Jacome, June 2021 as the transition LTS. So make it go there. And with that transition, that wouldn't mean we've got just a little over six months to get people ready for this. And you mean 2022? Oh, yes. Thank you, 2022. Yes, I do. Good correction. Yeah. And so for me, that's feeling too fast. And I've got to express that in the mailing list. To say, hey, I think we've got, we need to give ourselves more time. We used, we used 12 months or more for the Java 7 to Java 8 transition. And I would expect that this transition needs, needs a fair amount of forewarning for users and preparation of documentation, code changes, getting ready, et cetera. So Mark discuss in the mailing list and start a plan after the new year. So I'm, I'm not expecting to start work on the Jenkins enhancement. It'll use a Jenkins enhancement proposal to describe the plan, just like we did for the Docker image change. And the Docker image change plan was very helpful because it exposed all sorts of surprises while we did the planning. Oh, didn't think of that. Oh, didn't think of that. So good, healthy thing to do. Any other questions on Java 8 deprecation? Okay. Next topic then was Linux transition from system five to in it to system D. So this is the inside the dab. And RPM files. We use system five, the old style in it system to manage start up and shut down and restart. And all the, all the Linux distributions we support now use system D and have used it for probably three to five years. We've got some bugs in the bugs, a bug on Debian 11, that the, that would be fixed by switching to system D. And then we've got a proposal from, from Jesse Glick to simplify the code dramatically, simplify the restart process to make it even better. So, so there are, there are some positive things there, but development is complicated in that area. And testing is really complicated. And people are, it gets terribly ferociously grumpy if we break their installer. So lots of, lots of things to do there. What about somewhere, don't we have a doc section about messing with boot parameters and this is that impacted. I don't know how long since that's been touched. Yeah, I think that would probably also be affected because system D install docs will certainly be affected because system D thinks differently about how you set configurations. And somehow or other we've got to decide, do we carry, do we try to translate the old to new. And after translating it, is it stored in system D now. All sorts of things like that, right? So I configured which port does my Jenkins use for HTTP communication. And that's in a configuration file, but the system, the system D config would be in a different location. And I certainly don't want to have to redo that on the upgrade from one version to the next, because most users won't read won't redo it until they find it broken and are very angry that it broke. Well, all this stuff about. I, the different, and never mind, I'll find that out later. And it's planned. All right, so that's on the news stuff. Next topic was review the managing Jenkins edition for Meg. Okay, so, so this one. I started to adjust the order of the files in there and then I started to have this giving. Okay, so this is just an adjustment of order. You didn't delete them. I see it there. Okay. My mistake. It's, you just move them down. Good. Okay. Because we can't delete them or even move them to the other section until we have a redirect. Right. Okay, good. All right. And we need to see if the structure even works. Cause I saw some things that are in other sections that kind of look okay there. Okay. Now I'm not sure what you mean. So let's take a look at. You're referring to this documentation here. So managing Jenkins. And we'll look at the PR. You see the things that I linked to. I wrote this to go through the entire managed Jenkins screen. Right. A couple of the links are going to files outside of the managed Jenkins section. Oh, oh, I see. Okay. Okay. Okay. Well, so maybe that those files be wrong. Guess where they are. Why is my mouse not clicking? Okay. So. Okay. So first step, we don't need. Good enough that it is not a work in progress. So we don't need the. That dialogue. Oh, except I should actually just propose the change. Here we go. Change. All right. Then. The managed Jenkins about page shows. Jenkins on your system. Okay. And so is it common to end a list item with a full stop? I wasn't sure. I wasn't sure what the convention is. It's been back and forth and I started doing it. Okay. Yeah. I've, I've been using the convention of not doing it, but I don't have a strong opinion. I don't have a strong opinion. I'm not writing standard for it. I'm fine with either. No, there's constant.  I swear going through all documents and adding or removing the full stops. Got it. Okay. So we leave that as uncommented for now. All right. So. Okay. And this is now the intro page. The page that replaces this thing. Right. Okay. Good. Good. Agreed. Okay. Okay. So. Monitors that alert. Oh, yes. Yes. Oh, yes. You're describing administrative monitors. Thank you. My, my thought and. I'd love to hear your input on this. Is that if I were new to this, that's a big screen. And I would like to hope I would like to have a document that walks through that screen and tells me what I'm seeing. Right. And I think that's a sensible idea that, Hey, here's a picture and we're going to zoom in on pieces of the picture because you're already highlighting. Look, here's this thing right here. So let's go. To not this one. Let's go to this one. Jenkins. Here. No administrative monitor. Oh, I know how to get an administrative monitor up there. We'll do this. There, there's an administrative monitor. Right. That's top right hand corner thing says. Okay. And the built in node can be a security issue. You should set the number of executors to zero. See the documentation. And there it is. Good. Okay. Now. Now in general, those monitors don't necessarily include links to the change log. I think the one, don't the ones I'm managed Jenkins to. Not as well. So I'm on. Let's go. Here I am. Okay. So here I am. And that administrative monitor will still be visible.  So just a moment while I bring it back. Okay. It's now going to be back for 15 seconds. Even when I'm in managed. Oh no. Interesting. Yeah. So here's one. This one. Yeah. This one shows. Okay. Here is, here is the warning. Okay. I'm going to go bring it back. Okay. Okay. So let me. So may include useful links such as two other documentation. Right. Most of the ones that I have seen have been your, you need to. Upgrade or there's, you know, there's a security. Issue or something like that. And those do to change logs, but. Yeah. So for me, it's something like that. Yeah. Okay.  And then I'm going to send links to additional information about the issue. Because in my case, I was doing something. I'm doing something that's not recommended. Don't run. Don't run. With non-zero executor count on your controller. They are not getting one for that. Okay. Good. All right. Okay. Inline help is available on most managed Jenkins pages. So for example. Let's see if we look at. Global tool configuration. That's a good one. It comes up pretty quickly. And over here, there's a question mark. That's tells me, Hey, what to do. And here there's a question mark and here. And the question marks are steadily getting better in terms of their consistency where they appear, et cetera. So one step at a time. Yeah. Good. Okay. Okay. Now this looks duplicated. Yes, it does. Okay. And that didn't help me at all. Let's see. I do reread and reread so much. You don't see stuff anymore. Well, and that's why we do reviews, right? This is exactly the purpose of a review. So that's great. Okay. Okay. Good. Got it. All right. This is one I'd like your opinion on whether I still, I'm a trained historian.  I did hear it down a little bit. Okay. Yes. But I think people do show up that they used it five years ago. And it's like, whoa, everything looks different. Uh huh. Right. I just stuck it in a note. Yeah. So here you're describing, okay, we did tables to divs. And that's a, that's a real positive. And then we did improvements to the, the. With grouping. Do we want to, do we want to link from here? Oh, you've got it. You've already got it. So, well, okay. So we've got a link for this one. We don't have a link for the. Um, the, let me see if we can get one because I like that you've, you put the four more information and. This thing in particular highlights, hey, we're doing some major stuff. Then there was a blog post, I think on. Uh, the change to the. To, to what was it to manage. Oh, to the configuration page. No, it's not. Let's see. Manage Jenkins overhaul of manage Jenkins page. Yes, there is. Is this it? No, no, this is not it. Nope. That blog had it, but I, maybe I. No, so that's this, this one is from 2018. So it's too old. Okay. So manage Jenkins. Maybe there's a different page. No. Okay. So. Yeah. If, if I find it separately, we can, we can always add it later. Okay. Great. So. Now this one, this is a generic link to the, the stable change log. And it will always show the most current one. I'm not sure that they'll benefit from that. That's not going to help anymore. Is it? Well, if we want to show them the change log, what we need to do is link to the specific change log version. And, and there it might be that we want to link to. 2.277.1 for instance. Which is where that was first introduced. This thing right here. And it talks about major changes in weekly. Extreme, et cetera. So, and I like including that. It's just, if you're okay with it, let's, let's change it to instead be. If somebody really wants to know exactly what changed the change. Exactly. Most sane readers will skip it, but. Yeah. And, and well, they should, right? There's no. If you don't need the information. So use a, okay. Yeah. But actually for us, it's nice going for frankly. Five years from now, somebody wants to know exactly when did we do that? Right. And, and that's a, that's just a good highlight. That's a healthy thing to highlight. Now one more change while we're here. We use, we tend to prefer to take off the WWW stuff. Because then we can do site development. And then we're taking us away from it. Right. Okay. So. System configuration group. All right. System configuration. Global tool configuration manage plugins. Yes. Good. Okay.  And you said it here. Very good. Yes. Okay. But we show it here because we intend that everybody should have this thing. Right. We would prefer that every, every Jenkins installation has configurations code. Good. Okay. So now back. And I suspect before too long we will. Okay. And the docs will still work. Excellent. Good. Okay. So now if I look at, so you've described system configuration here. And then now the next is security. Okay. Good. All right. Oh, nice. Okay. Yeah, there's one that now that's not in the credentials is not in this section. And I think that's maybe a good thing. When you say credentials is not in this section. I mean the, the, the. Oh, right, right. We are linking to someplace that's not. Immediately in this page. That's for me, that's fine. I think that's very reasonable. Yeah. At one point I was thinking we'd move all that other stuff into this, but it's like, no, that doesn't make sense credentials. I'm not. A little bit of a question whether it belongs right where it is, but doesn't necessarily belong here. Right. Make the, I agree. Status information. Yeah, there it is. Good. Okay. Okay. Now. Is this usage actually included? Good. It's not. Okay. I feel better. Oh, it's not. Okay. No, this, and this one's actually, there's at least one of the dis usage plugins is a dangerous thing performance wise. Okay. Was it there a little while ago? May have been. Don't know. Yes. So when I, when I need to know disk usage, I will commonly go. To this location. And look at all the, the disk usage report that comes from the, the list of notes, the agents. Right. So, I may have been cribbing some existing docs and not comparing them against what we had. Well, and certainly the, I believe there are products that ship with a disk usage, disk usage thing installed by default. Right. And we really need a whole guide on what to look at in your system to see what's going on and that's not here. Right. Exactly. So system log is definitely there. So in my case, I've got monitoring enabled system information system log. Good. Okay. And now you didn't show. I don't know if mine is because if load statistics, I thought this was a standard part but you didn't see it on yours. I don't, I'm not running a Jenkins right now and I need to get one running. Well, so I'm going to I'm going to go ahead and do the same check on a Jenkins instance that is well managed. Yeah. Okay, so load statistics is there. So that would need to be in in and cloud statistics. And I don't think I have that one. So load statistics only applies if I recall correctly, if you've got a cloud provider installed. So for instance on my Jenkins, I don't have a cloud provider installed. And so I don't have any cloud statistics. Is this one that should be included though the way that cask is. Yeah, probably should good point because a fair number it's not, it's not a corner case a lot of people are going to have it right. Probably if you're hosting on a cloud and using agents that are ephemeral, you are likely to have exactly that. So, let me make a note here that alright so it was need to add the cloud statistics, and the load statistics. So that's a lot of indications pages, because at least for me I find there are times when this load statistics things can think of a real hint like on here on Jenkins that I owe it's fascinating to see how the load looks. There are times when we will spike 90 executors running concurrently. Interesting. So troubleshooting, manage all data. And this one, does this one appear? I thought that one only appeared if it was needed, that it was, oh no, no, it is always there, my mistake. Okay, great, all right. This one has a begging for, yeah, that's a brilliant short description. There, you could write books about this thing. How Jenkins intelligently handles a rival of data or detecting data that it doesn't know how to process it. And it puts it in this manage all data thing and it's really quite cool. Okay, so screens for common tools and actions. Okay, now back to the, oh right, yes, okay, good. Configuration from disk, CLI. Oh, okay, and we've got doc on CLI dash ADOC. That name surprises me just a minute. I need to do a quick check to see if I believe that. Pushing on my stack. Okay, so that one is your PR, okay. Oh, it looks like we lost Meg. There it is, okay, good. I understand what the changes that's needed. Okay, so I've been gone a little bit and I think my internet's being flaky, but I think I'm back. Yeah, so well, and all I was while you were gone, all I was doing was change the fixing a reference. Okay. So the reference is listing CLI dash ADOC and it's actually just CLI. Okay. But now, and that should link to a file inside managing and we'll run this and double check it just to be sure, okay. So ADOC suffix, okay, good. I know, there I wasn't sure, can you hear me? Yes, sure. Yeah, okay. We don't have a section for prepare for shutdown and shut down and it's like, I don't know that I want a whole doc page about that, but I'm not, so right now that has no link. Yeah, okay. Now you mentioned, okay, well, so say that again, help me save one more time. Original thing was that this would go all of these sections and we'd have a link from each one on where to read more. I don't have a link for prepare for shutdown. Oh, I see, right, got it. And I don't know that I want to write up a page that's how you prepare for shutdown. Yeah, that for me, if we don't have a separate page yet, we leave it exactly as you did it. Okay, and but I could write up, I mean, there were a couple of them that we didn't have a page for and I did something quickly and threw it in here, but I don't know that I want a page for that. And I don't see any harm to that. Oh, okay. Those two colons on the end. We'll turn that bold. Turn it into a definition term and definition terms, if I remember correctly, are bolded. Okay. And now this one, these, the things that you listed in the un-categorized group are actually now categorized. I'm really proud of that. It's a big win. They are now system information, system information, let's see, is it system information? So load statistics is in system information and let's go to mine that has more and monitoring of Jank and Zank agents and masters, but that one comes from a separate plugin. So I'm not sure that, and I don't know how popular, maybe we should look, actually, let's check to see just how popular it is. Job on that load. So 20,000 installations, so roughly 10% of the installed base is using it. So that one may, how do you want to handle, what do you recommend for handling optional? I'm not sure. Okay. I mean, part of me, it's back to need a good chapter about how you monitor the whole system and where we might mention some other plugin. You know, there's no play to go and say, I've got to know what's going on, what other plugin should I be pulling in here? Right. Okay, so I'm going to propose a change here of un-categorized is used for those plugins that have not yet defined, declared the category of their page. And so, let's see. So this one is, so this is describing the un-categorized group and it's for plugins that have not yet declared the category of their page. We would hope that that content would actually be empty because every plugin should declare its category. Right. But plugins revise at their own timeline. And so... So all of these links are there but they're elsewhere on the page now. Well, so they are there if the user, this one, for instance, is there if the user installed the monitoring plugin, likewise for this one. This one is there. I think if they install, I don't know if it's the Docker cloud plugin, I don't have it and ci.jankins.io doesn't have it, for example. But I suspect if I were to install Docker cloud, maybe let's do that. Let's just see. Docker. There are many different ways to do Docker. I don't know if it's Docker slaves. Four years ago, Docker sworn. Yet another Docker. Sorry, I don't know which it is. Would I get it automatically if I had chosen the Docker image to install Jenkins in the first place? No, no, because this thing is running from the Jenkins Docker image. Oh, okay. So it may be as simple as this one. Let's try that one. The Docker plugin, it'll be back in a minute here. Okay, so onward. Okay, so we've got a documentation section somewhere on Groovy Sandbox. That's good. It needs some work, but it's there. Excellent, okay. There we go. So we're in documentation, managing Jenkins and the topmost page system. What was I looking for? Oh, Groovy Sandbox, that's right. Wait a sec. Oh, different page, script approval. Sorry, I need to look at the right page. So script approval, which is in-process script approval. Here we go. Okay, Groovy Sandbox. In a Groovy Sandbox. There it is. Okay, great. All right, so the link is absolutely working. Good. Ooh, yes. And you describe in-process script approval. And I thought this was there all the time, not conditional at all, because I don't... Right, but you mean whether it's on the managed Jenkins page? Yes, I think it is. Right. I meant to say, but that does say that it's only going to show. Yeah, so how about let's find some, posing a different phrasing. Okay, so let's see. If an unsafe method is using any of the scripts, the administrator can go to the in-process script approval action. Oh yes, that's good. Administrator may use, can use to allow the unsafe method. Right. And we recommend against allowing, or no, yeah, how do we say it? Do not allow unsafe methods. In general, is it okay to say in general, do not allow unsafe methods? Well, because they are unsafe. Now this is terrible phrasing, so help me out. Yeah, because I'm thinking that what we mean to say is be very careful, be sure that what you are allowing is in fact, say, or some, in other words, I thought that something can show up as an unsafe method just because maybe it's something that I wrote for new and so Jenkins doesn't know about it. Right. And I need to tell Jenkins that it's actually safe. But usually if you're being warned that something is an unsafe method, it's real, but it's an unsafe method and you should consider that you're now threatening the stability of your Jenkins controller by enabling it. Well, be very careful when using this. It's like, I don't wanna say, here's this thing, don't ever use it. Right, unsafe. I wanna say be very careful when you, be sure you know what you're doing when you use this because you could not be enabled without careful thought, consideration of the impact of the method. Good, yeah. Is that a way to say it? That sounds nice, yes. Or careful consideration of the impact. Yeah, there we go. So please, please be careful. Yeah. Okay. All right, and system management. This, I'm gonna say approved with, Okay. Yeah, with suggestions for your consideration. Excellent, thanks Meg. All right, anything else on pull requests or topics like that? There is another older related PR out there that's not mine. Okay. That might be worth looking at just too, cause I don't know what to do about it. Okay, which one's that? Where is it? It shows up here somewhere. I just saw something about configured Jenkins. Okay, so I'm not seeing it there on page one. Oh, I just, just a second ago, I was looking at the screen. Maybe distributed builds migration from, I forget from, how embarrassing, Jonathan, maybe? Let's wait a second. I just, what is, sorry, I was looking away. Which one is it? The distributed builds migration was one that Jonathan did significant work on. It's been through lots of different comments. No, that's, this was one that, and I'm sorry, and I just lost a whole bunch of tabs, et cetera. So, but God, just a minute ago, before this meeting, I went looking and spotted it. And we get basically somebody else like a year before the, before the UI changes had gone through and done something about configuring the, made the configuring Jenkins. Maybe this introduction page about system and manager Jenkins? Yes, yes. Okay. And I don't know, and Oleg and made some comments and they, I'm something that I'm confused about is I noticed as I look some of these older PR, somebody did a PR and somebody commented and they sat there for months or. Right, and yep, you're, you're exactly correct. So, so well, so let's take a look at, okay, so when he changed it was to configuring the system. And this is in contradiction to your change, right? Because we've got, your change is going to switch us strategically so that this system configuration page is a description of managed Jenkins. No, no, no way to say it. Of the system configuration section under managed Jenkins. Ah, okay, got it. So manage Jenkins and you say there is a system, the first thing under managing Jenkins is configuring the system. Ah, got it. Okay, got it. Which right now is content free. But you have added content to this or have you, have I? No, no. Okay. I was thinking of doing that, but see, and this one was done before we had the sections. Right. Okay, so what you've done is you've added to, let's look at the files changed in yours. You've added to the, added to the chapter with an about page and a system info page, but have not touched the, that opening page, this configuring the system page. It's still listed as work in progress. Because I figured that could be done as a separate PR. Absolutely, yes, absolutely. Okay, so then the question is, what do we do, should we do something with that, with that pull request from Jonathan? Right. And I'm sure the answer is yes. And then it's all right. How do we, is it ready to merge back to where we were? Okay. So this was on, oh, let's just do author, get JB. In one approach is we merge it and then I do some writing based on what he had done. Right. As alternative as I start from a blank sketch, like so. Yeah, see, here he is describing again, the things that you've put into the top level page. Right. And so for me, this is a, no, let's not do it there because we want that in the manage Jenkins page, not in the configuring the system page. Right. But now he has some stuff that I don't have. Right, so. Here's the question under, like, and I do like and he's talking about the REST APIs and, you know, that's a place. And where do we mention CASC? We mentioned that that's there on that list. But, and it may be, I would sort of think in configuring this, it may be that configuring the system begins with mentioning, we've got this UI and that's what we're going to talk about but there are other ways you can set configurations. That would be, or have, this might be a good place to say, hey configuring the system, you can either do it through manage Jenkins, which then linked to the manage page or through configuration as code and linked to configuration as code or through, yeah. So I think this page, the way he approached it is valid but we've shifted the content elsewhere. But if there's still some content that we can use here, we can certainly take it from him and bring it in. Right. But I think we should do that in a separate poll request. Absolutely. Okay. Let's not conflate. This one is once you've had a chance to think through the proposed changes, this one is, I think, ready for us to merge. And it gets us out of having this page listed as. Work in progress. And do we have any, I didn't check, do we have any more work in progress notes? I don't think so. Yes, we do. One more system info. This one is. Ah, yeah. Just because I copied that from someplace else. Right. And should look, actually that is new content. It's not very much, but see if you agree with it. Yeah. And it's definitely not work in progress. We shouldn't say, hey, this is not cooked yet. It's. Right. Except, okay. Okay, got it. All right. So, yes. Okay. So I think we're ready to have you look over my, the proposed changes I made reviewed the PR, the system configuration PR from get JV briefly include its content, include a portion of its content in a later poll request. Yeah. Because I think it makes sense that we, we don't want to lose what he, what he created, particularly with Oleg's review comments. Yeah. I think most of, as I recall the big one from Oleg was that he hadn't listed everything and he hadn't put in, et cetera. And his list sounded like it was comprehensive. So. Yup. Good. Okay. It wasn't some substantive about him saying that you could do this and Oleg saying that's very dangerous or something. No. It wasn't that. Okay. And then there's the other question of our longstanding friend about security. We're against, it's like that needs to get merged and that needs Daniel. And obviously Daniel's got much higher priorities right now. So. Yeah. Though it's, it feels like that maybe when we just want to ping him over the holidays here, see if he's interested in review or I could bring it back to life by adding some of my comments and inviting his comments to reply. Right. I mean, a very part of me is like, I mean, we know it's, it can be improved, but can we get it to the point where it's safe to put in what we've got. Right. And improve it later. Cause there's a bunch of stuff there that I think would be really good to have out there. Mm-hmm. Yeah. And much of it came right out of Daniel's mouth unless I misreferred, unless I screwed it up in the translation. So. Agreed. Okay. Elizabeth, for context, you know what we're talking about. Daniel Beck is our security officer and he is, he knows everything else too. He's really, really good. He is of course, very hard to get resources from. And right now with log 4J, I think everybody's doing that. But so this is a PR that I did a while ago and it's sort of sitting there and aging. Yeah. So on screen, what you see is restructure the security section. And, and okay, it looks like Daniel has requested changes. Had you made those changes that he requested? I may have. Oh no, I requested changes. Hang on just a minute. Let me just re-review. I've scheduled myself a re-review. Yeah. Because all of Daniel's comments appear to have been, have been resolved. So. There's one of yours that isn't and I responded to it. Okay. Great. I'll, I'll review it separately. Yeah. I admit for a while I was looking at this thing every day and I kind of stopped that a couple of weeks ago. Okay. Good. And then because if we get that one reviewed, then with that, that one has to go in and then we have to do, then I have to redo all the others. Great. All right. Yeah. So this one is, so this, this one here, the restructure is the leader that goes in. Yes. Okay. All right. I should actually just have tagged all those others as on hold or something. I think all of them have comments that say, don't merge this until that one's merged. Yeah. And I think we can. And I think the issue, because all of them are going to hit the chapter file and, and to do the development, I just shoved it at the end of that list, but we'll need to put them in the right order. Yeah. I can at least label them working progress. Okay. And I thought I could mark them as draft, but I apparently can't. So I'll do that separately. That's an easy step to take. Okay. All right. Actually, I can do that now. Can't I? Probably. Yeah. Just go into what you do as you open up the pull request and on the top right-hand section here, there's a convert to draft. Yeah. Okay. So we've almost run out of time. Are there other topics before we conclude? Anything from Elizabeth's exciting? Elizabeth, anything we need to be aware of from you? Nothing. Nothing from me for now. Just that, while you were going through the whole what you were going to make, I was a little bit lost, but I just had down some things that I'll check up on Google after this meeting. I'll just check it up myself because I do not want to draw us back on this. So I'll check it up myself and probably in the next meeting or I could reach out to Zeno or send Mark a mail in case of any. So that's what I'll do. Okay. And you are welcome to put a comment in because Dona, it's on these sorts of things. This is written for somebody who's just starting with the system and you may have insights that Mark and I completely miss because this isn't clear. So I would love to have that kind of comment. It would be very, very useful for everybody. All right, thank you. So don't be shy. Thank you. All right. Okay. Anything else before we close for the day? So no meeting next week. I'm unavailable next week, but then we'll meet again the following week. So I will be gone December 30th and we'll meet again January 6th. Okay. All right, thanks everybody. Recording, I'll get the recordings uploaded within the next 24 hours so that they're available. They'll be on communities.community.jankins.io. Happy New Year everybody and we'll talk in January. All right, thank you. Thanks Elizabeth. Thanks, bye.