إن الحمد لله نحمده ونستعينه ونقنن به ونتوكل واري ونعود بالله من شرور أنفسنا ومن سيئات عمالنا من يهره الله فلا مبن له ومن يبن فلا هادي له ونشد أن لا إله إن الله ونشد أن محمد نعبده ورسوله أرسله من هدى وديه الحق يهرف على دين كله ولو كريها الكافرون يا أيها الذين آمنوا اتقوا الله حق التقاته ولا تموتن إلا وأنتم مسلمون يا أيها الناس اتقوا ربكم الذي خلقكم من نفس واحدة وخلق منها زوجها وبث منه مارجانا كثيرا ونساء واتقوا الله النبي تساءلون به والأرحام إن الله كان عليكم رقيدا يا أيها النبي آمنوا اتقوا الله وطونوا قولا سديدا يصلح لكم عمالكم يفنكم جنوبكم ومن يتعنه ورسوله فقد فاسفوا سنعظيما أما بعض فإن أصقل حدي في كتاب الله وخير هدي هدي محمد صلى الله عليه وسلم واشروا لهمون يمحتفتها وكل محتفت بداعات وكل بداعات غلالة وكل غلالات في النار ونسأل with the name of Allah سوف نعمل بسم الله رحمن الرحيم and every new beginning starts with the name of Allah ونسأل بسم الله رحمن الرحيم and Allah has allowed us to enter into this new year ونسأل بسم الله رحمن الرحيم and the whole year has passed by ونرى another year coming our lives ونبدأ this year with the name of Allah بسم الله الرحمن الرحيم ومن هو الله هو الرحمن الرحيم the most merciful in all universals and the most merciful in all particular matters That is Allah that He has whatever mercy that we can imagine that mercy is still less than the mercy of Allah الله عز و جنسه وسعة رحمة كل شيء that my mercy has encompassed everything Everything Any difficulty in any ease we find in our lives is a mercy And amongst the mercy that Allah has sent us is the reminders the ayat that He has sent us Those ayat in the Quran and those ayat outside the Quran The ayat with the signs that point back to Him عز و جن The signs that point back to Him And our reminders of Him that's the ayat The lettering آية is a sign And so those ayat that point back to Him One of the poets that That I show about Allah that this existence is nothing except an indication of the one that should be worshipped And so among the signs that Allah has given us is the turning of the night and day The passing of time And so Allah has given us has been merciful to us to see the passing of time And for us to remember with this passing of time that we are going to one day leave this world And insha'Allah when we leave this world when we depart we depart with smiling faces And we depart happily because we were people insha'Allah Who saw the signs of Allah and took those signs as indications And reminded ourselves of what those signs were pointing towards That those signs were all pointing towards the one that shouldn't have been worshipped عز و جن And so this new year comes in We should take this as a sign as a reminder That Allah is able to change the night and day Allah has put the planets and the moon and the sun The solar system and orbit And all the celestial bodies of these galaxies And this galaxy and all the galaxies He has put into orbit the entire universe Allah has so perfectly in such an organized system Put it together And in us He has put signs in ourselves as well So Allah says That we have put signs inside of you Do you not have insight into this So a lot of the minds of these signs that are found everywhere But the sign of the turning of the night and day that Allah has given us Is a reminder for us of our purpose That our time here is limited That time is passing away That there's not a single breath that we take except that it expires Except that a portion of our life expires Is a portion of our life is expiring every time we take a breath And these are reminders For us to reform ourselves And to orient ourselves back towards Allah That throughout the day and throughout the weeks And throughout the months and years We find ourselves sometimes disorienting from Allah Sometimes we miss the signposts We miss the reminders But these reminders come Major reminders come A turning of the whole year comes To remind us of where we're supposed to be going So people say things like new year, new me In the beginning of the year I think it's better to say new day, new me Or new moment, new me And so Allah is recreating His creation Every single moment So that we should be better than the moment That passed before So if Allah can turn the night in days We should ask Allah that He also Turn our hearts towards Him If He can turn the night in days He surely can turn our hearts back towards Him And so we ask Allah that He allows us To have the Tawfiq to be on His obedience To have Faa'a So we say يا مخلي بالقلوب يا مخلي بالقلوب يا مخلي بالقلوب يا مخلي بالقلوب يا مخلي بالقلوب يا مخلي بالقلوب And so these reminders That come for us Throughout our lives Every moment is a reminder But sometimes it takes a major reminder For us to kind of catch it Sometimes you need a major sign A lot of times we miss the forest For the trees Right We miss the major We miss all the minor We're looking at all the minor things that happen in our lives And we miss the big picture The big picture of that But we weren't here to wait for play We weren't here to waste time We weren't here to earn money We weren't here to pursue careers Those things are all good things to do We should be providing for ourselves And our families And with the right intention that is also obedience There is also worship But for us to make that worship We need to orient ourselves towards Allah And orient our actions towards Allah Any moment that we find ourselves Distracted and we think to ourselves That perhaps I'm not worth worshiping Allah Perhaps I've messed up too many times to go back Then we've underestimated The mercy of Allah When Allah says That my mercy encompasses everything He means everything And so Allah has the power For us to turn us To people Who are oriented towards Him That we might have moments in our lives When we slip up But we have a We have a repentance And so Allah needs to turn And we turn away from those things And turn back towards Allah We Make the intention to resolve We'll talk about new resolution We make the resolve To make it over That's part of it to resolve Not to go back to what we were doing And if we slip up And go back to it again Then turn back So the last moment of our breath That we disobey Allah In ways that we don't even recognize Moment after moment But Allah has the power to Turn our hearts back to Him If we ask And if we come to Allah Walking He comes to us running As I've mentioned the hadith Of the Prophet ﷺ We ask Allah He allows us to be people who recognize His mercy And people who seek His mercy And Allah He makes them people who are consistent In seeking His mercy And consistent in seeing the mercy In every moment that He gives us And every sign that He gives us We ask people that we be people That see these signs That people have the inner core hearts People who have the inner core hearts And see the signs And take reminders from them We ask Allah that He allows us to have Many more barakah through the years to come And if He takes us in this year Someone that we know has been taken in this year That He forgives us when He takes us And that we need Allah Knowing how to answer His questions On the Day of Judgement We ask Allah that He removes any sort of difficulty From us from the Day of Judgement Any difficulty that we may experience In this last year that passed or this year that should come Or any of our years Any about our moments We ask Allah that He allows us to be That to be expiation of any difficulty That might come in the year after That we may be expiation So that Ar-Rahman Can have his Rahma on us That Ar-Rahman will have mercy on us We ask Allah to be people of mercy We ask Allah to be receivers of mercy Recipients of mercy We ask Allah to be givers of mercy We ask Allah to be recipients of signs And giver of signs We ask Allah that He allows us to be people Who have firmness on His Dean And the firmness on following His Habib So Allah is peace أبداً هيمسو يسأل الله ما أنت السلام ومنك السلام تبارى التيادة الجلال والإكرام حينا وادخلنا دار السلام ببنا آتينا كدنيا حسنا وفي الأاخر دي حسنا وفي عذاب النار أسك الله تباركنا سأل الله إنه إنه أيجال سندر مرسين باسنزا مقاس الصامر وأسكي بالسين إن الله وملاعك تهون يصلون على النبي يا أيها النبينا آمنوا وصلوا عليه ورسلوا المتسليمة الله مصني على سينا حبيبنا يقوك العيومنا أم محمد وعلى أزوار огром ثنان محمد وعلى أم ثنان محمد وعلى أصحاب ثنان محمد وعلى أتباع ثنان محمد وعلى أحبال ثنان محمد وعلى أمة ثنان محمد وذي—نتهني—هل عالي hombre أالي إِنَّ اللَّهِ يَأْمُرُ بِالْعَذِمُ مَلْحْسāنِ وَإِتَاءِدِمُ قُرْبَا وينهَان الفحشاء أسدخل جله اذكر الله يبشركم ودعوه يستجم لكم والذكر الله اتبروا الله ويعلنوا ما كان شهر راتين الصناه


From VOA Learning English, this is the Agriculture Report. The United States Senate recently voted to cut a program that makes $5 billion a year in direct payments to farmers. But the Senate agreed to add new subsidies that critics say could hurt farmers in other countries. The vote was part of a $955 billion farm bill approved by a wide majority in the Senate. Ten days later, however, the House of Representatives defeated its own version of the farm bill. The Senate bill would cut about $24 billion from the federal budget over ten years. Some of those cuts come from direct payments. Farmers received direct payments whether they had good years or bad. But high crop prices and historically high farm profits have made the payments politically unpopular at a time of reduced federal spending. The Senate bill would help farmers manage the risk of bad weather and bad markets. It would do this by offering crop insurance to farmers raising crops that had not previously been insured, and it would make payments to farmers if prices drop too much. Farmers say the goal is to help the American farmers who supply the nation with food. But critics say the bill goes too far. Some say the proposed new guarantees to pay farmers if prices drop could cause trouble for the United States at the World Trade Organization. Other countries could claim that the policy suppresses prices in world markets. The bill would also let the government buy $60 million in emergency food aid closer to where a crisis is happening. Supporters say doing that is faster and cheaper than shipping food from the United States and could save more lives. For VOA Learning English, I'm Mario Ritter.


