Hello and welcome to the International Daily Roundup by People's Dispatch, where we bring you major news developments from around the world. Our headlines? India observes country-wide day of protests as farmers' struggle reaches six months. Security forces crack down on protests against killing of activists in Iraq. Hotel workers in France declare victory after a historic 22-month-long struggle. Indonesian forces arrest over 100 pop-up protesters as violence increases. And our video section, we take a look at initiatives to address rising hunger amid the COVID-19 pandemic in Brazil. In our first tour, farmers' workers in civil society groups across India observed a day of resistance on May 26. Wednesday marked six months since hundreds of thousands of farmers began their protests to the border of Delhi. They have continued to demand that the BJP let government repeal three farm laws which were passed last year. Calling it a death warrant, the farmers have argued that the laws will dismantle key state protections and enhance corporate control. So far, the government has only offered temporary measures including suspending the law for 18 months. This has led to 11 rounds of unsuccessful talks, with the last meeting held on January 22. Meanwhile, the farmers have been met with heavy police violence, arrest and attacks by right-wing groups. An estimated 400 farmers have died during the course of the six-month-long struggle. Farmers and workers raised black flags and burnt effigies across the country on Wednesday. Demonstrations were held in Punjab, Tamil Nadu, Uttar Pradesh and many other states. People also denounced the government's failure in handling the COVID-19 crisis. India recorded 4,157 deaths within a single day as of May 26 and states have continued to report vaccine shortages. Community health are Asha workers in thousands of locations across the country also observed a general strike on May 24. Despite working on the frontline, they continue to be classified as volunteers. They are given a monthly honourarium and are entitled to task-based incentives instead of wages. Other long-standing issues raised on Wednesdays included the four labour codes introduced by the government. Workers also protested outside factories in West Bengal and Maharashtra. The demands raised include regulation of private hospitals, compensation for job losses, and food subsidies for families. In our next video, one person was killed in at least 13 were injured after security forces cracked down on a protest in Iraq. Thousands had gathered in Baghdad on May 25 to protest the killing of activists and protesters. Since a mass uprising began in 2019, the Iraqi High Commission for Human Rights has documented almost 600 killings. Another 35 activists have been killed. Tuesday's protests were sparked by the killing of prominent activists in Karbala on May 9. Following, his death, protesters had given the government two weeks to apprehend those responsible. Given that the perpetrators have not been identified, protesters took to the streets in Baghdad. People gathered at Tehrir Square in Al Nisur Square, raising flags and banners with the names of those killed. They also raised a slogan, who killed me? They had planned a march to the Al Jamhooriyah Bridge towards the heavily guarded green zone. However, security forces blocked protesters from reaching the bridge and proceeded to deploy tear gas, tongue grenades, metal batons, and live ammunition. Protesters have also stated that they will boycott the parliamentary elections scheduled for October. They have denounced the failure of the state to prevent the killings and have demanded a radical change to the country's political system. Sustained protests and other long-standing issues, including unemployment, poverty and corruption, were also held in April. We now go to France where workers at the EB des Begignols Hotel have successfully ended their strike. Around 20 migrant women employed as caretakers at the hotel in Paris had been on strike for eight months. However, the struggle actually began almost two years ago in June 2019. Organized by the CGT-HP Union, they spoke out against exploitative working conditions and poverty wages. The women were hired through STN, which is a subcontractor for the Aqours group that owns the hotels. They were made to clean three and a half rooms per hour, which would amount to over 50 rooms per day. In fact, the workers' struggle reportedly began after 10 women were threatened with transfer after being able to clean rooms at this pace. Women stated that they did not get breaks and were not often paid for overtime work. Moreover, their wages were paid not by the hour but by the task. After extremely long working hours and difficult work, they were paid only 7 to 800 euros a month. Workers are now secured a salary increase between 250 and 500 euros a month. They will also receive a lunch basket of 7 euros 30 cents each day and two uniforms supplied and maintained by the company. Moreover, they have been classified as skilled workers instead of cleaners in their employment contract. As reported by RFI, there will be a 20% reduction in the rate of work. They will also have two elected staff representatives present on the site. The women have stated that they will continue their struggle to demand that they be hired as in-house employees. In our next story, around 135 people were arrested by Indonesian forces during a protest in the West Papua province on May 25th. Countrywide protests were held to demand the release of pro-independence activist Victor Yemo. He was arrested on accusations of treason for his role in the 2019 protests against racism. Papuan communities have been mobilizing against increasing violence and the arrest of activists. The Indonesian armed forces have been engaged in a conflict with the West Papuan Liberation Army for months. The conflict has displaced thousands of Papuan and security forces have also cracked down on civil society groups. Armed police forces violently dispersed people, including students, at a protest in the city of Manuakwari. Papuans in the capital of Jakarta were also attacked by ultra-nationalist groups despite heavy police presence. A hostile housing Papuan students were also attacked by vigilantes in the city of Malang in East Java. Students were also arrested while on their way to the demonstration in Malacu. Meanwhile, several protests were held in major cities. In the Papuan provinces, protests were held in Sorong and Jayapura, which has been under a region-wide shutdown since March 30th. The Indonesian government has also deployed additional troops in the Papua region. The government has designated several people in groups associated with the Free Papua Movement as terrorists. And now, finally, we go to Brazil, which is witnessing a steady rise in COVID-19 infections since early May. The country crossed 450,000 COVID-19 related deaths on May 25th. The far-right government of Jair Bolsonaro has been widely criticized for failing to address the crisis. Meanwhile, a pandemic has also worsened economic conditions. The 12.8% of Brazilians living below the poverty line. The price of food has increased by over 15% amid widespread pandemic-induced unemployment. As millions of people face hunger, community initiatives to provide food for the unhoused and poor people have emerged. Here is a video featured by our allies at Brazil-Difato on one such initiative in São Paulo. The work doesn't stop. Every day, from Sunday to Sunday, 700 individual lunches are distributed in the center of São Paulo for people without housing. When the pandemic started, several people who were homeless looked for me and told me they hadn't eaten in two days. I talked to some fellows and said, let's make some food. That day, we fed 20 people. The next day, 50 people came up. The other day, they were already 200 people in line for the food. The initiative is led by Robson and five other people working it. Every one of them has lived on the streets at some point. It is a pleasure to help someone, especially when a government doesn't help at all. As I see it, we do much more for people than those who are supposed and obliged to do so every day. Without public policies ensuring the right to food and housing, every day more people come to the line. That is the case of Alexandre. It is the first time he appeals to donations to eat. I am 41 years old and I have been employed for a month. Now I am almost going off to the streets because I can't afford to pay a hand. I never imagined I would go through that. I have always had some stability, the same every person has, his job. But unfortunately, now I'm really completely broke. Alexandre is not alone. According to recent surveys, 116 million people in Brazil don't have enough food or are going hungry. The most important thing to help would be the emergency aid that it paid at least enough to ensure people's rents, food or both. When you lose your house, you have no protection for your health. As you have nowhere to cook, you can't eat properly. On the streets, the person eats every other day. That's all your time for today. We'll be back tomorrow with more news from around the world. Until then, keep watching People's Dispatch.


