Hello and welcome to this presentation of the STM32G0 power controller. The STM32G0's power management functions and all low power modes will also be covered in this presentation. STM32G0 devices feature flex power control, which increases flexibility in power mode management and further reduces the overall application consumption. Run mode can support a system clock running at up to 64 MHz with only 100 microamps per MHz. At 16 MHz the consumption is even lower, 93 microamps per MHz. STM32G0 devices support 7 main low power modes. Low power run, sleep, low power sleep, stop 0, stop 1, stand by and shutdown modes. Each mode can be configured in many ways, providing several additional sub modes. In addition, STM32G0 devices support a battery backup domain called VBAT. The high flexibility in power management provides both high performance with a core mark score equal to 125, together with an outstanding power efficiency. The STM32G0 has several key features related to power management. Several low power modes down to 30 nanoamps while it is still possible to wake up the MCU with an event on an I.O. For only 320 nanoamps, 36 kilobytes of SRAM can be retained assuming a 3 volts VDD power supply. A large number of peripherals can wake up from the various low power modes. Dynamic consumption is down to 100 microamps per MHz, executing from flash memory. A battery backup domain called VBAT including the RTC and certain backup registers. Several power supplies are independent, allowing to reduce MCU power consumption while some peripherals are supplied at higher voltages. Thanks to the large number of power modes, STM32G0 devices offer high flexibility to minimize the power consumption and adjust it depending on active peripherals, required performance and needed wake up sources. STM32G0 devices have several independent power supplies which can be set at different voltages or tied together. The main power supply is VDD, supplying almost all I.Os except those part of the VBAT domain. VDD also supplies the flash memory, the reset block temperature sensor and all internal clock sources. In addition, it supplies the standby circuitry which includes the wake up logic and independent watchdog. VDD supplies voltage regulators which provide the V-core supply. V-core supplies most of the digital peripherals, SRAMs and flash controller. VDD A voltage is the same as the VDD 1 and supplies the analog peripherals. The Vref plus pin provides the reference voltage to the analog to digital and digital to analog converters and can be used as an external buffer reference for the application. A backup battery can be connected to VBAT pin to supply the backup domain. The main power supply VDD ensures full feature operation in all power modes from 1.71 up to 3.6 volts, allowing to be supplied by an external 1.8 volts regulator. Device functionality is guaranteed down to 1.6 volt. The minimum voltage after which power down reset is generated. Other independent supplies are provided to allow peripherals to operate at a different voltage. The analog power supply VDD A is always connected to VDD. When the analog to digital converters or comparators are used, the VDD A voltage must be greater than 1.62 volts. When the digital to analog converters are used, VDD A must be greater than 1.8 volts. When the voltage reference buffer is used, VDD A must be greater than 2.4 volts. A backup domain is supplied by VBAT, which must be greater than 1.55 volts. The backup domain contains the RTC, the 32.768 kHz LSE external oscillator, and the TAMP block containing the 20-byte backup registers. The ADC and DAC voltage references can be provided either by an external supply voltage or by the internal reference buffer. This allows to improve converters performance by providing an isolated and independent reference voltage. The Vref plus pin, and thus the internal voltage reference, is not available on low-pin count packages. In those packages, the Vref plus pin is double bonded with VDD VDD A, and the internal voltage buffer must be kept disabled. The voltage reference can be provided through the VDD A pin in those packages. The power supply supervisor guarantees a safe and ultra-low power reset management. STM32G0 devices embed a power-on reset called POR and a power-down reset called PDR, which are always enabled in all power modes except shutdown mode. STM32G0 devices embed an ultra-low power brown-out reset called BOR, which is active periodically instead of continuously monitoring the power voltage. The BOR ensures reset generation as soon as the MCU power supply drops below the selected threshold, regardless of the VDD slope. Four thresholds from 2.0 to 2.95 volts can be selected by option-byte programmed in flash memory independently for rising and falling edge. It can also be disabled to save power consumption. A power voltage detector called PVD can generate an interrupt when VDD crosses the selected threshold. The PVD can be enabled in all modes except standby and shutdown modes. Seven thresholds independently configurable for rising and falling edges can be selected by software. In addition, comparisons can be done between Vref int and the PVD in external pin. In the STM32G0 devices, the reset monitoring circuitry BOR and POR-PDR can be enabled in a periodic sampling mode. This mode is activated by setting the ULPEN bit to 1. The resistor bridge necessary for their functionality is powered only during a short time periodically. It reduces consequently the power consumption. The power resets BOR and POR resets all registers except those in backup domain powered by VBAT, which contains the RTC and TAMP blocks and the external low-speed oscillator LSE. When exiting standby mode, all registers powered by the main regulator are reset. When exiting shutdown mode, a power reset is generated. When the BOR is enabled, four BOR levels can be selected through option bytes with independent configuration for rising and falling thresholds. The backup domain reset occurs when the BDRST bit is set in the RCC backup domain control register. It also occurs when VDD and VBAT are powered on if both supplies have previously been powered off. It resets the RTC and TAMP registers, the backup registers, and the RCC backup domain control register. Two embedded linear voltage regulators supply all the digital circuitries except for the standby circuitry and the backup domain. The regulator output voltage VCOR can be programmed by software to two different values depending on the performance and the power consumption requirements. This is called dynamic voltage scaling. Depending on the application mode, VCOR is provided either by the main voltage regulator for run, sleep, and stop-zero modes or by the low-power regulator for low-power run, low-power sleep, stop-one modes. The regulators are off in standby and shutdown mode. When SRAM content is preserved in standby mode, the low-power regulator remains on and provides the SRAM supply. In run mode, the CPU is clocked and program can be executed from flash or SRAM memory. In range one, the system clock is up to 64 MHz. In range two, it's up to 16 MHz. By default, the SRAM clock is enabled. It can be gated off during sleep mode by software. All peripherals can be activated in range one. The run mode consumption is 100 microamps per MHz in range one at 64 MHz with the flash memory on at 25 Celsius degrees. In range two, all peripherals can be active, but the flash memory cannot be programmed or erased. The run mode consumption is 75 microamps per MHz in range two at 16 MHz with the flash memory off. In low-power run mode, the CPU is clocked and program can be executed from flash or SRAM. Additionally, the flash can be completely unpowered to save power. The system clock is limited to 2 MHz. The main regulator is switched off and supply to digital blocks is provided by the low-power regulator. In low-power mode, all peripherals can be active. The run mode, thanks to voltage scaling and the low-power run modes, offer flexibility between required performance and consumption. In run mode range one, the system clock is limited to 64 MHz and the internal and external oscillators and the PLL can be used. In run mode range two, the system clock is limited to 16 MHz and the internal and external oscillators as well as the PLL can be used, but must be limited to 16 MHz. In low-power run mode, the system clock must be limited to 2 MHz. Each peripheral clock can be configured to be on or off in run and low-power run modes. By default, all peripherals clocks are off except the flash interface clock. The SRAM clock is always on in run mode. When running from SRAM in run or low-power run modes, the flash memory can be put in power down mode thanks to software and the flash clock can be switched off. The flash memory must not be accessed when it's switched off. Consequently, interrupt vectors must be mapped in SRAM using the Cortex M0 plus vector table offset register. The current consumption in run or low-power run modes depends on several parameters. First, the executed binary code. That means the program itself plus the compiler impact. Then it depends on the program location in the memory, the device software configuration, the IO pin loading and switching rate, and the temperature. The consumption also depends on whether the code is executed from flash memory or from SRAM. Energy efficiency is better when the flash prefetch and the instruction cache are enabled. Executing from flash consumes more than executing from SRAM because the flash memory belongs to the VDD power domain while the SRAM belongs to the Vcore power domain. Sleep and low-power sleep modes allow all peripherals to be used and features the fastest wake-up time. In these modes, the CPU is stopped and each peripheral clock can be configured by software to be gated on or off during the sleep and low-power sleep modes. These modes are entered by executing the assembler instructions wait for interrupt WFI or wait for event WFE. When executed in low-power run mode, the device enters low-power sleep mode. Depending on the sleep-on-exit bit configuration in the Cortex M0 plus system control register, the MCU enters sleep mode as soon as the instruction is executed or as soon as it exits the lowest priority interrupt subroutine. This last configuration allows to save time and consumption by saving the need to pop and push the stack when exiting the low-power mode. However, all computations must be done in Cortex M0 plus handler mode because the thread mode is no longer used. Batch acquisition mode is an optimized mode for transferring data. Only the needed communication peripherals plus the DMA plus the SRAM are configured with clock enabled in sleep mode. Flash memory is put in power down mode and the flash memory clock is gated off during sleep mode. Then it can enter either sleep or low-power sleep mode. Note that the I2C clock can be at 16 MHz even in low-power sleep mode allowing support for 1 MHz fast mode plus. The USART and LPUART clocks can also be based on the high-speed internal oscillator. Typical applications are sensor hubs. In sleep mode, the CPU clocks are off. In range 1, the system clock is up to 64 MHz. In range 2, it is up to 16 MHz. By default, the SRAM clock is enabled. It can be gated off during sleep mode by software. All peripherals can be activated in range 1. The sleep mode consumption is 25 microamps per MHz in range 1 at 64 MHz with the flash memory on. In range 2, all peripherals can be activated but the flash memory cannot be programmed or erased. The sleep mode consumption is 25 microamps per MHz in range 2 at 16 MHz with the flash memory on. In low-power sleep mode, the CPU clock is off and the logic is supplied by the low-power regulator. The system clock is up to 2 MHz. Flash memory can be configured in power down and can be gated off. SRAM can be gated off. All peripherals can be active. The low-power sleep mode consumption is 46.5 microamps per MHz at 2 MHz with flash memory disabled. STM32G0 devices features two stop modes, stop 0 and 1 which are the lowest power modes with full retention and only a 2 microsecond wake-up time to run mode at 16 MHz. The contents of SRAM and all peripherals registers are preserved in stop modes. All high-speed clocks are stopped. The 32.768 kHz external oscillator and 32 kHz internal oscillator can be enabled. Several peripherals can be active and wake up from stop mode. System clock on wake-up is the internal high-speed oscillator at 16 MHz with only a 2 microsecond wake-up time from SRAM or 5 microseconds from flash. The divider configuration to SIS clock is kept upon wake-up. Stop 1 is similar to stop 0 with the main regulator switched off. The voltage regulator is configured in main regulator mode. All clocks in the V-cordo main are stopped. The PLL, the HSI 16 and the HSE oscillators are disabled. The RTC, clocked by the internal or external low-speed oscillator can remain active. The brown-out reset is always enabled. Most of the peripheral clocks are gated off. Several peripherals can be functional in stop-zero mode. Power voltage detector, digital-to-analog converters, comparators, independent watchdog, low-power timers, I2C, UART and low-power UART. The events from all IOs can wake up from stop-zero mode as well as the interrupt generated by the active peripherals. The I2C and UART HDMI CEC or LP UART can switch the HSI 16 on during the stop mode in order to recognize their wake-up condition and switch off the HSI 16 after receiving the frame if it is not a wake-up frame. In this case, the HSI 16 clock is propagated only to the peripheral requesting it. The stop-zero mode consumption typical at 3 volts is 97 microamps when HSI is disabled, 276 microamps when HSI is enabled. The wake-up time is 2 microseconds and the system clock at wake-up is HSI at 16 megahertz assuming execution in SRAM or in powered flash memory. It is 5.5 microseconds when execution is from the initially non-powered flash. Flash memory as well as HSI 16 are configurable. They can be stopped or kept enabled. Stop-one mode is very similar to stop-zero except that the power figures are much lower as the main regulator is stopped and replaced by the low power regulator. The stop-one mode consumption without RTC is 1.3 microamps typical at 3 volts when flash is not powered and RTC is disabled. The wake-up time is 5 microseconds with the HSI 16 megahertz as system clock at wake-up, regulator in range 1 or 2. Flash memory as well as HSI 16 are configurable. They can be stopped or kept enabled. When comparing stop modes, stop-zero mode consumption is higher than stop-one mode consumption but the wake-up time is shorter and the number of active peripherals is higher. Stop-zero mode keep the main regulator enabled allowing a very short wake-up time of 2 microseconds when restarting from the RAM to the expense of a higher consumption than stop-one. The I2C address recognition is functional in both stop modes and can generate a wake-up event in case of an address match. The UART and LPUART byte reception is functional in both stop modes and can generate a wake-up event in case of start detection or byte reception or address match event when clocked by the internal or external low-speed oscillator or when clocked by an external pin, the low-power timer can wake up the MCU with all its events. The standby mode is the lowest power mode in which 36 kilobytes of SRAM can be retained. The automatic switch from VDD to VBAT is supported and the IOS level can be configured by independent pull-up and pull-down circuitry. By default, the voltage regulators are in power down mode and the SRAM contents and peripherals registers are lost. The 20-byte backup registers are always retained. The ultra-low-power brownout reset called BOR is available in standby mode. The power down reset is always on to ensure a safe reset regardless of the VDD slope. Each IO can be configured with or without a pull-up or pull-down which is applied and released thanks to the APC control bit. This allows to control the input state of external components even during standby mode. Five wake-up pins are available to wake up the device from standby mode. The polarity of each of the five wake-up pins is configurable. The wake-up clock is HSI with a frequency of 16 MHz. In standby mode with SRAM, the main regulator is powered down and the low-power regulator supplies the SRAM to preserve its content. The RTC, clocked by the internal or external low-speed oscillator, may remain active. The brownout reset can be enabled. The independent watchdog can also be enabled in standby mode. Reset, brownout or power down reset, RTC and tamper detection. Independent watchdog and any event on the five wake-up pins can exit the MCU from standby mode. The standby mode with SRAM consumption without the RTC is around 330 nanoamps, typical at 3 volts. The wake-up time is approximately 15 microseconds. In standby mode without SRAM retention, both main and low-power regulators are powered down. Wake-up events and available peripherals, as well as wake-up sources, are the same as in standby mode with SRAM. The shutdown mode is the lowest power mode of the STM32G0 with only 40 nanoamps at 3.0 volts. This mode is similar to standby mode, but without any power monitoring. The power down reset is disabled and the switch to VBAT is not supported in shutdown mode. Hence the product state is not guaranteed in case the power supply is lowered below 1.6 volts. The LSI is not available and consequently the independent watchdog is also not available. A power reset is generated when the device exits shutdown mode. All registers are reset except for those in backup domain and a reset signal is generated on the pad. The 20-byte backup registers are retained in shutdown mode. The wake-up sources are the five wake-up pins and the RTC events including tampers. When exiting shutdown mode, the wake-up clock is HSI at 16 MHz. In shutdown mode, the main regulator and the low-power regulator are powered down. The RTC, clocked by the external low-speed oscillator, can remain active. The brown-out reset is deactivated. Only the external low-speed clock can be enabled. The wake-up events are the RTC and tamper event, the reset and the five wake-up pins. The shutdown consumption without RTC is around 40 nanoamps, typical at 3 volts. The wake-up time is typically 250 microseconds. Here you can see the summary of all the STM32G0 power modes. The minimum output of PLL is 3.09 MHz. Thus, it cannot be used in LP run mode, where the maximum frequency is 2 MHz. From run mode, it's possible to access all low-power modes except low-power sleep mode. In order to enter low-power sleep mode, it's required to move first to low-power run mode and execute a wait-for-interrupt or wait-for-event instruction while the regulator is the low-power regulator. On the other hand, when exiting low-power sleep mode, the STM32G0 is in low-power run mode. When the device is in low-power run mode, it's possible to transition to all low-power modes except sleep and stop-zero modes. Stop-zero mode can only be entered from run mode. If the device enters stop-one mode from low-power run mode, it will exit in low-power run mode. If the device enters stand-by or shut-down, it will exit in run mode. The backup domain allows to keep the RTC functional and to preserve the backup registers in case the VDD supply is down thanks to a backup battery connected to the VBAT pin. The backup domain contains the RTC clocked by the low-speed external oscillator at 32.768 kHz. Two tamper pins are functional in VBAT mode and will erase the 20-byte backup registers also included in the VBAT domain in case of intrusion detection. The backup domain also contains the RTC clock control logic. In case VDD drops below a certain threshold, the backup domain power supply automatically switches to VBAT. When VDD is back to normal, the backup domain power supply automatically switches back to VDD. The VBAT voltage is internally connected to an ADC input channel in order to monitor the backup battery level. When VDD is present, the battery connected to VBAT can be charged from the VDD supply. The battery charging feature allows to charge a supercap connected to VBAT pin through internal resistor when VDD supply is present. The charging is enabled by software and is done either through a 5 kilo ohms or 1.5 kilo ohms resistor, depending on software. Battery charging is automatically disabled in VBAT mode. PWR-CR4-VBE enables battery charging. PWR-CR4-VBRS selects the resistance value. During the startup phase, if VDD is established in less than T-reset tempo and VDD greater than VBAT plus 0.6 volt, the current may be injected into VBAT through an internal diode connected between VDD and the power switch VBAT. If the power supply or battery connected to the VBAT pin cannot support this current injection, it is strongly recommended to connect an external low-drop diode between this power supply and the VBAT pin. In VBAT mode, the main regulator and the low-power regulator are powered down. The RTC and TAMPA, clocked by the external low-speed oscillator, can remain active. Only the external low-speed clock can be enabled. The only powered block is the backup domain that includes RTC and TAMPAs, and the return to normal execution happens once VDD supply is provided. The VBAT consumption with RTC is around 450 nanoamps, typical at 3 volts. Three-bit option bytes to prohibit a given low-power mode. When cleared, a reset is generated instead of entering the related low-power modes. The microcontroller integrates special means to allow the user to debug software in low-power modes. Two bits are available in the debug control register in order to allow debugging in stop, standby and shutdown modes. When the related bit is set, the regulator is kept on in standby and shutdown modes, and the H-clock and F-clock clocks are provided by an internal RC oscillator. This maintains the connection with the debugger during the low-power modes and continues debugging after wake-up. Remember to clear these bits when the microcontroller is not under debug, because the consumption is increased in low-power modes. In addition to this training, you can refer to the reset and clock control interrupts trainings, as well as those for all the peripherals with wake-up from stop capability.


