Are we on already? We are. All right. All right. Well, we just had some excellent news from Capitol Hill. The Senate has voted to end the filibuster and has taken final favorable action on the highway improvement revenue legislation. Before the stampede, the airport starts, I'd like to take a moment to congratulate the members of the 97th Congress for their accomplishments while in this post-election session. They've dealt with some very difficult issues and put in some very long hours when they, like so many other Americans, have been anxious to return home for the holidays. In passing this highway revenue legislation, the Congress made a very important contribution to the quality of transportation in America and to the mobility that we sometimes take for granted. This bill, which I look forward to signing, will speed the repair of our aging roads, ridges and transit systems, and accelerate work on the uncompleted portions of the interstate system. It's a credit to leaders of both parties and to the hard work of many congressmen and senators on both sides of the aisle that this legislation was passed during this session. I applaud the Congress for their bipartisan support to ensure that our roads and transit systems are safe, efficient, and in good repair. In addition, this bill will provide up to six additional weeks of benefits to unemployed workers who have used up all their weeks of unemployment insurance. These additional weeks of benefits will put more than a half billion dollars in the hands of long-term unemployed workers between now and March 31, 1983. The Congress also adopted full-year funding for the government, the first time it has done so in three years. While still only in the form of a continuing resolution, this action will allow us to get right to work on the 1984 budget in January. By starting on time next year, we'll have a chance to finish on time and end this era of government by continuing resolution. This alone more than justified the Congress returning after Thanksgiving. Members also resisted pressure from many special interests to pad the budget with unwarranted pork barrel projects. Unfortunately, they failed to fully fund production of the peacekeeper missile and only one House overwhelmingly approved the Caribbean Basin Initiative. However, as I've said, initial missile deployment will be possible during debate of a permitted basing system, and the CBI will be high on our legislative agenda for next year. Again, I would like to thank the leaders and the members of Congress for their hard work and wish them all and all of you. Merry, merry Christmas. Well, I haven't thought about it much in that line, except that we can say that in this year and even in the preceding year, the Soviet Union has not advanced further in its expansionism than it had two years ago and has not gone into any additional countries. I think we have made great progress with regard to our relationship with our allies in Europe and Japan and more recently, although we began earlier, with our neighbors here in the Western Hemisphere. I think that the initiative that we've taken in the Middle East is probably the greatest accomplishment, and I have great hopes for that. If we can bring peace to that very troubled era, I think we would have made a very great accomplishment. Disappointments? What? Disappointments? Well, you always have some disappointments. Every time you send something up to the legislature, you don't quite get what you wished you'd gotten. Mr. President, speaking of those disappointments, what about the conservative filibuster? They frustrated you and the rest of the country for several days on this gasoline tax, and in particular also brought down any chance of the Caribbean Basin Initiative. Aren't you frustrated and angry with the conservatives, and what does it mean for the future leadership in the coming Congress? Well, I've been dealing with legislators for 10 years, and so I'm not too surprised by things that happen. With regard to making any specific comment on this, they have their own rules, they abide by them, and I respect the separation of powers. Well, can't you just say how you feel about the tactics that were employed? Senator Simpson of your party spoke out. There have been other Republicans who have spoken out. Doesn't it say something that is not very positive about the conservatives in your party? I would rather add, generally, if I had a criticism to make, it would be on the whole subject of the budgeting process in the federal government. And believe me, it is in need of reform. You realize that this, as I say, is the first time in three years, and we're already three months into the fiscal year. This is the first time in those three years that we have had a spending bill that is in conformity with the budget resolution and that has been passed clear to the end of the year. And I am one, as old-fashioned enough, to believe that the day the fiscal year begins, the budget of the government should be in place, approved and signed by the President. Mr. President, there are reports now that the deficit could go as high as $190 billion that you have a report from your own economists predicting that this is possible. Is this true? And what can you tell the American people about the budget that keeps growing and growing and you just can't seem to get controllable? Well, I have spoken the fact that the budget has a number of areas that are uncontrollable, principally in the entitlements where the legislation that originally created the programs automatically provided for increases in them and without any further legislation. And we're looking at that as we go forward with the 84-budgeting process. Also, there is the item of interest on the national debt, which is there's no way that anyone can say we won't pay that. You have to pay what's due. And when you stop to think how small the deficits would be, if it weren't for those long years of deficit spending that have resulted in more than $100 billion, the interest on the debt is higher than the entire government budget was not too many years ago. And this is what I mean about the entire budgeting process. But I think we have made great progress in reducing the rate of increase in spending. We're bringing that rate down hopefully to the point that it will match the rate of increase that comes with natural growth and revenues. But right now you have an added factor. The greatest single factor is the recession. You have millions of people who are not paying taxes, who normally do, and at the same time many of those people are now receiving benefits from government. And this has added to the cost and reduced the expected revenues. But on this budget's particular thing, no, we have not done that. And I am slated in January to come forth with an estimate of what the deficit will be. And it has to be based on projections. And I know that the projections we ourselves have made, based on the soundest of economic advice a number of times in these last two years, have then proven to be incorrect because they have not been able to predict unexpected happenings, such as this unemployment that I've just been talking about. And I would think that it would make us all cautious about the idea that even though the law forces us to project several years ahead what's going to happen, the truth of the matter is no one can intelligently project. Mr. President, you talk about the Middle East in terms of being a greatest accomplishment, yet your guest King Hussain here at the White House today is still reluctant to enter the process. The peace plan you put on the table September 1st remains there. What gives you hope in the Middle East, and will it take a change in the government in Israel to bring about some progress? No, I don't believe that. And I think we are making progress. I don't think that just having announced the idea September 1st indicates that this is long overdue when you stop to think how many years this trouble has been going on there. Now, I think we are making progress in the first step, which has to be the total removal of the forces from Lebanon. And King Hussain and myself, all people have, and his, who are here with him, we have made great progress in this. And I think his courage in being willing to join in this process, and participate as he has already, is to be commended. But I have another meeting scheduled with him this afternoon before he leaves, and I'll have a statement to make then at his departure time. Will King Hussain enter the process even more? I can't comment at this time until we've concluded our meetings. Mr. President, it's Christmas time again, millions of Americans remain out of work. What message can you give them specifically now, and when can they look for some help? I am convinced that this coming year, 1983, is going to see a definite upturn. I wish that I could promise that unemployment would instantly respond, but we know from seven previous experiences since World War II that it doesn't. It's the slowest thing in recovering. But I would like to say that to all the American people, the evidence of the last few days of the neighborly spirit in America certainly must have been personally gratifying to every one of us all across this country, the efforts that have been made to help those neighbors of ours. The other thing that I would like to suggest to the whole business community, I know that there are some businesses that themselves are faced with troubles and can't do this, but if a lot of businesses would take a look and see if they could hire just one person, it would be interesting to see how much we could reduce those unemployment roles. And there must be some that can't, I know, because of their own troubles, but there must be others that could probably do even more than one. But if everyone would just simply look at it in the standpoint, there are more businesses in the United States than there are unemployed. Are you frustrated by the inability of your administration to turn this unemployment situation around? No, because I think that we have put in place a sound program, and for the first time that this has been done in a number of decades, that is going to lead to a sound recovery. The problem of unemployment has been plaguing us for a number of years. It's been a kind of a yo-yo, up and down, and yet each time that it goes up, it never has come back down to where it was before the economic crisis or upset. And this time, we're trying to get an economic recovery that will see a sound recovery and a lasting recovery, not just a temporary, as I've called it, quick fix. Mr. President, I have heard you say several occasions that there were Christmas times when you were growing up when it was a very tough sledding around holiday time, and that your father had lost a job, and I wonder what you think their reaction of your father and mother might have been if the Congress of that period had passed a $5 billion bill that would have gotten him back to work right away when you were a little further. I've always thought that my father, God rest his soul, had the common sense that he would know that temporary fixes wouldn't work. As a matter of fact, when he finally did get a job, it happened to be for the government, in which he and the county supervisor of poor shared a secretary, and were in charge of the help, and they called it relief in those days, for the people in our community. But my father on his own, and without any instructions from government, because there was no such thing at that time, I mean, as a program, my father went out into the community on his own single-handedly, and got everybody in our town that had any kind of work at all, part-time or anything else, to give him the handling of the jobs. And then, as our friends and neighbors who had to have help at that time, would come into him weekly for this relief, he had them all arranged alphabetically, and he would name off a list that he could tell them, how would you like to have some work for X number of days or a week or whatever it was, and they eagerly jumped at it and took that work. And I've sat there myself in his office and heard men coming in saying, when is it going to be my turn? When do you get to my name again? It's been a long time since I've had some work. And guess what? The federal government then intervened and figured it out that they couldn't take that work, because if they took that work, they were denied relief, and then had to go through the entire formal process of applying for relief again, and that took longer than the amount of work that they'd had, so they were forced on to permanent relief, they couldn't work. Thank you, Mr. President. I'll tell you, I know there are a lot more hands, and I'll try to see you more often, but I am now 31 minutes late for lunch with the Vice President, and you know how irritated George can get, so I'd better get back up there to lunch. Hey, Merry Christmas to all of you. Just fine, fine. And it is just as minor and insignificant as you've all been kind enough to say, and no further treatment needed or anything else. Have you seen your electric trains? I've run it. Yes, they gave me quite a package. I've never seen one that tiny. Thank you.