Hi, everyone. Good afternoon. I'm Aadarsh. I'm a lead engineer at DGO. So myself, Thammi, I'm a back-end engineer at Strawberry, a USDA company. Today, we'll be talking about PyGOT, an initially vulnerable application returning Django to help us learn about web application security. So, coming to web application security, it consists of technologies or approaches aimed at safeguarding web servers, web applications or APIs against potential attacks from malicious actors. Now, talking of some statistics, based on an analysis on 14 million websites, we just found that an average website experience is 172 attacks per day. Also, over 60% of what traffic was observed to be malicious. Cyber attacks are costing SMPs an average of $25,000 per year. Also, these threats are increasing at an alarming rate year by year. Attacks include exposure of sensitive data, compromise of server systems, etc. So, we need to secure our web applications from these attacks. Now, let's explore some resources which will help us to test and secure our applications. Coming to OVAS, OVAS stands for Open Worldwide Application Security Project. It's an online community that produces free tools and resources in the field of web app security to test and secure our applications. Now, OVAS Top 10 is a list of top 10 frequent and critical security vulnerabilities in web applications. And the list is called OVAS Top 10. You can see the OVAS Top 10 vulnerabilities published in the year 2021 here. So, in the coming slide, we'll be going over each of these. Going back to the topic of our presentation, we'll be covering PyCode. PyCode is an initially vulnerable Python Django application. So, we can use PyCode to learn and exploit the OVAS Top 10 vulnerabilities. Thamin will walk us through the initial set of vulnerabilities. So, what do you think? So, thank you, others. So, now we can move to the integrated details of OVAS Top 10 and its demonstration using PyCode. So, the first one, broken access control. As you all know, access control enforces policies such that users cannot act outside their intended permissions. Failures typically lead to unauthorized information disclosure, modification, or destruction of all the data. So, the common access control vulnerabilities are bypassing access control checks by modifying URL, permitting view, or editing someone else's accounts by providing the unique identifier, and accessing API with missing access controls. So, now let's move to the demonstration by PyCode. So, here you can see that the user test is trying to log in as an admin. In the initial stage, the user can log in due to the invalid credentials, as you can see in the screen. So, by intercepting the request, we are adding an additional cookie admin and set it value to 1. Allow that test user to log in as an admin. By inspecting the code, so here we can see that the user is logged in as an admin successfully. And by inspecting the code, we can see that the source of truth is the request from the client side. So, for ensuring the access control, we need to sanitize these requests from the client side. So, these are a few steps to ensure access control. Except for public resources, they need all the permission by default. Implement access control mechanisms once and reuse them throughout the application. And log access control failures and let admins when there is a repeated failures. So, this is all about the first of us security. So, now we can move to the second vulnerability. It's called cryptographic failures. So, the first thing is to ensure the protection of data while in transit or in the rest stage. For example, the data like passwords, personal information, healthcare data, critical details, require additional protection and to be encrypted from the unauthorized users. So, the common cryptographic failures occurs when transmission of data as a plain text. Usage of outdated or weak cryptographic algorithms. And the received server certificate and the trust chain are not properly validated. So, usage of default cryptographies may lead to cryptographic failures. So, now let's check on private example. So, here you can see that due to a data breach, the attacker have the demo of the user table, which contains the encrypted password and the username. So, we can identify that the hash is 32 characters long and may come under a message digest family. I mean the MD family. By the help of online tools, we were able to identify that it's exactly belong to the MD5. And using MD5 decryptor, we were able to decrypt the password as admin1234. So, this is basically a cryptographic failure. So, a few prevention steps are store passwords using strong adaptive and salted hashing functions with a work factor, encrypt all the data in transit with secure protocols and disable caching for response that contains sensitive data and do not use the latest protocols FTP and SMTP for transporting sensitive data. So, this is all about the second one and now we can move to the third vulnerability, the injection. So, an application is vulnerable to attack when the user's supply data is not validated, filtered or sent from the back end. Dynamic queries or non-parameters calls without context are used to directly interrupt. So, some of the most common injection are SQL injection, no SQL, OIS command, and ORM injections. So, this, the concept is identical among all the individuals. So, let's have a look into the PyBot lab one. It's a demonstration of the SQL injection. So, by submitting the password field with the SQL injection query, we were able to successfully authenticate the user as an admin. So, let's have a quick look into the vulnerable code. We can clearly see that the code is dynamically accepting the values. And now let's have a look into the command line injection of the PyBot lab two. So, here we are able to successfully execute the command to get the current network configuration of the server by using the icon command. So, by inspecting the code similar to the SQL injection, we can see that the back end application is accepting the data from the client without the proper validation. So, here is a few methods to prevent the injection, both the SQL, no SQL, and ORM injections. So, usage of a safe API, which avoid using the interpreter end rule, that provides a parametrized interface for migrate to object relation tools, ORM tools, and proper server-side input validation. For dynamic queries, escape special character using the specific escape syntax for the interpreter, like in SQL or the ORM. So, this is all about the injection part. I know we can move to the fourth one, the insecure design. So, insecure design is a broad category representing different weakness expressed as a missing or ineffective control design. So, insecure design is not the source for all other top 10 risk categories. There's a difference between insecure design and insecure implementation. So, let's have a look into the PyBot example for a detailed overview. So, this is the PyBot lab objective. And so, this is the PyBot lab objective. And now, here, we can see that the website is offering a booking of movie tickets up to five tickets for a person for free. And the movie will be able to make public once all the tickets are sold. So, here, this is the screen where we were able to claim three tickets, up to five tickets. And here, we can see that 50 tickets are left. So, the system here, the system itself is safe, secure, but others are largely designed for. One can get all the tickets by creating multiple accounts. In this particular case, five tickets per page and a total of 60 records. So, we need to create 12 accounts only and claim five tickets from each. So, if the signup process is lame, then the processes can be automated. So, here, we need to have strong verification mechanism like KBC to be considered while developing these kind of applications. So, here's a few points to be noted to prevent the insecure design. Establish and use of library of secure design patterns. Use threat modeling for critical authentication, access control, business logic and key flows. Integrate security, language and control into user stories. And the finally write unit test cases and integration test cases to ensure the security. So, now, from the FI onwards, others will continue. Ranking fifth in the last problem list is security misconfiguration. An application might be vulnerable if it's missing security hardening. For example, it has improperly configured permission to access cloud resources. Also, it might be vulnerable if there are exposed open ports or pages without checks, etc. There might also be default credentials which may be left unchanged even in production environments. Ranking can also become a threat if stack traces or sensitive info is revealed to the end user when an error occurs. So, moving to the PyCode lab, we can see that a message only admin local port 8000 can access, your exhaust is not. The message is printed on a PyCode lab. So, by seeing this message, it seems like exhaust is an HTTP request header. The application is trying to authorize access by using a header value. So, we can use tools like Burbsuit. So, we can intercept request midway and modify and recent them. So, we can see that the action, this action is loading space, sending an HTTP request to the secret slash secret path. Now, to exploit the vulnerability, we are adding a new header named exhaust and setting its value to the desired one. So, on re-requesting again with this added header, we can access the secret from this page. Now, this case is an example of security through obscurity. That means an unknown header value is used to authorize access. So, in such cases, if the user is able to guess the header by any means, he or she will get an authorized access. So, to prevent these kind of errors, we should never trust raw inputs from the front end. Also, if you are using headers to impose access controls, the key should not be guessable or predictable. We should use an encryption mechanism to preserve the secrecy of the key. Now, moving on to the lab 2. Lab 2 home instructs as to look for a 500 error. So, this application have a vulnerability that the Django debug mode is enabled in this application. Now, let's try to open an invalid URL. So, when trying to open an invalid URL, we can see that all the valid URLs of the site are listed here. On the list, we can see a page called 500 error is present. When we are loading the 500 error page, there are multiple credentials. Traditionally, there are system metadata and other sensitive values like local variables or ENV variables and Django setting configurations are visible in this page. So, to mitigate the issue, when deploying to production of public environments, Django debug mode should be set to false and settings should be right. Now, some general tips to prevent security misconfiguration errors. These are a repeatable hardening process is needed to deploy apps to different environments. Also, unnecessary features or dependencies must be removed from the production applications. Then, we should periodically review and update configurations to secure values. For example, we should monitor cloud storage permissions such as H3 bucket permissions to make sure that proper access controls are imposed. Also, we should try to automate the security testing and vulnerability scanning process in all our environments including dev staging and production. Now, moving on to the next vulnerability, we have the usage of vulnerable and outdated components as A6 in the list. So, our application can be vulnerable if you are using insecure components and do not regularly track or patch our systems. Now, going to the lab or objective is to trigger a remote code execution vulnerability. So, the lab contains an application to convert YAML files to JSON file. We can upload YAML files and the server proceed to output the JSON. The app uses PyYAML library with the version 5.1 and the library is vulnerable to code execution. So, the vulnerability in this library is publicly disclosed and it was patched in the later releases. The exploit for this was released online and you can see a symbol YAML file which can exploit this vulnerability. So, here we are trying to run Python code and trying to print the RC exploit message. So, this is the PyGoat lab. Now, let's try to upload the specially crafted malicious YAML file. Now, we can see the output is none, but on checking the Django terminal output, we can see that on the run console, we can see the RC exploit message is printed. That means as an attacker, we can run arbitrary statements and we can run that in the server. So, this can be used for remote code execution and we can leak the credential of the application or we can try to gain access to the server. So, for mitigating similar issues, we should remove unnecessary dependencies and we should monitor the versions and security bulletins of libraries and the components we use. Also, we should also try to avoid supply chain attacks by verifying the integrity of the components and should only trust official sources to download packages. Next is A7, identification and authentication failures. There can be cases when the application handles passwords and logins incorrectly. This can let attackers access sensitive data. So, in the PyGoat lab of A7, our aim is to exploit the login without any functionality. The application is missing proper rate limiting. That means we can send bulk of requests without any errors and we'll be using this to gain unauthorized access. On opening the lab, we can see the login page of an admin. There is a login with OTP functionality and we'll be trying to exploit that. So, we need the email address of the admin. So, in the case of PyGoat, the email address is available in the source code file of this lab. Otherwise, we might need to recommend to find the mail ID of the admin or we can use similar patents to guess that. Now, for doing this attack, we'll be using OWASP SAP. We have previously used the verb suite. So, it's a tool for SAP is a tool developed by OWASP community and its open source. So, we can use SAP to intercept requests and perform attacks. So, I have just entered a random OTP. Here in this case, from the source code, we can see that the OTP, the possible OTP is three digits. So, we have to try all the three digits combinations of OTPs. Now, I have intercepted a sample request. So, it's sending a request to the path OTP and in the body of the request, we can see the OTP value is being sent. Now, I'm using a FASER tool of OWASP SAP. So, in the FASER tool, I am adding a variable in place of OTP and you can see I'm adding numbers from 100 to 999. All the possible three digits numbers. Then, on running the attack, you can see these are the results from the FASER. So, there are multiple responses. So, we can sort the result by size of the response body. So, we can see that there is one request with a different response body size and that's when the OTP value is 289. So, in that case, the response is logged in successfully as the user. So, in a realized scenario, we can use the cookie returned in this case. So, we tried all possible combinations of OTPs and for one OTP, we have obtained a successful login. So, in normal cases, on successful authentication, the server will send us a cookie and we can use that cookie for sending further requests as I did. Now, for mitigating these issues, we should implement multi-factor authentication whenever possible. Also, default credentials should be changed and proper password security measures should be implemented. Now, to prevent the issues as seen in the lab, we should enforce rate limits so that the attacker gets logged out after a fixed number of retries of unsuccessful login attempts. Next is A8, software and data integrity failures. So, these occur when app is not protected against integrity violations. For example, we can take insecure deserialization. Applications and APIs will be vulnerable if they deserialize hostile or tampered objects supplied by an attacker. So, we have earlier seen an example of such an example where we are trusting the cookies supplied by the user to gain unauthorized access. Now, moving to the lab, we can see a download page accepting name as an input from the user and it will supply a download link for the user. So, when inspecting the source, you can see that there is a download link, the download page was vulnerable to accesses. So, once we are using the access script from the attacker and we are passing that as a part of the URL parameter, so we can see that the JavaScript is executed in the page and we can see that the attacker provide file is being downloaded by the user. So, this can be sent to a genuine user of our website and trusting our domain, they will try to download the file and they will be redirected to download the attacker provided file. So, for the demonstrated vulnerability, accesses is used to redirect user to the malicious file. So, as a user, we should always verify the integrity of the files using checksums which are provided by the server. Now, for mitigating such issues, some general steps include usage of digital signature, verifying the trustworthiness of dependencies, and the supply chain, etc. Now, in the ninth position, we have security logging and monitoring failures. This category is to help detect, escalate, and respond to active breaches. Without logging and monitoring methodologies, application should not be able to detect threats in real time. So, an application should alert the development or security team during an active breach so that impacts of the attack can be minimized. So, this Pygote Lab consists of login page. So, each attempt to log in are logged to a file. We can see that the username of the users who are attempting logging are logged in this file. The vulnerability in this case is that any input in the username field is added to the log without any validation or categorization. So, this can lead to log overflow and attacker can repeatedly input large text in the field causing memory overflow. Also, any arbitrary string is logged without proper context of user action. So, an attacker can inject arbitrary logs which can confuse or mislead the developers who are viewing the logs. Here we have added a fake message in the log to upgrade Python. As well as we post, we added a large dummy text which was, which was written in the log file. So, for mitigating these issues, we need to ensure proper log management solutions are implemented and we might also need to ensure that log data provide enough context of the issue. Also, we should encode the log data to prevent injection attacks. Then proper monitoring and alerting system should be implemented to actively respond to an attack. Now, over to Thammin for covering the final vulnerability. So, here is the last vulnerability, SSRF, the server-side request forgery. SSRF, of course, occurs whenever an application is fetching a remote resource without validating the user-specific URL. It allows an attacker to force the application to send a crafter request to an expected behavior destination. So, even when the SSRF happens even when the application is protected by firewalls, VPN, or another type of network access control list. So, let's dig into the PyBot example. So, in this sample blog, we have buttons to navigate between posters. So, here you can see blog 1, blog 2, blog 3, and blog 4. So, on clicking each button, a post request is sent with a blog post URL as a variable. Let's click on any of the button and it will move to the specific blog. By intercepting the request, we can see that there is a blog parameter in the request. So, let's have a look into the vulnerable code. So, here the application is taking the ender file path from the client-side without a proper validation. That's the biggest issue here. So, the backup server is returning the file if it is present. Now, add an additional input field by inspecting the HTML content and set its value as views.py. We can add any project files, like here it is Django. So, for an example, we were added views.py. You can see it from the HTML inspector. So, yeah, by submitting this, I mean clicking the hidden field, we were able to retrieve all the information from the views.py. So, here is the vulnerability. So, we were able to retrieve all the files, all the file information from the backend. So, for mitigating this type of vulnerabilities, first of all, we need to sanitize all the input from the client-side. All the input data. And enforce a strict URL schema. And enforce partitioning the port and destination with a post-play alo list. And denote send a raw response to the front-end site. I mean the client-side as we do in this example. So, this is the code. We have applied the fixes for this vulnerability. So, instead of, you can see that instead of accepting the URL from the ender file path from the client-side, we have just accepting the URL slack. And, yeah, it will, and also we are filtering the file extension by .txt. It will, yeah, it will, yeah, it will resolve this vulnerability. So, this all about from our site. And we have almost covered all the top-10 hours security and its vulnerability exploitation using the PyGOT, the open-source repository. So, these are a few references we have referred the OS top-10 and PyGOT project demos. So, if you are interested in looking to learn more on this cybersecurity and Python security tools, you may look into these articles. So, that's all. And thank you, EuroPython team for giving such an opportunity to us. And thank you audience for listening us. So, here is the social handle. You may connect with all the social handles. So, once again, thank you. Thank you all.