Good morning everyone Yeah, let's let's go into it. So most of the introduction was already done and I seem to have lost up. There we are. Okay so Most basics have been been told already. I'm very passionate about Performance and security. Those are the things I work most with at Combell and Of course debugging issues for clients I'm on Twitter and at Brecht Rijkaard and my website is just as well brecht rijkaard.com The slides will be tweeted and will be published on my site later today. So you'll find them there Who's ever has ever had this or? This one for that matter Or even when migrating a website and we all know this Okay So for some reason the connection to the VGA is a bit flaky. We'll try to deal with it Things like that should also become a knowledge. Is there anyone in the room who hasn't had it? You sir are awesome and a very lucky man and like doesn't it make you feel like We all get frustrated now before we can dive into the the process of going through Solving the problem. There's a little bit we need to know about error codes there's Well, there are many kinds of error codes, but there are two kinds that you'll be confronted with the most Which are 400 based error codes and 500 based error codes The funny thing is these already will give you a good indication of on where to focus your search to solve an issue So basically in really simple terms a 400 code will say you stuffed up. It's a client error The 500 code will tell you your server stuffed up Meaning something went really really wrong on the server not necess not necessarily your Your issue or your cause So Here's a number of error codes. You might encounter. So you see The 400 ones always have something to do with Basically your code or something which is missing in your application or You're doing a request. It's not entirely correct You are trying to connect without proper authentication things that are client site related And of course the most common one of all the for the 404 file not found which is basically your Your website for sending me this Then there's the 500 ones Those are the ones you'll probably see most Especially when working with WordPress You got internal server error not implemented bad gateway things like that Basically, this is your server At that point Now the interesting part is how are we going to debug this? There's quite a lot of tools we can use quite a lot of techniques These are the things I use whenever a client would contact me and would Tell me of an okay. I have this issue or I get the white screen or this or that whatever Basically, I will dive into the server locks. I will use WP debug I'm a huge proponent of WPC ally and then you have of course some other statements You can use like script debug and save queries And there are also a couple of plugins with our which are pretty handy to debug issues So first up the server locks, which is for anyone who has anything to do with hosting probably the go-to resource if you're going to debug something there are a couple of Types of errors you will find in those locks There are more than these but these are the most common ones we'll encounter so you have fatal errors You have warnings and notices and you have limited related errors Okay, so can anybody everybody read it because not quite sure well For example this one It's one we see rather often who has encountered this one before One person okay, so for example, this would be if you were trying to do a request towards a specific file or Folder or whatever and it would be denied because of for example the HTX is prohibiting The connection to that and this will result in this kind of error message The pretty much stating that your your server or your setup is preventing the request from being completed There are other ones which are not as as obvious like this one This technically tells us that your Your request is waiting on some kind of feedback or some kind of call back before it can continue And it the response just didn't come in time and it aborts It's it keeps on pulling this one is a classic Just by show of hands who has seen this one Pretty much everyone in the room just as I expected This is mostly code related so in most cases this will indicate the bug or a typo or anything like that This is something we usually won't always be able to solve as a hoster This needs to be usually done by the developer of the website Then there's One of my favorite tools ever WP debug It's an amazing tool So in WP config you'll have by default WP WP debug Defined as false of course to enable debugging you just alter it to true and save the WP config file This should be common knowledge And at that point a Debug dot dot log file will be generated in your WP content folder containing more error outputs than the regular server logs Now of course it isn't Always as well. Yeah, I was one slide early. I'm sorry so to enable the log You need to at this statement and Then the the log will be will be shown so in the first statement here is actually just visually displaying the one the errors on On the screen this one adds the log file, but of course you don't want them the errors to be visually For everybody to see So this is why we would add this on if you're debugging on production sites this will enable the debug function and In combination with the other two statements write the errors to log and Won't display them on screen for any visitor to see which is a lot more safe in a production environment than if you're just Making it publicly available So my ideal setup in this case would be exactly this Enable debug Enable the log, but don't display it on screen then we Yeah, come to WPC li I've I've been a huge proponent of WPC li for years now Been following it rather closely So it's also great to see that it's now part of the the core services and tools of WordPress and Well that Alan Schliezer has been taking up development amongst others. He's a really good developer So I expect many great things from WPC li in the coming months and years. So What are the things I use mostly? The those are these ones. There's a couple of commands here. So WPC plug-in lists. It's rather obvious it gives you in the command line a Output for some reason why I get interference on my remote So WPC plug-in list gives you a list of all active plugins shows you if Well all installed plugins shows you if they're active if an upgrade is available things like that but It can often occur that And the user activates a new plug-in in the back end and the back end becomes unreachable But the site still continues functioning in this case WPC plug-in deactivate will be a godsend. You just connect to SSH You do WPC plug-in deactivates. Let's say WB 3 total cache And you will be able to disable the plug-in restoring access for the customer without having to do anything else so that's a very easy way to to deal with that kind of issues and Of course, you can also reverse it by just using WPC plug-in activate same thing with the teams Listing teams deactivating them and activating another one if there's an issue And then there's two really really cool addendums which have been made to WPC ally in the last couple of Well last couple of months to a year first one is WPC checks some core which is well At combo we're often confronted with With the customers which site is suddenly throwing an error But for some reason it's not necessarily a bug or anything else. So sometimes it's also a Well, it follows a case of hacking and By running WPC checks some core WPC ally will well verify every single file within the main route installation The WPC admin folder and the WPC includes folder against the repository So against WordPress Pandora and it will output a list of all files that have been altered that shouldn't have been altered Or even all files, which aren't supposed to be there. So that's a very easy way to find if it's caused by hacking for example, and I actually even find it to be more accurate than for example a Linux tool called maldetect Which you also use so it's a very very accurate tool and Just recently with version 1.5, which was released They added checks and plug-in, which is the same thing but against all plugins in the WordPress repository. So this is This is tremendously awesome if you're debugging anything and if there's even the slightest suspicion of hacking so Great tool to use Now another fun funny thing is if you're sometimes WPC ally will crash or Not give you the requested or expected output, but it will result in an error That you wouldn't have found otherwise. So I have some cases where I for example do a WP team list and I found this It didn't turn out in the the regular error logs But through running WP team list. I found this one and Yeah, obviously this is hacking. This is the favicon underscore something something Dot ICO it's something we see rather rather often these days and usually is well a shell or a backdoor or something like that so that's also It's not an intended use, but it's an extra handy use nonetheless Then of course we have script debug Which is another thing we can simply add to the WP config file What it does is by default WordPress will be using minified versions of JavaScript libraries and things like that If you enable script debug as true just by adding it in the WP config file It will not use those versions, but the dev versions the full Unminified versions which can help to resolve issues This is specifically more for a developer profile, but can be handy nonetheless Then there's a another one. I actually during the research of this talk. I actually learned about this one I've been giving support on WordPress and and other sites and then things like that But for over nearly 10 years now, and I didn't even know about safe queries So I'm very ashamed, but I've learned something useful here. So what is save queries? It's another statement we can add to the WP config file But what it does it will store all information on the queries you're running in an array in the WP DB array So The funny funny thing is if we then added add for example this part of the code or this little segment of code to the The footer we can print out all queries just on the page So this is very easy if you want to do an analysis of slow queries or just see what the WordPress is doing Database wise so this can help if it's If your site is especially slow for example in the back end this might help you out Then of course there are useful plugins First one is core control Don't know if has anybody heard of it No, okay So this will help you do a few very handy things It allows you to verify crons you're running on WordPress. So this is actually a bit to verify Yeah Scheduled tasks and things and like that's within WordPress. It helps you to take manual control of Updates, so this will help you to force certain updates on your WordPress It does HTTP logging Extended HTTP logging I should add and you'll be able to test certain transport methods So you'll be able to test specific get or post requests against your WordPress site Can be handy the most favorite one. However is this one the WPD bug bar Which is a very useful plug plug in because it's basically Does everything? WPD bug will do and Save queries will do so to if you're installing this plug in you will be needed to add to set WPD bug to true and enable save queries and then you get a very easy Way to get the output of this just like if you're the save queries You just go to the queries part part and it'll just print it out as As you see it in here So you don't have to add the extra code to your to your footer template or something like that It also allows you to take control of the the internal object cache of WordPress So you'll be able to clear it or just do some tests against it Which is a tremendously interesting thing there's also a Number of typical errors. We're almost on a daily basis confronted with Just by show of hands who has seen a media library like this. It's a fairly common issue Usually not always but let's say in 90% of the cases to my experience it would have something to do with The upload part in the WP options table, which is set incorrectly this mostly would happen after a migration from one server to another especially if the server isn't using the same kind of configuration or soft or paths, so for example if you're going from a Direct admin server to a plus base server or vice versa or anything like that the paths will be different so in most cases it would be resolved by just clearing out the The the value so in this case slash ETC, I just set it there to break it and to make this screen screenshot like that Just by cleaning it out it will WordPress will automatically detect the current path So that should resolve the issue you'll be able to upload again and all files that are there should be shown again correctly Another one is this for this I broke my own site This is also something very common often happens after migrations as well In this case the content is being loaded. However, the CSS is completely ignored or missing or whatever This usually has to do with incorrect site URLs in the database. So in this case, I replaced brechtreikard.com by brechtreikard.com.loka and You see it breaks the entire layout of the site because these two values are what are being used to reference pretty much everything in WordPress Then there's the instant classic Cannot modify header information header already sent Just curious by show of hands in the last couple of weeks I think pretty much everyone has seen this one. There's actually a number of probable causes for this one They could be intentional or unintentional, but most cases would point to a white space before the opening tag of PHP or after the closing tag tastes Just yesterday Told me that's exactly the reason why he does no longer use closing tags in PHP at all Just never uses them anymore other things could be Functions like print and echo which are already producing an output and thus sending a header or raw HTML sections prior to PHP code Those are some causes. There are many more possible causes, but these are The causes are we tend to see most as the cause of issues at support now I'm very happy to be talking about something new coming to WordPress Really shortly if everything's okay, and that's tight Has anybody heard about the tight project within WordPress a couple of people great So what is tight going to be and what will it be or what will it do to impact Your experience and reduce bugs It's actually a new team within the core teams of WordPress which are creating and Are planning to run automated tests against every single plugin that is going to be Submitted to do at the plug-in repository and to the backlog of all existing plugins now These tests will be done by amongst others PHP code sniffer Which will verify if the code upholds certain standards But also is able to just find out about certain errors in the code and in that case the tight team will be Implementing a mechanism normally that will report those errors back to the plug-in developers. So This will result in more bugs getting fixed before it even gets into the repository Which is a very good thing and of course the check of the entire backlog will be an awesome thing To give you an example of what's PHP code sniffer can do not many people know this but recently there has been a huge patch For WordPress core over 100,000 lines of code which have been altered fully automatically by PHP code sniffer One of the leading people in that project was Julia Trainers Follner Who is a huge PHP code sniffer proponent herself? and This was just done by using PHP code sniffer automating the entire process and pushing it to production and There has have there have been some issues, but on a scale so small that it even wasn't an issue at all. So This gives you an idea on how good this PHP code sniffer thing really is and it's also a tool Which you could use for example if you're using PHP storm to develop your your sites There's an implementation of PHP code sniffer already inside of it So you can use it to test your your code as well before going live now What can you do as the end user? It's always easy to say well, it doesn't work. It's crappy whatever Don't do that. If you're confronted with a bug first and foremost contact your hoster work with them find out what's going on and Normally every case they will be happy to help and point you into the right direction or even implement a solution if possible If it's something which can be altered by changing the PHP settings for example or the the file permissions or whatever What's once the if you find out for example a bug in the code Please report it to the developer of the team of the plug reported to the core people of WordPress because only that way we can work together and Well be aware of the bugs fix them and result in a better code base for all people to use Which will in the end result in less bugs and led less errors and a happier crowd using WordPress altogether Yeah, basically this a bit shorter than I was expecting as I've been going rather fast, but are there any questions? Yes Well that would depend on your implementation on the server because technically WPC li is a binary which you can install on your server so If the setup is pretty okay The binary should be able you should be able to use it within the hosting account, but the binary should be Yeah, yeah, so this would prevent WPC li getting compromised Except of course if your server is rooted then you still have the option of getting compromised as well Is there an option to run WPC li remotely because I know it depends on file system and database credentials, I guess Yeah I Haven't used it remotely, so I would have to look into that Yeah Database credentials are yeah There is a slack channel and make it work as the core dot. Orc And there's also since it's been Introduced within the WordPress services and tools. It's also on Megatworkpress.org slash WPC li or WP hyphen CLI I think so there's an entire page where you can follow the latest Developments releases and things like that and you also have WPC li.org Which will also point to these pages, but will also have directing to the entire list of commands You'll be able to use because it's it's an extremely useful tool I only showed you a small portion of the possible commands, but you can for example also use this to to do migrations or change your your domain or Do basically anything you would be doing in the back end, but over SSH on the command line, so it's an extremely potent tool Okay, problem I will in English Yeah Okay, okay, so he asked so I was talking about tight that they will do the automated scans once it's been submitted to repository And he asked if it's also possible to do it before you'll deploy it to the repository The answer is yes, you will be able to do that But you'll need to install PHP code sniffer locally. It's it's an open-source tool, so it's free to use But if you like it, please contribute to the project Or if you use for example PHP storm you can just install it as a plug-in and you can run it locally And it will do exactly the same checks As PHP code sniffer will do in the tide implementation, but do note that tide will include Some more checks some custom checks developed by the WordPress core teams or specifically the WordPress diet team So I don't know which those are yet Yeah Does it also check for edit files? Yeah, it does it does so I just recently I think two days ago Yeah, okay. Yeah, so actually think two days ago I was working on a ticket for a customer which this person site had been hacked And so I ran our mall detect implementation which scan and found I think three or four files I Tend to know now that WP checksum is a bit more accurate So I ran that check as well. It found seven additional files of which were Three of them were altered legitimate files So indicated this these files have been changed and then it simply states File should not exist and it shows you Some file name Well, yeah random string of numbers and digits and then mostly, you know, this isn't quite legitimate So it also shows you added files And that's a great thing with the new addition of the WP check some plug-in Because it will check the plug-in folder for added files as well, which is a really great thing It'll save you a lot of time Cannot They could use word fans You could use if if that's even to high level you could Point your your user to for example things like security side check or Gravity scan which are basically also scans just run run remotely. They're not fully as accurate, but they're They're okay. They're okay Yeah, yeah, absolutely there there are lots of solutions I Haven't used it. No because in my use cases, so I usually provide support on this our shared hosting cluster With the tools I've shown you here in combination with our default logs I mean, I haven't had actually any cases where I wasn't able to solve it and in the exception of one or two cases in the last two years where I had to resort to for example S-rays I Was able to resolve every other case With just these tools. So I haven't had the need to implement them just yet. So Yeah Okay, I think we'll be talking later on Actually, I use word fans on every single site I I operate myself the free one the free one just for the some Settings tweaked. So for example, I don't give hackers an hour to test 30 different times I just Limit the attempts to I think three and ten minutes and then they're already blocked and but basically it's a free version I use Now that I am Using WPC li however, I do tend to use that more often to perform a scan via the checksums Than the word fans. I'm not saying word fans is bad. Not not by any means. It's a great plug-in there. Their scan is very accurate it's just To my opinion the WPC checksum commands are more accurate. So I prefer those Exactly exactly exactly and Word fans would be perfect Technical user And this is the part I hate about making WordPress websites We've been you've been talking about hacks website Is does this come inside when a web sites already hacked or do you do preventive scans and on what basis or how long does it take? We do well, I can of course only speak for our own hosting cluster, but we do preventive Scans a couple of times a month using the Maldi tech package, which isn't it's a custom implementation. We run which scans for file signatures of malicious malicious code and things like that and It reports us if a certain account has been Infected and based on that we do a manual research as well and this is where this comes in Yeah, because Maldi tech this is good, but it's not great. So this is like digging deeper into the research manually using these tools Yeah, exactly. It's quite a lot quite a lot of tools There's another one that we use Yeah, but it's not preventively Depends on what you understand Detection so that means if there is a well known critical vulnerability out there The sites have not been patched and are prone to it We will stop it at the web server level before it enters So even if you weren't quick enough on the gun to upgrade your wordpress It still won't hit you because it's and it only applies to well-known issues Yeah, these little exaltic plug-in that has a leak you only protected by that but well-known Leaks will be covered before you get back. Is this the difference between good-go-sing and crappy hosting? Well, you could say yes But we it would be Arrogance is the same. Yeah, I think it's a common practice that yeah You can depend on the host are doing this as well for you Should yeah, they should Of all the tools you've showed us do you use them every time all the time or is there one particular favorite or when you start? The first actually I basically shown them in chronological order. So The plugins I don't use or pretty much don't use them at all because most things I can do from the command line And well as I said like the WPD bug bar is actually just an easy way to implement save queries and WPD bug for well a bit less technical users So but you can do the same thing via the command line So I always start with these server logs because this will give you the first indication of what is going on and Based on what I can find in the server logs. I will then either resort to for example WPC li or WPD bug or things like that. Yeah Yeah, exactly and that's also the error codes will give you an initial direction to it to go and find your culprit And maybe one more question Well, I don't use it personally because with these tools I'm able to solve 99.99% of all cases that enter and usually if I can't find it we resort to S trace and We really have installed an X debug on a production system. Yeah, exactly An alternative that we are heavily looking into is a use of application performance monitoring tools like Relic or sideways or Blackfire IO It's just a matter of finding your right match and that gives you pretty good breakdowns of what is happening And also gives you a sort of map of all the services that you're calling externally the eyes It's primarily related to performance, but it could be used in a debug complex as well And you have a control your sample rates quite well, and it doesn't eat your server Before we give a big plus to that I have a very important announcements that you won't hear when you start leaving People with dietary requirements because lunch


