Great Filesystem Quote

From Valerie Aurora on POSIX semantics:

It may not be POSIX, but the programmer’s intent is clear – no one ever, ever wrote “creat(); write(); close(); rename();” and hoped they would get an empty file if the system crashed during the next 5 minutes. That’s what truncate() is for.