8 Matching Annotations
- Aug 2023
-
en.wikipedia.org en.wikipedia.org
-
In computing, the robustness principle is a design guideline for software that states: "be conservative in what you do, be liberal in what you accept from others". It is often reworded as: "be conservative in what you send, be liberal in what you accept". The principle is also known as Postel's law, after Jon Postel, who used the wording in an early specification of TCP.
https://en.wikipedia.org/wiki/Robustness_principle
Robustness principle: be conservative in what you do, be liberal in what you accept from others.
-
- May 2023
-
stackoverflow.com stackoverflow.com
-
This is insightful application of Postel's law en.wikipedia.org/wiki/Robustness_principle. It remains wrong to write software that assumes local parts of email addresses are case-insensitive, but yes, given that there is plenty of wrong software out there, it is also less than robust to require case sensitivity if you are the one accepting the mail.
-
Solution: Store emails with case sensitivity Send emails with case sensitivity Perform internal searches with case insensitivity
-
Robustness principle suggests that we accept case sensitive emails
-
-
en.wikipedia.org en.wikipedia.org
-
A flaw can become entrenched as a de facto standard. Any implementation of the protocol is required to replicate the aberrant behavior, or it is not interoperable. This is both a consequence of applying the robustness principle, and a product of a natural reluctance to avoid fatal error conditions. Ensuring interoperability in this environment is often referred to as aiming to be "bug for bug compatible".
-
- Jan 2021
-
github.com github.com
-
You should default to the most permissive option imo and there really is no reason to check anything until you really need to If it were left to me I'd just use optional chaining, as it also eliminates the need for no-ops
(lazy checking)
-
-
en.wikipedia.org en.wikipedia.org
-
In other words, programs that send messages to other machines (or to other programs on the same machine) should conform completely to the specifications, but programs that receive messages should accept non-conformant input as long as the meaning is clear.
-
be conservative in what you do, be liberal in what you accept from others
-