Hello and welcome to Kubernetes Edge Day. My name is Prasinjit Singh. I am the director of cloud and DevOps practice at Stars Play Dubai where we are reinventing video streaming with state-of-the-art engineering on the cloud and the edge across 20 plus countries worldwide. Today I'll talk about DevOps on the edge. Essentially we'll touch upon DevOps tools, tailored practices that will define the journey to the edge computing and assess where we stand today in terms of edge capabilities. Well I must tell you these are really exciting times and we are heading towards a disruption and I'm saying this because three contemporary technologies are on course to define the next ticket. Number one containers that we have machine learning and 5G networks. While containers provide portability, 5G provides the speed and bandwidth, while machine learning provides you the insights. So just imagine what power these three can bring together. These have diverse applications right from auto driven cars to medical lifesaving equipments, video streaming, collaborative gaming, space exploration and the list goes on. In fact this combination paves the way for a massive disruption which we call edge computing. This will transform how enterprises run applications and services today. Code to this transformation is also the ability to deploy these applications to edge location. Now before we go on and understand deployments let's understand the edge. Now what is edge? For the uninitiated edge computing is a distributed computing architecture that moves applications as close as possible to the user base. So what happens edge computing moves IT resources closer to where data is produced and consumed. So the traffic from the devices is processed and analyzed in near real time. Unlike the cloud deploying closer to the edge enhances consumer experiences by reducing latency and network calls. It also makes the technology reliable enough to handle critical applications like say remote patient monitoring by hospitals, content delivery for streaming providers, then you have energy management in power grids and of course autonomous vehicles. Now all this sounds very cool and futuristic but what are the challenges? Let's have a look. Well the edge is a crowded place smaller footprint but more numbers. It is distributed across thousands of locations with limited space, limited cooling power, scars, computing resources, architecture heterogeneity and then edges made up of different nodes, various sizes, vendors and technologies, large small PNF, Acreno, you have AWS, Greengrass, Azure, Edge and AWS Outposts etc etc. So this requires a proper and flexible and lightweight orchestration tool. So yes orchestration is one of the biggest challenges because of this heterogeneity in the edge environments. Then we have scalability challenges. Edge nodes are small, availability for resources, for applications is not guaranteed and then because of the numbers and heterogeneity visibility is another blocker. So you need good monitoring and insights framework to track and solve issues on the edge. Adding to that when we keep running edge nodes we keep generating data. So edge locations would not have ample resources to store and archive that data. So there needs to be a proper policy to recycle, store or archive data. So that becomes a challenge on the edge. And finally data at the edge is highly distributed which means enlarged attack surface. So hackers can easily gain access to edge devices and at the same time because you have less visibility of what's going on it can be disastrous. So how is all this tackled? What is the answer to this? What is the answer to these challenges in fact? I believe DevOps is the answer. DevOps practices provide a framework for delivering consistent and reliable software and the changes are done as fast as possible. Microservices, containers, orchestrators like Kubernetes and CI CD pipelines solve the problem of heterogeneity and deployments. DevOps allows build infrastructures on the edge using Terraform and to manage configurations of infrastructure and software defined networks and Ansible can also be used to manage configuration, playbooks can be used to run lifecycle operations and archive and backup the data to back to the cloud from the edge to different object stores like S3 or whatever. So that is how DevOps allows to solve problems in the edge. Now DevOps practices ensure applications built for open containers can be securely deployed, tested, run and managed on multiple devices with services executed from multiple private and public clouds. Also lightweight monitoring probes enable real-time telemetry of these devices. Finally DevOps provides the guardrails to your developers early in the development cycle so that they can stay agile and without inadvertently compromising security. Checks can be integrated in CI CD pipeline to prevent security issues and from vulnerabilities to make the way to your edge environment or it can also alert the developers to know what is going on at the correct time and remediate that problem before it's too late. So that is another advantage DevOps provides and shifting security left this approach from DevOps is good for reducing not only cyber risk but also it reduces cost. So that's how DevOps practices solve the problems of orchestration, security, scalability, monitoring and lifecycle. So now let's discuss how is that to be done, like how and what are the tools we'll use so that DevOps can be tailored for the edge. Well custom DevOps for the edge requires a few tweaks. You can either go with public cloud offerings AWS Azure and even IBM and Red Hat they have very good solutions for the edge.  Well assuming you go open source so first thing use GitOps. So the core idea of GitOps is having a Git repository that always contains declarative descriptions of infrastructure currently desired in the production environment and the automated process to make the production environment matched the described state in the repository. So that will set up CI CD on the top of declarative infrastructure so you can stop scripting and start shipping your products to the edge. So GitLab, GitHub, Bitbucket these are all good enough and they have various GitOps tools with them as well. You can even create your own open source Git repository for this. Well the second thing for declarative pipelines and CI CD on the edge you can use drone. Drone is a very lightweight CI CD tool and you can use it to build the image launch tests and deploy on different environments. It is lightweight and does the job. Well if you have a hybrid in for a where you can afford to run Jenkins server say on the cloud then you can use that too. But it is a bit heavy weight because it's Java so if you're just doing it on the edge prefer to do it with drone. Then you can use a rancher to manage application catalog, help charts, monitoring project access, rights, and Kubernetes nodes. You can use GT to manage sources for the applications and you can use Helm charts to version those in the source repository and if you are doing it open source and not in the cloud for Docker image storage you can use something called Harbor it's open source image repository and you can store Docker images there check vulnerabilities and you have various storage controls as well. Fourth as the orchestrator you can use Kubernetes and use the lightweight version of Kubernetes. There are a couple of lightweight versions and I prefer k3s from Rancher you can use that too very lightweight easy to deploy and start using. And finally you can use lightweight monitoring tools like net data it's open source monitoring tool and you can also use a combination of Prometheus plus Grafana. So Prometheus will act as the agent and collect data while Grafana will be used for creating your dashboards. Finally shift left for your security gates in the most simple terms shift left security is moving security to the earliest possible point in the development process. So in this case it will be incorporated in the pipeline even before the container is baked. This along with other peripheral security layers will make the edge apps robust. So what are the takeaways? Because edge has a smaller footprint use lean tools that's the number one takeaway. Use lightweight strip down fat-free tools. Number two shift left introduce your security checks in the beginning of the pipeline itself instead of going for just a final check after the application is deployed by having a firewall in place or something like that. Better to have the checks in the code level so that even if someone violates he would not be able to make much out of your vulnerability. Then of course practice DevOps principles CICD continuous deployment continuous integration and continuous feedback by getting alerts from your devices on the edge. And finally not the least use Kubernetes because that makes orchestration seem like a breeze and because when you're talking about the edge say you're monitoring a car then the car is not a car it's a worker node of a Kubernetes cluster. That's all from me today. Stay connected for the upcoming sessions at Kubernetes Edge. Thank you.


