Ladies and gentlemen, the President of the United States and the National Commander of the American Legion. It is with deep pride and personal privilege and most distinguished guests. This is the second time this year he has honored a gathering of legionnaires and guests with his presence. And the second time he has appeared before a national convention of the American Legion. At our Washington Conference in February, he presented a major foreign policy address. And at that time we took great satisfaction in bestowing on him the American Legion's highest honor, the Distinguished Service Medal. Ladies and gentlemen, without further delay, please join with me in welcoming a fellow legionnaire from Pacific Palisades Post No. 283, President of the United States, Ronald W. Reagan. Thank you. Thank you very much. Thank you. Thank you. Thank you very much. Thank you very much. Commander Kellogg, Governor Spellman, Secretary Donovan, Senator Gorton, members of Congress who are here and all of you, my fellow legionnaires, I thank you for that warm greeting and the feeling is mutual. It's always a special pleasure to address the Legion and today is no exception. So legionnaire Ronald Reagan, Pacific Palisades Post, as you've been told, 283 reporting for duty. My uniforms are long since in mothballs, but one of the major responsibilities that goes with my present job is being the chief advocate for America's armed forces and veterans, and I take that responsibility seriously. One of the great lessons of life is that if you set high standards and do your best to live up to them, you won't go wrong. The Legion has set high standards for itself and for our country, and as long as America lives up to your standards, America will not go wrong. At home and abroad, our country is on the right track again. As a nation, we've closed the books on a long, dark period of failure and self-doubt and set a new course. With your continuing support and the support of millions of other patriotic, God-fearing Americans, we've come a long way, but the task we face is still a challenging one and a lot of hard work remains to be done, but let's be sure we know what needs to be done. We've got a few people in Washington who don't want to hear when we tell of our arms control and strategic modernization program and America's responsibility to protect peace and freedom. My own concern with these issues is nothing new as many of you know. Three years ago at your Boston Convention, I pledged to restore America's military posture so that we could promote peace while safeguarding our freedom and security. With the help of groups like the Legion, we've kept that pledge. Our military forces are back on their feet and standing tall. Modern equipment is being delivered to the troops, training is way up, and combat readiness rates have really soared. And once again, young Americans wear their uniforms and serve their flag with pride. We're getting and keeping very good people in all of the services. We've made great progress, and we're going to make more. And I hope that makes you as proud as it does me. I have to interrupt and tell you a little thing, and I don't mean this to these young men and women in our armed services or hostile or warlike. They know that they're the peacekeepers. But an ambassador wrote me a letter, our ambassador to Luxembourg, and he said that he'd been up on the East German frontier and visiting the Second Armored Cavalry Regiment. And as he went back to his helicopter, he was followed by a young 19-year-old trooper. The young man asked him if he thought he could get a message to me. Well, being an ambassador, he allowed us how he could. And the kid says, well, would you tell him, we're proud to be here and we ain't scared of nothing. While I'm on the subject of our military forces, I want to reaffirm our determination to account for every brave American who served in Southeast Asia. This administration is not forgotten, and we'll never forget the sacrifices that they and their families have made, and we will not rest until the fullest possible accounting has been made. The other half of restoring our military posture concerns our strategic forces. In the past, we paid a grim price for indecision and neglect, for a one-way restraint that was never returned by the other side. The resulting imbalance weakened the credibility of our nuclear deterrent, the deterrent that has been the single greatest bulwark for peace in the post-war era. While past American leaders hesitated or naively hoped for the best, the Soviet Union was left free to pile up new nuclear arsenals without any real incentives to seriously negotiate reductions. Well, history doesn't offer many crystal-clear lessons for those who manage our nation's affairs, but there are a few. And one of them is surely the lesson that weakness on the part of those who cherish freedom inevitably leads to trouble, that it only encourages the enemies of both peace and freedom. On the other hand, history teaches us that by being strong and resolute, we can keep the peace and even reduce the threats to peace. That was why at your Boston Convention in 1980 I pledged to strive for arms reduction agreements, not so-called arms control agreements that permitted further growth, but real arms reductions. We've kept that pledge, too. For the past two and a half years, this administration has steadfastly followed a dual track of deterrents through modernization and the search for a more stable peace through arms reduction negotiations. There is no contradiction in this dual approach, despite what some of the critics in Washington might have you believe. The restoration of a credible deterrent and the search for real arms reductions and stability are two sides of the same coin, a coin that is inscribed with the words peace and security. Our efforts are designed to sustain peace, plain and simple. We don't seek an arms race. Indeed, we seek to reverse the trends that cause it, by beginning to lower the levels of the nuclear arms. But we will not and we cannot accept anything that would be detrimental to our security and to the freedom and safety of our children and our grandchildren. And that's what is so important about the MX, the MX peacekeeper missile, and our program to develop a new, small, single warhead missile, are critical to our country's present and future safety. They will maintain state-of-the-art readiness against the Soviet's already modernized systems. They will also ensure stability and deterrence, making it clear that aggression by the Soviet Union would never pay. And they're an essential incentive for the Soviets to negotiate seriously for genuine arms reduction so that we can move to a more stable world in which the risk of war is reduced. Modernization goes hand in hand with deterrence. Both are necessary incentives for successful negotiations. Many of our critics willfully ignore this interrelationship. Instead, they focus their attention and their criticism on some single point which doesn't address the central issue. Often it's based on wishful thinking or downright misinformation. For example, one argument contends that the MX peacekeeper would pose a first-strike threat to the Soviet Union. One of the most fundamental sense this argument runs counter to the whole history of America. Our country has never started a war. And we've never sought nor will we ever develop a strategic first-strike capability. Our sole objective is deterrence, the strength and credibility it takes to prevent war. And in any case, there is no way that the MX, even with the remaining Minuteman force, could knock out the entire Soviet ICBM force so the argument is a false one both philosophically and technically. What we really want and what we would have with the MX in place is enough force that tells the enemy we'd do them a lot of damage. Now the example that I've given is typical of the twisted logic of the anti-MX lobby. It remains me the tale told of an arm service poker game which took place a few years back on a Western military base. The MPs were tipped off, raided the barracks. The four poker players just managed to hide the cards and poker chips in time. When the police got there, they were sitting at an empty table staring innocently at each other. And the MP sergeant asked each one in turn if he'd been gambling. And the soldier bit his lip and replied, no, Sarge, I haven't been gambling. And the sailor pause silently asked the Lord's forgiveness and also said he wasn't gambling. And the airman answered the same way and that finally brought them to the Marine. And they said, have you been gambling? And the MP looked the cop right dead in the eye and asked who with? And that was quick thinking but the Marine sure avoided a real issue and the real issue is what counts. The real national defense issue of our time is maintaining deterrence while seeking arms reductions. And today I'm pleased to be able to report some good news on the negotiating front. Our fundamental negotiating positions in both the start and INF talks have been strengthened by a number of related developments that have occurred this year. Let me share a few of them with you. First on the list is the, that strong bipartisan support is beginning to surface for our strategic program, starting with the perceptive recommendations of the Scowcroft Commission and strengthened by the bipartisan congressional support in strategic modernization votes in May and July. Korea has finally begun to forge a national consensus for peace and security. The MX peacekeeper program and the development program for a new small single warhead missile will complement the B-1 bomber and the Trident submarine programs, the other legs of the triad. But we aren't over the hump yet. There's still work to be done and I'm counting on your continuing and active support as we approach the next legislative round on appropriations for the MX this autumn. If we see this mission through, the combined efforts of this administration and the Congress will restore the credibility of America's strategic posture, the essential foundation for deterrence and successful negotiations. We've learned over and over again that only common resolve in the West can bring responsiveness from the East. And fortunately, Western Allied unity today is a firm reality. Our negotiations have been preceded by close consultations with the Congress and with our allies. This process has continued during the negotiations in Geneva and we've given our negotiators the flexibility to explore all possible avenues with the Soviets. Peace is a beautiful word, but it is also freely used and sometimes even abused. As I've said before, peace is an objective, not a policy. Those who fail to understand this do so at their peril. Neville Chamberlain thought of peace as a vague policy in the 30s and the result brought us closer to World War II. Today's so-called peace movement, for all its modern hype and theatrics, makes the same old mistake. They would wage peace by weakening the free and that just doesn't make sense. My heart is with those who march for peace. I'd be at the head of the parade if I thought it would really serve the cause of peace. But the members of the real peace movement, the real peace keepers, and peacemakers are people who understand that peace must be built on strength, and for that the American people and free people everywhere owe all of you a deep debt of gratitude. Like you, our allies remain united in a common effort to strengthen both deterrence and the prospect for arms reduction through negotiations. They recognize the dangers to allied unity of Soviet propaganda and thinly veiled threats at causing NATO to abandon its dual-track decision to modernize and negotiate. If we lack the will to provide a credible deterrent, then we could look forward to ever more aggressive Soviet behavior in the future. Because NATO understands this, NATO will persevere. When you add it all up, despite the problems, there is strong reason for hope. This administration has worked very hard over the course of many months to refine our own negotiating objectives and positions. We've developed a sound, well-thought-out strategy to achieve them. We stand united with the Congress and our allies. Our strategic triad is being modernized. We're negotiating arms reductions in good faith, and there's been encouraging movement in these negotiations. For the first time in the start negotiations, the Soviets are willing to actually talk about actual reductions. In Vienna at the Mutual Balanced Force Reduction Talks, the Soviet negotiators have shown movement on the verification issues needed to permit us to negotiate reductions in the conventional force safely. There has also been progress in discussing confidence-building measures. All these indicators, modest though they may seem, point in the same positive direction. New hope for arms reductions in a more secure world. Let's not kid ourselves. There are lots of ambiguities, and we've still got a long way to go, a long way from agreement. Plenty of tough, hard bargaining remains to be done at the negotiating table. But I can assure you that our highest priority is focused on this, the most challenging and important issue of our lifetimes, and we're making headway for peace. Another issue of critical importance to all Americans, and one I view as the centerpiece of American foreign policy, concerns our responsibility as peacemaker. We can't build a safer world with honorable intentions and goodwill alone. Using the fundamental goals our nation seeks in world affairs, peace, human rights, economic progress, national independence, and international stability, means supporting our friends and defending our interests. Our commitment as peacemaker is focused on these goals. Right now, this commitment is most visible in Central America, the Middle East, and Africa. Our policy in Central America is to help the people of that troubled region help themselves, help them to build a better life, to help them toward liberty and to help them reverse centuries of poverty and inequity. And that's what they want, too. In Costa Rica, democracy and respect for human rights are a long and proud tradition. In Honduras, democratic institutions are taking root. In El Salvador, democracy is beginning to work even in the face of externally supported terrorism and guerrilla warfare. We know that democracy in Central America will not be built overnight. But step by step, with humanitarian, economic, and private sector assistance from the United States, it can and will be achieved. And that's why we established the Caribbean Basin Initiative, a program designed to help the people in that region help themselves. The Caribbean Basin Initiative is based on a combination of trade and private investment incentives. We decided to listen and learn from what our neighbors have been saying for a long time that the best thing we could do is to help them build a better, freer life for themselves. We agree, and though you wouldn't know it from some of the coverage, by far the greatest portion of our aid to Central America is humanitarian and economic. Now there are some in Moscow and Havana who don't want to let our Caribbean neighbors solve their problems peacefully. They seek to impose their alien form of totalitarianism with bullets instead of ballots. And that's why we're supporting a security shield for those nations that are threatened. Unless that shield is there, democracy, reform, economic development, and constructive dialogue and negotiations cannot survive and grow. Other than training our own troops, this is the only purpose behind our military exercises to demonstrate our commitment to the free aspirations and sovereign integrity of our neighbors. I've said it before, and I'll say it again, human rights means working at problems, not walking away from them. Would America be America if, in their hour of need, we abandoned our nearest neighbors? From the tip of Tierra del Fuego to Alaska's Point Barrow, we're all Americans. We worship the same God, cherish the same freedom. Can we stand idly by and allow a totalitarian minority to destroy our common heritage? Our concern is justice. Has communism ever provided that? Our concern is poverty. Has a communist economic system ever brought prosperity? No, if the United States were to let down the people of Central America, people who are struggling for the democratic values that we share, we would have let ourselves down, too. We could never be certain of ourselves, much less of the future, if we turned our back on our nearest neighbors' struggle for peace, freedom, and evolving democracy. In the Middle East, the pursuit of peace between Israel and its Arab neighbors remains another fundamental objective of this administration. Yes, it's a thorny problem, and our negotiators have faced serious difficulties over the past two and a half years, but there has also been real progress. The Sinai Peninsula was returned to Egypt in April of 1982. This essential step in the establishment of peace between Egypt and Israel wouldn't have been possible without our decision to contribute to the multinational force and observers that are currently operating in the Sinai. In Lebanon, our Marines continue to serve alongside their French, British, and Italian comrades as we work for the withdrawal of all foreign forces from that troubled land. Our joint presence strengthens the resolve of the Lebanese government to assume the tough task of maintaining order. We Americans covet no foreign territory, and we have no intention of becoming policemen to the world. But as the most powerful country in the West, we have a responsibility to help our friends keep the peace, and we should be proud of our achievements, and especially proud of the fine men and women of our armed forces who undertake these tough yet vital tasks. In Africa, we're engaged in a parallel commitment—economic development, the growth of democracies, and the peaceful resolution of conflict. And here, too, our emphasis is on developmental and economic assistance. We maintain only a handful of military advisors on the whole African continent. Our economic aid is four times larger than what we spend on security assistance. Contrast this with what the Soviet Union is doing. The record shows that since the Soviets began their aid program to Africa in 1954, military aid has outpaced all other Soviet aid by seven to one. One had more than 40,000 Soviet and surrogate military personnel stationed in Africa, and it's no wonder that Africa is rife with conflict and tension. For our part, we're actively working to diffuse the tensions and conflict in Namibia and Angola while we help fight poverty in the region. In Chad, the United States is a partner in a multinational economic assistance package designed to get this tragically poor and strife-torn country on its feet. But without protection from external aggression, there can be no economic progress. And naked external aggression is what is taking place in Chad today. Drawing upon the nearly $10 billion worth of Soviet military equipment and munitions now in Libya, Colonel Gaddafi has been using Soviet-built fighter bombers, T-55 tanks, and artillery in a blatant attempt to destroy a legitimate government. President Habre and the people of his country are truly beleaguered as they struggle to preserve their independence. It is in this context that we have joined a number of other countries in providing emergency security assistance to Chad. Yes, in Africa there is real reason for concern, but there are also harbingers of hope. Less than two weeks ago, I had the pleasure of meeting with President Yuf of Senegal. He's a great man, doing a great job. His outstanding leadership has brought Senegal fully into the community of truly democratic states. And a similar democratic success story has just taken place in Nigeria, Africa's most populous nation, where free presidential elections were successfully completed last week. That's right, there's a democratic revolution going on in this world. It may not grab the headlines, but it's there, and it's growing. The tide of history is with the forces of freedom, and so are we. That's the real message, and that's the overwhelming news story of our time, even though it seldom makes the front page. The light of the democratic ideal is not slowly fading away. It gains in brightness with every passing day, but it needs our care and cultivation.  Well, America is more fortunate. We can be proud of our heritage, and we need never hide from our roots. The world we live in is not an easy one, but we've inherited a noble mission, a mission that casts a beacon of hope for all the earth's people. America more than anything wants lasting peace, peace with liberty, with justice, and with the freedom to follow the dictates of God and conscience. To succeed, we will need wisdom, strength, and imagination. We'll need patience and vigor. But to seek anything less would be to deny our heritage and the real meaning of our great nation. You know, our national anthem is probably the only one that asks a question. Does that banner still wave, or the land of the free and the home of the brave? When Francis Scott Key wrote that, he was asking if our flag was still flying. Well, today we know the flag still flies. But what we continue to answer is that it does wave over a people that are still free and still brave and determined to preserve this land for generations to come. Thank you for all that you and the Legion are doing to help America stay true to this quest. God bless you all. Thank you.