So thank you all for coming out so one of the cornerstones of the learning to compete program has been a careful analysis of exporting behavior of firms and That has resulted in five academic papers that Will hopefully be published in a special issue of the Journal of African Economies in due course And I thought I'd summarize a little bit about what these papers are doing I should be very clear that I have not written any of these papers I am just the editor of this special issue and indeed John Rand, Carol and Finn have Contributed to these papers. So I should certainly not take a lot of credit for this I'm very happy to take some blame if there's anything wrong with them as as as it goes So we have five countries two middle-income countries Tunisia and Vietnam and three low-income countries Mozambique Ethiopia and and Kenya So we thought this is a nice mix of countries. They Differ, of course, but they don't differ too much In the sense that, you know, it will still be informative To do some kind of comparative analysis here It was especially focusing especially on exporting Mechanisms so manufacturing is relatively large in Tunisia and Vietnam 17% Kenyan Mozambique around the average for sub-Saharan Africa 11% in Ethiopia Much much low. It's come down out 4% I'm talking now about the share of manufacturing in GDP If you look at I'm just going through sort of the macro numbers so manufacturing exports per capita That would come out at around a hundred dollars in Tunisia and and Vietnam and around four dollars in Ethiopia So there are these big differences across the the countries and so the overall goal of what we have tried to do In this part of the program is to understand better Well, first of all, why some firms exports and others don't How firms Develop after they have broken into exports market And how they grow sort of to sort of drill down on what other benefits To the individual firm from engaging with the international market And as you shall see a little later That's one of the the things that we have some some quite interesting results on And of course since we have the five countries we can also say something about On the one hand what is common what appears to be common across these countries? For example with respect to the the consequences the benefits of exporting and on the other hand In what types of mechanisms appear to be very country specific? I think that's quite interesting because then that might feed into a policy discussion in due course So we just go through through the the stylized facts. So five countries as I say Panel data are available for all of them the time dimension in these panels vary from three or four years in in I think one case to up to a decade of data for Ethiopia I believe and across all the countries the the basic stylized facts are the same so exporting firms are Larger more capital intensive tend to be much more productive pay higher wages are more modern Then non-exporting firms and that's pretty well known So then how do firms become exporters? How do we get sort of get the ball rolling? So if only 5% of the firms in a fear Ethiopia export, how can we get that number up to 10% well? That turns out to be a very difficult thing to do because breaking into exports markets very difficult And it as it seems very very costly so Just to take an example to give you a number just to illustrate orders of magnitude if you look at the Ethiopian sample Take a baseline likelihood of exporting is around 5% if you could move that firm into the export markets Exogenously the likelihood that it would continue to be in the export market would be 50% in the next period So that's kind of interesting from a policy point of view because if you can somehow move these firms into the export market So that they can adjust their organization their technology and more generally their outlook Chances are that they will stay there and There are Many good reasons why we want them to stay there I mean one reason is that of course they get access to bigger markets all these well-known Consequences that's not what we've chosen to focus on here. We've chosen to Ask the question whether they actually learn perform better as a result of interacting with foreign buyers and being present in foreign markets and It looks as though that's very much the case So if you look at learning effects by which I mean essentially productivity gains that we see evolving Sort of dynamically after entry into exporting these are very large. They're actually much larger than what previous studies have implied So using sort of modern econometric techniques Ballpark number would be around 20% So Again coming back to the Ethiopian firm that initially baseline case very unlikely to export If I can sort of move it into the export market It's very likely to stay there and it's also likely then to see its productivity grow by about 20% into your course For an ownership plays an important role in the context so firms with domestic ownership are at a serious disadvantage when it comes to their ability to enter the Export market So FDI probably is something that policy makers should embrace when there are many reasons for embracing FDI Here's another one that it actually can get the ball rolling when it comes to promoting exports in the local market There is even some evidence in one of the countries that we've looked at of Spillover effects so that the exporting decisions and the R&D decisions made by foreign firms spillover Onto the decisions and behavior of local firms. I Should stress there that there are some some country differences Certainly again coming back to Ethiopia. For example, there is very little foreign ownership So that does not seem to be a very promising Avenue for for sparing up exports at the moment and I think what we've learned more generally is that getting firms into the export markets there. There isn't like a common Recipe for doing that the exports model if you think in terms of you know Econometric model looks very different across all the five countries that we have looked at However, the consequences of exporting are very similar Across all the five countries. So there are many different ways of getting there But it looks as though what you get out of it in terms of productivity gains is actually quite similar across the countries Then the various papers have sort of chosen to pursue different sort of avenues of probing I suppose one interesting Issue that has been explored for Vietnam and Tunisia is to look at the role played by innovation in this context and Here we get into a discussion as to how does this learning happen? Is it sort of does it happen automatically in the form of passive learning or do the firms have to actually engage in other Parallel activities in order to reap the benefits from exporting and There are some signs that if you simultaneously engage in R&D for example, or if you hire engineers and and sort of move quite deliberately to a more sophisticated Process and and type of product then the gains from exporting tend to be higher. I will only need one I think So I'm gonna Sum up just to give you since I don't have slides. I'll give you three three bullet points So big differences between exporters and non exporters across the countries The driving factors of exports Differ a lot across countries. So Policy makers who are interested in the question. How do I get firms into the exports market should probably base? You know, they are thinking on country specific analysis But as I say a common result across all the countries is that the exporting results in productivity gains Those gains are also somewhat heterogeneous. They can be particularly strong for example in one of the country We find that it is small firms in particular that Make strong productivity gains as a result of getting into the export market. So Bottom line the old truth seems to hold Promoting exports is a pretty sound development policy. It seems But I'm sure we'll come back to that issue and discuss it more a little later. Thank you


Tim Ferriss was born on July 20, 1977, to American parents in East Hampton, New York. Due to some complications during labor, he was born premature and his parents assumed he would die while in the incubator. It took a torturous period of two months for him to be able to live independently of the incubator. Tim was finally released to his parents when he was ill and hearty. Tim had a normal childhood. He attended some poor school concord, New Hampshire. As a teenager, he discovered he was drawn to literature. He read voraciously, consuming a range of genres. He read fiction and non-fiction books and was a regular subscriber for many reputable literary journals. Soon, this rate in culture involved into the ambition to become a writer. Tim began early to think about things like character and setting and what genre of literature to focus on. When Tim completed his secondary education, he wanted to attain a degree in literature but was unable to gain admission in the field. This became his first serious rejection in life and left him feeling dispirited for a while. He quickly switched to an alternative plan and gained an admission to study East Asian studies in the famed Princeton University. While at Princeton, Tim never lost sight of his dream to become a writer. He started to write many initial drafts that did not materialize into actual books. Like most up-and-coming writers, Tim found it difficult to arrange his thoughts and sequence. He spent a great deal of time polishing his writing craft while at school. This sometimes took its toll on his academic performance. In the year 2000, Tim graduated from university. He had not yet produced the manuscript of his dreams so he took on a job in sales at a data storage company. While working as a salesperson, Tim still paid rapt attention to his craft, honing his writing, attending workshops, and reading materials on creative writing. He did not earn so much at the time but he spent the little he earned on purchasing materials on how to write. While still working as a salesperson and struggling to complete his book, Tim founded Brainquicken, an internet-based nutritional supplements business. At first, the business was a complete failure. No one paid mind to all the adverts he spent his savings on. This was a huge source of frustration for Tim. At this time, his book was ready and he had begun querying traditional publishers. Every publisher he queried rejected him. After he received his 10th rejection, it seemed like there was no need to go on. This thought was exhibited by the fact that his business still struggled to find its fits. Tim continued to work on his query letters and his business totally ignoring the voice of discouragement. He received 15 more rejection letters before a publisher finally accepted him. Today, Tim Ferris is a critically acclaimed and widely read author. His debut book, The 4-Hour Walk Week, became an international bestseller and his online business, Brainquicken, became very successful and was finally purchased by a London-based private equity firm in 2010. There are many people experiencing rejection all over the world. The fact is that there's a category of people who will give in to the pressure these rejections exert and stop pursuing their goals. Others will see these rejections as stumbling blocks on their road to success. Whether a person will achieve their dream or not depends on the category they belong to. Kelly Cotron said, When you're following your inner voice, doors tends to eventually open for you, even if they mostly slam at first. Rejection isn't avoidable. Some doors will open for us and those that will not, no matter how hard we bang on them. The surest recipe for failure is when a person chooses to remain at the door that refuses to open, ignoring the many orders that will. Steve Marry said, Chase your dreams until you catch them and then dream, catch and dream again. Dreams are often elusive but a person who persists even when they have been rejected multiple times will eventually catch their dream. Steve Maraboli said, Every time I thought I was being rejected from something good, I was actually being redirected to something better. Inferis found success because he saw his rejection as he's cute to move on to something greater.