Good evening everyone and apologies. I I didn't intend to come between the high T and my my thoughts but Unfortunately, my session has been planned that way and Before I even start sharing what I feel about web 3.0. I want to start with a disclaimer that I am not the expert I am in fact one of the impacted parties right Impacted as a consumer and impacted as a leader because not only I have to adjust as a consumer But I have to adjust adapt to this new reality and drive my business my team and my Organization to create value out of it because the whole idea is that how do we leverage this new? Revolution to create value for organizations and as I heard from some of the esteemed panels convenience for the consumer So that's the fine line that we all need to travel Now before You know I could say something when I was looking at web 3.0 I think you know it is imperative for all the organizations to Actually adapt to this new development or trend Why because the three key pillars on which this entire web 3.0 is is being based is decentralization transparency and security and In my own opinion if I if I look at Security one of the concerns with all the digital platforms and with a lot of consumers and customers is the security of their Personal data and also their own privacy So I think one of the things that this is going to solve is this aspect Which I am very very confident because now it is not going to stay with few bigger players But it is going to get decentralized but at the same time it puts a lot of responsibility on a lot of organizations and other other the players and Second I think as far as transparency is concerned, you know for me How I see it is like the availability of information and sharing of information will become easier and also the Authentication of the info information sometimes we really doubt whether the information provided to us is being right or wrong So these are two pillars, which where I don't see any friction or any any any tension So I will not speak about them where I see majority of the tension and as an organization or as a consumer Is we say that web 3.0 is more efficient and when we say web 3.0 is more efficient We say for example that today as an organization if I am interacting with the consumer I need a third party to do my transaction as far as payment and all is concerned While you know if I look at an NFT marketplace or anywhere I can actually remove those intermediaries So it becomes more efficient now the moment it it says I remove intermediaries, right and No offense to anyone actually it is like hearts hearts in my eyes because I see cost like savings So I don't have to pay. I don't have to shed But is that really going to happen? I personally believe yes but Is it really convenient to the consumer? I don't have an answer and I would be very very honest in you know submitting that and And That's why when I look at web 3.0 and when we say that we have to create value out of web web 3.0 the first and the most I would say dreadful experience that comes to my mind is it should not become another IVR Right and IVR and this has no no no relation But if you look at IVR when IVR started we said we can reach out to more consumers There is cost of efficiency and you all are consumers and trust me the movement if I call up a call call center And they put me on the IVR the first reaction is oh my god, right now We don't want that if we if we don't want if we if we really don't want another experience like like like that Then we need to deep dive into how what is actual convenience for the consumer Another example from my industry is there is a lot of talk about AI or Automation or a lot of things in two products also So I was just talking to some of the consumers and we have a brilliant product called mixer grinder It's not glamorous, but trust me Your life will get impacted if you are miss mixer grinder doesn't work properly, right? So normally this is this is why we say all the good things are not glamorous and they are they are actually there so when when you talk to a consumer who is using a mixer grinder where in the Maximum time of an application is not more than one minute So you actually use a mixer grinder for 30 seconds 40 seconds one minute if you are doing some very hard grinding two minutes Right now does the consumer really requires an AI or does the consumer really requires a mixer grinder Which doesn't require supervision now these are questions that we have to ask and why I'm giving you this example Is because I think the topic here was you know How do we create value out of three point web 3.0 and as I started saying I don't have the answer I only have questions so I will leave you with with questions rather than answers So this is another example which which comes to my mind, but at the same time there is an example which comes to my mind Which is chat GPT right phenomenal and I never attended a session or a seminar or a workshop or an event which said let's Discuss chat GPT But look at the content it throws at you Now if the content is good if it is solving some of your pain points it Automatically becomes popular and it it it becomes a part of our life and maybe you know Whomsoever is the founder of chat GPT or the organizations related to that maybe minting money very very soon So that's the that's the question that that that that I at least I have because when we are saying that we will Make our interaction with the consumers and customers More efficient we remove the intermediaries the consumer becomes more closer to you The customer becomes more closer to you, but it is a huge responsibility on the shoulders of the organization today. I can You know put the blame on some of the intermediaries tomorrow I will not have anyone to put the blame on but at the same time It's a great opportunity that I can actually be as close as possible with my customers and with my consumers And I can actually give them the surety of Security of their data knowing them better getting more more more insights so on that thought My whole point of view or my whole thought process at this point of time with web 3.2 is as follows I Think for organizations For professionals because it's on one hand. It's the organization on other hand We all are professionals and we want to stay relevant. So if we want to stay relevant, we need to understand it more deeply and When I say that it is not the skill set it is the mindset See it is very easy to follow a fashion but to understand that to have you know actually Making it meaningful for yourself is very very important and that's why I personally believe that There would be a lot of value from web 3.0 Because I I am a I would say I am a sold-out party on decentralization of data I Completely believe that there is a humongous power of transparency and I think If whatever I am hearing if it resolves the concerns on security because security and privacy is something Which is a very very big concern today So all the three pillars are at the right place, but how do we understand those pillars? Have the mindset to adapt those as per the requirement of our consumers as per the requirement of our own Organization our industry and our value space and then create solution then only we will be able to create value in my head And so that's only the what part of it how I am still to figure out so that's why As the audience and you know, I would actually encourage All of you that if you if if you get the answer of the next two questions that I have Please do share it with me because I am also struggling with those questions So The first question that I have is what is the readiness check or what is the readiness checklist? For my organization to say I am ready for web 3.0 Forget about being the expert creating value or something I am currently looking at a Readiness checklist for an organization to saying These are few of the aspects that I need to have in place to be ready Or to be capable of using this phenomenal revolution for my organization and for my consumers And I think that requires a lot of change in the mindset Because when when I when I when I look at some of the young digital talent, also they believe that they know it all They know it all from a skill set point of view absolutely in alignment But I think every situation every business every consumer is different And that's why The mindset and the checklist is important to figure it out the readiness And the second is definitely on the personalization front because I think web 3.0 talks a lot on our personalization In the past also we have talked a lot around personalization I think this is one puzzle Where we have very very few very good examples otherwise, what happens is On your sms if you if you if you get an sms saying instead of dear customer saying dear Mr. Torani That's personalization. I don't think that's personalization. The personalization is Understanding me and actually taking any of my pain points So I think that's the second question that I have in my mind that how can we use this revolution To actually crack the puzzle of personalization because personalization In my industry In my space and in a lot of space is a big opportunity Which organizations and businesses should leverage So that's the two question that I have and that's the that that's the little bit about web 3.0 that I know And I am trying to figure out for myself and for my organization And I will invite all of you that if you if you have any any great solutions, please do reach out to me I am here in the evening and and then later on also With that, thank you very much for the patience listening and apologies once again for coming between your tea and and this session Thank you very much. Thank you


