3 ms·
I think this sort of thinking involves a false equivalence between computer programs and the human body. Going out on a limb I'd say that debugging is a skill
by caconym_ 10y ago
I think this sort of thinking involves a false equivalence between computer programs and the human body.
Going out on a limb I'd say that debugging is a skill that's learned in practice, not taught, so if it was as easy to "debug" the human body as it is to debug a computer program, why would computer programmers be better at debugging in their domain then doctors are in theirs? Surely doctors would have varying degrees of skill in this regard, but so do programmers, and it's likely that a) "good" doctors would count this "debugging" as one of their most important skills and b) that Robin Williams had really good doctors.
These factors seem to make diagnostic medicine quite challenging:
* It's often impossible to gather the information you need to make a certain diagnosis without an endless series of tests that may be prohibitively expensive or dangerous to the patient's health themselves.
* Feedback to attempts to "probe" the problem e.g. trying a course of a certain medication may be very difficult to interpret because of delayed reaction, individually unique responses, and/or other external factors that make it difficult to attribute some observed effect to cause X.
* The patient is not getting any younger this whole time, and may become impatient with the process and accept an imperfect solution or simply not have enough time due to the progress of their illness for all avenues to be explored.
* Patients may deliberately hide some of their symptoms, e.g. the article's author's theory that her husband was keeping hallucinations secret.
- gravypod 10y agoOne reason why we might be better at debugging is doctors are penalized for "fuck it, what happens if I do..." and we are not. We get to mess with large permutations of different causes and effects, that we stimulate, in a short time while that would be unethical for medical professionals.
- sangnoir 10y ago> One reason why we might be better at debugging is doctors are penalized for "fuck it, what happens if I do..." and we are not I get anxious every time I have to debug live systems. Developers are lucky because we can reproduce and test fixes on non-live systems. As a bonus, we can step through the code at critical junctures and can examine the complete state of the system
- zo1 10y agoWhen you have a large, distributed system with many moving parts, debugging no longer applies. To top that off, you in no way have a complete "view" of the state of the system and you have to piece together clues from varying parts. Taking into account the user "story" of what happened, which is usually vague. I always liken it to being a detective trying to piece together a crime scene from incomplete clues. But now that I think about it, it's also quite a lot like trying to diagnose an illness from symptoms.
- gravypod 10y agoI'd debugged live systems that where for side projects. One such example was a game server who I wrote a few thousand lines of code for. All with no test suite, all with no other eyes inspecting it, absolutely no documentation, and all with a usually incomplete git history. I had about 2-4 systems talking to each other for this project (that's counting the system that I wrote that works as a plugin/module loader and all of it's plugins as 1 system). It's a relic from my past that I'm glad I left behind. Editing plugins live, writing everything in usually the one or two days of free time I had between school engagements, and a few other tricky things that happened, this was probably one of the most funny projects I worked on. By the end of it, I had two config file formats for pretty much everything, I opted out of using the right tool for the job most cases, and I kept having to upgrade hardware which was a pain in the ass since I didn't have any setup instructions since I made the damned thing. Following is a list of everything that's public. https://github.com/gravypod/StarmadeWrapper https://github.com/gravypod/StarmadeWrapper https://github.com/gravypod/StarmadeWrapper-API https://github.com/gravypod/StarmadeWrapper-API https://github.com/gravypod/StarmadeDebugging https://github.com/gravypod/StarmadeDebugging https://github.com/gravypod/Checkers https://github.com/gravypod/Checkers https://github.com/gravypod/Starmade-Log-Reader https://github.com/gravypod/Starmade-Log-Reader https://github.com/gravypod/StarmadeWapper-Panel https://github.com/gravypod/StarmadeWapper-Panel https://github.com/gravypod/StarmadeWrapper-Claim https://github.com/gravypod/StarmadeWrapper-Claim https://github.com/gravypod/StarmadeWrapper-Warps https://github.com/gravypod/StarmadeWrapper-Warps https://github.com/gravypod/Starmade-Map https://github.com/gravypod/Starmade-Map It was quite a bit of a mess and I can definetly agree, debugging live systems, debugging distributed systems, and debugging unverified/untested/undocumented systems is crap too. I'm pretty sure that being a doctor is the same as this except thousands of times worse. The amount of times I've messed up when working on my spaghetti plate was more then I can count and I'm pretty sure the human body is more slopily put together then my leaning tower of crap.