Hello, everybody. Thank you for coming. It's great to see so many of you here. To say a little bit more about myself, I am a software engineer working at Red Hat. However, you can see me as more as an open source enthusiast right now, and of course, a scripting fan. So what can you expect to get to learn when you leave? So nowadays, we still write batch scripts. There is still a huge interest to write them. However, let's say the means how to write them, they almost haven't changed. So in the beginning, I will kind of try to get us on the same page. What does a good script mean in practice? How a script that meets expectations should look like. Then I will propose some theoretical way how to do it. And finally, we will have an exciting live demo. So it will hopefully convince you that writing is 20th century and generating is the way to go. So to summarize, we all use those command line apps because they are easy to script. It's very fast to execute what you want. So let's check out how can we use command line utilities. So we all use, for example, the LS command. And what is the difference between the first, second and third invocation here? The answer is there is no difference for the command itself. The forms are different, but LS does always the same thing. So we can say dash L, space, dash A, space, dash W, space 10, which means long output, ignore obvious files that are there in the listing that LS does. Limit the width of the output to 10 columns. And then list contents of directory dash X, directory full, directory bar. The green arguments are called optional because it's usually an option, which is like this dash something. And option might or may not be succeeded by a value. Like dash W10, it's an optional argument with value 10. And there are positional arguments that follow. On the second invocation, we see that we can connect two optional arguments into, let's say, one group. And we can glue the value to the option. So the parsing logic of LS is supposed to handle this. And we kind of use it. Some of you definitely do. Finally, in the last row, we see that we can limit or we can terminate the optional part of the script. And what follows will not be interpreted as options. So if we want to list the directory dash X, we don't have to escape it anymore. And again, when you write some scripts that are supposed to be used by command line, of course, then good-behaved scripts is supposed to behave that way. How is it called? It is called POSIX standard, which is a little bit old. However, if you managed to get your hands on some books that are depicted here, I got them via the humble bundle. So it was not so expensive. Then this is what you will learn. That the good command line interface looks like this. And you are supposed to use utilities. Get up, get up to implement it. However, the world has changed since then quite significantly, I would say. And there is one more standard that is shaping how we use base scripts. And this is called the GNU standard. And what it introduced. It introduced long options. So you write dash dash and something descriptive. Something what people can read and what helps the readability of what goes on when the script is executed. Moreover, you are now allowed, which the POSIX standard doesn't allow that. But GNU standard allows mixing of positional and optional arguments, which means that the LS command will interpret who as a directory and bar also as a directory and it won't complain. So this is the GNU standard. This is not like what the POSIX standard says. So what can I do? I can specify this dash dash long option equals something, dash dash long option space, something. And I can all do the stuff, which is defined by POSIX, which means gluing arguments with values together. So if you write a well-behaved shell script, now we know that it means some hard data that a good-behaved script confirms to the GNU standard, which means that it also confirms to the POSIX standard, let's say, in some ways. So in other languages, we have like a supportive network of tools that will help us to implement this logic. And Bech is not here on the list. So what do we do when we want to learn how to write good Bech scripts that are so nice to use? Well, we ask, of course. And this is a slide from 2017. We see that the question of Stack Overflow is quite popular. And now we have 2019. And the amount of upvotes went up almost like by the days, almost two times as much upvotes as there was. So this is a very good question, apparently. What is the answer? It has even more upvotes, or it had even more upvotes in 2017. And the accepted upvoted answer said, write the parsing logic of your script in pure Bech. What has changed? Changed that 1,000 of upvotes actually were added, let's say, which means that it's topic which is live, it's relevant, and people somehow are satisfied with that answer, which is totally crazy. Because why should you write something in Bech if you can generate it? If you check out other resources, they will tell you the same. This is not some cherry-picked example. It's really what you will find on, like, knowledge basis. So why is it? Why is the answer in such a way? So other languages have modules. Bech doesn't have any standard library. Bech doesn't have packaging. So if you have a parsing module, like a parsing library, you would have to bundle it with your script. So you have 10-line script and 1,000-line library bundled with that. How does it sound? Terrible, right? So this is why we don't use modules. Yeah, over there are modules, of course, but they are poorly documented, and sometimes they are not portable. Big problem. Built-ins. What is a built-in? This is get-opt.  So get-opt is Bech built-in. It's okay to use it, but it provides you only these capabilities to have a POSIX interface, not the GNU interface. So it means that it's not so convenient to use your script if you use get-opt. If you use get-opt without S, then it might work nicely, and it might not work nicely because get-opt is not portable. It has different versions on different platforms. You never know what will happen. So, yeah, and, moreover, you have help message in your script. You have one page. You have mesh completion. All somehow reflects the interface that your script has, like what arguments it accepts, and you have to repeat it all over again. So don't repeat it. Generate it. This is what I would say. So why people don't like generators? You have to install them. They might have dependencies. Difficult to uninstall. Your system is tainted after you try to remove them, and you don't know that everything got removed successfully. Then, of course, you generate something, but then the generator is updated. You change your mind. You need to regenerate again. And the question is, do you really need to save your template with the source that you fed to the generator? What if you don't have it? What if it's not compatible anymore? Et cetera. This is the worry number two that people have when talking about generators. And worry number three is generated code. It's usually bad code. You can't read it. If it's not good, you can't just go into it and fix it because it's complicated and minified sometimes if you talk about JavaScript generators. So this is concern number three. And concern number four might be I don't want to use a module. I don't want a thousand-line module to bundle this might in line script. So the code generator should do a good job. It should not produce a thousand-line generated code. Otherwise, I would use the module and there is not a big deal. So this is why the ErgMesh project started. And it has, it addresses those concerns quite robustly, I would say. So it works in such a way that the generated script is a template by itself. So you can use a generated script to generate new script out of it. It's in-potent, of course. So if you have generated script, you can generate with the same ErgMesh. It's the same. But you can, of course, generate when ErgMesh is upgraded. You can generate when you change your mind about some, let's say, options of your script. Then you can install it if you are lucky enough to have Fedora. ErgMesh is in AUR in Arch Linux. And it has auto-conf as a dependency so you can even the RISC GitHub install. Aside from that, there is a bi-popular demand, the rocker image of ErgMesh. It's quite crazy, but people seem to like it. I don't understand that, but why not? And there is also a web interface for the generator. Apart from that, of course, I already mentioned some possibilities for the generator could do. So ErgMesh has quite some features and they are documented, which is very nice, I would say. So what are the features when we speak about that? So ErgMesh supports batch scripts that are well-behaved. And it supports POSIX-only scripts that people seem to like. So batch scripts, of course, you need a new compliant shell script. It needs a lot of code to achieve the compliance. But POSIX is like very, very short and you could probably craft it by hand. You just get up some arguments, stuff like that. But why to write anything when you can have a generator? Then you can generate batch completion. Wonderful, right? And you can generate main page. And is there anybody who has heard of docopt? Nobody? Okay. So I will touch it in the most section. It's basically a standardized help output. Yes, standardized help message. So it can generate that for your script. It works on the demand principle, which means if there is no demand, there is no code. Your script is simple, low amount of generated code. Your script is complex, then high amount of generated code. Simple as that. And it supports kind of commented mode, which means that the generated code contains comments which enable you to like orient in the generated code and maybe fix something by yourself. That's it. And demo time. I hope the font is not too big and you will still be able to see something. So let's say we want to make a script which mimics LS that it accepts the with argument, dash w, dash dash with, with one value. It accepts almost all argument which is optional, it's either on or off. And it accepts a directory as a positional argument. So let's generate. In the Arbash package, there is a tool called Arbash in it. And I tell it that I want a positional argument directory, optional argument with and optional argument, almost all. Then I want hints to be present in my first generated output, let's say. And the output will be script dash m4. So let's do it. And let's see what we have generated. The font is too big. So I have to make it a little bit smaller. So 26. So let's make it 2032 and regular. Let's see. So still it's pretty big. Okay. But at least you can see it. So this is actually quite simple. In the bottom, there are three print fs which are the script body. And they are supposed to print values that were supplied on the command line. So there is Eric underscore with, Eric underscore almost all, Eric underscore directory. Makes sense. And then we have the template section of the script. So let's edit it so we can generate an actual script out of it. So this looks like a line for the option with. So the hints tells us here should go short option character. And short option character for width is w. So I will write w there. So there is a help message. I will leave that. Leave that b. And then there is default option. And I will say that the width option won't have any default. Then we have the almost all option. So this has small a. And the default is off. It's off by default. Yeah. Almost all you have to specify in order to do something. Then we have the position argument directory. Again, the help we will leave it. And default will be the current directory. So that's it. So this is how we used arg bash init to generate like a kickstart. And then we generate the script out of our template. So the script is generated. Let's try to execute it. It prints the default basically, right? There is nothing else there. So let's try the help message. And yeah, looks quite nice. So let's use it and supply some arguments. With 80 dash a, we specify this time. And we want to list the directory home. And it works. Yeah. Almost all is on. With 80, everything kind of works. So let's produce the standardized help message, the docopt.txt. And let's check it out how it looks like. So this is what is the standardized help message. And I will tip out a little bit because I will copy it and paste it to a website which consumes standardized help messages. So control C. And let's see. So I will paste the standardized help message. And press run. And the website parses the help message. And it parses also the command line on the website that you give it. So if I say dash w 80, almost all home, it picks things up. What does it mean for you? It means that there is something that you were not aware of before. There is standardized help message which can be used to define argument parses in various languages. And argmesh is interoperable with that. Anyway, back to the core of the matter. Let's check out the main page output. So I again call argmesh. And I use the script, the generated script, script.sh as a template. If you can see. So I will generate the template for the main page. And let's see how it looks like. So it includes some file. And then it generates some information which can be partially obtained from the script. Like the help message which the script knows what help it has. And then it has some templating functionality that you can extend the contents of the manual with some other content that you know, but they are not part of the script. And now we generate additional definitions for the manual. This is another output that argmesh has. And then again, we check that out. And here we can define things that the script doesn't know. So for example, my name is Mahj. And the version, let's say, will be 0.1 description. And the description with, I will say, use 80 when in doubt. Good. And now I will use the rst2man utility, which is part of the Sphinx. This is a Python documentation system. Part of the Sphinx ecosystem. And let's generate the main page. And let's see the main page. Magic. One page. Use 80 when in doubt. How long it took to generate the main page? It took five minutes from the get go. What next? What next? Completion. And that's it. There will be questions. So I generate completion. And then I execute the completion. So script.sh. And when you generate a completion file, basically, you have to source it to test it immediately. Otherwise, you place it to some directory and it gets sourced automatically. So I have sourced it. And now I should get completion for my script. So this just offers me files. This is not interesting. But if I enter like dash, it offers me long option. If double dash, it offers me long options. So it works. Good. So this was the demo. I haven't shown you the documentation and other features, of course, because of the limited scope. However, if you search for it for ArchBash in Google, you should see the read the docs website with documentation examples. You don't have to worry. If you didn't photograph that, there is plenty of more. And I believe some quick start tutorials. And of course, you can visit the ArchBash.io website. And that's it. That's what I wanted to tell you. So if there are any questions, we have like three, four minutes to handle them. Oh, question. Great question. If I want to add another argument, I will quickly show a script modification. So script.sh. So I will modify the script. I will say that the width will be 80. Yeah. So now when I execute the script with the help option, it says that there is no default. And now I regenerate the script. So I say ArchBash script.sh output script.sh. Execute again. And now it accepts default 80. Yeah. So the script itself is a template. You modify the section in the tab, you modify the content in the template section of the script. And it's reflected in the result. We have three more minutes for questions. So please, if you could leave later. Yeah, another question. So the question was about auto completion. What shells are supported? So it's only the bash auto completion, which is supported at the moment. Yeah. And for requests, welcome. Okay, seems that there is no other question. So thank you for your attention. And enjoy the rest of the conference.