Russia builds gigantic facilities for sorting occupiers' corpses. In Russia, large-scale facilities are being built for sorting and storing the corpses of the occupiers killed in the war against Ukraine. Ukraine's Defense Intelligence reported it. In Kursk and Rostov-on-Don, the Russians are building large-scale facilities for sorting, analysing and storing the corpses of personnel eliminated in the war against Ukraine. According to the Ukrainian Military Agency, the area of each object is more than 4,000 square metres. The facilities are supposed to include posts for conducting investigative actions and research on bodies, refrigerators with 1,000 refrigerating chambers, warehouses with coffins and other funeral necessities, mourning hall. According to Ukrainian intelligence, the estimated cost of building such a facility in Rostov-on-Don is about 600 million rubles or 7.1 million US dollars, and in Kursk it's more than 800 million rubles, approximately 9.8 million US dollars. The cost of refrigeration equipment is estimated at more than a billion rubles for each facility. The Chief Intelligence Directorate of the Ministry of Defense of Ukraine states that terrorist Russia is no longer able to hide the scale of personnel losses in the war against Ukraine. The construction of these facilities on the territory of Moscow confirms the fact that Putin's regime is sending its occupying army on a deadly assembly line but is unable to cope with the flow of the dead, Ukrainian intelligence said.


Health Services and Emergencies Health Services Australia has excellent health care. To stay healthy, it is important to eat healthy food, exercise regularly and get to know how to use the health system. Ask a settlement service provider to tell you about Medicare, GP doctors, emergency triple zero, hospitals, healthcare cards, dentists and other support services. You will have had a health check before you came to Australia. Now you are here, you and your family should make an appointment to see a doctor again, even if you don't feel sick. This will make sure you are healthy. Some illnesses such as malaria and tuberculosis are unusual in Australia and can be treated. It is important that you seek this treatment. Ask a settlement service provider to help you find a local doctor and if you can't speak English well, ask for help to make an appointment. Making a doctor's appointment. Hello, how are you today? I'm fine. Good, what can I do for you? I'd like to make an appointment to see the doctor, please. In Australia, you have to make an appointment to see a doctor. Doctors can be very busy so it can take some time to get an appointment. You must always be on time for your appointment. Would you like to see any doctor in particular? The appointment is for my wife and it should feel better to see a women doctor. Okay, we have a female doctor, Dr. Jordan. Would you like me to make an appointment to see her? Yes, my wife doesn't speak English well. Okay, we can organise a telephone interpreter. If you don't speak English well, you should ask about the government's translating and interpreting service. This service is free and confidential. It is important that you ask for an interpreter when you make your appointment. You can request a male or female interpreter. This service can help you communicate with your doctor. Do you have any medical documentation? Yes, we have some medical documents. Should we bring these with us? Yes. Do you have a medical card? Yes, we do. Don't be afraid to talk about your health with your doctor. It's okay to say you are sick. You will not be sent back to Africa. You are a permanent resident in Australia, so you will be looked after. All of your meetings with your doctor are confidential. Medicare In Australia, the government helps you pay for some of your medical costs. This is done through Medicare. You should ask your settlement service provider about getting a Medicare card as soon as possible. And remember, it is important that you carry it with you at all times. Some doctors bulk bill. This means Medicare will pay for your doctor's visit. You won't have to pay anything. Other doctors will ask you to pay after your appointment. If you pay, take your receipt to a Medicare office and they will refund some of your payment. You might be able to get additional discounts with a healthcare card. Healthcare cards can give you discounts for some health services and medicines and may give you discounts on other things like transport. Ask about healthcare cards at your central link office. Medication Your doctor will tell you what medicine you need to take and give you a prescription. You will then need to take this prescription to a pharmacy to buy your medicine. It is very important that you take the medicine your doctor prescribes. Ask for help to understand how much medicine to take and when to take it. Remember never to give your medicine to anyone else in your family and always keep medicine away from children. Don't use medicine that is old or has passed its expiry date. When you go to the doctor, make sure you take your medical documents, your Medicare card and your healthcare card and ask about immunizations for your family. Emergency triple zero. If there is an accident or someone is seriously ill, you should either go straight to the hospital or call triple zero and ask for medical help. Triple zero is the emergency telephone number across Australia for police, fire and ambulance. Ambulance hurry up! You need to give them your address and tell them what's wrong. If you use a landline telephone, the emergency service can find you by computer. She's very ill. She's breathing. The ambulance will take you to the hospital if you need more help. Did you call the ambulance? Yeah, they're coming. They're coming? Yeah. Counseling. It is normal for people who have experiences of war, conflict and displacement to be stressed or feel other emotions such as unhappiness and depression. Often in the new country of settlement, people continue to have bad memories. They may be unable to sleep or they may not be able to concentrate on the daily things which are important to them. Children can also remember bad experiences or be affected by family worries. They can show their stress by being too quiet or by being very angry. There are services which can help adults and their families deal with problems which come from too much stress and bad experiences of the past. These services employ professional staff who are counselors. The information you provide is private. The service is free. Turismihan is a trauma and torture counsellor. People who've been through a lot of torture and trauma in war often suffer the effects of torture and trauma and when they come to Australia, they have hopes that it will disappear because they're busy and they're trying to settle and they're learning English and they're moving on with life. I think the opportunity for people to come and talk about how they're feeling, just to share their sadness a little bit, just to sit with someone and have someone understand them a bit and to be thinking about them can make an immense difference. Interpreters are available and some services employ staff who are from the same background as you. If you would like the assistance of such a service, tell your settlement service provider or doctor and they can assist you with making contact. Staying healthy. Did you know? Did you know that the different foods we eat can be divided into groups? To stay healthy, you need to eat more food from some groups and less from others. This is called having a balanced diet. Dr. Michel Kelso is a general practitioner or GP. GPs are family doctors. There's some simple things people can do to stay healthy. It's important to try and get some exercise and that can be done by playing sport or just going for a walk outside and it's also a good way to meet new people and just to keep healthy. It's also important for particularly women and small children to have enough dairy products and milk and cheese and yogurt. Avoid drinking too much alcohol. Excessive alcohol use is expensive and can affect many things like your health, family relationships and your job. Avoid smoking and say no to drugs. You should also look after your personal hygiene. Staying clean and healthy is important for everyone's well-being. There are simple ways to do this such as taking a shower once a day and washing your hands regularly with soap. In Australia, most people wear deodorant and wash their clothes regularly, which keeps them feeling and smelling fresh. It is also important to look after your teeth. You should brush your teeth every morning and night and visit the dentist regularly. Did you know? Did you know that there are lots of healthy things you can include in your children's lunchboxes to ensure they stay healthy and concentrated school?