All right. All right. Dear O'Daymeh is the former publicity secretary of the People's Democratic Party. Dear O'Daymeh, please stay with us. So we take you into the next topic, where all the federal government through the Minister of Information, Al-Hajjilay Muhammad, has raised alarm over an alleged threat by the People's Democratic Party to organize another Ansar's protest. Muhammad said the opposition party is planning to overheat the polity and sabotage the administration of President Muhammad Buhari, describing the People's Democratic Party as a desperate and hungry opposition. Muhammad urged the party to wait for the 2023 elections to test its popularity. The Minister noted that the plan of the main opposition party was to overheat the polity, distort Buhari's achievements and misinform Nigerians. Dear O'Daymeh, I don't expect you to agree with Al-Hajjilay Muhammad there. But I mean, it's the PDP, the right authority, the right group to call Nigerians out to protest against something similar to the Ansar's protests. There are two ways to look at this situation or the question. On the PDP era, there are pictorial evidences that both President Buhari, Al-Hajjilay Muhammad and the likes of them staged protests against PDP to Nigerians, trying to blackmail PDP. And it really worked because Nigerians took them serious. If they are now alleging that PDP is planning another Ansar, the question is, was PDP the party that planned the first one that happened in this country? And the purpose of the Ansar's protest, as the government met the requirements of these youths, has there been any promise made that has been fulfilled? They are only running away from their shadow.  Why can't you make a rest if your investigation proved that PDP or the personality in PDP are planning another Ansar's? I think when information like this comes out, you have to look at the messenger who is giving the information. Of course, like Muhammad is doing the job, he is paid for. And at times, even psychologically, if you see, like Muhammad speaking, you will see that he is saying the direct opposite of what is the reality on ground and what he knows. But in their usual character, in their belief that it's only through propaganda, through life that they can sustain this government, they will continue to talk like this to Nigerians. Forgetting that Nigerians are not fools. Nigerians are recording, they will get their Ansar in 2023. And Nigeria will redefine their destiny in 2023, it's sooner than, you know, later. All right, so what are the things that I mean happened in the Ansar's protests? One of the things that have been said rather about the Ansar's protests is that even the People's Democratic Party was a part of the problem, that police brutality didn't start today. So I'd like to know what your party has done in the past to end police brutality. Mr. Deiro Odeimi, what has the PDP done in the past to end police brutality? And then show justice for Nigerians? Well, you keep asking what has PDP done in the past? Are you talking of the past of last year, of a year before? We are talking of seven years. Let's repeat it if you want to go. Let's repeat it if you want to go. That if they're going to be protests, you're calling Nigerians out to organize protests, to be part of a protest that is similar to the Ansar's protests and all that. So I'm saying, let's look at the Ansar, you were talking about that. So let's look at that for a moment, the issue of police brutality, which drew a lot of Nigerian youth out. What had the PDP done in the past, even when they were in a position to end police brutality and ensure justice for victims? The issue of police brutality was not pronounced and was not as bad as during APC time. And that is why during PDP era, there was no protest of that nature. So what you are now saying is, people, this Ansar's protest emanated from police brutality during APC era. You cannot point to a single day when there was this kind of protest during PDP era. So it's nowhere, and it happened and it started during APC time. And what we are now saying is, what have they done to address the issue raised during these Ansar's protests? So there is no basis for comparison, simply because seven years ago, this issue did not occur at all. It is the creation of APC, which was protested against by Nigerians. And if again, there is any plan to stage another protest, of course, they have the opportunity to check that, rather than raise or necessarily allow that PDP is planning another protest. We don't have time for that. We are still battling about who is going to fly our flag, where we still have the usual of campaign, we still have the usual of organizing ourselves and setting up a proper strategy through which we want to win elections. So what concerns all that? We say Nigerians are suffering, and they don't have the solution. And the best thing they could do to sustain themselves in office is to accuse whoever and everybody about what they know is the plan of Nigeria. So are you saying that the People's Democratic Party is not interested in leading or organizing or being a part of any protests on the state of affairs in the country as we speak? We have every reason and justification to do it if we want to do it. And I'm not saying we cannot do it or we not do it. But what I'm saying is, are PDP members not Nigerians? So even Nigerians decide to protest against the government that is not putting smiles on their faces. Why must you now accuse PDP? And if you're accusing PDP, you have the information, make some arrests and prevent it from not happening. There was a report that some security agencies in the country were monitoring three governors for allegedly having a sinister plan. They had a meeting and they alleged to have had a sinister plan to instigate protests in the north, in the south, and I think in the south-south as well as in the southeast or southwest, I need to be sure. But no, in the north and the central and in the south-south, yes. And what was said was that these governors, three of them were being monitored by the nation's security agencies, they were placed under a security watch. As a matter of fact, they were said to have had a meeting where they laid out plans to instigate or foment a crisis in the country starting with the north. And we're told that we have a very vocal governor in the south-south who is organizing this, three governors from the opposition PDP. So if the security authorities or security agencies have such information that they are actually trying to instigate something, they place these governors under security watch, then probably Lae Mohamed knows what he's talking about. These are damning and serious allegations that constitute a threat to the entity called Nigeria. And if the minister, a high-ranking officer of Nigeria is making this kind of an allegation, I would liken it to a coup. If you know some people are planning a coup, I think what the military does in most times is to arrest and mop up the planners. You don't wait for them until the coup is executed. So if you have information about these governors, what are you waiting for? Even if you are not ready to make a rest, let us know them and stop this blackmail of three governors south, north, everywhere. Make an arrest unless it was going to happen. And I want to tell you, APC has a system. Whatever it is they are planning to do, they first pronounce it and make it a kind of an information to Nigerians. Maybe they are seeing these governors, I don't know, maybe they are seeing them as a threat. They are going towards the rigging machinery in 2023, and they think the best thing they can do is just to blackmail them or rope some things on their neck and get them arrested. If that is the plan, we advise them to desist because Nigerians are no fools. And we are talking the situation that if you don't have concrete evidence to arrest anybody or to substantiate this claim, please don't throw Nigerians into confusion. Answer and admit that you are not capable of governing Nigerians again instead of using propaganda against individuals in PDP. Al-Hajjilay Mohamed was specific by saying that the People's Democratic Party who are complaining about the state of affairs in the country and warning the Buhar administration that there might be protests akin to the Ansar's protest, that the People's Democratic Party itself laid the foundation for the misery that the nation is going through or for the sufferings of Nigerians right now. And they are saying that what the People's Democratic Party, the opposition party, is doing at the moment is gloating, is gloating that Nigerians are suffering under the present administration. Meanwhile, you and your party were the ones who looted and ripped the nation and left the nation in the precarious situation, which has led to what we have today. So he said you laid the foundation for the suffering of Nigerians when you went out. I'm happy that one of their cardinal points when they came into office is to fight corruption. If they are accusing PDP of bleeding the country, of looting the country of resources, the question is the last seven years, how many Nigerians have been jailed of PDP origin? Instead, what we see is that they are playing politics with it and they're just mounting it. If and if you know you have embezzled money in this country, all what you need to do is just to cross over to APC or your sins are forgiven. How many of them are going to try us now? Even the new chairman that was just choosing two consensus has 149 cases against, you know, he has 149 cases with ESCC. And what are we saying? If there is a government that says, yes, we are fighting corruption, what have they done with the likes of Femme Calderon? The man has not been charged or, you know, been found guilty rather of any of these 149 cases. For seven years that they have been in government, I'm asking a question, how many Nigerians were they able to jail? If indeed they want to establish the fact that PDP has the government looted Nigerians. Lai Mohamed, Lai Mohamed, you know, he talked about the fact that from 1999 to 2015, the years which a party was in power, that you derived the country of the full benefits of the oil rainfall at a time of rising prices.  When the PDP was leaving power under good luck, Jonathan, the records are there to show that the windfall from the excess crude oil earnings were nowhere to be found. I shake my head for, you know, for people who believe what they are saying. And I will continue to repeat it.  They know what, they know the truth. I still continue to ask that question. If you believe that PDP or Donny PDP administration, the funds were looted. My brother, the issue of, what is his name again? Who was that? Oh, I forgot him. The issue of corruption in this country, I continue to say it. If you have evidence against individuals in PDP, what has been done to bring them to book and let them be an example, you know, to future generations? I don't understand. Honestly, I don't understand. He's giving me serious updates because what you are now saying is, yes, PDP looted the country and for the past seven years, we could not get it right. Is that an excuse? Is that a statement that should come from the serious government? Okay, in costing home with this, Mr. Dirodemi, I want to ask you again, what were the people's Democratic Party, if it wrestles back power from the All Progressives Congress in 2023, do differently to certain Nigeria on the right footing, on the path to recovery? We are going to do a lot of things differently. For instance? And just like I said, having been out of government for almost eight years, we are going to improve the situation of security in this country. What about master plan? I'm not going to disclose it. What is in the master plan, Mr. Dirodemi? I mean, there's nothing that you will still end up disclosing it. Is there a master plan for security? What is in security master plans? Because some of the states that are going through insecurity right now are governed by members of your party. So what's in the master plan? The master plan cannot be disclosed in the open now. We are talking about security issues. And what I'm saying is, at a serious political party, we have gone wide and far to see how we can solve this problem when we get to office. Because we know that is one of the cardinal things that is going to be recorded for us when we get to office. Are you saying that your party has a solution to the security situation in the country? But you don't want to provide those solutions till Nigerians vote you into power. In other words, you are hoarding information. That's what you're saying. When we get to the bridge, we don't have to cross it. Don't forget, we are safe when we go to the country. You are saying that you have information and a plan that may potentially save lives. But you're not going to suggest this to the federal government. You're not even going to suggest it to your state governors. You're going to hoard it and wait to see if Nigerians vote you into power. Is that a fair thing to do for a party that says it cares so much about Nigerians? Every political party do have their own strategy through which they want to win elections. So for you, it's all about winning elections, not helping Nigeria? Of course. If they come to us for advice, we will open their eyes. But you can make statements. You can make statements. I know where you are going. I know where you are going. What do you want to put up? You are saying that all you want to do is win elections. That's what you're saying. Not to help Nigeria. So the information you have, you won't release it until Nigerians vote you in. We don't have the power. We are not in government. We don't have that authority to tell them that this is how to do it. But you can put them for me again. You can have a press conference.  They have the way we talk to do it. So why are you not telling us that we are not in government to come and solve the problems of security? By the time we told them that the security personnel, that if the chief of families have the air force and everything, you know, whatever is the strategy, they know they can subdue terrorism. Did they listen to us? No. They did not. Why are you only changing them at the time you thought yes? It's not time for me to do it. So whatever advice you give to a deaf man, he will continue to do what he wants to do. So we do what he wants to do. Which of these strategies have you been able to suggest to your state governors in states that have had insecurity in the southeast and the south south and the middle belt in Ben West state? Have you suggested some of these strategies to Samuel or Tom so that at least he can stop complaining about insecurity for now? Have you suggested any of these strategies to any of these people? If you look at the composition of the security architecture of this country, no government has that power over security issues in their domain.  It's being controlled by the president and that is why we are agitating to have, you know, our own independent security at me, which brought the issue of a multiple in the south. And if you compare the number of atrocities of criminality in the south, you will agree with me that it is reduced to the parent's minimum unlike what is happening in the north. So they don't have that power. It's the federal government that has the absolute power to say, yes, this is the direction we want security to go. Thank you very much. Diro Dehemi is from a deputy publicity secretary of the opposition, People's Democratic Party. Mr. Dehemi, it's been a thrill having you. Thank you for your patience and for your time. Thank you very much for having me. And that's the size of a package tonight on Plus Politics. I'm Kofi Battels. Thank you for watching Return Tomorrow.