Welcome, I welcome you all to this lecture in the course Sandhi in Panayan grammar. So far we have studied extensively Hull Sandhi or the consonant Sandhi. Hull Sandhi is the Sandhi which comes in place of a Hull. Hull is a consonant and we have studied several types of and instances of Hull Sandhi so far. At the end let us take a recap of all different varieties of Hull Sandhi that we have studied so far. First we said that broadly Hull Sandhi can be divided into two Ekasthanika Ekadesha and Ekasthanika Dvyadesha. In contrast with the Ach Sandhi where you also have Ekasthanika Ekadesha the difference is Ekasthanika Dvyadesha. In the Ach Sandhi it is Dvisthanika Ekadesha which is stated also as an Adhikara and we also studied five instances of Dvisthanika Ekadesha of Ach Sandhi namely Guna Sandhi, Vrdhi Sandhi, Pararupa Sandhi, Savarnadir Gna Sandhi and also finally Purva Rupa Sandhi. In Hull Sandhi however we have Ekasthanika Dvyadesha where there is one substitute end which is substituted or replaced by two substitutes Ekasthanika Dvyadesha. Ekasthanika Ekadesha is further classified into two broad categories Purva Nimitaka Ekasthanika Ekadesha and also Paranimitaka Ekasthanika Ekadesha. This category was explicitly, this categorization was explicitly mentioned in order to account for a unique use of the instrumental case which by contrast once again does not occur in the Ach Sandhi chapter. Ekasthanika Ekadesha is represented in the form of a diagram in this way. So there is B followed by A, both of them are in the Samhita mode and so B is the Nimitta which is Purva and then A gets substituted by C. So B is Purva Nimitta, A is Ekasthani and C is Ekadesha. So C is Purva Nimitaka Ekasthanika Ekadesha. So B plus A is the input and B plus C is the output. We studied two instances of this Purva Nimitaka Ekasthanika Ekadesha and this depended upon the meaning of the instrumental case which was used in the Sutras which described Shtattva Sandhi and also Shtattva Sandhi. So the Sutras were So Shtuna and Shtuna indicated that Shtu and two could be the Purva Nimittas as well as the Paranimittas and so Shtattva Sandhi was studied in these two manners Purva Nimitaka Ekasthanika Ekadesha and also Paranimittaka Ekasthanika Ekadesha. So two instances were studied as far as Purva Nimitaka Ekasthanika Ekadesha is concerned namely Shtuttva Sandhi and Shtuttva Sandhi. Then comes Paranimittaka Ekasthanika Ekadesha. This can be represented diagrammatically in the following way where you have A plus B in close proximity in the Samhita mode B comes immediately after A and in the environment of B A gets substituted by C. This B is Paran and this is Thani this is Adesha. So this Adesha C can be described in the following manner Purva that is B Nimittaka A that is Ekasthanika and C that is Ekadesha. B is the environment A is the substituent and C is the substitute. So this is Paranimittaka Ekasthanika Ekadesha. A plus B is the input and C plus B is the output and here once again we studied these instances of Paranimittaka Ekasthanika Ekadesha in detail. Shtuttva Sandhi once again Shtuttva Sandhi also then we studied Anusvara Sandhi as well as Parasavarnasandhi then Purvasavarnasandhi then Anunasika Sandhi and finally Shtuttva Sandhi. Then we studied Ekasthanika Dvyadesha where one substituent is replaced by two substitutes where we have A plus B as the environment they are in the Samhita mode B follows A and in the environment of B this A is substituted by two elements namely A and X. So this is one substituent replaced by two substitutes and there are three instances of Ekasthanika Dvyadesha. First Shtuttva Anusvara Sandhi, second Dvirvachanasandhi and third Agama Sandhi. We dealt with Dvirvachanasandhi first and Agama Sandhi then and finally in the previous lecture we also studied the Shtuttva Anusvara Sandhi. We have where we have seen that one substituent gets replaced by two substitutes. In case of Agamas we applied the principle that anagamakas are the substituents and sagamakasabdas are the substituents. Anagamakanam sagamaka adeshah. There are some other sandhis that are worth mention namely Kuttvasandhi, Jashtvasandhi and Charthvasandhi as well. Let us study them in brief in this particular lecture. First let us study the Kuttvasandhi. This is stated by the sutra Chokuhu, 8 to 30. This sutra has got two padas Chohu and Kuhu. Chohu is 6 slash 1 of Chuhu. Chuhu is Chavarga which consists of Chha, Chha, Jha, Jha and Yen. Chohu therefore means in place of Chuhu and Kuhu is 1 slash 1 of Kuhu. Kuhu means Kavarga, means Kha, Kha, Gha, Gha and Nga. So Kuhu is the substitute. The words continued from the previous sutras are Jhali, 7 slash 1 of Jhal and this means immediately before. Jhal also means all consonants minus semi-bobbles, yavarala and nasal, yamangana, nga. Her is included in the final sutra and part of Jhal. So her is obviously a part of Jhal. Padante is also continued which means at the end of a padha. So the meaning of the sutra is immediately before Jhal or at the end of a padha substitute Kuhu that is Kavarga, that is Kha, Kha, Gha, Gha, Gha in place of Chuhu that is Chha, Chha, Jha, Jha, Yen. And once again here we apply the principle of correspondence where first member of one set is correlated to the first member of the second set. So Chuhu has got 5 elements, Kuhu has got 5 elements, Chuhu is the substitute and Kuhu is the substitute. So the first member in this list of Chuhu corresponds to the first member of the list of Kuhu. So in place of Chuhu, Kuhu will be the substitute. In place of Chuhu, Kuhu will be the substitute and so on and so forth. So if we have these two stages for example Chu plus Jhal, if this is the condition, if this is the situation then Chuhu applies and substitutes this Chu by Ku. So Chu plus Jhal is the input, 8 to 30 Chuhu applies and returns the output namely Kuh plus Jhal. Similarly if Chu appears at the end of the Pada, this is the Pada at the end of which Chu appears, so 8 to 30 applies and substitutes this Chu by Ku. These are the two scenarios in which Chuhu will apply and Kutba Sandhi will take place. Let us look at the examples. The specific ones. So first let us see, so Chu plus Jhal and it is substituted by Ku plus Jhal and here are the examples Pacha plus Tavya and Chuh is followed by T which is a Jhal and so Chuhu applies and substitutes this Chuh by Kuh. So you get Pak plus Tavya and then finally you get Pak Tavya and the other example where Chuh appears at the end of a Pada is this. So Chu at the end of a Pada and that is replaced by Ku at the end of a Pada. So Vach, this is the Prathama Ekabachana of the word Vach and this Chuh gets substituted by Kuh. So we get Vach. There will be further processing. This Kuh will be further substituted by Guh by the Sutra Jhalam jashonte and then this Guh will be further substituted optionally by Kuh by the Sutra Vavasane. So at the end we get two outputs Vach Vag but as far as 8 230 is concerned the first output of this Vach is Vach. As we said earlier after we get the output namely Vag by applying the Sutra Chuhu then the next Sutra Jhalam jashonte applies and substitutes this Kuh by Guh. So this is the Jashtva Sandhi. Let us study Jashtva Sandhi in brief. The Sutra that describes Jashtva Sandhi is this Jhalam jashonte 8239. This Sutra has got three Padas Jhalam which is 6 slash 3 of Jhal that is all consonants minus consonant 5 and semipawals. Jasho is 1 slash 3 of Jash and Jash means consonant 3 of the class Jabgadad. Ante means at the end and Padassya continues from the previous Sutras. So Padassya is 6 slash 1 of Padha in this case it means part of Padha. So the Sutra means at the end of a Padha Jash is substituted in place of Jhal. So this can be shown in the form of an equation in this manner. So we have Jhal at the end of a Padha and this Jhal gets substituted by Jash at the end of the Padha. So for example Vak Kuh is Jhal which appears at the end of this Padha and so this Kuh is substituted by Guh at the end of the Padha. So Vag. So the Prathama Ekavachana of the word Vach is Vag Vak and when in compounds Kuh is substituted by Guh because it is at the end of the Padha. So Vag Viva Dhini for example has got Guh substituted substituting Kuh stated by this particular Sutra Jhalam Jashante. This is the Jashtva Sandhi. Then we have Charthva Sandhi stated by the Sutra Kharicha 8455 and Kharicha has got two words Khari and Char. Khari is 7 slash 1 of Khar and Khar means consonant 1 and 2 and Char, Char, Sir. Char means end. So Jhalam is 6 slash 3 of Jhal and we know that Jhal means all consonants minus C5 and semi vowels. Charaha is 1 slash 3 of Char that is consonant 1 and Char, Char, Sir. So the Sutra means immediately before Khar, Jhal is substituted by Char. I repeat immediately before Khar, Jhal is substituted by Char in place of Char, Jhal substitute Char. So this is the equation Jhal plus Khar, this is the input and the output generated is Char plus Khar. So the example is Bhida plus Thru and this Th is Khar. First this Bhida becomes Bheda, Bheda plus Thru and then this Th becomes Th, so Bhet through and finally we get Bhet through as an example of this Sutra Kharicha. And then there is the other Sutra that we were talking about Vaavasane. This Sutra has got two words Va and Avasane. Va means optionally and Avasane which is 7 slash 1 of Avasane, Avasane is absence of sounds. So immediately before the absence of sound that is the meaning of Avasane. Words continued are Jhalam and Char, Charaha. So Jhalam is 6 slash 3 of Jhal which is all consonants minus consonant 5 and semivowels and Charaha is 1 slash 3 of Char, see consonant 1 and Char, Char. So Vaavasane means immediately before the absence of sounds Avasane substitute Jhal by Char, Jhalam, Charaha optionally that is Va. So immediately before the absence of sounds Avasane substitute Jhal, Jhalam by Char, Charaha optionally Va. So we have Jhal and there is no other sound that comes immediately after it. So this Jhal gets substituted by Char. So here we have Vaag, G is the substitute affected by Jhalam Jashonte and now Vaavasane applies and substitutes this G by K and that is two optionally. So we have Vaak as one option and Vaag as the second option. So we have two forms over here Vaak and Vaag. This is the Prathama Ekavachana of the word Vaach. This is how Charatva Sandhi can also be described. So we have studied the other Sandhis namely Kutva Sandhi, Jashtva Sandhi and Charthva Sandhi also. It is noted that these three rules belong to the Asidha section of the Ashtadhyay. In fact the rules describing the Halsandhi most of them or almost all of them they are all stated in the Asidha section of grammar that is Ashtadhyay 8.2 to 8.4. The peculiarity of this section is that the output of the Sutras in this particular section does not become an input to any of the rules stated before. So from 1.1 up to 8.1. Within 8.2 to 8.4 also the rules are arranged in such a way that the output input output cycle is well maintained and the derivation process keeps moving till reaching its culmination and no further output is to be produced. This is the speciality of the ordering of the Sutras pertaining to Halsandhi. Very important feature. Now let us look at some of the examples of Halsandhi once again. These are all taken from the Srimad Bhagavad Gita. So first let us deal with the Shchattva Sandhi. So first we have Pandavas and Chha. Mamaka Pandavas Chhaiva. So Pandavas plus Chha and this Sir comes at the end of this Pada followed by Chha. So then this Sir is substituted by Sh and so you get Pandavas Chha as the output generated after the application of the Sutra Stoschanasthu. Similarly Machchitta Madhgata Prana. So we have Math plus Chitta and so this Sir which comes immediately before Chha is substituted by Chha and we get the output Machchitta that is Machchitta Chha. Yajnathva Moksha se Shubhata. So Yat plus Jnathva. So here there is T followed by J and so this T gets first of all substituted by D and then this D gets substituted by J. So finally you get Yajnathva as the output generated. Then we have Anusvara Sandhi and here are the examples. So Dastvatu Pandava Nikam Vyodham Duryodhanas Tadha. So let us take Anikam and Vyodham. So this M comes at the end of the Pada followed by V which is a Hal and so Anusvara applies and substitutes this M by an Anusvara Anikam plus Vyodham. Similarly Ahankaram Balandarpam Kamankrodhancha Samshritah. In this particular line of the verse taken from the 16th Adhyaya here we have Ahankaram and Samshritah. So this is Ritiyayikavachanam. So M is the ending and because this B follows M becomes an Anusvara. Similarly Balam and Darpam. So Balam Samshritah. So there is this M over here which is followed by D which is a consonant. So Monusvara applies and that Sutra substitutes this M by an Anusvara. Similarly Darpam. Darpam is also Samshritah. So this is M at the end followed by K which is a consonant. So this M gets substituted by an Anusvara over here. So we have Darpam and Kamam. Similarly Kamam and Samshritah and so there is this M at the end and Kamam is followed by Krodham that is K at the beginning. So therefore this M at the end of the Pada followed by a consonant is substituted by an Anusvara. So Kamam. Similarly Krodham. Krodham Samshritah. So this is M at the end followed by Ch. So this M is substituted by an Anusvara. So we get Krodham Samshritah. So many Anusvaras. Although the Parasavarana is not done in the Bhagavad Gita those who recite Srimad Bhagavad Gita tend to pronounce this Anusvara as a Parasavarana by making the optional Parasavarana Sandhi and so they say So this Anusvara is optionally pronounced as M which is Parasavarana of this B. This Anusvara is pronounced as N which is a Savarana of this D. This Anusvara is pronounced as N which is a Savarana of K. This Anusvara is pronounced as N once again which is the Savarana of this K. This Anusvara is pronounced as N which is the Savarana of this Ch. This is how Anusvara and Parasavarana Sandhi are demonstrated or used in the actual usage. Then we have Chhattva Sandhi and here are the examples from Shreemad Bhagavad Gita there are many more. So, first thing is this T is substituted by Chh, so we have Tach plus Shritva, so this is Dashchattva Sandhi followed by the Chhattva Sandhi where this Sh is substituted by Chh and so we have Chhattva and then we join them together and we get Tachshattva, the Sutra Shashchoti applies over here. Similarly, Yat plus Shraddha, yo yatshradhasya evasaha, so Yat followed by Shraddha, so T first of all gets substituted by Chh by the Sutras Tostanas Chuhu and then this Sh at the beginning of Shr is substituted by Chh and so we get Yat Shraddha, so Yat Shraddha, this is the output that is generated and similarly, Vyasaprasadatshratavan and yatshrayasyan nishchitambruhitanme etc., there are several examples of this kind of Sandhi that is Chhattva Sandhi. Then there are examples of Chhattva Anusvara Sandhi, for example Vishayan Tatyaktva, so we have Vishayan and Tyaktva, so this N comes at the end of the Pradha followed by this T and so this N, Nashchavya Prasan, so this T is substituted by R and then this R is preceded by an Anusvara, then this R is substituted by a Visarga, this Visarga then is substituted by Sir and so we have Vishayan and Tyaktva and finally Vishayan's Tyaktva, so there is this Sir as well as Anusvara, so Satva plus Anusvara both substitute this N and we get Vishayan's Tyaktva and similarly Pradhyavadam Shchabhashase or Hathvartha Kamaamsthu, Guru Nihayva and so on, in all this we do encounter the Satva Anusvara Sandhi. To summarize we took a recap of the types of Hal Sandhi that is Consonant Sandhi, we noted down some more miscellaneous instances of Hal Sandhi and we also studied the order of rules describing Hal Sandhi arranged in this particular grammar of panini called Ashtadhyayi and we noted that the output of the sutras describing Hal Sandhi does not become an input for any further operation and finally we also noted down some examples of some types. Now we study the Visharga Sandhi from the next lecture onwards. Thank you for your patience.