In this topic, as we are discussing about knowledge management in multinationals, we are going to talk about factors affecting the significance of organizational knowledge. What is it that makes organizational knowledge so significant? So in that, we will first of all look at how organizational knowledge has become an important factor and how is it evolved to become an important factor. So we'll look at a short brief history of how knowledge has become one of the important factors in management. We say that knowledge is one of the major sources of competitive advantage. Is it something which has always been like that or is it something which has now emerged and evolved in today's times? It is something which has now evolved actually. Earlier, let's say 50, 60 years ago, 100 years ago, competitive advantage used to come from excess to cheap natural resources or other factors of production. So factors of production, which are land, labor, capital and organization, those factors of production, they had more of an influence, particularly cheap natural resources and labor, cheap labor. They were one of the major factors in establishing the competitive advantage of a multinational. So a multinational who was able to produce at the lowest cost and because mass production was the only competitive advantage, so the organization who was able to produce at the lowest cost was the most successful one. So the competitive advantage was like that. So you could see that why all the organizations, multinationals, they established their, they got their products made from China because the Chinese products, they were cost competitive. And similarly, many multinationals, they used to come to the subcontinent, to India, to Pakistan, to utilize the benefit of cheap labor. And many organizations, for example, Nike, Adidas, they used to have their production facilities in countries, in developing countries where they could produce at a lower cost. Now the textile industry after the slum of textile industry in Pakistan, the most of the textile industry has shifted to Bangladesh. So many of the organizations, textile organizations, they get their products produced in Bangladesh. So the competitive advantage earlier, it used to be how cost effectively you are able to produce your products and services. It is still an important factor. It is something which cannot be disregarded, but then more important factors, they emerged as creating the competitive advantage for an organization. So in the second phase of this management, the ability to manage and utilize such factors properly would differentiate between the competing actors. So the importance of management practices, how well you are able to manage the different factors of production, how effectively you are able to manage them, how effectively you are able to manage the people, how effectively you are able to manage the finances, how effectively you are able to manage. Because earlier what happened was that because multinationals, they were scarce. So the benefits of that place would be utilized at some point, but as soon as their expansion started, then you can understand the forces of competition that led to a higher level of skill that required to create that competitive advantage. So if every multinationals have put their subsidiary, their production plant in a cheap labor area, then what will happen next? What will differentiate them? So the next step in which differentiation was created is that you can manage it in such a way that the organization can gather its cheap resources and manage it in a very good way. And then the third level at which at the state at which we are standing in today's time is that the process of then not just management of the given resources, but to generate more resources out of the resources that you already have, that became a distinguishing factor because then there were so many organizations and all of them then they were managing well the given resources. So now you've got to do something more to actually stand out. So what you can do that is that you use your given resources to create more resources and how do you create more resources? You create more resources through experimentation, you create more resources through innovation, you create more resources through research. So and all these things, they are processes of knowledge generation and knowledge management. So knowledge and information factor as crystallized in the skills to produce and use electronic technology and to process information. So very important aspect is that you are able to use the technology which is at your hand and you are able to create a competitive advantage by developing skills that are able to utilize and exploit these opportunities of technology and information. So the solution is that you manage information and use it for further learning, further enhancement. That is something which is now the source of competitive advantage for organizations and particularly multinational organizations. So research suggests, research tells us that companies with access to these new factors which is the ability to use electronic technology, the ability to use skills, the ability to manage information, they have a competitive advantage and they are more likely to succeed. So what do they do when they, what is essential for this knowledge development process? What are the dimensions of that? Successful companies are those that consistently, what do you do in this knowledge management and creation process? Is that number one, you create new knowledge through innovation, through R&D, through research and then you don't keep it with you, you don't put it in a room, you don't put it in a box and don't put it in a book, you disseminate it, you share it with your knowledge workers and you provide them with ideas and generate new ideas from them. And then embody it in new technology and product. So once again, knowledge you create in a box, you use that knowledge to create new technologies and new products which embodies the knowledge that you have created, it is kept in it, it is seen in it. And most important is that you are able to transfer knowledge to utilize across the organization so you just don't disseminate, you transfer, you transfer it from one place to the other and transfer means that when it goes to the other place, it's not just they hear it and then they forget about it, they get it, it is something which is transferred which is, which is then entrenched in as, as part of the organization and they use it to utilize it to create more knowledge. And so knowledge transfer happens through learning because when you acquire some new knowledge, what does it lead to? It leads to learning, it leads to and what is learning? Learning is a permanent change in behavior or attitude of persons and organization. So when we talk about organization, it means that when organizations they get knowledge and the transfer of knowledge has been successful, the organization will learn. Learning means it will start doing things in another way, it has to be change in behavior of the organization. So behavior of the organization, they start managing things in another way, they start communicating in another way, they restructure their organization to make it more flexible, to make it more effective, to make it more productive. So that these are all the aspects of organization. So when you acquire new knowledge, we are talking about organizational level learning, not individual level learning. So when you talk about organizational learning, it's the organization as a whole, how does it look, what does it do and how does it convert knowledge into new learning behaviors? And that is something which is directly related to the knowledge skills and abilities of employees which is called human capital. Human capital is something which was the term emerged from calculating the economic value of investment on education. So the concept of human capital was investment. It was emerged from looking at how much is the return on investment when you invest on education. So how much is the return in this? So from this discussion, the concept of human capital is that when you add value to your product or when you add value to your processes by learning new knowledge skills and abilities, it is something which makes it more valuable. So as the financial capital makes things more valuable, similarly, human capital makes your products and services more valuable. And then later on, in research, the non-economic value of knowledge or human capital that also emerged that the ability to manage in an effective way, the ability to lead people in an effective way, the ability to connect people in an effective way, which are the soft skills, those are the non-economic factors or non-economic value of the human capital, which is also very much important and which is also very much significant in making an organization successful. So what is important for knowledge management and transfer? Knowledge is important by creating organizational learning. It creates human capital. Human capital has got an economic value which is directly added into the products and services. It also has a non-economic value which manifests in the way the people and processes of the organization are managed. So a very interesting excerpt from an article by a Stalin dean says that some of the value is added directly by transforming the firm's product, but much of it is less tangible consisting of solving problems, coordinating the work of departments and exercising judgment in novel situations. So all these things being able to solve problems, being able to coordinate your work and being able to wisely exercise your judgment in different and unique situation, all of this is a part of organizational knowledge. It is a part of human capital and therefore it is something which creates value and carries a lot of significance for the organization.


Let's go now everybody. Got Kyle and Shawn here relating sports cards, and we are ripping one last person tonight This one is gonna be for mr. Kyle beat. Good luck Kyle. It's gonna be 2023 origins international blaster Good luck sir. Let's see some nice numbered rookies Nice inserts of the big rookies Good luck Kyle. What we got? You love on say David to start us off. Here's a CJ Straub rookie CJ to start and a Dalton Kincaid to 299 Good tight end rookie for the Beals and coming on strong last few weeks There's a Jameer Gibbs rookie Bijan rookie and Jalen Cart. You go Kyle. Nice pack there are some good rookies Monterey, there's an Anthony Richardson base rookie AR Got juju Smith. There's an Anthony Richardson another base rookie another AR Josh Downs and Anthony Richardson same pack there on the original gridiron insert Triple a AR pack there like there we go Kyle. I'm a hawk as a beast man. I really like that guy I'm in raw. There is a 25 nice low numbered rookie of that one's gonna be Jake Hainer Rookie for the Saints nice low number there to 25 Rookie at a UCLA I may another CJ might buy some heat spots probably be pretty cheap and like prism and stuff Yeah, he hasn't been in stuff yet. They're Kind of under rating him so far. I have to though. There's a variation Jameer Gibbs Michael Mayer Tanner McKee and startups insert of Charbonnet The last two here. Good luck Kyle Jordan Addison rookie Vikings Izzy Abanaconda and insert startups is Bijan Bijan Robinson Last pack here Josh Allen and a 149 is gonna be will Anderson Nice one there the third pick in the draft for the taxes He's also been playing some good ball recently another CJ Clifford and Jaden Reed on the back All righty there mr. Kyle that'll do it for the one box of origins international blasters Thank you so much my man. We'll get those right out to you sir


Lung cancer is the most common form of cancer worldwide, making it an important area of research. Current treatments include surgery, radiation, chemotherapy, targeted therapies, and immunotherapy, but all of them come with varying degrees of success and side effects. Additionally, chemotherapy-based regimens have reached a therapeutic plateau, so new treatments are needed. Natural compounds such as Wurtmanin, Raskavatin, Cordyceps Militaris, Resveratrol, OSU03013, Maricitin, Berberine, and Antroquininol have shown promise in treating various forms of cancer, including non-small cell lung cancer. These compounds could be used alongside existing chemotherapy drugs to provide more effective treatment options. This article was authored by Huang Qiyong, Judith Tong, Chong Qifan, and others.