te trust in teachers certainly there would be no question of the general teaching council not having respectful trust in the job that teachers do Okay thank you very much That brings us to the end of the evidence session and I thank you both very much for your attendance and answering the questions so thank you The next item of business is consideration of a draft annual report Do members have any comments on the annual report Okay Thank you very much We will form Page 1 I have a feeling under membership changes at that date that Richard Lochhead replaced Jenny Gilruth may not be correct September 2017 Yeah you may well be right but of course that will be changed very quickly the only change that you notice Well it must be correct then Thank you very much In that case once that dreadful error has been corrected we will formally publish the report before the end of the month The next item of business is on witness expenses for the school infrastructure inquiry Are members content to delegate sign-off of any witness expenses to me Thank you That brings us to the end of the public part I will wait for the gallery to clear It could take some time Thank you


The floor may not be in the robot. Days turned into weeks after the discovery of the disturbing Sammy the Cat DVDs. The unsettling events and nightmares continued to haunt my thoughts. I decided to go deeper into the mystery, determined to uncover the truth behind this haunting show. I have contacted the local police department again to inquire about any updates on their investigation into the second DVD I've reported. They informed me afterward that the man responsible for the show's disturbing content had been identified as Richard Turner, an actor who had struggled with severe mental health issues. Intrigued and horrified by this disclosure, I decided to visit Richard Turner in prison. I wanted answers. As I entered the cold, dimly lit prison visiting room, I was met with a crooked and untidy man in a prison uniform. It was Richard Turner, the man who had portrayed Sammy the Cat. He looked up, his eyes filled with a mixture of sadness and madness, which the two words both rhyme. I couldn't help but feel a pang of sympathy for him, despite the gruesome scenes I had witnessed in his show. Richard, I began cautiously. I need to understand what happened with Sammy the Cat. Why did you create such a disturbing show? Richard hesitated, his gaze fixed on the table. It was my descendant madness. He mumbled, his voice trembling. I was plagued by my demons, and I thought creating this show would somehow help me cope. But why the violence? The nightmares it caused, I said. Tears welled up in Richard's eyes as he recounted his troubled past. I lost everything, my career, my family. I became consumed by my own darkness. I thought that by creating something so horrifying, I could share my pain with the world. It was my cry for help, albeit a twisted one. I left the prison with a heavy heart, struggling to comprehend the depths of Richard's torment.  Still, the mystery surrounding the second DVD remained. Why had it shown a seemingly different side of Richard, one that gented at remorse and regret? Determined to find answers, I revisited my great aunt's estate, sifting through her belongings once more. Getting among her possessions, she stumbled upon a diary that belonged to her. In it, she chronicled her experiences as a nurse at a psychiatric facility, including her interactions with a troubled patient named Richard Turner. The diary entries revealed that my great aunt had developed a deep connection with Richard, attempting to help him overcome his mental health struggles. She believed in his potential for recovery, even though others had given up on him. As I pieced together the puzzle, it became clear that Richard had a complex history with my great aunt. Her unwavering support and compassion had made a significant impact on his life, and he had dedicated the disturbing Sammy the Cat show to her memory. The revelation left me with mixed emotions. While the show's horrors couldn't be excused, it was a stark reminder of the profound impact one person's kindness and understanding could have on another, even in the darkest of times. I decided to preserve the story, not as a tale of terror, but as a cautionary tale about the importance of mental health awareness and the potential for redemption, even in the most disturbing of circumstances. After talking to Mr. Turner and sifting through my great aunt's belongings, I realized that the police department was searching the house, and they found something inexplainable. It turns out he was living inside the walls the whole time before the police found him, and during that, they also found blood stains from the victims he killed. They already collected what he used in the show, his Sammy costume and the long-barreled shotgun. They decided to put the shotgun in a bag. They hired strong men to grab the costume and lock it away somewhere. One of his friends was Jack Kennedy. How do I know him? I was searching more about Richard, and I found his name, so I clicked it to find more information. He was one of the people who knew Richard Turner at the facility where my great aunt met Richard Turner, though the guy was less insane than he was.  He later found the Sammy costume and saved it for family-friendly entertainment purposes, though he made it less low-budget in order to make it less creepy. Now, before I end this, I have nothing else to say to anyone who reads this. Richard may not return to the public, but I assure you that I hope, and I'm being serious here, that despite him being a terrible person as seen in the previous tapes I watched, he does seem like he has remorse and regret for his actions, and I'm assuming that he's being truthful about it. Anyone can change if they put in the effort. I'm glad I tried to end this on a little happier note, but I don't know yet, and luckily, I'm feeling a bit better after this situation.


