4 ms·
We've tried many times and in many ways, but text is still the main interface for programers (and even for a lot of end user tasks as well). As long as this in
by tambourine_man 6y ago
We've tried many times and in many ways, but text is still the main interface for programers (and even for a lot of end user tasks as well).
As long as this interface remains undisputed, "everything is text" is a feature, not a bug. Arguably, one of Unix's greatest.
- rurban 6y agoThe feature is "everything is text". The bug is the misunderstanding that "every text is identifiable". That names are garbage in, garbage out. Unix names are far worse than non-unix names in this regard. Terminal sequences, unicode all violate the identifier rules. There is no u8ident library to sanitize this input or output.
- bmn__ 6y ago> unicode all violate the identifier rules […] library to sanitize this input Unicode standardises identifier rules. The default identifier as per UAX31-R1 can be checked with a regex: perl -E'say "my_identifier" =~ /\A \p{XID_Start} \p{XID_Continue}* \z/x' I guess that's not what you mean, so an explanation with some details is needed here.
- rurban 6y agoYes, unicode is fine. What is broken is that nobody cares. Not even perl5 cares about non-identifiable identifiers. Btw your snippet does not work for identifier validation. There is much more needed to pass the identifier security guidelines. But here we just need a simple terminal escape sequence stripping library. Unicode is a bit harder. Only Java, rust and me did that.