When I was earning my master's degree, I heard a lot about finite state machines (FSMs), but it was all theory - like clouds in the sky: there's a lot of water, but you can't drink it. I toiled for three months after graduating until I implemented my first FSM in code in 1981. Now, there is a programming methodology based on this concept - v-agent oriented programming (VAOP) - with many examples of its implementation. It's best to start learning about VAOP with this article on Medium: "Bagels and Muffins of Programming or How Easy It Is to Convert a Bagel into a Black Hole".
Cybersecurity is all over the map, and has its own specialties. Low-level hardware and software is an important component of it. Think RF, onsite electronic security, reverse engineering malware and ROM auditing (requiring assembly language), exploit and shellcode writing.
Thank you for realy high quality video and very clear explanation. Do you know maybe if it is possible to convert USB keyboard to uart with this bridge? I have small keyboard that has only 4 buttons (arrow keys) and I want to detect which one is pressed on my esp32
Thank you for sharing this content! Maybe my thoughts are really a non sense topic, but I wonder what would happen if you try to plug a USB keyboard DIRECTLY to a USB-TTL converter. Why nothing happens and if there's a way to create a hardware (a bridge that doesn't need a PC to interface) that initializes the keyboard (you said the host need to start the USB peripheral) and then starts converting the input.
Hey i had a question. Sometimes this method doesnt work and we need to use an epsilon transition method instead. How do we know if an NFA can be solved in the way described in this video and when we need to use the epsilon method?
Coming from a 64 yo guy who has never been a techy. You are THE BEST.. I've watched a lot of yt vids, and have learned a lot in the past year. And I've beat my head against the brick wall with ESP32's.. Till I watched your video 'intro' ... And it worked, considering I was using a low value amazon dev board. Thanks, I'll keep watching, You keep instructing..
Hi! Thanks for the video. I have a question about the flow: For an N- bit message and an M-bit divisor. 1. The N- bit message is being sent over the course of N clock cycles. Simultaneously the reminder is being calculated in the TX and in the RX. 2. After the first N clocks the TX trasmits the M-bit reminder. At this point in time, the LFSR in the RX should have the same reminder as was calculated in the TX. What happens on the RX side at that moment? If we stop shifting the LFSR and capture the next M bits of the reminder we will be able to compare them at the end of transmission (N+M cycles) to validate the correctness of the TX/RX. I didn't understand your comment at the end about how to verify/use the reminder that is being sent after the message. Thanks!
Very good explanation of the theory and implementation . I have a question that you would be happy to answer with :D. Which taps to select for creating a certain "pseudo random sequences"?
Wouldn’t “000” be rejected even though it should be accepted"? We have a 0, then any number of 1’s (in this case 0/none), and still end in a 0. But it gets rejected as it follows states a,b,c,e (rejected)
Oh I see. Concatenation says we should start with 0, have any number of 1’s, then immediately end in 0 or 1. 000 should be rejected. As it does not immediately end in 0 but there is another 0 that follows.
Thanks, man! That was really helpful. For those, who have trouble with Libraries(IDE doesn't see them), change "C_Cpp.intelliSenseEngine": "default" to "C_Cpp.intelliSenseEngine": "Tag Parser" in your project directory file "settings.json". It solved the problem in my case
I have no clue what any of this is but im glad you managed to upload this for someone who has the slightest clue what any of this is. I dont even know where to start to get the knowledge to understand even a quarter of what is going on.