All right, Lady, what is this? I'm all pink-haired again, and that means it's time for show-and-tell.  And so is everyone coming by here and showing off all their products, whether it be 3D printing or soldering or coding or machine learning or what have you. You're all welcome, even if you don't have pink-hair. I'm gonna be here for about 25 minutes. I'm gonna come by and show off what you're working on, Ata for Peeps and Peeps Home Community. And then after that, we're gonna go to do Ask the Engineer. So let's start off with Sean. Sean in for Digi-Key. Digi-Key, how's it going, Sean? What you're working on this week? Oh, I am just figuring out another visually rather boring demo, but I'm gonna show you the code in just a second here because I am learning about something called AsyncIO in Python and MicroPython and from chatting or seeing Scott's input, CircuitPython, there's been a lot of requests for it for CircuitPython. Share, screen, share, screen. And so what I have done previously is a real-time operating system where we did preemptive multitasking and I've got a whole series on that if you wanna check it out. Yeah, where the scheduler stops whatever task is running to run another task and it lets you run two tasks at once or more, something like this, you say set up and then you start running tasks with multiple while loops. So the other thing you can do is this thing called cooperative multitasking, which I think is super cool and that's where the scheduler doesn't stop a task but you have to write your code in such a way that yields the processor to other tasks. And if you don't do that, well, your tasks are just going to hog the entire processor. So if I bring up Thaunee here, you can see my MicroPython code, I'm using their Micro or UAsyncIO to accomplish this and to do this, and this is new stuff I'm learning in Python, you could actually define these things called co-routines and you can set them up as these tasks with these while forever true statements that run forever, but as long as you are yielding them with these await functions, you can yield the processor to run another task, which I have going on down here. So in this one, here's another while true that awaits a button press and that's what I've got on my little Raspberry Pi Pico here. And this actually executes this function up here and only returns when it senses that button. All the while, this BlinkCode is still running. You can see the BlinkCode going here and when I press the button, and what it's doing is it's using a queue, it times how long it takes me to press the button, between button presses, sends that over to this task up here and then updates the delay function. So it's just kind of a silly demo to show how to run multiple tasks at the same time using Python and I'm going to stop sharing. It's a good, it's straightforward and it shows input and output. So I think it's a very nice demo. Thank you. I hope it gets people excited about the idea of multitasking, which is kind of a weird concept to wrap your head around. Yeah, try it. I think CircuitPython actually does have async.io, so you might want to see how it looks like a Python. We do, I know that we had it and then we did the update merge and then I don't know, take a look, it might be there. It might be similar. I tried seven alpha and it didn't seem to work. So maybe I'll ping Scott about that. Yeah, Scott's in a Bluetooth hole, but when he comes out of it, he can take a look. And we have a bunch of stuff due for seven, so open up an issue if it's not working. Okay, sounds good. Thank you. Thanks, Sean. Thanks so much, Sean. Next up, Melissa, how is the cat situation going at your home? The cat situation is coming along. I showed this off last week, but this is a little, I've created this stand and I attached this wheel with some keys, so it's gonna jingle a little bit as it turns. And so I'm gonna go ahead and start it up here. Sometimes it vis-de-tex because I haven't trained it for every possible situation. So right now I have it pointing at my iPad here and it sees no cats. And then I'm gonna swipe here and it sees a cat. And so it's turning just a little bit here. It'll go like three times and then they'll start going a little bit harder. Okay. Yeah. Second. Number three. That one's gonna be scary. Okay, now, now the cat's not gonna scare the way it is. Yeah, I'm mad. And if it did text multiple cats, it would just get right into it. Okay, yeah, you gotta, you gotta be aggressive. Yeah. Okay, good work. And this is now a live guide on lend.edipro.com, this is Microsoft Love. You did a cool demo with that, with the bakery. And now it's the bakery. Yeah. All right. I'm gonna play this video tonight on our screen engineer as well. All right, thanks Alissa and sorry to the cats. Sorry cats. Hi, Jeff. Jeff, Epler. Hi there. What's going on? Well, I am, well, let's see. First of all, last week I brought my calculator and as of now the guide is live. So check that out if you want to wire that up yourself or to some custom PCBs and all that. But I wanted to show another thing that I've been looking at and give me a moment to switch my camera over here. So this is the other model of the keyboard that I put together, but this is running as a HID keypad and I've got an N key rollover demo. So I'm gonna start by taping over here on my regular keyboard. And after you get to six, you just can't do anymore because that's a common limitation of USB keyboards. But with Circa Python 7, we are doing these custom USB HID descriptors and one of the things you can do is enable a bunch of keys at once. There are 20 keys here and if I could just get them all with my fingertips here, we'd get up to 20. There we go. And it starts typing on the page. But so I've written this up on my personal blog and I think we're gonna add it to a learn guide as well, but it's just some code you can put in your boot pie and then in your code. And you can send, I don't know, at least 20 keys all of this at a time. It's cool. I think what's neat is like the USB support in Tini USB and Circa Python is so powerful. It enables a lot. Like this is for the reason that you can turn, we have HID and we use the regular six key pressed support, which is good for like 99% of people.  You can just reload it when we descriptor and it just like works. It's pretty amazing. Yeah, so Dan Halbert added that and it is a big feature of Circa Python 7 and taking it for a test drive and it works great. All right, so nice job. Thanks so much, Jeff. Looking forward to the page on the guide. So cats might hate the previous project but they're gonna like this one because they wanna type more on the keyboard. That's right. They do. They wanna type all the keys. Yes, they love that. Just sit on the keyboard, just press them up. Next up. All right, next up. Noe, hello. Noe, how's it going? What you got going on this week? Hey folks, this week, I got a little stand for the Macro Pad. So this is a little bit different. It's got two hinges. So there's a hinge right here at the bottom and a hinge right here at the top. So the thing is that you can set this up so you can prop up your Macro Pad. It's so risky doing this with a Macro Pad because like I'm gonna type something and I'm gonna close the far and actually. Yeah, you can have every window. It's gonna order something. I like this simplified design though. It's like very elegant. It's got like a wire frame. Yeah, it's got like a wire frame kind of thing. In principle, so it's all assembled. You can kind of take it apart like this little piece comes off, but you know, that's just a bit of the design. And then the Macro Pad is secured with the M3 screws or they just get tied there. And you can use the back plate if you want or not. I just kind of threw that in there because it looks really cool. It prints without any support. So that's always the thing I try to do. And yeah, it's parametric. So folks want to like modify. They can download the Fusion 360 file and like thicken it up or maybe add some spots here for those rubber feet. I've been thinking maybe we can do that. But I got it thin. It prints in like an hour and a half or so. So pretty good in terms of like printing quickly for something this big. But yeah, check it out. We got a quick little learn guide and shout to Stuart. He actually printed it out already. He printed it twice. And it was nice to see when somebody with a different printer prints your thing and it's got like, you know, a print in place hinge or something that has height tolerances. It's nice to see it work on a different printer because a lot of the time, it's like, I don't know if this is gonna work. Throw it out there. Hey, it worked. All right, we'll be playing this video and also your speed up. Thanks for timing it right with the season finale of Loki as well. Yeah, yeah, yeah, yeah. We're gonna watch that tonight. We're gonna watch that tonight. I was gonna like press your quick button. It's a last. It's on the, it's on the cable. All right. What is it? Yeah, no, no. Thanks very much. Next up, JP, what you got going on this week? Hey, well, here's what I've got going on. I'm doing some macro pad stuff. I was actually working on the macro pad library, testing out the macro pad library that Catney's been writing. And one of the cool things that she's got working now is a simple rotate argument when you create the macro pad objects. So this essentially does all the math for you to rotate the screen and the buttons, either upside down, sideways, that sideways, or kind of regular side up. And the code that I've written for this is actually sort of like a, I called it kind of like a lineman's handset for MIDI. So what this does is it lets you just test out a few notes. It's a small keyboard. No, no, no, no, no, no, no. And I've just got plugged into my laptop here running a free essentially emulator of the old Radio Shack slash Moog synthesizer, the MG1 from the early 80s. But what's particularly cool on this is since we have the screen and we have our rotary encoder on here, I can choose different presets, which is a MIDI command for picking essentially banks of different presets. So you've usually got different sounds that have been patched together and stored. So I can try that one, but then I can. Well, that's a good one. So these are all just rearrangements of the controls that are built onto this synth. It's a subtractive synth that has two oscillators. It has some filters and a little bit of a modulator in there. And so there's a lot you can do with that amount of control, but just going in there and flipping dials, which is fun. Sometimes you just want to try out. You want to see what the designer's created in there in the first place and then maybe diverge from there. So there's one that just kind of does noise. And so that's all being sent as these little bank commands. Then I can also click my little encoder here and switch over to sending some controller change, some CC. So in this case, I'm just going to move that filter and you could set that up to be different controls, even have a lot of them on there if you wanted to. And then also threw in a pitch bent switch banks. Ooh, that's a fun one. So I'm kind of... That's so fun. I might just do that for the next hour so you can tune in and out if you like. So I'm going to be showing this on my show tomorrow and diving into this new library, this macro pad library that makes it even more convenient than it already was to do things like check the keys, light up the keys. You can see here I've got it changing the colors of them as I move through the banks just for fun. I know you can do this for hours, we got to keep moving. Yes, I'm getting out of here. Come by tomorrow. I know, come go to the show and watch. You should do a show. I'm fixing to do just that. I'm fixing to do a show. You can do a show. Well, we're going to play some of this and more on African engineer tonight as well. All right. Awesome. Thank you, JP. Thank you, JP. All right, next up, Liz. Hey, Liz. What's going on? Hey, everyone's talking about keyboards but I have a mouse project. So this is a blue fruit feather and it's using the onboard accelerometer to move around my cursor. Oh, yeah, look at this. Go ahead. And then when I cover up the light sensor, I can scroll and if I go far down, it'll go fast or if I go a slight angle, go nice and slow, we're really fast. And then if I want to click on something, I use the onboard button and we can check out guide. Okay, scare some cats. Yeah. I need to scare mine actually because they're kind of tearing around as I'm doing this. And it's a Bluetooth HID or is it? Yes, it is. Yes. Yeah. That's cool. Yeah. Nice one. Change up my camera so I can say hi. Or of course I'm controlling my mouse while I'm doing that. Yeah. That's fantastic. I think one of the neat things that we wanted to do with CircuitPython and now that we can do a lot of this stuff is have people interact with their computers in different ways. And you saw the project that we just talked about, all these HID descriptors and all that, you can manage 20 buttons, you can do all this. And we have a keyboard, we have maybe mice now. Now people can reimagine like how they want to interact with their devices. Yeah. And one other quick thing I was working on was I started playing with the 2020 open hardware badge which was the watch. And so I wrote like a little thing where you can kind of manually set the time on the watch. And then when you set it, it turns the display off and then when you press the button, it brings the time back on to save battery. And I kind of want to write some stuff where like you have the clock on with one setting and then you press another button and it'll show you like step count because it does have an accelerometer on here. I think like that, do like kind of a disconnected smartwatch. We'll CircuitPython. All right, then you should try out Scott's new Bluetooth programming mode. You might dig that could be a good pairing for your stuff you're doing. Yeah, I've been meaning to try that out. So I'll definitely take a look. Yeah, band tester in practice. All right, thanks Liz. Cool, have a good one. I like the new couch mode, Liz. Thank you. Very country looking. Thanks. All right, thanks Liz. Next up. Yudichio? Yudichio? Sorry if I can't say your name right. I'll mute your mic. I'll mute your mic. Yeah, you should unmute your mic. Hi. Hello. Sorry, how do you say your name? What's the question? How do you say your name? Yudichio. Okay, Yudichio. Okay, show us the project. So me and my father built this project. It is called Hittagula Wi-Fi Watch. It shows the time and the connection on the internet and the data from the website open weather map. Map. I like, it shows temperature, wind velocity, humidity, the day, the month, the year, and the pressure. It shows that the wind moves the one. Basically, it is an ESP8266 that connects with the Wi-Fi. And we also had some libraries. We had libraries for the characters for the dealing with the SP and the holder. And it's totally truly printed. My father shows this model behind with these little cute drawings. I love it. It took like a day for print everything. And it's very nice because we put in a place and we always look at it. And it's very useful for us. And we like it very much. It uses only five volts of tension. It's very low power, you know? And it was very nice. It's in Portuguese. Sorry. No, it's okay. It's all right. All project welcome. We can understand it. Well, this looks great. I love the animations of the LEDs. They look really good. It's very beautiful. I saw that my father, he called it. A lot of things, he's very, very good putting. I think it's a great team up. A great team work. Yes, team work. We do a lot of projects here. It's very nice. All right. Well, congratulations. Well, thanks so much. And please keep coming back and showing your projects that you team up for today. Always for sure, Will. Yeah. Bye-bye. All right. Thank you. Take care. All right, next up. Okay, Mitov. Hello. Mitov. How are you? Hello, guys. Nice to see you again. Yeah. Hello. Well, I have been going lately, generally speaking, metro, variety of metros. I am trying to go through my box that I got a bunch of ops. It's going all over the place. Yeah. But yeah, it's a fair amount of stuff adding all of this that I got from your guys to Visuino. And let me quickly share screen. Let's see. I hopefully know how to share, but do you see the screen? Yep. Yep. Okay, fantastic. So right at the moment, I have a metro with air light, the metro express light. And I think I lost connection, but let me restart it quickly. Connect. And it will connect to the Wi-Fi and it will start getting prices of some shares. This is just a quick project that I built in a couple of minutes. So yeah, it connected to the network. It got the IP address and now it will start getting quotes every few seconds. Cool. So let's give it a little bit of time while we're talking. And yeah, now you can create projects for the metro and the air light in seconds. The other interesting thing that I did is since I was doing the air light, yeah, I think for whatever reason, it lost connection to the internet or the server for the quotation is temporarily down. So unfortunately, I was getting minutes ago quotations from the internet and naturally for the show, it decided to stop. We believe you. We believe you. Oh yeah. It's fun. I'm known as a non-cheater, so don't rush to believe me. What I wanted to show you is I wrote my own air light library, however, which allows you to connect as many as you want air light modules to your project. So you can connect to as many Wi-Fi as you wish until you run out of pins on your board. And they all work together. And the library uses about 60 bytes only to add the air lift module. And it is also a non-blocking library. So it uses preemptive scheduling automatically on all the Arduino boards. So it can work on boards that have really small amount of RAM. And especially if you want to have multiple modules, as example, I already have two modules in the project. How I can connect to a different network or start controlling daily this or whatever I want to do. And so that's what's been happening in the last week or so. All right, awesome. All right. Well, thanks so much and continue to come back and show your projects. Yeah, look at the developer. It's been great to see a girl. Yeah. Thank you. All right, Mark, how's it going? This is dark. It's good. So I have finished my lamp. Yay! This might have been a lot more creepy looking if it wasn't summer and super bright behind me. That's okay, it's pretty good. It has a little creepy hollow vibe to it. Is your head attached still? Everything out again? Sort of. Yeah, so I'm super happy with how it turned out. Now that it's dark in here, I'm probably not gonna be able to show this off, but the bottom now has the buttons and switch. The last part I was waiting for was a switch that could actually hook up to the LiPo battery pack and handle the amperage that was going through to power all the Neopixels inside. I don't have any animations yet, but I can change the color. That's good. Good. Green is creepy. Yeah, so it goes through all the basic rainbow colors. Eventually, I figured I could do a little bit more. Next step is to show this to all my friends. This was initially basically a curbside recycling thing that I found. That's right. I had actually abandoned it at their house and they threw it on my front steps one morning where it sat for about four years. So it's now found another life. Congratulations. Now it's an heirloom. It's reused heirloom, the last forever. All right, next work, Mark, and it's good to see you finish another project. Thanks a lot. Yeah, good stuff. It also could be a good light to put near something you're photographing. Sometimes our photographer and then also sometimes I take photos. I've been using colored LED lights instead of messing around with software and just trying that effect. So that might be something. Yeah, if you can do the light balance automatically, that would be doing a lot of my own photography too. Yeah, that could come in super handy. Yeah, I'm trying to stay away from playing around in apps and just like maybe doing it more with the actual camera and light itself. All right. Yeah. Thanks so much, Mark. No problem. Thanks. All right, that is our show until this week. Thank you, everyone, for making this the best half an hour of our week. Every single week, we very much appreciate it. We're here every single Wednesday, 7.30 p.m. Eastern time, hang out in Discord. We always put the link up and all of these are on the different social media channels and more. Most people watching on YouTube but you can watch it on all participating websites. We'll see everybody next week. Ask an engineer starts in about five minutes. Thanks, everybody. Bye-bye. See you in a few minutes.