Julio Jones, Calvin Ridley, Hayden Hurst, get ready, because end coach Arthur Smith uses unique route concepts to get the football to you playmakers in space. Watch how he does it on these particular plays and how he uses that to be really special and create those long plays. Let's talk about some of the unique route concepts that Arthur Smith brings here to Atlanta and the way he creates these particular zones and really confuses the defense by formation once again, by motion, trying to get information, and then the execution is the end part of it. On this particular play here, once again, here's your tight end and you use the tight end a lot. Hayden Hurst is a guy that the Falcons use a lot in motion to understand where man coverage is and then use them to isolate if you have time. Here you got motion across. So this information right now tells me that nobody went with it. So when nobody goes with him, that tells you it's zone coverage, but then they can also switch it up here pre-snap. And that's the one thing that Arthur Smith I think does really well is, he has route concepts that fit man, that fit zone. Pre-snap, this says zone coverage, nobody goes with it. But on the snap of the football, you're gonna see man coverage and the route concepts that come out of it.  You're gonna get the shell across here coming across the middle. That's good versus man or zone. You can sit it down or you can keep it on the move if you got man coverage. Here's your tight end Hayden Hurst.  This is good versus man or zone.  He can sit in this void or he's got man coverage. He can stay on the move. Something Hayden Hurst does really well in this offense and you can tell he's gonna have a big impact. Then also here's your other elite receiver he's gonna run an in cut.   They're gonna confuse these defensive backs here and they get confused so much that they take two guys and leave one guy wide open. So we already talked about motion is an indicator for information that tells us if his man or zone. Now you're talking about the route concept that creates this particular play here for him. Now you see both these guys going vertical. He looks like he has it right. He's looking right at him. He's got good coverage on him. They got good man coverage on the backside. You got the shell across here that can win versus outside leverage running away from you and then at the bottom. Here's that indicator. We're gonna talk about one on one on the backside because it's so afraid of you running the football out of this formation you get these one on one matches on the outside and this could easily be Lulio Jones one on one on a wind route down that sideline. But he works the three receiver side and now the top of this they get confused. Look at this they get confused at the top because both guys went vertical and now here comes a your big time receiver come across here with nobody in the middle of the field and they complete a huge pass to him over the middle and now you convert on third down at five which creates a huge play. So by formation you created exactly what you wanted and then by the route concept you're able to get any guy you wanted open your tight end either your receivers and they did a good job of executing it at the end of that play. Arthur Smith does a really good job of finding ways and creating these opportunities for the tight ends. As we've seen he loved the tight end he's coached the tight ends before so he understands how to get those guys to football and his particular play here he's gonna use 10 personnel and this is where Hayden Hurst can really win is 10 personnel especially they're playing some kind of zone coverage but the other thing to recognize on this particular play is this is third and 11. They use tempo, they use no huddle and they catch the line is kind of off guard here with their tempo and their motion. I say 10 personnel because you have one tight end and the rest are all receivers. Here's your tight end right here who could be Hayden Hurst. He's on the football that tells you now he takes priority over this route.  Look how many guys are standing up and looking around. They have only one guy with his hand in the dirt. Everybody else looking to the sideline. These guys are trying to communicate. He's talking to him. You see so many guys, these guys aren't even ready. He's still walking around. This is where you can see they caught him in some kind of tempo and he uses the tight end right here to feel the void right in the middle of this field because there's really nobody to cover him because they weren't even ready. Ball of snap you see they're still walking around and now look you got receivers outside. They tried to go to cover two. They got that covered. That's fine. But you got so many guys to work the inside here and look at this nice play there for your tight end right over the middle catch of the football. Nobody around them 311 and easy completion that gets you the first down. And if you don't like this because of tempo because of no huddle, this is what makes it so good. And other Smith changing it up through a ball game and no Falcons fans would love to see that but he does change it up. Also it creates other opportunities. Now the tight end catches the football but look who else is open. You got another receiver that slipped out here. Nobody's within 15, 20 yards of them because of the tempo, because of no huddle. You still have many options and just because it's third and long does not mean you're not going to be able to pick this up. They pick it up, huge game and that could easily be Hayden Hurst and his Falcons offense creating that for Arthur Smith and creating the big place out for you. I've talked a lot about rock concepts and how good they are. But I love the way Arthur Smith uses these different rock concepts. And I've said this so much about formation by alignment and it matters so much. And these rock concepts are good versus man and good versus zone because of the way they're created. And watch on the simple play. You're going to have a little slight motion here. This little motion here is going to get this linebacker to fly up just enough. And on the back end here, here's the route you got here. This is 21 personnel tight end on the backside. And this is where he tries to isolate Hayden Hurst. He tries to isolate his tight end on the backside and run this out route. Now most of the time it could be there but if it's not there, here's what I like about what Arthur Smith does. The route concepts always come into the vision of the quarterback, which means everything is coming into his eyesight when he's trying to throw the football. And this one is all play action again.  But here's the route concept. You got a little small over out here and then you have a deeper over out here. And then you have the tight end out on here. Everything wants the quarterback comes out of the play action here and turns his head around. Everything is going to be in his eyesight. Watch the little small play action here. Watch the motion. Look at the motion. Look at this guy. He's already flying up because he thinks it's going to be this little inside zone here. He flies up here. It's not quarterback flips his head around. Now look at this is Hayden Hurst on a corn. He already has leverage here to complete this. He could throw this if he wanted but because he took a false step up. Look he's already beat coming across here. This guy's going to have an even bigger void to catch the football here. And now boom. Look at that window. One window here is open. Another window is open here. Doesn't matter if it's man or zone. This is Hayden Hurst at the top. This is easily an easy completion. He has three guys he can fit this football into and it's all predicated off the run mirroring the pass game and now you complete this football and another chunky artist play for one of your big-time playmakers on the outside. Mirroring the run game, making sure they look exactly the same but also on the back in the route concepts, matching what you want to do and really good versus man or zone. Dragons fans thank you for joining me. I am DJ Shockley. I am really excited as a former QB to watch what Arthur Smith does with this offense. There are a lot of things that can get done. He is very explosive in the run game or like I said, he uses multiple ways to get this offense into the end zone. He's very effective. Looking forward to a great season with our new head coach Arthur Smith. We'll see you guys in the fall.