All right, cyber traders welcome on back spooky Edition of our afternoon meeting great to see all of our students members alike Friday the 13th Of course I'm referring to but we have Michael Grant Chuck Manuel We have all of us just here otherwise great to have all of us back on social media Facebook live or YouTube Let me get the webcam popping up right now. I ended up just finishing producing a video That'll be on our YouTube channel very shortly actually a little indicator discussion there So I look forward to you know having a little discussion with you folks once you watch that But that in mind folks. Let's hop right into this list here. So new egg and e gg This is actually a familiar name maybe not to a lot of us that are new students But if you've been around the block with C2, you know that this was a meme stock back in 2021 with AMC GameStop and the likes so you know Hey, we're familiar with this trade and I'll say it here I'll probably say it on a couple of other stocks that will go through but hey It's already doing it But if this stock can make a fraction of the type of pop that it had made for us back in mid mid of 21 No, we'll take it. So, you know, it's already up 91 percent. How much higher could it keep going? I don't know We got time right? I mean so BB AI yesterday You know all these different trades from the last month now at this point So this could certainly go higher now one thing with that in mind though is that I was calling it out just before Manuel ended up hitting it head-on. Thankfully it ended up running up for Manuel one of our new members here to get out on a trade Right from 250. I was in the same trade as Manuel, but I ended up getting out off 275 I didn't know if it was gonna squeeze all the way up to my target resistance, but I was happy to take the money and run So with new egg, let me just pull this up on level four on book map here pretty quick So you could see we had a pretty pretty deep iceberg here, you know for about 35 30 Have a lot more than that 66,000 shares in total and with that it got pulled right it ended up getting pulled from the book here went from like dark red It's like a ghost blue white. So it means it got pulled with that in mind though You should still consider that to be resistance It wasn't necessarily there for a long amount of time But unless if that order itself starts getting played around with you know You see it all over the the heat map, which you know, we didn't necessarily see I'd still expect this 285 To be resistant. So that's what I was typing to all this inside the trading room just before it ended up running up to this iceberg That had popped up a little after at 75 So I thought it was gonna make a pop and drop from there and not give me what I really wanted So got 25 cents out of it Manuel you got 35 cents nice catch from him So with that in mind it's beginning to pull back now So we'll see if this could make a higher low a push up higher into the close up towards three Put this on our watch list at least for now All right, so let's go from top to bottom. There's another meme stock again see it right here number two SDC smile direct club. I forgot that this thing dropped off as much as it did. So also from 2021 not as much as like AMC, but this being a weekly chart You could see it ended up having a pretty strong pop and drop here It was the same time as AMC and GameStop and bed bath beyond at that time But yeah, I mean this thing fell below $1. So normally we tend we don't tend to focus on the cheapies Like the ones priced below one It's making a strong little move right now. So, you know, I have you personally want to follow it Or if you've done well consistently on this trade over the last few trading days, then I Be inclined to think that you're gonna follow it, but we didn't really have this on our watch list Did we I don't think anyone of you in this chat board was consistently trading this stock the last few days That's you know, that's what I wanted to mention there. So we'll keep going BTCM bit mining You think this is a Bitcoin related stock? So Bitcoin ended up having another nice push up once again today markets are like grinding on up right now So we'll see how long that will last actually in the video. That's most recently on our YouTube channel right now with My favorite indicator from trading view calm I'll go over why I think that Bitcoin's gonna pull back a little bit more locally here over the next week or so But BTCM it's having a great day today We're gonna find a bunch of these cheapies that got beat up with Bitcoin at the time BT BT more of a morning move. I know Brian had like 40 50 cents on this hive trade We had this on our watch list yesterday at some point Mara popped up from the morning that one's not looking as good now, of course So hey that BTCM in particular without the highs I just wish the spread or the order book entirely was more liquid So I don't have a great need to put this on our watch list right now Especially with the others not really making as good of a move. So we'll see what else we can get ZVSA There's one move that I made today that I'm extremely happy about it's not necessarily a trade that I took it's a trade that I didn't take and This thing was just a mess in pre-market. Look at this So even after it's starting to wiggle back up here after a shake Maybe one could think you can make a pop and run it just resumed its choppy trend sideways So, you know, unless if the roof really explodes off of this and in that case, maybe I'll even miss it at that point But unless if that happens, you know, I don't think we're gonna be missing too much You know, I think we're gonna see this resume its personality that it had from pre-market that being just choppy So ZVSA will pass QBTS We had a nice move at least, you know in the morning on this trade little pot from 175 up to 2 Unfortunately, they came back down pretty quick You got the EH trade. Eh ended up making a nice steady push from Opening to right now or at least just before, you know, a nasty little shake down towards 1650 Trying to snap back up towards 17 here. So it's volatile enough, you know, it's up big It has, you know, a little thin of a book, but it's active enough So I don't mind putting this on our main list with the new egg trade Let's see what else we got Got a bunch of cheapies kind of sprinkled in here So we'll try and skip over those Former runner from yesterday and the day before that BWEN up once again today I don't think we really had called this one out if anything may be rich did when I wasn't looking but You know ended up making more of a grind of a run back up where I would have wanted a better pop So, you know, hopefully that can or hopefully you can give it to us heading into the close You know, it's still up near the highs of the day right off 550. So I don't mind slipping us on here at least I like the other two more though Definitely like that new egg trade so long as we continue to see higher lows That's definitely like the top of the watch list right there All right, so let's see what else we got though here SHPH from the morning. It's not doing anything right now Former runner from last month SMMT. It's at the highs today. Hey That's it actually made a really strong recovery from Wednesday's pop and drop that it had So I'll tell you I mean hopefully this can start trading a little bit more volume per minute over the next hour But you know, I'll add this looks good. It's definitely one that we're all familiar with here Why my another former runner in the past pop and drop type of stock at least so not to say like steady runner as a swing trade but pass on that for right now a Jasper from earlier. This is like the personification of pop and drop you could of course see it back from you know Last week of the week before popped dropped and it made that same move just in one day. So All right, I'm sure there's gonna be a lot more that's up percentage wise folks in the meantime before even jump over to the losers list A little update on that new egg trade really quick Just I caught it live from the corner of my eye right now But if you happen to see here there happens to be about a sixty one thousand share iceberg order It just popped up like we're talking in the last one minute last sixty seconds So perhaps that's the little extra kick that this can need in order for this to pop up towards three Just keep your eye on this price 270 though. Make sure there's no funny business as I pulled this away You know see if that order doesn't get completely pulled or not. It's right there on my Level three in my matrix right here, too, if you could say All right, so let's hop over to the loser side I would say that there's not gonna be a whole lot on the loser side, but there there are a couple of names I'll look at them I don't know if they're gonna be great trades now for us But obviously want to go over bed bath beyond you know for as much of a run this had this week You figured at some point this would get killed But geez this was like all throughout the morning a dumped off had broke lower heading into like one o'clock in the afternoon It looks like a disaster right now if you could short it that's your trade for the afternoon It's hard to borrow my trade station platform though. So I'll pass BKKT it is shortable, but it's just flat, you know just because it's easy to borrow Doesn't mean that we need to follow it. So it's just dead CVNA I still have some lines set up. I was prepping up my chart going into the open today I forgot I half asked some lines here on CVNA even so I wasn't as inclined to follow this Into the open because I was expecting a drop, but it's pretty funny It looks like my chart levels more than anything played out pretty well as support the purple lines at least there Just drew some regular chart levels just from the daily chart there and ended up seeing 645 bottom out 670 holding now is support. It's cool to see goes to show that your level Identifications on point all that but you know right now unless if you could short CVNA I don't think that you should have a big interest in this CPS now if the order book was any better, I would definitely be interested in this trade You know a nice drop off throughout the morning. It's near the lows. It's shortable You could also say this thing had a huge run up run up over the last couple of weeks from the end of last year to Yesterday, I mean every day green. I don't know what the hell this company does Cooper standard holdings I'm unfamiliar but nevertheless If the order book was a bit more filled in I would definitely put it on our watch list as a short But you know, it's a Friday. We got Monday off keep that in mind too I'll say that about three more times before we close out our session here But markets are gonna be closed this upcoming Monday Martin Luther King, Jr. Day. So Hey, it's all day weekend, right? You know, you're gonna be taking the family out for a trip You want to leave work early, right? So I'm not expecting like a really strong market into this close Up or down if the markets pop higher close to 400 then you know, we'll take it But it's to say on CPS like not a great need to add that on our on our list Rivian dropped off in the morning. I didn't really notice that until right now So I first look at this trade, but I'm gonna pass on it All right to finish up the the loser side here not much Otherwise and I'd expect just wanted to go over bed bath and Carvana mainly All right, so folks Let me know if there's anything else up down left right more than that five percent just in the chat board for Albus and Facebook live YouTube and otherwise for all this inside live trading room I get used to this new streaming software here because otherwise I gotta put that little link up on the bottom of the stream for all this in YouTube Let's go car. I got one of us saying their LFG Carvana, right? I mean, hey as far as a long yesterday. It treated us really well in the day before that You got to expect for it to pull back though. What goes up comes back down And if a stock keeps pushing up and up and up it's a day trade. It's not a swing trade, right? So you could look to get back in if the stock affords you that chance But hey, we're all humans, right? And we have not just expectations but emotions on the line as we're risking our real money So, you know, hey, just look at Cala. It was Kala. It went up. God knows how much percent, right? Well, I'm sure after a certain point not even I'm sure after a certain point I you know said, you know what? We're not gonna trade this stock We're gonna step away.  All right All right folks I think that's gonna wrap it up at least nothing really else on Facebook live or YouTube nothing else inside the live trading room That looks tempting. I got a little discussion on TQQ Q But we're following the stock market folks. It's the same thing as the spy, right? So markets are moving up. All right We're gonna call right now folks for all of us on Facebook live or YouTube if you have any other questions feel more than free To send it over through email. You can post it right to Josh at C2 trading calm I always like to post my email at the end of these streams If you haven't checked out our most recent video on YouTube make sure to do make sure to do so especially if you're interested in Indicators just went over just a Fibonacci indicator not retracement or extensions something I feel a lot of us are not really too familiar with so make sure to check that out But otherwise enjoy the weekend and we'll catch back with everyone on Tuesday again markets are gonna be closed up Coming on the 16th to be exact for Martin Luther King day Rich will be on the mic from three to 330 But I'm getting the hot tech to rack wrap things up for us going into the clothes folks So I will be back on them on the mic at 330 taking us into the market clothes. I look forward to it. Take care