TfNN, headline, news update. Good afternoon, everybody. I'm Tommy O'Brien, coming to you live from TfNN headquarters in St. Petersburg, Florida, 3 p.m. Eastern time on Monday, final hour of the trading day, and quite a day it's been. We have the Dow Jones right now, negative 875 points. That's 3.3% for the Dow, trading at $25,609, S&Ps, negative by 97. That's a solid 3.3% as well, trading at $2836. NASDAQ leading the way off 306 points, trading at $76.97, 3.8% for the NASDAQ, and I have a chart on the NASDAQ 100 up here off 316 points, or a solid 4.09%, trading at $7385. We'll start it off with the VIX, a little bit of volatility, as you would expect. We're basically at Session Lows across the board, VIX trading $23.77 right now. Let's jump over to some of the futures markets. We'll start it off with the Dow, and you can see every hour we've been lower. Dow 30, currently trading $25,581, not that long ago, last night at 9pm Eastern time, $26,455. We're approaching about 900 points from that level. NASDAQ 100, quite a slide as well. We're up there at $7,700. We're now a solid 310 points below that level, Session Lows $7,390, S&Ps trading at $2832. You're talking about exactly 100 points right now in the S&Ps from where we were at 9pm Eastern time. Goal contract, up near the highs again. We had been at $14.81, you dipped to a low at 11am of $14.72, back to $14.78. Crude oil, $54.64 right now as that jumps around a bit, and we've seen some dollar weakness, Euro strength, Euro trade in $1,1203. So trade war concerns for sure in terms of some of the bigger equities hitting the markets right now. We've got Apple, down 5.35%, quite an extension. Amazon, down 3.7%, actually in line with the market pretty much, which is pretty remarkable to say when you have an equity down almost 4% for the day. Some of the chip stocks, down pretty dramatic. AMD, down 5.6%. You got NVIDIA, down 7% now as that continues that decline, and Nike in terms of down 3% as well. You all go almost pick any name out of there, and you're going to be negative on the day where we are having the worst performance for 2019, a little bit of an extension of where we were in terms of Thursday and Friday. The Dow now down about 1,600 to 1,700 points from its July high, pretty remarkable. Stay tuned folks. Larry Pezzavento filling in for Tom O'Brien live from 3-5 as he wraps up this trading day. Stay tuned folks. Larry coming up right now.