Hello students, let's work out the following problem. It says AB is a diameter and AC is a chord of a circle such that angle BAC is 30 degrees. If the tangent at C intersects AB produced in D, prove that BC is equal to VD. So we have given a circle in which AB is the diameter, AC is the chord such that angle BAC is 30 degrees and tangent at C produced in D intersects AB. We have to prove that BC is equal to BD. So let's now move on to the solution. What we have to prove? We have to prove that BC is equal to BD and we are given that angle BAC is 30 degrees. Now angle CB is 90 degrees because it's an angle in semicircle. Now let this be angle 1, this be angle 2, this be angle 3, this be 4. 4 is equal to angle BAC plus angle 1 since it's the exterior angle of triangle ABC at and also angle BAC is 30 degrees and angle 1 is 90 degrees so angle 4 is 120 degrees and angle BAC is equal to angle 2 since these are the angles in alternate segments that is angle 2 is 30 degrees since angle BAC is 30 degrees. Now we know that the sum of three angles in a triangle is 180 degrees so now we have angle 2 plus angle 3 plus angle 4 is equal to 180 degrees angle some property of triangle now angle 2 is 30 degrees plus angle 3 plus angle 4 which is 120 degrees so this implies angle 3 is equal to 180 degrees minus 120 degrees minus 30 degrees that is 30 degrees so we have got that angle 2 is equal to angle 3 is equal to 30 degrees and by the property of isosceles triangle sides opposite the equal angles are equal so this implies BC is equal to VD that is sides opposite the equal angles equal now the side opposite the angle 3 is BC and side opposite to the angle 2 is VD so BC is equal to VD because we have proved the required so this completes the question and the session why for now take care have a good day