Okay, so today we are going to start up the SD25 PC NFC software. But in the very beginning, sometimes you would get a no reader detected error message. This is usually happen when you don't have a reader board connected via your USB port or you are using a different type of reader that's not supported by the SD 25 PC NFC. So here's the list of the boards that are supported and also commercial readers that are supported. You can see here the Faye Electronic MR102, LR1002, and CPR30 USB readers are supported. The three SD25R discovery boards are supported for the product family, the R95, the R3911B, and 3916. So when you have this error message, it will be ideal that you plug your USB port into your reader and your reader and the other end goes to your PC. Then you will exit the software and restart the software with the reader board or the reader itself connected. So I have completed just that. I restarted the software with the board connected. For the SD 25R 3911B discovery board, you should see a green light and a blue light on the board. Then you place a tag near the field. Put it on top or you can also put it to the side and you just scan one. And you should see the UID collected by the reader itself. So I just want to step you through some basic features. So here the reader you can disconnect and connect. You can have the choice of NDEV editor which allows you to read and write NDEV message. You can also access the user memory directly. You have all the tag type support. As you can see, PicoPath is specific to a specific protocol. NFC type 3 is Velika as you know. And then for the demo part, you will see SD 25DV fast transfer using the SD 25DV discovery kit. Then there's also a tab so that you can exercise with the smart tag. And finally, we have a section for the PWM device and you will need the PWM ESET evaluation board. A couple things here. You can actually access different data sheet and links to information relating to the IC. You also can find the SD cave version. There is the SD 25 TV device which is signatures and also encrypted password. And these are NDA features that you need to sign NDA to get access to. And so when you do that, you will be provided with a new version of the software that will support the special features such as signatures and encrypted password. So feel free to go around my channel to see all the section relating to the SD 25PC NFC software itself. And if you have a question, drop me an email. Thank you.


