My logic was always, if == is equal, then for >= we replace one of the equal signs to denote that it doesn't have only be equal but can be both.
But that was probably also influenced by languages where == means the value is equal and === means value and type have to be equal for the comparison to be true. If you compare "5" and 5 in those languages, == will be true and === will be false, since one is a string and one is a number.
At the end of the day, those signs are arbitrary conventions. People agree on them meaning something in a specific context, and the same thing can mean different things in different contexts. A in English represents a different sound than A in Spanish, and sometimes even in other dialects of English. Thinking of out like that helped me to keep the conventions of different programming languages apart.
The thing alternates between showing the measured speed and a reaction to it - smiley if it's acceptable, something else if it's not. I don't remember RN what the bad reaction is (I'm not a driver) but in a 30 zone a smiley at 42 is misconfigured.