Okay, we'll catch up with John later.  Skipping the AIs, the only thing I wanna point out, although I don't see Kathy on the call, so it doesn't do any good to do that, so let's skip that one. Okay, so first of all, before we get to the meat of the discussions, we had a doodle poll for the face-to-face meeting in the OSS summit. We only had four people so they could make it, so we are not gonna have an official meeting there. We may choose to just sort of get together just informal, but it definitely will not be an official meeting if we do decide to meet, so you guys don't need to worry about that one. I did start a doodle poll, however, for Kupkan and Shanghai. I think we've had quite a few people sign up for that one, but I wanna make sure you guys draw your attention to it because we actually do have a intro and face-to-face session signed up for us. In the coming weeks, I will start Google Docs or something to try to gather ideas for what people would like to discuss there and who will be there to help present or whatever, so I'll forgot the logistics later. But for right now, there is a doodle poll for people to sign up, so we at least know who's gonna be there. Let's try to get people to sign up by next week's phone call if possible, please, just so we can get an accurate list of people, all right? All right, moving on then, let's talk about PRs. Rachel, would you like to present? For which PR? I'm sorry. For the extension. What other PR is there? Yes, yes. Okay. Hey, real quick, I used the word just for this last week and I didn't really understand the negative context, I don't think. So I just wanted to make sure that everyone knew that I didn't mean that anybody had negative thoughts or didn't do anything. Probably wouldn't have been more accurate. So I just wanted to clarify that. Okay, cool, thank you Dan, I appreciate that. All right, so I thought that was a yes, you wanna share, right? Yeah, it says I cannot start sharing. There you go, I had to stop sharing, so there you go. Okay, can you see my screen? Yeah, it's a little on the small side. There we go, much better, thank you. Okay. So I wanna start by acknowledging that we are slowing down progress, that everyone is very eager to make and I'm sorry about that. The thing that I do wanna say is that we're not doing it to be capricious or because we're acting in bad faith and we just wanna stop the spec. To point to that, Spentures opened up a PR proposing a proto-implementation and that's the open source format that is used extensively inside Google and outside Google. Thomas has created a sample repo that we're going to walk through as part of this demo but also we open sourced it so if anyone wants to go look at it after this or in more detail or read through how it's working, you can totally do that. And we are slowing it down but we're doing it because we think that if we make some changes now, it will be more broadly useful. So that's what we're doing here. And if you can hold your questions to the end, we have lots of people in the call who are happy to answer all your questions and we just wanna get through this presentation as fast as possible. So to start proto means roughly two things. There's a human readable dot proto file. It's written in the proto buff interface definition language and that's used to generate multiple consumer of it, libraries, encodings, that kind of thing. There's an example of what this looks like here on the right side. One of those encodings is the proto binary format and that is the other thing that we can use proto to mean. So to avoid confusion in this, I'm going to refer to protoling, to refer to the language. That's the thing that is human readable they can write. That also generates a JSON encoding and we are bending over backwards right now to define a cloud events message in protoling that will generate JSON as that compliant. And you can read more about how it converts to JSON. And I'm going to refer to proto binary or binary. So we can define a cloud events message in protoling and it will generate serializations for both JSON and proto. JSON serialization I've linked to, it's not incredibly restrictive but there are some restrictions. A source of confusion in previous conversations that we've had has been that the proto binary and the JSON serializations are totally independent. That's not true if they're both generated by a common protoling definition. Only a subset of valid JSON can be generated by protoling. It's pretty permissive but it enforces some guardrails and moving extensions to the top level properties does make it impossible for us to define a spec compliant cloud events in protoling. So we acknowledge up front that this extensions bag is just a slightly clunkier API. It makes the promotion process for JSON LA systems more complicated than it would be if everything was at the top level and we're still asking for this because we think it makes the spec more reliable and more useful and we have a demo to show why we think that's true. The other thing I want to say about proto is that it's used extensively by other CNCF projects like Kubernetes and GRPC. And if we want our spec to be a CNCF project, we think that it should play well with other CNCF projects. Proto is used at companies that have lots of popular APIs and we would love for them to be able to support cloud events. I just, I wasn't sure how many people were using it so I just looked at the public mailing list and there are about 4,000 users and just scrolling through, lots of them are big companies. Publishing a cloud events definition in ProtoLing would let all those companies quickly start using cloud events within their existing proto-based system. And if a cloud events JSON format cannot be expressed in ProtoLing, then every single company that's using Proto internally was going to have this higher cost to start sending or receiving events. So that's all I want to say about that. It's not proprietary. So I'm going to stop sharing and I'm going to let Thomas share to walk through his demo. This demo is using Doug's JSONX tool and it's going to show that we get non-deterministic behavior if we circumvent the ProtoLing's guardrails for JSON. Thank you, Rachel. So one of the things that I wanted to focus on was that I think to a large extent the discussions that we've been doing where we use Proto as an example aren't just about Proto. They're just those guardrails which I think are there for a reason. So I had a Git repo that I published yesterday called versioning is hard. I try to act as three different actors. Our working group, a smart library vendor and an application developer. And I try to do this all on the JSON spec as proposed where it violates some of these kind of guardrails and see what could possibly happen. So if you look at the Git history, basically- Thomas, can you share your screen? Oh, am I not doing that? I'm sorry. I'm being technically enough which is very embarrassing for presentation. It says share screen, where am I? Oh, desktop, there we go. I missed one of the dialogue boxes. Can everyone see it now? Yep, yep. Okay, cool. So anyways, each of these is poking a little bit of fun at our working group. It's all signed off by each commit acts as one person but we can go ahead and look at some of the final product. We have some fake cloud events and we will run the application at version 1.0 of our spec where let's see, we can see that the spec currently says that there is anything with an event ID property is a cloud event and anything else can be present. They're just extensions outside of the scope of the spec. And then this is the simple JSON library. Unfortunately, the JSON that is being proposed is incompatible with the default Go compiler. There has been a outstanding bug that I linked to that has been around for many years. Go still cannot with the default compiler handle unstructured properties. So thankfully Doug tried to work around that and so he has his special parser that I use. And then my application just basically loads it and doesn't debug prints. It prints out the event ID and we're pretending that this is also using the sampled rate extension that we ratified yesterday or not yesterday last week. And said it was either sampled a rate of one in something or it was not sampled. So if you run it at 1.0, it was got about 1.2.3. It was sampled at a rate of one in 10. But now if we check out the 1.1. So what happened is spec 1.1 got announced. It said, hey, we also have an event time property. And by the way, we've also noticed that everyone likes to use sampled rates. So we're going to now formally define it. So the response for that is to just add those fields to the JSON, or the struct in our library. And then suddenly when I try to run that code though, um, let me double check. I may have done my best to correct it. Did you pay homage to the demo gods first? There's the problem. I may not have. Man, I've had my bad luck lately. You're still sending event 1.0.json, did you have to send event 1.1? I wonder if... Yeah, you're getting paid a lot. That's the point is that you shouldn't, this breaks even when you don't change the data payload. But let me double check what's going on. Oh, for some reason. While you work through that, is it useful if I talk about what we should expect as you have any? I can even just edit it on the spot. It seems for some reason my git text got messed up. I didn't have the change in the struct. Lib cloud events, cloud events.go. If I just add the definition for this thing, I think we called it sampled rate. Editing the spec to actually match, or adding the library to match the new spec means that if I run this, it now breaks. My application hasn't changed. My spec changed what we thought was a forwards compatible way. We used the latest and greatest tools from our own working group members. And there was nothing that could actually be done to avoid breaking this application. So whether we actually choose to do this extension or not, I think my request is that either A, we treat extensions separately always, just so it's a very clear idea that it's extension or it's not extension. Or B, at least recognize that when something is in a well-known extension, if we promote it, that there are some formats in some libraries where this is a breaking change and that we would do it as a breaking change. So I will yield my time. Okay, now I'm going to jump back to presenting. Okay, so the thing that we want to take away from that demo is that, oh, I can't increment my size. Okay, so you can see my side's not right. I guess we can. So the thing we want to take away from this is that we need to balance forward compatibility and extensibility and structured data. And we have a proposal for how to do that and that it's flexible for all formats. So diving in for a second into forward compatibility, that's about adding new attributes to the spec in future iterations without breaking the existing event consumers. They're still using the old version. In JSON, this is really straightforward because JSON keys are strings. If the keys are uniquely named, there is no risk of collisions. All the values are JSON primitives. And the future iterations of the spec that add new properties are assumed to be non-breaking changes for existing JSONs. So what do you mean by primitives? JSON primitives? Yeah. That's defined in the spec. So we have a list. Okay, okay. That's okay. That's okay. I can send you a link to it later on. So forward compatibility in proto-binary is a little bit different. Why should event consume, this is a question that we've gotten from a few people. So I want to just address this directly. Why should event consumers using proto-binary not use the unknown fields for extensions? And there are a few reasons. Unknown field doesn't provide forward compatibility because the top-level keys are integers. And to avoid collisions, we're going to have to use a high number integer to avoid that. And so the normal low index integer. So when it is upgraded, we're going to have to flip to a low index integer when it's promoted to a top-level spec. It's very hard for us to use two extensions in proto-binary. And if they're out of the top level, event consumers would have to individually write an additional protolink definition for the base spec and then combine two extensions into a new tag. And if the extensions are in a property bag, it's of unknown fields. They're promoting them from property bags to a known field is a major change, not a minor change because we're going to have to, like we're checking for it in one spot and now we're going to check for it in another spot. So even though it's a minor change for JSON to add a new thing, to add a new property, it's going to be a major change for binary formats. And this is a question I really want to draw people's attention to. Will the working group be incrementing their semantic versioning only when a change breaks JSON only event consumers or when it breaks anybody? So diving into extensibility and that's about allowing arbitrary attributes either at the top level or in a property bag. So things they're not defined. So extensibility versus property bags has, I'm going to talk about the pros here, the pros first. For event consumers using a binary format, extensions can be used without special handling of vendor specific extensions. For example, sample rate is added to the extensions property bag. If it consumers can assign extensions to be a struct and there's a link to how that is defined. Struct is defined, there's a lot of work that's gone into this to making sure that it can handle arbitrary values and that the conversion between JSON and protobinary smooth so we can take advantage of that. And for event consumers that are using a JSON only format extensions can be used without special handling too. So the cons of the property bag, this is what I think you're all very familiar with but I'm going to tell you what you believe anyway. Promoting an extension to a top level attribute is a breaking change for both the binary and the JSON formats. For example, if sample rate is widely used and then it gets promoted to be a top level attribute to be backwards compatible event consumers are going to need to accept the 1.0 events where sample rate's still in the extension bag and then to support 2.0 events the consumers are going to start needing to look for sample rate as a top level property. So to avoid the breaking change, that's a primary motivation I think most people in this group feel for moving away from the property bag to put all extensions at the top level. So if we use extensibility via top level properties for JSON only implementations, this is fine as long as you're uniquely named and the promotion path is absolutely seamless. Event consumers will see no change between the attribute being an extension and being a known attribute but for protoling implementations we can't easily handle top level attributes so there are two work grounds. The first one is to handcraft the proto binary adding the known attributes to an integer key top level attribute and adding unknown properties to a property bag. This is going to require abandoning the built in conversion between JSON and proto binary that's provided by protoling and special casing that for cloud events is going to be a pill fight for every system that we want to support this both inside Google and for everything that's using protoling. So the second work around is that event consumers could drop unknown attributes but that is effectively dropping extensibility so we don't like that at that. So the conclusions and our requests are, conclusion one, if the extension bag is removed the JSON format cannot be expressed by protoling and Google will be unable to avoid fracturing the spec because we're going to have to duplicate the JSON format and it will differ and like so we're going to break into a format that is compatible with protoling and a format that's compatible with the spec. We know that it's a sacrifice for everyone that's in a JSON only system they're going to be giving up the cleaner JSON and the seamless property promotion path for only JSON systems and we think this change will be a good, like we think that in giving that up it also makes it useful to a much larger group. So here's our, here are our requests. We know that if you're not using protoling that this is kind like we're asking you to go out in a limb and think about how things will work in other situations that you're not dealing with right now and we ask that you do that. There's a conflict that we see coming down the road for forced compatibility extensibility, excuse me extensibility and then the ability to structure your data. And so we would like the working group to decide which goals we value and which they're willing to sacrifice. If the working group wants to support or wants to sacrifice support for structs or if the working group has a plan to only make breaking changes or to increment a major version when it breaks JSON only systems that's something we would like to know sooner rather than later. So that's it, that's all I have and we're happy to answer your questions. Okay, so like we did last week I think it's important to have an ordered discussion here. So if you want to raise your hand to say something put a plus hand into the chat and I'll do my best to notice it. And the only reason I put my hand up first is because you guys mentioned my tool so if you can stop sharing for a sec I want to show one thing. Thank you. Can I ask a question?  I can just find my, I think that's it. You guys can see that, right? Yep. Okay, so since Thomas was using my tool and if I heard him correctly I think he made a claim about how when you upgrade from one version to the next and you add a new optional property that was once an extension, it's a breaking change, there's no way around that. And that's technically not true. In fact, in that repo you can actually see, I have an example where I have a person version one with just name, person version two with name and address with the assumption that for the version one address was extra meaning it was just that extra place where extensions go. And so when you take this, Jason gets parsed. The example shows you parsing into a version one's person and a version two person. And you can access it because the toolkit that I'm using which is the same thing that Thomas was using, my little ext thing, I can actually address, I can actually access address from both structures with the exact same line of code. And you run it, you actually get the exact same value coming out. So my point here is not to say that there won't ever be any problems. My point was just it depends on what tooling that you're using going forward. And that's the only thing I just wanted to point out because I didn't want people to be misled at least for my tooling that there's this problem that it can't be done when it can be done. There's an example in there that shows it. So with that, Kathy, I believe you're next on the queue. So go ahead. So I have a question for you, Rachel. So you mentioned this extension and bag and do you mean the extension keyword we used to have? Are you referring to that? Yes, that is what I'm referring to. So, okay. Yeah, I just want to make sure you're opposing top-level probably bags. It's not that extension, but we propose some attribute which is of the map format. Yeah, so we're asking, we're saying that it is not compatible with protoling-generated JSON to have arbitrary attributes at the top level, but if they are in an extensions bag or in a known property that we have a type for then we can't handle it. So your point is if we put those into a known, well-defined bag, it's better. Is that what you mean or it's worse? Yes, yes. That's what we're saying. It's better? Yes. Okay, I see. Cool, and I think I'm next. I'm not sure if I'm supposed to raise my hand to respond to these comments or not. Yeah, that's not good. So in response to the thing with Doug, I do try to be, if you check that GitHub repo as intellectually honest as possible, I did actually disclaim this in the footnote that Sarah pointed out. So the point of the discussion was supposed to be about structured formats of any kind, not just proto. And there is a work around with certain usage patterns that are okay. I personally would not recommend the one that was just shown, because I'd actually recommend using two structs because now with the example in the futures section, anybody who says event.extras will invariably be broken. You can escape out into a string-only system. This is how some libraries do it for HTTP headers where you either access everything. There's no unknown headers. It's just everything has been developed. I would argue at that point, we're not talking about the trade-offs of the structured system because you've gone to a map-based system again. I think it's an important note though that throughout this demo, we're finding tools at many steps of the way. And though it is, I would like to have a spec that is not possible to use correctly, but easy to use correctly. My personal trade-off that it doesn't have to represent the groups is that I would rather have slightly more verbose, but very, very hard to use incorrectly. Very hard to walk into a trap where you've accidentally made something not more compatible. All right, thank you. Clemens, I believe you're next. Yeah, so I have a few observations. First, what I find interesting is that the entire protobuf discussion is done through the lens of existing tooling. And really not, it's not a protocol discussion. And I find that a little odd because we're really trying to build interop and trying to build that kind of at the protocol level. What I'm seeing is effectively lots of discussions about tooling particularities and idiosyncrasies, specifically around JSON, which I frankly don't understand because we have a canonical spec for JSON. And if the particular tooling that you're choosing is unable to handle the JSON that we have, which is a very straightforward flat structure, then the question is whether the tooling is right. I don't think there's any need for using a... What I see is that you're defining a protocol document and you seem to be insisting on using that particular document to also do all of the JSON serialization work that you're doing. And I find that choice rather odd. And I don't think, since we have a normative specification for how JSON Cloud Events works, it's unclear why that's even made a topic. I would understand if you were to have an argument about how it's impossible to serialize unknown fields at the top level purely in the protobuf binary format, but I don't understand the JSON angle at all. So that's one point. Second point, if you are taking, and I did a bit of the math in a comment to your protobuf submission in the repo, we have currently eight well-defined fields. Of those are four are required. If you are taking those, if you were taking the road to basically making the entire message, not strongly typed, but if you, so position and basically, if you were not doing positional encoding, but if it would all putting it into a dictionary, which make it completely equivalent to JSON, what I came up with is effectively a overhead of four bytes per field. And if you squish it down and really make it positional, then you can also get to, and use effectively the capabilities of the wire format that protobuf gives you. You could get to two bytes overhead per field, which adds up to between eight and 16 bytes, and that's still within the AS 16 bytes padding range, which means if you sent this all over TLS, overall the gain that you have by using positional encoding using protobuf might be completely going away just because you're using encryption. So for me, the question is, why are we going through all these exercises? If we can take the key value pair model, maps arrays and values model that JSON has, and it's also used by several other binary encodings, message pack, XC, if you take the XML version or BSUN, and rather for the rather particular case of a constrained type model that we have, and hard-wired type model as it has, as proto has it and also as thrift has it, why are we making all this effort for really effectively very minimal gain on the wire? All right, I have a comment. I believe Mark here next. Yes, so the presentation talked a lot about the versioning, and what my main question is, didn't really address the difference between optional and required fields where we had felt that optional fields would only require a minor release as opposed to require it that would require a major release and it seemed like the presentation was really just talking about major releases in required fields. Rachel, can you address that? Should I address it now or should we let people, I don't know. No, go ahead and respond because otherwise people may forget what the question was. Just go ahead and respond. Okay, so we focused on required fields because we think that's a use case where it's breaking for everyone. We did. We can talk more about minor releases that only have optional fields. Since I'm next anyways, I can just add on to that. Actually, you're not next. Oh, I thought I wasn't, sorry.  Oh, I missed that you had done it twice. I was just gonna say we're not changing our stance at all about adding brand new from clean cloth optional fields. Those should be acceptable as a minor revision. I would say, for example, if we added something that is already in the well-known extensions list, we are quite aware that this thing does exist and there is usage, and that ratifying an extension, not just adding a new property that we've never seen before, but ratifying an extension is a breaking change. That was my suggestion. And I think that's why we focus so much on major versions. I'll give it back to Doug. Okay, thank you. I'm speaking now strictly from my point of view, not as someone who's trying to run the meeting, but I did wanna point out something that Thomas was talking about my tool. I think you were implying my tool was kind of flattening everything into name value pairs and stuff. You're not able to use structured processing. That's actually not true. It only does that for unknown properties, not the ones that are well-known to the structure itself. Those you can still always access by direct reference to the structured elements. But I guess my question, I have two questions for you guys. One is in the stuff that you guys posted yesterday, it made it sound like you guys were saying the existing JSON that we have in our spec is not compatible with Proto and that you guys are going to be requesting changes to our existing JSON. And I'd like clarification whether that's true or not. And my second question is, a little bit of a question, a little bit of a statement, this notion of ratifying extensions is something I think we need to almost get clarity on because the spec by definition does not know about extensions period, nor do we know about all possible extensions are out there. So this notion of ratifying an extension being, I'm sorry, the notion of creating a brand new optional level property as an act that is different from ratifying an extension is just false. They're both the exact same things. The spec doesn't know about extensions to the spec. Everything is a brand new thing and we can never know for sure what is being used as an extension someplace. So to say that we're gonna add something brand new to the spec and therefore we don't have to worry about existing that existing thing being used as an extension just is not true. Everything could technically be used as an extension. So I'm not sure we can differentiate between those two. So I'd like to get an answer to my original question though, what are JSON need to change according to your guys request? Okay, so it does not as it stands now but if your PR that merges extensions, so extensions can be in top level properties, then it is not compliant. That's why this is coming to a head now. Okay, because the PR that's out there right now for your proto stuff says it's incompatible. It says that what's incompatible. It says the JSON from the spec is incompatible with the JSON generated by proto. I think the, that may have been partially misspeaking on that the, we've been very worried obviously about the extensions back. One case where we would actually still be not able to be fully compliant yet. And I've been trying to pull in the core proto people is data, the fact that data is so variable and that like if it is JSON inside a JSON spec, it has one type of encoding and if it's bytes, for example, it's a byte string. The, we currently got around it by saying if it's JSON like we call it data. And then we had to say something like bytes data for raw bytes. Those are the two places I've seen. Effectively the three things that we can't do in a proto compatible JSON are distinguished between a zero value and empty value. We can't have like multiple indeterminate top level fields from like not just the main hierarchy. If it's just the working group that releases a new version, there's version one and version 1.1 and they were forwards and reverse compatible. As Rachel covered, if there's 20 people adding their extensions, it's very hard to coordinate with proto. And then the third thing was just that mutable shape idea like something is either A or B. So we had to say that data is JSON-like when it is called data and it is binary when it's called bytes data. I'm always speaking up because no one else is in the queue. But that sounds like what you're implying is you're asking us to defer our JSON serialization format to whatever proto does. Not exactly, like I wouldn't, I don't think that that's exact. Sorry, can I answer first, Thomas? Yeah, please. Okay, I would characterize it as writing the JSON that we want and then trying to stay within boundaries that exist because we have found bugs in the past because of them. Yeah, I have been trying to take the JSON spec that the committee has come up with and treat that as gospel and reverse engineering reporting back issues. I don't, obviously my life would be easier if we stayed in those conflements. I know that that's, to do that just because it makes people's life easier is not appropriate in the group. But I think to some extent it may be appropriate to say why were those decisions made by another group and are those lessons that we can learn from? Okay, Clement, I think your hands up. I'll just observe that I find that China would change an open protocol specification to the particular limitations of a proprietary serialization stack and make demands out of that in an open standards forum is highly inappropriate. I appreciate the moral high ground that you're trying to take. No, there's no, no, no, no, no, don't do that. It is not a proprietary format. Let me be very clear, right? We have principles for what's eligible and what's not in this working group. Protobuf, your entire stack might be used fairly widely but your stack is Google proprietary. It is not under the umbrella of an open source foundation and you can change it and you control it as much as you like. And Google does change it as it likes because we got protocol two and you got protocol three and you basically control the destiny of that stack with anybody influencing it. So as such, it is entirely proprietary. There is no moral, there's no moral argument here. I'm making an argument for principles of how open standards are being created. So what you're trying to do right now is to go and say, we're Google, we're great, we're big, we have the stack. And now this group needs to bend its formats to the will of the particular artifact that we're using without even looking at the reality of the wire and the focus on what you really need to bring, ought to bring to the table and that's your binary format. The JSON format that we have here is 100% orthogonal to your tooling because you can use, like everybody else, just another library for doing JSON parsing, nobody's forcing you to use your library. Your library is really good for creating the binary format but your library, if it's not good for creating the JSON format, well, then that's so. But I don't see how the working result of this working group should bend to the needs of a particular library like Protobuf. Okay, so let me just keep going to the queue. Sarah, I believe you're next. I just wanted to follow up on a comment you made, Doug, where you said that having the extensions at the top level would mean that we would never ratify an extension. No. I thought that was like the whole point. I was confused by that. Maybe you could clarify what you said. Yeah, no, it's definitely not what I intended. My point was that there was a distinction being made between us adding a new property in version 1.1 and that thing that's being added being completely brand new versus it being a known extension that's being promoted. And my point was that from a spec perspective there is no differentiation. The spec knows about no extensions, period. All we could do is add new optional properties in version 1.1, whether it's being used or not is unknown to us and it doesn't influence anything in my mind. That's all I was trying to say. Yeah, I think you're right. I mean, in terms of, I mean, you might use a implementation in order to make a case for it being promoted in the spec, right? We're being ratified in the spec, but yes, it shouldn't influence our decision. However, from a technical perspective, I mean, I think this whole conversation is to talk about, well, we expect that people will be using the extensions in order to try stuff out. And then we expect that it will be common that stuff that people have used and have implementations in the wild that have extensions will then later be ratified in the spec and how do we technically deal with that, right? That is, I think, the subject of the discussion, right? I guess, yeah. Because we expect that to occur. Therefore, we have to reason about how does our spec handle that? You know, and so that we need to think through, like either we need to, we could go the route of saying, this is a JSON only spec and we don't support any other things and we're not interested in binary protocols, right? Or we need to reason through these concerns. And I think that Thomas and Rachel have made good efforts to say that these are issues that would happen with any structured binary protocol. And it just makes it more difficult, not impossible to implement. And we have to think about what we value as a community in forming the specification. Okay, thank you. I believe I'm next. So the net effect, though, of trying to make a distinction like what was being proposed here of no extensions being promoted and is that you basically have to treat every single extension, I'm sorry, you have to treat every single new property that gets added. Can someone go on mute if they're typing? You basically have to treat every new property that gets added to our spec as a known extension because obviously someone's probably been using it, otherwise they wouldn't be adding it. And then that's gonna be a major bump according to what you guys are asking for. So any change to our spec in terms of new properties that we added will result in a major version bump regardless of this PR, which you guys are suggesting. Now, the other thing is, the reason I really raised my hand was I'm really confused about why this specification is so problematic because there are a ton of other JSON specs out there that have JSON serializations that allow properties to appear at the top. And I have never heard of one that tries to ban new properties at the top like this or we forcing people to put things in certain buckets or saying you can't use binary pro formats with it. I've never come across another spec like that. Maybe my scope is just very limited. So I'd really like it if someone can point me to another spec that has these types of problems and we're forced to make these choices that we're being asked to make because I cannot find one and I really wanna see another example of it and that way I can see why they made those choices. Okay, who's next in the queue? I believe I'm just right after you. Okay, go for it. And to be clear, I am not trying to put my foot down and say that our JSON must be dictated by proto. I am A, trying to raise awareness of what tooling is. I think that we should have a goal to consider the practicality of implementing certain things, certain features of a language or spec or easier implement than others. JSON is no exception. The other thing is just effectively giving, putting the choice of Google's roadmap on the committee's hand that when we eventually try to add support for GRPC, having published a proto file in open source will de facto imply a JSON spec and we are stuck between a rock and hard place. We cannot prohibit someone from taking our proto and using the generated JSON version and at the same time, we can't without help reconcile them. And so we're trying to put it in committee's hand of which do you prefer. And it's absolutely okay if there's a formal declaration that we understand Google said that this would cause this implication, go ahead. We just want to make sure that that's actually in some minutes somewhere that we're trying as hard as we can to not fracture the spec. Okay. Is there anybody else in the queue? I don't think so. So is anybody you'd like to make any other comments, questions? Okay, we have 12 minutes left. Now, last week's called not Thomas Clemens. You said there was a proof of concept stuff. Do you want to go over that in five minutes or skip it? I would prefer, so this basically made a similar point that you made in your POC that we can be following the words of the YSM Ruby expect more and to have a specification that allows extra stuff. Also, as Tim just pointed out, JSON and XML have been super, super successful with that. It's very possible to make binary formats. To make binary formats also use that. And so my prototype, I don't want to spend much time on it. I pasted the link, basically illustrates that you can have an extensions bag if you need it in a binary format and still make that compatible with having no extensions really in the core spec and have the tag format, including the binary ones, deal without an extensions bag and not having extensions back as formalized is actually allowing for better extensibility as proven in HTTP, as proven in JSON, as proven in XML. Okay, any last comments or questions? Okay, in that case, what I'd like to do, I'm sorry, go ahead. Yeah, there are two comments in the chat, one from Steve and one from me. So Steve was asking, where is the prototype to JSON need coming from because the spec currently requires JSON format support and that needs answering. And I'd like some context around the poor footnotes in the versioning is hardwrapper, which doesn't just basically say that this could be built using a map. Again, I'm not familiar with Proto, so I might be wrong, but I'd like to get some clarification on that. Thomas or Rachel? I didn't. Could you restate that? Sorry, the connection's very good. Sorry. So if you have the chat, there's a question from Steve, the second to last message. Where is the Proto to JSON need coming from? Okay, I can take that. So if we define a message format in Proto lane, then it will let us take incoming JSON format cloud events, handle that easily and then convert it to Proto binary. And this is not just like an internal need, this is a thing that we think is useful. Does that capture what you're looking for? Yes, I think so. Okay, and Vlad, may we have a library on your question then? Yeah, the fourth footnote in the Thomas and Rachel, it says the library would have to be built off a map. Wouldn't that fix the issue you're saying off or wouldn't that I'm not understanding it? So the problem is not that it is impossible to create a correct library, it's that the intuitive thing that many reasonable developers would have done will put them in a trap. So the problem is not like, if you look at the repo, there's a git commit with every author, the persona labeled in each one. And it's really hard to say like who was the bad person or who was the junior developer who made this mistake. And I'm trying to, as I say, raise awareness about the fact that these things, it is a good tool should be easy to use and hard to misuse. A good spec should be easy to implement and hard to implement in a bad way. And I think that we can do better as far as making sure that we have a spec with fewer rough edges around the library implementation. Also with respect to the Jason question, this is actually a fairly common use of proto. Like we even internally use proto for in-memory structures because we know we can hand it off to anything, even a sidecar server. And so the proto compiler, the code generation that it has generates objects that can be read from both proto binary and from JSON. Okay, so I think that we're basically done plus we're almost out of time. So here's what I'd like to do. We're gonna kick off the vote right now. I'm gonna go to the list of companies that have voting rights, ask if they'd wanna vote right now and you're basically what you're doing is voting yes for the PR, no on the PR. This is the PR to basically remove the bag. It's 277, right? So a yes vote means you wanna approve the PR, a no vote means you don't wanna approve the PR. You can choose to abstain. If you are either not on the call, obviously, or you would choose to defer your vote until later, just say so, that's fine. We'll give people who cannot vote now or don't wanna vote now until beginning of next week's phone call, new Eastern times when the vote ends. But for people who wanna vote right now in this call, I'd like to go through the roll call, okay? So Adobe, is anybody from Adobe on the call? Yes, I'm here, Doug, and I vote yes. Okay, Alibaba, is someone from, is Ryan on the call? Okay, Rachel or Google? I vote no. Okay, Huawei, great. Sorry, yeah, I was on mute. So is this a vote for what, for remove, the move that- This is for PR 277, which removes the bag. And then you're also saying that people could vote asynchronously if they wanna absorb what's happened. Yes, if you want more time to think, you have until noon Eastern next Thursday to vote. So you don't have to vote right now if you don't want to get that. You can defer until later. Okay, I would like to understand more about the concerns. And then, you know, so this just removed that extension bag, right? I suggest, Kathy, this is just 277. I suggest you don't vote now and that you'll get 277 and decide, because I don't want you to feel rushed. I would suggest that you take time to review the PR. Is that okay? You have until noon next week to vote. Okay. IBM is gonna vote yes. Ken, I'm sorry, Chris, or someone from JS Foundation? Okay, Microsoft? Microsoft votes yes. Dan or NAIC? I'll defer. You'll what? Differ until later. I'll vote after thinking about this a little bit longer. Okay, got it. Someone from Nats or Sinidia? We'll defer until later. Okay, Nordstrom? Eric? Steve, okay. Oracle? We will vote, but we will defer. Okay, SAP? Yeah, we will defer. Okay, Collins or Service? I don't think they're on the call. There's a double check. Anybody from Service? Okay, I think Mark had to leave early, but let me just double check. Mark, you still there? Okay, Vlad? I'll defer. I'd like to look a bit more into the process, but I'm leaning towards the S, but I'll defer for now. That's fine, defer's fine. Shivram? I'll defer, I'll leave it in the morning. Okay, so just to be clear, we have until, or you guys have until noon Eastern next Thursday to vote. Please, what I'm gonna do is I'm gonna take the voting that's here right now, put it into a comment inside the PR, from these, what is that, five companies, and then if you guys can vote by putting an LGTM or a not LGTM into the PR itself, and then we will close it down next Thursday at noon Eastern. Sound okay to everybody? Yep. How could you put this link into the meeting minutes? The, you don't need to link to this, this is in the minutes already, you know the top is the attendance tracker, but what I'm gonna do is I'm gonna take the current voting and stick it into the issue itself, or the PR itself. Yes. Okay, so with that we're almost out of time. Obviously we don't have time to hit another issue. Let me go ahead and do the roll call again. So we actually had quite a few people join larger than normal. John Ballester, are you there?  So John Ballester, are you there? John Mitchell? I'm here. Okay. Zun Zun, Shang? Yes. Thank you. David Lyle? Yes, I'm here. And Joe Sturman? Joe, are you there? Okay, Matt Rikowski? Here. Thank you. Klaus, are you there? He is, I'm here. Okay, Kathy, I heard. Erika? Erika Diaz? What about Rocky? I'm here. Excellent, I love that name by the way. Renato? Renato, are you there? Hey, what about Ying? Ying Li? I'm here. Thank you. What about Luciano? Luciano? And there was a, someone on a call with Chris. Chris's iPhone, I think is the thing. Chris with a Y? Are you there? Okay, is there anybody on the call that I missed from the attendance? Oh, I'm sorry, Doug. Doug Miglore? There you go, thank you Doug, I gotcha. Okay, anybody else? I missed an attendance. Okay, we have a whole two minutes left. Is there any really quick topic people would like to bring up? Okay, in that case, I have one thing. Kathy, just a reminder, you have an AI to open a PR, upload the workflow doc to the serverless working group repo. Oh, yes, I'll do that. Okay, cool, thank you, just wanted to remind you of that. All right, in that case, we are done. Thank you guys very much. Very exciting. Thanks guys. Okay, bye. Thank you.


