Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Good article. Yeah, I wouldn’t expect a full explanation, just some kind of “here be dragons” caveat. Perhaps a hyperlink alone is a bit too subtle since readers aren’t always going to dereference it. (And there’s some irony there, given the subject of the linked article.)

The types in Go’s template/html package are a pretty interesting example of using types tactically to indicate validity. The HTML type is used to turn off HTML escaping when it’s already been done. It’s using a type as a loophole. It’s still very useful to have a type like that when reviewing code for security bugs, because you know where to look for problems. Unsafe sections in Rust serve a similar purpose.

Types are about creating trust, and this trust is often short-lived. When data crosses a security boundary, the validation has to done again.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: