Something is wrong if most programs don’t run instantaneously
Absolutely. We don’t seem to understand how fast computers have gotten because we’re too busy piling layers atop one another and calling it ‘progress’. That’s not progress, that’s bloat that the processor is absorbing.
Design applications as small executables that communicate
This seems like a lesson that each generation of developers is hellbent on re-learning the hard way. I get it, it isn’t the easy way. We’re collectively so open-minded about architecture that our brains often fall out of our heads. We’d rather kowtow our recommendations if they might be too heavy-handed for people’s blog apps.
Everything is so complex that you need to isolate yourself from as many libraries and APIs as possible
One of the easiest and highest-leverage refactors you can do, and it’s still not common practice.
even more egregious is programs that don’t display a character instantly when you hit a key in a text entry widget. this is literally the most basic user feedback mechanism a computer has, and it bothers me that people are okay with there being a perceptible delay between keystroke and display.
various reasons; usually it’s because they’re trying to do a callback per keystroke for things like spellchecking, incremental search, etc. but the net effect is that the text in the textbox does not keep up with your typing.
Which is why I’ve never implemented any of those features on a per-keystroke callback. I used to just keep a timer and reset it while the user is actively typing.
“temporary” or not is a false dichotomy. There is often value in storing non-immortal data on disk. And it’s still in ram if it was written recently to a non-O_DIRECT file. I’ll leave this here: Kafka Documentation: Persistence
A few points worth discussing:
Absolutely. We don’t seem to understand how fast computers have gotten because we’re too busy piling layers atop one another and calling it ‘progress’. That’s not progress, that’s bloat that the processor is absorbing.
This seems like a lesson that each generation of developers is hellbent on re-learning the hard way. I get it, it isn’t the easy way. We’re collectively so open-minded about architecture that our brains often fall out of our heads. We’d rather kowtow our recommendations if they might be too heavy-handed for people’s blog apps.
One of the easiest and highest-leverage refactors you can do, and it’s still not common practice.
Thinking about this too much makes my blood boil.
even more egregious is programs that don’t display a character instantly when you hit a key in a text entry widget. this is literally the most basic user feedback mechanism a computer has, and it bothers me that people are okay with there being a perceptible delay between keystroke and display.
What do you mean? They’re too slow doing something to allow a re-paint?
various reasons; usually it’s because they’re trying to do a callback per keystroke for things like spellchecking, incremental search, etc. but the net effect is that the text in the textbox does not keep up with your typing.
Which is why I’ve never implemented any of those features on a per-keystroke callback. I used to just keep a timer and reset it while the user is actively typing.
“temporary” or not is a false dichotomy. There is often value in storing non-immortal data on disk. And it’s still in ram if it was written recently to a non-O_DIRECT file. I’ll leave this here: Kafka Documentation: Persistence
Yes, yes, yes! The operating system is a virtual machine and that should be capitalized on as much as possible.