In 1791, Alexander Hamilton, the First Secretary of the Treasury, drafted a detailed letter of instructions to the newly commissioned commanding officers of the First Revenue Cutters. These officers constituted the first of a long line of officers who have served to protect the interests and the people of the United States. After more than 200 years, Secretary Hamilton's words are just as relevant to newly commissioned officers of the United States Coast Guard as they were when first written. Gentlemen, while I recommend in the highest terms to the respective officers, activity, vigilance and firmness, I feel no less solicitude that their deportment may be marked with prudence, moderation and good temper. Upon these last qualities, not less that the former must depend on the success, usefulness and consequently continuance of the establishment in which they are included. They will always keep in mind that their countrymen are freemen and as such are impatient of anything that bears the least mark of a domineering spirit. They will therefore refrain with the most guarded circumspection from whatever has the semblance of haughtiness, rudeness or insult. This reflection and a regard to the good of the service will prevent at all times a spirit of irritation or resentment. They will endeavor to overcome difficulties if any are experienced by a cool and temperate perseverance in their duty, by a dress and moderation rather than by vehemence or violence. The former style of conduct will recommend them to the particular approbation of the President of the United States, while the reverse of it, even a single instance of outrage or intemperate or improper treatment of any person with whom they have anything to do with in the course of their duty, will meet with this pointed displeasure and will be attended with corresponding consequences. The foregoing observations are not dictated by any doubt of the prudence of any of those to whom they are addressed. These have been selected with so careful an attention of character as to afford the strongest assurance that their conduct will be that of good officers and good citizens. Signed, your obedient servant, Alexander Hamilton, Secretary of the Treasury, June 4th, 1791. As the Coast Guard has grown and evolved into a 21st century military service, we are ever mindful of these principles set forth by Alexander Hamilton, which continue to guide each and every commissioned officer in the Coast Guard as they continue a legacy of service started by our founding father, Alexander Hamilton.