So, welcome to the CNCF Technical Advisory Group for Environmental Sustainability, basically update. So, this is Niki. Hello. I'm a software engineer at Grafana Labs, and I co-chair the Green Reviews Working Group in the TAG. And I'm Marla Weston. I'm over at Intel. I'm a Cloud Software Architect. I'm one of the chairs, co-chairs for the CNCF Environmental Sustainability Tag. We have another chair in our room, Leo, right there, we've, so here's our mission statement. So the TAG's goal is to advocate for, develop, support, and help evaluate environmental sustainability initiatives in cloud native technologies in the ecosystem. In the TAG, we identify ways for service providers to reduce their consumption and carbon footprint through cloud native tooling, providers and vendors of tooling. So here's some links. Links, we have the TAG Environmental Communication, so there's a home, GitHub issues, calendar, mailing list, Slack channels, there's probably should be one later. And we have four base projects right now. We have the Landscape, which is a big document, we'll go into that later, the CNCF Project Green Reviews, which Nicky will cover, our comms group, which is Community Advocacy and Outreach, and then blogs and demos. All of this can be found on the TAG's website or through the repository as well. So there's LandscapeDoc, I mostly run this thing. The point is to create a comprehensive set of projects, organizations and research, targeting sustainability and cloud native systems and put it in one place. We really welcome contributions to the stock, it's still in preliminary stages. I was talking with a service mesh person yesterday, because we don't have anything on service meshes and what solutions use less power than other solutions. There's a lot that can be added. There's also a lot of tooling there, so if you're starting from nowhere, from scratch and you want to know how to reduce the power footprint of your cluster or if you're using cloud providers, how you're doing that, you can also read through that doc. But it's still version 1.2 or something like that, so we really would welcome more contributions in that space. And then there's working group comms. The motivation is to promote open source sustainability projects and still remain authentic and true to open source openness and transparency. And we basically, in that group, organize communications and market efforts through the ecosystem. This is being run by two people, Cara Dahlia and Patricia Cahill. The objectives are to monitor sustainability events. We try to get out web pages before big conferences, so if you know of one, then we will add a website, collaborate with other open source projects, and out of scope, we don't market products or solutions for vendors and we don't market for other community groups. It's a little outside of what we can do. We have three deliverables, which are templates for contributions for blogs and white papers, publishing social media events, posts and calendars, and planning in person and virtual events. And how to get involved. They meet for half an hour once a week, and you'll forgive me, I don't remember what the time is. We can look that up. The meeting is included in our calendar, and new members are always welcome. If you can't make the meeting, that doesn't mean you can't contribute. That just means you'll contribute through the SOC channel. Yeah, so we do have a calendar that you can subscribe to. You can add it to your own calendar, and that's all in the repo, in the read me. Next, I'd like to present the working group Green Reviews, that I co-chair together with Christina Devochko, and some of the goals of the Green Reviews working group is to help CNCF projects and the maintainers of this project to review their sustainability footprint. So it's really still very new to evaluate the carbon footprints of cloud-native technology, so we're aiming to help facilitate this by looking at the projects that are in the CNCF. So we want to create a pipeline for gathering these green metrics, and I'll delve more into what green metrics are in a minute. And we want to provide resources, reviews, and guidelines to the CNCF project maintainers to improve the efficiency of the software. We have a charter that you can find that goes more into our goals and deliverables. I wanted to mention that something that's out of scope is creating new tooling from scratch. By that, I mean we are building get-up-action workflows, we are building cluster configuration, but we are not building tooling from scratch. We are trying to use existing tooling where possible. So what are we building? We are gathering everything in the design document to start. We have a draft, and we will share the slides afterwards so you can find them. But there's a design document. I invite you to read the charter and then go through the design document and make any suggestions or questions, etc., or take ownership of different parts of the pipeline of that is of interest to you. Some of the processes are similar to the tag security assessment. If you're a CNCF project maintainer, that might be familiar to you since it's part of the maturity model. So to go from sandbox incubating graduation, like the different steps in the maturity model, you have to go through certain tasks, and the tag security assessment is one of them, and we are trying to see if we can add something around sustainability there. So what else are we doing? We're building on infrastructure that is donated that I'll go into more depth in a second, in the test pipeline and metrics gathering and assessment. So there's quite a lot, and we really want to invite you to learn and contribute if you'd like to. So the first part, looking at the end goal is to gather metrics that are related to sustainability. And so we're looking at the software carbon intensity specification as a leading principle, but we're still assessing how much of it we can implement and how that looks in a cloud-native environment. The SCI is a specification developed by the Green Software Foundation, and it's currently in the process of becoming an ISO standard. There is a guide that you can look into for more information about it, and I really like this diagram by ThoughtWorks that shows what the SCI is like. So there's an energy component, so the carbon emitted per kilowatt hour of energy, that you multiply into a carbon equivalent with a carbon coefficient, or there's many different ways of achieving this, depending on how much information you have about where your software is running. And there is another component that is about embodied carbon emissions, so the software that is running in the data center, for example, it takes power to run the infrastructure, there is also carbon emitted when this hardware is manufactured, so that is called embedded carbon, and that's also something very difficult to do in a cloud-native ecosystem, but in a cloud-native environment, but it is something that we are creating this kind of playground environment to ask those questions and try to answer them as best we can and identify gaps, and we do follow some of the guidance from the Green Software Foundation for best practices on how to do that. And the last part of the SCI is R, which is the functional unit, so it's how your application scales, so you want to look at all these metrics and evaluate how the application scales to have a way of putting those software boundaries for what you're trying to measure. And one quick note, Tammy over here in the audience is part of the GSF, so if you have more questions, go talk to her. So what we're trying to build with the pipeline, what we're doing at the moment, we have infrastructure, which is dominated by Equinix, so we're using Equinix Metal and a CNCF community, it's actually, the Equinix Metal is donated to the CNCF and we are working with the CNCF to use that. We now have project-wide access in Equinix Metal and we're using that infrastructure. We're looking at cluster provisioning, so we have different, we're trying to find which tool is best to use for use case, and for the cluster configuration, we do want to use GitOps as much as possible to benefit from the access control of having pull requests for external contributors to be able to contribute, and access control is one of the questions that we are also looking at. How can we build on infrastructure in the open and with a community of external contributors? There's a lot of things that come up, like how are we going to use a personal access token for flux when we're all external contributors. If you have ideas for these things, I'm sure we can, you know, we have a pool of very smart people in the audience and I would love to hear your feedback and suggestions. And for the sustainability assessment pipeline, we are looking first at manual tests that we will then automate using a GitHub Action workflow, pretty fairly straightforward. One thing I wanted to mention also is that the first CNCF project that we're working with is Falco, which is a security tool, and that is EBPF-based as well, which is interesting given that we're using Kepler, which is an energy monitoring tool, which is also EBPF-based. So that's interesting. We do, it is a little, like the learning curve might be a little bit high when we have new tools such as Falco, but we are working with the maintainers of the project to see, okay, this is the working group's responsibility, how much will the maintainers take on, who writes the load tests, what kind of demo workload we're working with to evaluate the CNCF project, and how do we deploy the tool, et cetera. So there's great questions. It's really interesting if you'd like to gain experience in a certain area, it can also be a way to develop those skills and learn. So some of the next steps, we are looking at scaling our processes and scaling our team sustainably. I think we can all agree as open source contributors, it can be, you know, sometimes the most important part is to focus on the contributors and make sure that people have the tools and resources to succeed and that we are making sure there are no blockers. And with that, I mean, we are looking for more contributors so that we can scale sustainably as a team to make this project a success. Some things we're looking at, you know, the test cadence. So do we test per release? Do we test as part of the maturity model? And for the load test as well, should we use K6 or something else? And how are we going to do the schema for this test? One of the ideas is to maybe export some of this data to DevStats, which is some, it's actually a Grafana dashboard that is maintained by the CNCF that contains information and metrics about different CNCF projects. For example, there is a rating of the security, there's a security metric for projects and we're thinking of doing something similar for sustainability potential in the future. We're looking for the next CNCF project that we will take on after FALCO. So we do invite CNCF project maintainers who are interested to open an issue in the tag repo so that we can, you know, maybe look at that project next. And some other things that we'd like to do is trial tools potentially that are related to sustainability or patterns. We have quite a lot of items in the roadmap, but there have been suggestions like, oh, maybe you should use the green software foundation's carbon CI, which is a static analysis tool, which you can use to get metrics about your software as part of CI step. So that way you can get some metrics immediately in the pull request, for example, about how you're doing or how much the feature you're introducing or the fix or whatever, it's changing the sustainability of the tool that you're building. And another idea was to measure the power consumption of networking components, which is a big question mark as well. So please do get involved. We have meetings that alternate with the tag regular meetings. So every other Wednesday, every second and fourth Wednesday of the month, we have a Slack channel, and we do encourage asynchronous collaboration because we do know the time of the meeting might not work for everyone, so we do encourage people to work on the repo or on Slack. Yeah, and so we have issues on the GitHub board and the design doc. So the last current project kind of within our tag is blogs and demos. We try to have demos of projects minimally monthly at our standard meeting, and these are usually pretty interesting. We've had Kepler do one, we've had a couple, Scafandra do one, we've had a few others, and they're pretty informative. So if you have a project that you're working on that you are interested in sharing, especially around sustainability, I've spoken with both Istio and LinkerD, and they have sustainability improvements, but it would be better to have some sort of measurement and some understanding in a demo. Please just contact one of the chairs or leads to get added to the agenda. That's this person or myself, Leo, and we do have other people on the channel. We also do blogs, you can open an Issue, here's where you open an Issue. Once you open an Issue, you usually link to a Google document, whatever that looks like, and we're happy to do commentary, and then you'll open a PR, and after the PR you get feedback and then we publish it onto our website, so our website's gotten getting more and more content as time goes on. We were a little bit sad because we had a meetup yesterday, but we didn't have anyone really show up. We had, what, five people? We had five people. Yeah. And it wasn't well advertised, so we kind of wanted to use the rest of the session so people can go and have conversations with each other on what they're working on, what they care about. You're also welcome to ask questions of us before we start that. Do you have any other questions? So yeah, so one thing, just a logistical thing, are these slides available from the SCED website? I mean, you had a lot of interesting links to go to different resources, so I don't know if you guys could post that later, that'd be great. Yeah, I'm kind of interested in this topic because we're trying to understand the carbon impact of our scientific workloads. Analysis related to the CERN project or Particle Physics Organization, we have data centers around the world and we've got some of them, I mean, most of them are, I would say, traditional HPC, but we are increasingly introducing Kubernetes as a platform in particular for analysis. So yeah, I would like to understand what kind of tools are available, what the right framework is for that and how to sort of understand this because it can help us with understanding our decisions going forward for what we need to invest in and to educate our communities to what their impact is on the environment for the science that they're doing. Yeah, so if you follow the AIML, it's a similar path with HPC, the types of computations you're doing, while they can be different, the type of traffic you're talking about is similar. The thing that's still lacking in the tooling is being able to measure the networking. So that's really where you want to start. And so my request is at this point to start talking with Service Mesh because I think the Service Mesh, if you can get them to measure, the same measurements are going to be applicable also for the whole system. With HPC, there was also, are you familiar with Jim Larrows? He started a whole sustainability movement within HPC. You should look him up, he was Sandy in National Laboratories, but he started a whole sustainability thing within HPC. And the types of measurements they did there, I think we need to translate because there's also some interesting things because you have checkpointing with HPC, right? However, you have to restart the whole thing if one of your notes crashes. And there was a concept of a mean time to failure. And so if you lowered the power, but your mean time to failure was at the point when your workload hadn't finished yet because of the power lowering, then it actually consumed more energy. So we need to be fairly conscious when we start stepping into those spaces. As far as measurement, if you're only doing CPU and memory, you can use Kepler. My concern with Kepler, it's a great project, is that I don't know, like with any tracing mechanism, right, how much is it consuming versus how much is it running. So it may be useful to run it on the subset of your workloads and then get metrics and then do calculations according to that up and down, right, depending on how often you're running those workloads. Does that help at all? And you're also welcome to show up at our meetings and help with the networking because the networking is a big problem still. I wanted to add to that with Kepler and EBPF-based energy monitoring. EBPF can emit a lot of metrics. So it's probably best, as Marlo said, to use it on the small subsets, very targeted action rather than using it to monitor your entire infrastructure. So that's just my personal experience is best to start small and evaluate how much Kepler itself is consuming. And you have to be careful of EBPF. There is a known issue that when you're doing a high-performance networking, it can impact your networking because it's kind of consuming the best networking paths that are available. So right now, I would recommend do off-the-box measurement, make a change and then do off-the-box measurement, or use Kepler to try to figure out individual cores, can you tune the cores and then go back. I'm also happy to talk to you afterwards. I have other tooling, too. Hi. Can you hear me? Yep. I guess I'll... I'm short, too. Yeah, I got it. So I'm sorry about the meetup. I would have loved to come. I didn't know about this. And I can relate because I've been in open-source community building and if you do an event and nobody shows up, it's not good. Yeah. Fun. So my question and my apologies, if I've missed it, you might have covered in the talk earlier. Where is this project in maybe mandating all the Kubernetes projects to have this kind of scan and maybe meet certain goals? Are we there yet? We're not there. So Green Reviews is where we're starting to figure out how to measure. I don't know if we're going to end up mandating because different projects have different goals, right? So if you're doing a high-performance thing and you don't care about power because you're just running it for three minutes, that's one thing. But if you're running it over and over again for three minutes, then maybe you care. So maybe parameters can be built for different projects like that. Yeah. We're still evaluating the cadence and how, you know, if it's optional part of a maturity model or so we haven't, we're not close to mandating it yet. And I would say looking at our roadmap until after KubeCon EU, we might have more, hopefully we have a working end-to-end flow and maybe the second project in the pipeline. But we're still far from adding it to mandating it. Yeah. Okay. And I'm interested in joining and contributing more. I'll find you guys after the talk. Great. Thank you. Thank you. Hi. I found Taiwan and I just had a kind of native sustainability week recently and got good feedback from Taiwan. The discussion on ISO 14064 has been very hitting recently in my country. In the future, the tech or working group has plan to certify with ISO or standard or have any kind of cooperation. We're working with ISO, the SCI, the software carbon intensity specification, which is from the Green Software Foundation. So that's the ISO standard that we're using as a leading principle. We're not yet a stage where we can fully implement it, but it is leading the metrics that we're trying to gather in the Green Reviews Working Group. Creating an ISO standard is very time-consuming, takes a very, very long time. So I don't think that would be something that the tag does, but maybe the Green Software Foundation has more information and Tammy can answer your questions. Okay. Thanks. Hi. Olivier Tardieu, IBM Research. We're doing a lot of work in this space, but I'm a little bit curious to understand what you mean by measuring the carbon footprint of a project, because it depends so much on what you're using the project for, how you're using the project. So could you explain a bit more how you generalize these two different kinds of projects? Yeah. So the SCI is trying to achieve this. The software carbon intensity specification is kind of, is guiding this question of how do we measure the sustainability or the carbon footprint of our software. So I would recommend the SCI guide as something to look into. And that's what the tag is using as our green metric. And so it combines energy, combines carbon coefficients, carbon metrics. Yeah, it will probably get more complicated too with time, because when you start looking at where your workloads are, so if you are somewhere where you have hydropower, that's going to be less of it, and it's cold, so you don't have to do a lot of cooling. That's going to be less of a carbon footprint than if you're somewhere warm that doesn't have solar, right? So it really depends on where your workload is running to some degree, and there's a lot of discussions about where you place your workload. So what region can you move them according to region, or is there a performance requirement that you have to be co-located to your user? And there's information that we will have to backfill probably later on, because we're using this as a model, but there's information we know we don't have yet, like the networking components. So we know that the information we have right now is not complete. It doesn't paint the complete picture of the energy consumption of our software. Embedded carbon is very hard to measure in the public cloud for users. So we know that we're trying to do the most that we can with what we have available right now, and to highlight the gaps. Yeah? Hello, folks. I'm unfortunately not smart enough to figure out how much power my software is using, but one thing I'm good at is bringing people together. So I wanted to have a quick chat about, you know, just to show, like, a project I've been working on lately. The tag environment sustainability is already aware of it. I've been organizing trains for the next Cube Comparise. The idea is to bring people to Cube Comparise in a way that is sustainable, fun, and efficient. And what we've been trying to do pretty much is from different cities in Europe, from different capitals in Europe, we would like to rent a wagon of a train and have a mini pre-conference pretty much. So we would rent a whole wagon. We would call it a Cube train from London, Amsterdam, Zurich is already in place and selling tickets. And yeah, have a mini pre-conference, a hackathon, lightning talks, and things like that. The idea is to bring as many people as possible to the next Cube Comparise in the most sustainable way. So if you're interested in participating, if you're interested in organizing one, if you're just enthusiastic about the project, please come and talk to us, to me or to the other folks over at the tag environment sustainability, it would be more than happy to help. Could you mention your name also so people know how to find you? Cubetrain.io is the official website. If you write to any email over there, somebody will get it. Also, your name? Andrea Giardini. But this is very difficult to spell and people are not going to find me. So just come up here, I will leave you a business card, or you can take a picture of my name. Yeah, so Cubetrain channel? Cubetrain.io. And Cubetrain.io. I know people that would like to organize that, so I can put in contact. Definitely. Yes. Absolutely. The train options from one continent to another are limited, so it's mainly... For people who are not... If you think about renting a boat, outside Europe is a little bit more complicated. So I can tell you that right now, Cubetrain from Zurich is already reserved and taking reservations, so you can already book it today. I think like London and Amsterdam are two very easy wins, they're nearby. There is a lot of interest from the German community as well, Austrian, Swiss and Italian. So really, let's say that the initiative has outgrown me by a lot, but if you're interested in participating, I don't want to take too much time, you can find me here for the next 15 minutes or so. Yeah, awesome. Thank you. Yeah, thanks. That's a great call-out. Hi. Hello. I have... I will phrase my question as an assumption and I will just ask you to validate or invalidate that assumption. My assumption is that the largest public cloud providers or all public cloud providers do not really publicize a lot about how they consume energy. Is that a true assumption and how important is that to this overall effort? Yeah, there's a few different levels to that, so where to start? The public cloud providers, what they do share. Data information is available to us. There's the PUE of data centers that I think they do share some information about that. They do share... They do have the, for example, AWS has the customer carbon footprint tool, which is a tool available for free. It's globally accessible in an account, so yep, I mean, it's unique billing access actually. That's a top-level carbon metric that there's also a lag of three months, so it's not... It's more for long-term reporting. It's not really useful for engineers. To answer your question about why they don't provide energy metrics, and this is my understanding as a lay person, yeah, that's awesome. I did not know this, so to repeat this, it's Microsoft and Google have come to an agreement to publish Kepler metrics from an API to expose energy metrics to users by adding Kepler to their infrastructure. I think the Green Software Foundation had some work around this as well, if I'm not mistaken. I think from what I've asked this question to folks, the response I've received is that it's mainly security and the accounting per customer is very challenging, but it's great to see that actually this is changing and there are public cloud providers who are going to provide this. The regulation is also a very important aspect of this. There's the EU-CSDR, the Corporate Sustainability Reporting Directive, which was implemented a year and a half ago, I believe, so it takes 18 months for regulation to become law in the EU, and that means by January 24 companies will have to report on their carbon footprint for 2025, and that's publicly traded companies that are larger than a certain size. So I want to make sure we distinguish the difference between power use, which is what Kepler measures, and actual cost of the power at the time. So that's something that I would like to see more publicized. I know some energy companies actually tell you what the current carbon cost is of power, but I don't see that pushed all the way through to the user from the cloud provider yet. I think one of the, my main concern for this is one of the things we're working on is starting to, obviously I think probably a lot of people here, in the past year we've started to really focus more on when we run an internal developer platform, and we present the UX of here's how you're configuring your workloads, showing, okay, here's the dollar cost of the resources that you're consuming, given economic conditions and things like that. So I'm doing a step further in saying, here's the, not only is it better if you go run this workload, especially if it's like a cron workload or not really region sensitive, if you go run it in this region instead of this region for AWS, you'll save this much money. I think doing the same thing with carbon or energy usage or carbon footprint overall would be a really nice thing to be able to do, but it sounds like that's a very hard problem. If we could convince the cloud providers to tie the carbon cost to the cost of your workload, that would probably solve it. You have to go talk people into stuff, right? Okay, I'll work on that. Thank you. Hello, my name is Brandon. I work for a company called OpenGov, and we're very cost conscious, and so we've been working a lot with a tool called OpenCost, which I believe is a CNCF project now. And I didn't do a whole lot of research on this, it's kind of a random idea I had. I look on their issue tracker, and they're interested in integrating with, well, I mean, they didn't use the SCI framework specifically, but they're interested in integrating carbon emissions into the tool, so that might be a good collaboration to make, and I would be happy to help contribute to that in whatever way I can because I've been working with OpenCost quite a bit, so yeah, my name, yeah, Brandon Hybe on GitHub if you want to collaborate on that. That's a great idea, let's talk after. I'd like to make one call out from the previous question also. I think that as customers, we do have some say in putting, you know, these questions out there for suppliers to ask about, you know, sustainability initiatives and what matters to us as engineers. So I just wanted to make that call out that by, you know, making these questions, these requests and to down the supply chain, it can also be a way to see some progress. That's why it's important. This is again on the lines of like, how do we increase the awareness for this working group and what do we do, right? I heard in the keynote and that's why I came here. It's something that is so fundamental that we all should be worried about it, but we don't have enough conversations. So what would you suggest as some, you know, like conversation starters that you yourself do when you're meeting like people that you don't know or like, you know, just start that. I'm not sure I got the question. Sorry. What are some of the conversation starters to get people interested in this topic? The easy way with companies is you tie it to money because ultimately at the end of the day we care about how much money we're spending in systems.  Same thing with data centers. They don't want to be spending their money on power. They want to pass the profits along. So if you tie it to money and that includes the carbon credits that sometimes companies have to purchase to greenwash their actual work, right, then they will get more involved. Awesome. And if that doesn't work, the regulations that are coming can be, you know, fill the gaps where, you know, profit-related initiatives don't, you know, or suggestions don't work. Then also customer demand, that's, so that's, if you can find, if you can tie what you're working on to end user, that obviously would help a lot as well. Awesome. As a follow-up to that one, from end users, are there any end users that are already part of this working group? Yeah, the end user working group is involved to some degree. We do talk to them. So we should continue talking. Awesome. Thank you. And we are out of time, surprisingly. So feel free to catch us after the session. Yeah. Thank you so much.


