Part of this probably caused by the complexity of trying to do SMS fallback when iMessage fails.
Complexity... check! Every time my iPhone reboots it throws a "Failed to send message" dialog for a 4,000+ day old message, but you can't actually do anything with that dialog to get to the problem message to delete it or somesuch. Short of deleting the entire conversation history for that contact.
My father recently got a new pickup truck and the damn dashboard looks like the bridge of the Enterprise.
Which one? The original Enterprise actually had switches and levers and such.
Totally agree. Until Apple starts forcibly locking out older devices and apps I don't need anything more sophisticated than my current iPhone 6 Plus for SMS, email and PagerDuty alerts.
And modern batteries are awesome, too. I just had the battery replaced recently and now only need to charge the device maybe once per week instead of being tethered to a charger like it was previously.
Programmers nowadays are 90% just stitching together code someone else wrote for them, and have little or no ability to creatively and effectively write their own code.
It's probably way higher than 90% and it's been that way since we moved on from machine code to assembler.
You can always use Activity Monitor, or Terminal, to kill a Process, if the 'nice way', Force Quit, doesn't catch it after a few tries.
No, kill -1, kill -2, kill -9, kill -s KILL, kill -s QUIT, etc., have no effect on processes stuck in the "?E" state because they're already trying to terminate - they are probably stuck in an infinite loop/wait somewhere and don't respond to signals. That's why you have to power-cycle the computer to recover, because the processes can't be killed to allow a restart/shutdown to complete.
Variables don't; constants aren't.