Hello, I'm Bdian Stevens. In several of the tools that I make, I also have support for Yara rules, and I'm going to illustrate this here with my Olidom tool. So for example, I have a malicious spreadsheet here, and it contains URLs with my strings tool. I can just search for HTTP in this malicious document, and here you can see the URLs that are embedded in that malicious document. So now we are going to use Yara rules to search for URLs like this. So I have a rule here that just looks for the string HTTP, a simple Yara rule. I can run Olidump, provide option Y, Yara, provide the rule, and then the document, and then here you see for every stream that contains the string Yara, that the rule will match, not the string Yara, sorry, the string HTTP. So every stream here for which the rule matches, you have a list here. So it's workbook stream where we have HTTP. If you want to know exactly where, then you can use option Yara strings, and then you'll see three positions here in the stream where HTTP was found. And this is the extra decimal representation of the string HTTP that was found. Now this advantage that I find to quickly use Yara rules like this is that each time you have to create a text file, a Yara rule like this one here, even if you're just looking for a simple string. And that is why I added some features to several of my tools like Olidump to have ad hoc Yara rules. So those are Yara rules that are generated by the tool itself, and you just need to provide a small option. So if I say Olidump, Yara rules here, and now instead of providing the name of a file with a Yara rule, I'm going to start with a hash and say S for string. So I'm going to search for generate a Yara rule that searches for a string and the string is HTTP. Now here on my Mac, I have to escape this, like this, 8, and then you see here Yara rule string matched here. So HTTP was found in Workbook. Now if you want to know exactly which rule was generated, I have the verbose option like this. And then you can see here clearly which Yara rule was generated. You see this is a template of a Yara rule string HTTP and the condition. Here also as you can see, it is looking for HTTP as ASCII or Unicode and the case is not significant. You can do the same for hexadecimal. So X for hexadecimal and then we can provide here the strings we are looking for. So if I'm not mistaken, it's 69, 74, 74, 70, no, that doesn't much.  Let's try 68, is that the age? Yeah, indeed so it was 68. The representation for HTTP. If I would have used Yara strings, I would have seen it immediately as 68, 74, 74, 70. That's what I'm looking for. So that's if you want to do a search with hexadecimal and you know with Yara rules here hexadecimal you can also use wildcards like this that represents each time a byte and then you can see you're getting part of the URL already. Now even better, too much URLs like that would be to use a regular expression and that's something you can do too with an atroc rule. Let me just start from scratch. Ole Dump verbose Yara. So a regular expression and I am searching for HTTP colon slash slash. Now a slash has a special meaning in regular expression so you have to escape this with a backslash and then we are going to look for a sequence of letters, digits, a dot and a slash which you also have to escape with a backslash. So we want this one or more, once or more.  Also ASCII unicode no case and here we have matches. You can see the complete URL. So these are options that you have with the atroc Yara rules here. You can also provide a complete rule here.  I'm going to have to use double quotes for the string. So here I'm going to use single quotes to escape this. So rule test strings string a equals HTTP and then condition string a like this and then you also get your Yara rule. You can see here the Yara rule but that's much more to type and not always that convenient. Sometimes also if you cannot use a double quote then you can just use a single quote and you use option Q like this and this will just do a simple search and replace and replace a single quote by a double quote. And then what's also possible but it's something I don't use anymore but it's the possibility to provide the Yara rule in base 64 encoding or in hexadecimal encoding. So it's not an X rule but you provide a complete rule encoded in hexadecimal. So these are the options that you have here in my tool. Only them but you also have them in other tools like my pdf tools for example, my base 64 them tools and other tools like that.