While the healthy Huskies at Horace May Elementary in Bemidji are keeping it moving by walking and running. For this week's Golden Apple, Haiti Clotter shows us how students are living healthier lifestyles and accomplishing their goals. It may be foggy outside, but at Horace May Elementary in Bemidji, students are still active. Before the start of the school day, students walk or run on the playground and get moving as healthy Huskies. It's a good goal set. It builds a little bit of community and kids celebrate together. Students earn walking sticks after each lap and finish in about 30 minutes. Fifth grader Addison Mesh has already set goals for herself this year. I'm going to try to get to 100 to get better at stuff. Aubraham Bratling is an alumnus of the Healthy Huskies and in three years accumulated more than 200 miles. You can really benefit from it, just to be healthy and kind to get fit and probably in the morning for some kids just to get their energy out. Kids are excited about the Healthy Huskies. Last year, 140 kids completed the 25 miles and 10 kids reached the 100 mile milestone. After 25 miles, students earn a t-shirt at 50 miles of golden pencil. Next you join the 75 mile club with the wristband and at 100 miles you earn a gold medal. Matthew Hack is 50 miles in and Healthy Huskies helps him with other activities. It gives me more energy for my sports. What sports that you play? Soccer, basketball, football sometimes. The class with the most completed miles gets bragging rights by having the golden shoe in their classroom. The outdoor day participation is optional. We went around the track and we got sticks and then once we each got 12, we got to trade them for a colored stick, which was a mile. Healthy Huskies builds healthy habits for students and teaches them that goals can be within reach. For this week's Golden Apple in Bemidji, Haiti, Clutter, Lakeland News. If you've enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland Public Television.