Hello, and welcome to this tutorial. So every so often, I do some video work for my church. And next week, I'm doing a video with a girl who is deaf. She has a little pad for me to write stuff down on, so I can talk to her, period. But not only is my handwriting horrible, but I'm a horrible speller as well, period. So I figured I'd write a little app that would help the situation, period. It's pretty simple and works pretty well, period. Using Google to translate my voice and send it to the server, period. And then any device pointed at the URL will get my message once it's updated. So now I will show you how I did this. Okay, let's get started. We'll make a project folder here. I'm logged into my website through SSH here. Make directory call it sp2txt for speak to text, I guess.  And we'll move into that folder. And then I will start first before we start actually writing any code. We're gonna be using some jQuery mobile just to shorten up our code. You can obviously do this, you can do anything with jQuery mobile. You can do anything with JavaScript that you can with jQuery mobile. It's just sometimes, most times jQuery, or not jQuery mobile, but just jQuery in this case. We'll shorten up your code, but in reality, you're passing it all this code. So you're actually upping the size of your code. Anyway, I'm going to go to the jQuery website. I am going to copy the address of the version of jQuery that I want. And then I'll just W get and paste in that. Okay, it's downloaded. So you can see now in this directory we have our jQuery JavaScript. Now, before we actually start writing our index PHP or HTML file, I'm going to create two PHP files. One which is going to be the file that retrieves the text that you're sending and saves it to a text file. And another one that will read that information from the text file. So the first one we'll use, I'm gonna use Vim as my text editor, but as always use whatever text editor you prefer. Text based ones make it a little bit easier when you're SSH'd into a server like this. I'm going to Vim and we'll call it send.php. And of course we'll give it our PHP tags here so that we know that this is PHP code between these. We'll create a variable called msg for message. And we're gonna use just a simple get rather than post in this case. But it doesn't really matter if you prefer post, you can do that. And we're going to get the variable that's passed to this file using a get form submit that is labeled msg. Next we're going to create or we're gonna choose what file name we want. So I'm gonna say my file, this is a variable. It's gonna contain this text msg.txt. Putting the name of your file into a variable makes it easier later on. If you want to make changes, we're only gonna be using this variable once in this script. But if we were to access that file more than once in the script, and we decide later on to change the name of the file, it's easier to change the variable once than all instances of it. So next we're gonna create a little object here. We're gonna say it's a file open object. What file are we going to open? Well, the one we just created using the variable myfile. And we're going to override this file every time, so we don't want to append to it. We're going to write to it, so w. So basically every time this script runs, it will erase the file if it exists. If not, it will create it, and then it will add in the text or replace whatever text is there with the text that we are sending. We're also gonna do an or die here. This is if for some reason the script fails. Let's say the script for some reason doesn't have right access to the folder. It's going to display a message, cannot open file. Next we're going to do fwrite to write to the file. So we're going to, no quotations there, get our object, our FH object, our file object, and we are going to place into that object the MSG, the message that is sent to us from the code we're going to write in a minute. So then we're going to say fclose or file close. What file are we going to close the FH object? And that's it, that will write to a text file called MSG when it's called. So let's actually go to my website here. And if I refresh, we'll go into here. Here is the folder we're looking at inside the shell. You can see the file we just created and here's our jQuery file. So we click this and we don't get anything because our file doesn't give any output unless it dies. Because really in the final code, you're never going to see this file. It's just going to be called from your script. But if we were to add a dollar sign up here in the URL, MSG is a variable. And we can say something like this is a test and hit enter. Still no output here, but if we go back to our shell and we list out, we now have another file here called MSG and if we cat out that file, we get this is a test. We didn't put any new line character because it doesn't really matter. Let's clear the screen. So now we have three files. We've got our PHP file that saves the information, the file where it's saved, and then the jQuery which we're going to use in our main index HTML. So now we're going to write a little PHP script that reads the file we just created. So once again, I'm going to use Vim. We'll call this read.php and very similar to before. Of course, we're going to have to start off with our PHP tags. We're going to create a my file and once again this variable here can be called pretty much whatever you want. I'm just trying to be consistent from the last script we just wrote. Again, we're going to create an object which is going to be a file open object. And again, we're going to say my file, but this time instead of w for right, we're going to say r for read because we're going to be reading the file. Next, we're going to create a variable. We'll say the data, but of course you can call that whatever you'd like. And we'll say f read and we're going to tell it what file we want to read, which again is our dollar sign fh. And here's a case unlike our last file where we only used this variable once. We're going to be using it twice because here we're going to be reading this file. And we're going to say file size and then inside that give that variable again. So here if we do change the name of the file we're saving it to, we only have to change it once up here and then the variables will follow accordingly. This is not the only way to read a file. This is just the way I decided to do it here. And basically the information we're giving here is how much of the file we want to read. And we're just saying the file size, working the size of the file. And so it will read the whole file. And then we're going to say f close to close the file. So we open the file to read it. We read the information, save it to a variable then we close the file. Now we want to display that information. So we're going to say echo dollar sign the data, which is the variable we created up here, which holds the information of our text file. So now if we go back to our web browser here and we do read dot php. And we hit enter. It gives us an error. I must have typed something wrong on line three. Let's go back here. This is line three. Not seeing what I typed wrong. Oh, it's actually the problems on line two. Forgot my semicolon there. So now we refresh this and you see it says this is a test because it is reading our message dot text right there. So again, if we go back to the last page and we change this message, we can say test or tester. Then we go back to our read php. It says test or tester because it's reading that file. Great. So we got our two back end scripts now. Now we just have to write our main HTML file, which will be our index HTML. So in here, we'll say vim index dot. In this case, I'm going to do a php because I am going to call the read within the script. Although if you just want to do HTML, you could do that and use JavaScript to call that. But I'm just going to use an include as you'll see. So here we are. We're going to start this off. Technically, you're supposed to start off HTML files with the doc type file. But I don't really know what that is off the top of my head because I never do it bad me. But we're going to say our head tags here. And we'll give it a body tag here and close that off. Then we're going to say script source equals. We'll close that. And real quick, I'm going to exit out, save that, and list. You can see we also got an error log in here now because of the one time I messed up on the php script. It keeps an error log if that's how your server is set up. Anyway, I'm going to highlight the name of the jQuery file. You could rename that to make it easier to remember. But I like to know what version I'm running easily. So now we're going to go back into here. And in the script source, we are just going to paste our jQuery file. Well, the name of it anyway. Next, we're going to say script here. And we'll close that off. And that's where we're going to put our own JavaScript here in a moment. Let's create our elements inside the body here first. So we're going to create a div tag. We're going to give it the ID of output. Close that div tag. And within this, we're going to give it a little bit of PHP code here. And this is why I used a PHP extension for my index file rather than HTML. But of course, you could do this with JavaScript if you preferred. And I'm going to include our read.php. So this will display whatever text is saved to our message text file the moments you open up this HTML file. So if I was actually to save that now and go to our web browser, and we should just be able to, with most web servers, not even put it indexed. It automatically looks for index.php, if that's how your server is set up. So right now, you're looking at this. You're going, whoa, it looks just like the read.php, because that's all we have so far. But if you look at the code, you can see this is the code we are writing. And the tester tester, which is the output of the read.php, is within our div tag there. So now we're going to add in a text box for us to put our message into our new message. So we're going to say text area. We'll give it an ID of msgbx, and we'll give it a size. We'll say rows equal 4, and columns equal, we'll say, 50.  Didn't have to give a new line after the div tag, because div tags automatically put new lines. And then we're also going to create a button element here. We'll create it, open, close it. And we're going to give that an ID of bt for button send. And we'll give it the title of send. We'll click, let's save that, refresh our page here, and that's what our page looks like now. So once again, it automatically displays the last message saved. Now we're going to be using this on a mobile device. So we're going to want, one, our button here to be larger. And also, we want this text to be bigger, because we want to make it easier to read. And two, the person also might have vision problems, which the person I plan on using the script with not only is hard of hearing, but she has not the greatest eyesight either. So we're going to add a little CSS to this real quick and increase the size of our text. So we're going to say, style, close our style tag here. And then we're going to say, we're going to give the font size. I think when I tested this out, I did 75. So we'll do 75 pixels. So we're going to say, for our output ID, which is our main div tag where our message is going to be displayed, and also our item with the ID of BT send, we are going to give it a font size of 75 pixels, not forgetting our semicolon there. So we'll save that, go back to our web browser, refresh. And you can see, well, you can see that the letter's bigger. You know what? I accidentally, that's what I did earlier. I hit a wrong key and deleted this. That's why there's no text there now. We'll say send F5. So our button's bigger, making it easier to press. And our text is bigger, obviously, on a tablet or phone or even on your browser, on your computer, you can zoom in. But it's good to start off with the larger text since that's what we want. Great, so we've got everything output here. We can type in here, but our button doesn't do anything yet. So now we're going to start writing our JavaScript now that we have our HTML and PHP stuff done. And our CSS is all done. So really the only thing left is the functionality with the JavaScript. So in here, I am going to say dollar sign parentheses inside the parentheses document.ready function. We'll close that off. And we're going to say, so this is saying, when the document is done loading, then start running our script. So it makes sure everything is loaded before it starts running a script. Now, first thing we're going to do is we want it to constantly be checking for new messages. So we're going to set an interval. So we're going to say, setInterval function. Let's see.  So sometimes I can't see my keyboard and I got to look around my microphone. So here we're going to say, setIntervals. And this is how often it checks for a new message. So it's not going to instantly receive the message. But every few seconds, I think one second would be overkill. It's going to be checking our server too much. Not that it's going to really hurt anything to have a whole lot of people using this application. It really wouldn't hurt. And I think five seconds is a little too long. So I'm going to say 3,000, which is three seconds. And what are we going to do every three seconds? Well, we're going to use jQuery to get. And so it's going to use the getSubmit here. We're going to say read.php, which is our PHP file. And then we're going to say function. And we're going to retrieve whatever output the read.php gives us. We're going to put it in a variable called msg for message. So now we'll close that off. And so we're retrieving the message, putting in a variable here. But then what do we want to do with that? Well, we're going to say dollar sign, parentheses. And then we're going to say percent, I'm sorry, not percent, pound output, which is saying use the ID of output. And that's what we're going to be replacing the dot HTML of. And what are we going to replace it with? We're going to replace it with the variable message. So now it will, every three seconds, check for a new message and display that new message once it retrieves it into our div tag, replacing what is already there. Also, don't give me a hard time. I'm just realizing now that I'm being inconsistent, sometimes using single quotes and sometimes using double quotes. And there are good times and bad times to use both. And lots of times it doesn't matter. And I have a bad habit of going back and forth. So really, I should be consistent and be using single quotes here if that's what I used in the rest of the script. But let's save that. Let's go to our browser here. Now our send button still doesn't work. But we could open up a new tab here. And we can go here and we can say, send a new message. And we'll change it to, this is a test because right now it's tester, tester. We'll hit Enter. And if we look back here, you can see, oh, I got to refresh this page. Well, let's do that again. Let's change the message to new test. We'll hit Enter. And we come back here. And there you go. Within three seconds. So it's not going to take three seconds every time because it's constantly checking every three seconds. So if it's at two seconds and I send a new message, it's only going to take one second to get there. So at most it will take three seconds for the new message to get to the other device. And so I could be holding my cell phone. The person could be holding a tablet. I can talk into it, send. And at most it will take three seconds for them to see my new message. So there we go with that. But we need to make our send button do what we just did over here in this tab. So going back to our code here, we are going to add another little function here. We're going to say dollar sign, going back to the single quotes here, pound bt underscore send, saying look at the object that has, or the element that has the ID of bt underscore send. And when it is clicked, so click, function. I always like to close things right away so I don't forget. And I know that I can set Vim up to automatically close tags and stuff. I just like to do it myself. I feel that I learned things better if I add a repetition rather than having the computer do it for me. So here, when the button is clicked, we're going to do what we're going to create a variable. What is that variable going to be? It's going to be the content of our MSG box. So MSG BX is what we called it, and whatever the value of that. So that's our text area. So we're grabbing whatever was typed inside this box here, and we're putting in a variable called MSG for a message, and not the stuff that's in Chinese food. So now that we've grabbed what's there, let's clear out our box so that we're ready to type a new message. So I'm going to say set the val, and I'm just going to go little quotes there. So it's going to replace what's in there with nothing, because there's nothing between my quotes there. So at this point, I can actually save this.  I'll type here, and I'll hit Send. And it created a variable, put what was in there into the variable, and then cleared out the text box. That's what we've done so far in this little section here. So now that we have created that variable, let's do something with that variable. Well, on the device that I'm putting in, I don't need to wait for it to get sent to the server. So right away, I'm going to take it from the message box after it's cleared out, and I'm going to put it into our output. So we're going to take the output and HTML, which is the same as inner HTML and regular JavaScript. We're going to replace that with this message. So we'll save that. We can refresh, of course, first. Type in here, and click Send. And boom, it's sent. But you see it went back to the other message, because every three seconds, it's going to check for the message on the server. And we haven't sent the new message to the server. We've only done things in this little section here. We've only done things locally. We haven't done anything remotely onto the server. So what we need to do is one more line here, dollar sign.get. And this time, we're going to use our send.php file that we created first thing when we started this. And then we're going to say braces here. Don't forget our semicolon there. And we're going to say we're going to send the variable msg and the val, and we're, well, this is kind of confusing, because I kind of named them both the same thing. This is the variable name that the PHP file is looking for. And if you remember, we created, we said to look for the get variable of msg. That's what that is. On the other side of this colon here, we're going to send it our JavaScript variable of msg, which is our message. So this side is what the PHP is looking for, and this is our JavaScript. So our PHP variable name, our JavaScript variable information. And that's it. So at this point, I can save that. Come here, refresh to make sure everything is up to date. And I can say this is my test. I can click send. It changes it here, but it also changes it if I come and open up in a new tab. So I can say blah, blah, blah, here. If I come back here, it does it there. If I pick up my cell phone, so what I'm going to do here is now that I have the Chrome extension installed, once again, Chrome to phone is what it's called. And it's set up with my device. I can click this. And in a second here, there we go. You heard a little chime there. I don't know if you heard that in the microphone. And it opened up my web browser to the page that I was viewing on my desktop here. So now that I have that, I can click inside the box, click my microphone, and be like, thank you so much for watching this tutorial. I hope that you enjoyed it, period. And I'll click send. And there you go. It's now sent to the server. And every three seconds, my computer here or any other device looking at this URL will see the message. So once again, I can be like, I think jQuery is great. And I use it all the time, period. I'll see if it gets jQuery it did. And I'll click send. And there we go. One more time. Please visit filmsbychrist.com. And I hope that you enjoyed this tutorial. And I hope that you have a great day. Let's see if it gets filmsbychrist.com. It's probably, yeah, it's obviously, it's spelled my name wrong and it put .com. So voice to text is not perfect, especially if you spell your name funny like I do. But this is, I think, gonna be a useful app. And I hope that you did enjoy this tutorial. My website is filmsbychrist.com. That's Chris with a K. Okay, the second I was done recording, I realized I should have mentioned something because anytime that you're allowing somebody to submit information to your server, you gotta be careful on what they can submit because it could cause security issues. So one simple thing you can do, at least the very bare minimum, let's go back into our code here. And well, let me give you an example first. So here I can go, since we're inputting information here, I can say, I can put an HTML code here. I can say something like HTTP colon four slash four slash filmsbychrist.com. So click and click send. And you can see that it gives you a button. If I click that, it will redirect me to my website. And that can be bad, especially with JavaScript. People could put JavaScript in there that would redirect or do stuff and potentially other types of codes. So luckily we're using PHP on our server end and it makes it very easy to strip HTML tags. So at the bare minimum, we should do this with our code. So let me go here, let me vim and go into our send.php since that's where we're writing to the file. So we created a variable here, we retrieved a variable here called msg. All we have to simply do is dollar sign msg equals and then HTML special, oops, charrs for characters, dollar sign, and then we'll say msg. So we're doing here is we're replacing the variable msg with msg, but with all the HTML characters stripped. So there's other good things about using this, but it makes it very simple. So now if I save that and go back to our web browser, I can again say something like a href equals http colon port slash four slash films by christ.com. Click me, hey, and then we'll say send. And now, oh, right, that's right. The first time I typed it in, so let me change this and show you again, I didn't even think about that. I put this in and we click it and you go, oh, it's still clicking, you can click it, right. That's because you didn't actually retrieve it from the server, that was your HTML code. So it's stripped on the server side, so that first initial little boop is only gonna happen to the person who submitted it, which would be the attacker in this case. But once it retrieves from the server, and anyone else looks at it, you can see it actually shows the code you put in and not actually running the code. So definitely wanna keep that into account. So let's look at that code again. Basically, we just add one line. So we've retrieved our msg message and then we're gonna replace the msg message with the msg message, but we're looking at the HTML special character. So it's not really stripping the tags, it's just displaying them as tags. It's commenting them, not commenting, like what's the word I'm looking for? They're displaying the tags rather than running the tags, and that will help prevent a malicious attack. Now I'm not saying that there aren't other malicious tags out there. In fact, if you think of any in this scenario, I would love if you let me know. But that definitely will help prevent a simple little, and I've seen sites that don't do this, and you can put in a JavaScript redirect that automatically redirects or when they hover over something redirects, and it can do some things to other users of your application that are viewing messages that people posted with malicious code in it. And so our HTML special characters, special chars, and then that's it. So I wanted to mention that because the potential there for malicious activity. Thank you for watching once again, and I hope that you visit my website, filmsbychrist.com. That's Chris with a K, and I hope that you have a great day.


