idk, falsehoods programmers believe
- if you open a TCP connection, it will not time out
- if you have been talking to a TCP server for a while, and you send an additional message it will not time out
- if you open a TCP connection, it will have a latency of under 2 seconds and a speed of at least 1 mbit
- (JavaScript edition: if you open an http connection it will be 1ms and gigabit)
- if you open a connection, send a message, and it times out, the server did not receive or process that message
- if you stat a file and it succeeds, then open the file, it will succeed
- if you open a file, close it, then open the same file it will have the same contents
- if you open a system file writable only by root, close it, then open the same file it will have the same contents
- all reads and writes that are otherwise sound will always succeed
- the user's hard drive is never 100% full
- a sequence of actions in your program will always be executed to completion
idk i could go on probably
idk, falsehoods programmers believe
the last one is really big actually
so many programs break if your computer crashes at the wrong time. you seriously need to consider what happens if your code stops running at literally any point in your program. and make sure your persistent data is in a consistent state to be recovered. (sqlite helps here :)
@f0x
fucken datetime in general
this is another big thing. your backend should operate in unix timestamps and only unix timestamps. converting to gregorian dates with timezone should be done at the last possible moment, right before displaying to the user