Non-governmental organizations are the forefront of the campaign on mental well-being for victims of violence across the country have raised the alarm on the dangers of the misrepresentation of activities of the groups in the media. The group insists that there is an urgent need for critical action from media practitioners to change the ugly trend and also to educate humanitarian aid workers on safe practices. Ten years of terrorism, insurgency and boundary have turned Nigeria's North East into a conflict hotspot for raid organizations. Over a thousand of these organizations are providing critical humanitarian interventions in different communities affected by insurgents. These have lowered the number of vulnerabilities and increased the mental health of the victims of insurgency. If I can't donate my funds, I can also advocate for policy changes, I can also speak to a governor. For instance, if I pick this magazine on the flights or on the bus, I'm able to say this is an issue that affects cardinals, southern cardinals or burning states. Then I'm able to say who are the people in charge, then I'm able to advocate for policies that can affect the lives of Nigerian citizens in a positive way. Many other humanitarian journalists call for the review of the existing policy on humanitarian activities to reflect the true nature of the nation. Others speak and plan to introduce local dialects in their subsequent publications to enhance the efficient communication among victims of the crisis. In the magazine, you find that there was such a story of what has happened in the North East about some people and what injuries are doing to help them recover. Now, I don't have to be in the North East to experience such, but if I did give a public copy of the magazine and I read about this, it helps me to understand the importance of what Nigeria has been doing. Then we also share tips of what they've done, which is quite helpful. It's really key to find a media partner who is poised with the task of sharing some of those success stories, the things that we see at the field, at the grass road. They know how best to handle and to also request for help. But when they don't know what exactly the problem is, they don't request for help. Also, the major aim of course is to bring this situation to the world. Let everybody be aware of what's going on and then for this remain to have a voice. However, participants are the program canvassed for media support in the coverage of activities of NGOs. And don't forget to hit the notification button so you get notified about fresh news updates.