And also in the news in an attempt to unify Nigeria and put an end to secession calls, Nigeria's flag designer, Chief of Defence Staff, unveiled world's largest flag in Ibadon. The private event took place at the Polo Ground in Ibadon, the Oyo state capital. The Chief of Defence Staff, General Lokirabao, who made a surprise visit at the event said it is important for Nigerians to always remember that the flag is not a mere symbol of Nigeria as it is a symbol of a united Nigeria. Pa Taiwo Akinwumi in his words said, he is always dreamt about Nigeria being at the front of every good thing. Today, when I cross the country, you hear calls for secession, calls and agitations for separation. I do think that this event today should help us to know that united withstand and there's actually strength in unity. And I think every Nigerian should of course learn from that and begin to think what can be done to keep Nigeria united rather than thinking of how to keep Nigeria separated. To remember this achievement of the past, we celebrate the achievement of today and look forward to tomorrow's record sharp-train events by Nigerians. The world's largest flag is a great symbol for the world's largest black democracy. The world's largest flag is a great symbol for the world's most diverse, yet unified and united nation. I wish all and country good health and blessings of God the Father. Hello. Hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


Today, I'm demonstrating the EcoVessel. I absolutely love the EcoVessel. It has two openings, a small opening, and it also has a wide opening. It is also equipped with a strainer basket that makes it perfect for making herbal tea. Although this water bottle is perfect for all kinds of beverages, I use it specifically for my herbal teas. See, I am adding three tablespoons of my favorite tea blend, and I think today I am using my Bye Bye Anemia tea, which you can drink regardless if you have anemia or not. It's just loaded with iron, and then I'm adding my hot water over my herbs, and then I'll replace the strainer basket, and then I'll let my herbs steep for as long as I want them to steep. And once they're finished, I will pour myself a hot cup of tea. The EcoVessel is perfect for when you want to make your tea in the morning and take it with you to drink throughout the day. Get your EcoVessel today.


Good morning. I will be talking about scaling pu parts Debian org to multiple architectures Skip this one thing. I work barefoot some people think I like to break rules, which is not really true. I Think for Debian policy that should be strictly followed by Packages and we should not bend the rules if any package is a special snowflake It's probably buggy and needs to be fixed. We have 20,000 source packages and there's 30 or 40 or 50 special ones, but the rest is not so if your package is special I would like to know why With human societies they also need rules, but these rules need to be more flexible We are not software. We must bend these rules and special snowflakes are great, but this is for humans. Packages are different and For all rules there are exceptions and testing for policy compliance is hard So yeah, I started with this Debian pu parts Debian org service in 2009 Actually took over maintain as well as stop doing it will originally develop in 2007 There's now almost 700,000 locks from 54,000 packages in 28 suits with word tested in at the end of 2016 I'm aware by 47 suits in the last five years alone, we did almost 10 million tests and Today, I'm basically not active in developing pu parts anymore. I just maintain the service and maintain the source code I do sometimes updated for new stuff, but the development is done mostly by Andreas Beckman I Skip this as well because there are not so many people in the audience. Have you received a pu part report? Yay Have you received more than one buck in a source single source package? Yay, good the video team is here We have at least one that people contribute a year The talk is mostly done that there's more people contributing You but what is it? It's a package installation and upgrade removal test suite tests whether packages comply with Debian policy Or rather test the subset of policy mainly that whether packages can be installed upgraded removed Perched and that the system is the same afterwards Only uses up get it doesn't use up to do it. So we could repeat all these tests was also using up to do And only use the CH roots and not reassess them not other things. So it's test the subset and All bugs are fired manually We have we have some Templates, but there's no tool which will scan the log and say this is likely this kind of Which could be improved and it's another thing and the source code is written in Python Debian or It's actually rather small in my school base And yeah bugs and patches are very much welcome new contributors would really be awesome So few parts runs people put Debbie and all runs people parts and all packages and these suits which are many so just 47 suits that suit combination That's also from Jesse to stretch or from Jesse to stretch to Buster and And But and to back porch and to back porch and to proposed updates and or whatever and sadly, this is only on a 64 and Has been only 64 for the last 10 years and protest multiple architectures What the real fix would be at support for multiple architectures and people put parts master and That is being on the table since 10 years and nobody around to do it and I don't think it would be that hard, but it would be some work and then a few months ago I realized I could could just run two masters and be done With the different directories where they live and then they talk to different slaves and the slaves need to be real I386 or on HF or whatever, but just running two masters would be fine And so I hope that some DSA Debbie and admin People would be here to talk about resources It needs still then if you have two masters, then we would have few parts the web page twice and there would be no navigation between them But I think that would still be worthwhile at the start and as soon as we have these two more Architecture than somebody will hopefully write the code to make cross Architecture things right having it better isn't better than having it not and then there's more incentive to fix it if Yeah, and I think it would be good to test arm 64 or on HF. No, I see really six. It's not so useful probably But it's easy hardware to get because you can just run it on the 64 Yeah There's more stuff to be done Pew parts rep report at the moment takes 12 hours to run and we run it twice a day So that's something that only runs once a day and With two architectures that would run the double amount of time That's Andrea's is working on it split in splitting Pew parts reports and several bits which can be run at the same time But I think Pew parts reports also creates the report for all the old suits Which are old old old old old stable and old old old stable and that's a bit useless So there's definitely room for improvement Could also just put the results in a database and create the pages dynamically because at the moment we're creating 700,000 pages This report is only for the web pages or so to the interaction with Brittany No, no, it's just for the web pages. Brittany is used to in the testing in the devian release team area And it it passes the locks but the locks are created by Pew parts report And the locks are only only need to be passed once and then we then there's the result There's several classes detected of errors And we were if you would put that in a database then we can also process it as well And the other thing missing which is not in Pew parts report It's proper isolation of Pew parts itself the moment we only test within a CH route and on the same So it's TCP IP you can communicate with the host that sometimes kills processors on the host so if we would use kind of namespaces there or KVM or whatever Technology for proper isolation then DSA would be happy because at the moment the backup job Regularly killed and some other thing is cut it from DSA and then they get a Nagios Notification and And there's 17 bucks open against source PO parts I've tried to close all wishlist bucks, which were older than two or three years in the way worked on I put them in the to-do at the bottom at close wishlist bucks or something These are all more or less real errors problems Please help or it will not happen or Andreas will make it happen Maybe Andreas was some point doesn't this has no time tonight This was it. I missed the beginning of course, but can you comment maybe a little bit on the? The use of the of the release team now of the results of PO part I mean it I guess or at least I have the feeling that in the beginning it wasn't going smoothly For some transient things, but I haven't noticed any issues with that lately. So in the beginning there were a few more Bucks by people or generally that people will then when they have packaged it in my grave because of few pasts But I think that has It's not happening that much anymore at all Their release team uses that for the testing migration and also for proposed updates. They check the packages Install savingly That's it at the moment. There's also that's what We are doing is we're testing upgrades from Stable to testing to sit and That could block the migration of packages to testing Or it will show that packages will fail to upgrade later Are we are reporting them by filing bugs by filing bugs? The question is how we are reporting the failures. I think there's the script from the release team which Passes our output and then puts the block into Brittany, but I don't really know it's Brittany itself that passes the or yeah So it's a two-step. It touches the file and then it processes it to figure out if it's blocking or not And I think it's only blocking on regression not on yeah, it's only on regression But only only to sit At me there's no need for it to block on the transitions, right? You can just limit the sections that's that is working on It's only testing test thing at the moment so buster in this case Okay, but I guess you could test also on stable to testing or yeah But that they they look at it for proposed update, but this is rather manual Okay, so it's great that's it's being used actually in that way yet Yeah, I have any idea what Or have a feeling of the status of what you would do on another architecture, maybe even from the reproducible build View I would like to have DSA hardware for that Because it should be running constantly and we have the has resources So I would not the reproducible build stuff is all done on private hardware or in sponsor for this I didn't need the meant to abuse that for that But just if you ever run it or have a feeling for how other architectures are faring on this area I think there will be mostly the same because it's so spaced and the problems are usually so spaced There will be some installation failures found I guess through due to broken builds or stuff or Also missing dependency combinations, maybe and multi-arch kind of you mean multi-arch as in We don't test that yet It's gonna make it a lot more bigger problem. I guess yes But there the co-install bill or co-install install ability you can test also with the doser tools And so They these classes should be fine as well. Yeah, thank you for using pu part


The growing number of studies linking repetitive head trauma to abnormal brain function is concerning for today's athletes and their families, perhaps nowhere more so than an American football. But while researchers have explored the effects of head impacts from high school to the pros, they have it ventured as deeply into the effects for youth players, or how head impacts happen in the first place. That's crucial, because players under the age of 14 account for more than 70% of the 5 million American athletes who play football. Now a new study takes a close look at whether youth players intentionally lower their head when going for a hard hit. Broken down by session type, player position, and ball possession, the findings offer support for modifying rules and training in an effort to minimize head injuries among youth players. Using specially equipped helmets and video footage, the authors of the study collected data on more than 68 youth football players over 153 games and practices. On average, the players were about 12 years old. Of the more than 19,000 head impacts recorded, about 8% were classified as high-magnitude impacts. Approximately 80% of those hits involved intentional use of the head, and more than 80% of those hits were head-to-head, posing the highest risk of injury. Broken down by player position, the data showed that linemen experienced the most head-to-head hits. In fact, 90% of all intentional high-magnitude impacts that linemen experienced were associated with head-to-head contact. And while few studies have examined the role of ball possession in head impact, the current study showed a clear distinction. Ball carriers experienced a greater proportion of head-to-head impacts than tacklers did. Overall, the high frequency of intentional head impacts recorded suggests rule changes and educational programs could have a substantial effect in reducing head impacts. Some researchers, for example, have reported the benefits of teaching tacklers to track opponents' hips with their shoulder, not their head. To be sure, more work is needed, as ultimately any change to rules or player habits will have to be balanced by efforts to maintain the existing play of the game. Still, the authors' findings should serve as a useful guide in learning how to make American football a safer game for players of all ages.