As a programmer I can relate to a fair chunk of that. There's so many things that can go wrong with an application its sometimes impossible to predict all of them. Especially when the entire thing can come crashing down from a single spelling mistake.
Granted the compiler catches a lot of errors but it's the bugs that'll only happen at runtime that are the killer. All you can do is test and test, code defensively and hope you've done the best you can. Testing is the big important part, it shows up a lot of the silly low level bugs that you can fix before release.
Some stuff will be just so obscure though that they won't become apparent until after release. There's so many different factors when it comes to computing that until you put it into the hands of a lot of people you're unlikely to get the full picture of the impact of your code.
I have to say though the last bit of the article isn't anything to worry about. It doesn't matter how many threads you add the basics of thread safe programming are still there. #bsod
Sorry, just gotta point out that linux wasn't mentioned once in the article even though it was tagged.
I guess it because linux never crashes, also seeing only mac and Pc screenshots #bsod
@Con Seannery: Depends on how much power you put behind them. Radioisotope alpha emitters are fairly low energy, so yes, they can be stopped by a sheet of paper. On the other hand, a GeV-packing cosmic ray (which very well could be a helium nuclei), or its debris field, is going to laugh at your piece of paper, and the case of your computer, and unless you work in a mine shaft, probably the rest of the building above you. #bsod
I love the first app crash error message... Your Internet Browser has just crashed. Would you like to search for a solution to this problem on the Internet? #bsod
The think that bugs me about troubleshooting a Mac is that there really isn't a unified area where application errors are logged and error messages are usually pretty vague. Troubleshooting errors that do happen tends to be that much harder. I had to call Apple once about a printer issue and after basic troubleshooting their answer was to re-install teh OS.
I use the Event Viewer on a daily basis in various versions of Windows as part of my job and 80-90% of the time, the error and the cause is right there. #bsod
Some of the writing sounds like someone was reading Calvin and Hobbes' favorite bedtime story, "Hamster Huey and the Gooey Kablooey." Love that comic. #bsod
@nutbastard: oh ok. When you said that I was thinking back to a poster that had that phrase in high school computer lab. Which obviously wasn't meant for programmers. #bsod
and, by extension, the user is telling the computer to do something described by the programmer - they're telling the computer to do what the programmer told the computer to do, so in either case, anyone interacting with a computer in any way is essentially doing the telling. Just as an illiterate (the user) can perhaps form a basic sentence 'make an airplane', an engineer (the programmer) can take that telling and translate it into specific instructions, but it's still the illiterate (the user) who did the telling, who invoked the action - his choices are limited by his vocabulary and comprehension - in the case of a program, by the 'vocabulary' of the program, ie the list of possible commands to issue. if your engineer (programmer) is sloppy the plane might crash, which is not the illiterates fault - he had no hand in the specific instructions, other than setting the predefined action into motion. #bsod
I gotta say, this article really "dumbs down" some completed issues for people to understand. I'm not saying this is a bad thing. If none tech-savvy people read this, it can really give them an understanding of why their computer breaks. And whey they need to stop loading every piece of crap they find on the internet on their computer. "Oh it's so cool, it lets me open programs by typing nick names for my programs." Great so when your nick-name program hoses up all your memory and your computer crashes, don't come tell me it "just broke, I didn't do anything". #bsod
@trekie86: i once dared my friend, my luddite, always-screwed-computationally friend, to go on the internet and find some repair info about a certain car, claiming that i didn't think he had the skills to find it.
90 seconds later he was *this* close to downloading an obviously malicious exe from a flagged site.
i dont know what makes him so retarded in this regard, but god damn, he is. i keep telling him that always logging in as admin (with a blank/null admin password, BTW) and downloading random shit from random websites isn't a good idea, but he insists that "it's ok".
so he has a laptop that is almost unusable because it's been zombified. and motherfucker does his BANKING on that computer. if he wasn't broke, he soon would be.
so he's been looking at buying MY laptop off of me lately, but i have that feeling... that feeling like you would get if you had a vintage shelby mustang for sale that you garaged for 40 years and took care of and maintained... and a 16 year old kid wanted to buy it. you know that selling it to him is like getting paid to have someone destroy your baby, that the thing you respect and care about is going to be abused with no appreciation whatsoever.
Almost every day we get the question from a customer:
"Why did my system crash?"
"What causes the blue screen?"
"Why did my hard drive fail?"
Sometimes we can answer the question, sometimes we have to be honest with the customer and explain there are a million ways a computer can fail. We might not know exactly why it happened, but we can fix it.
And, I sometimes mess with people.
customer: "why did my hard drive crash?"
me: "it detected pirated music and sent a tracker to the RIAA, and they hit the remote kill-switch. they do this so they don't spend a lot of money suing people anymore."
customer: "dang. I didn't know they could do that." #bsod
10/22/09
Granted the compiler catches a lot of errors but it's the bugs that'll only happen at runtime that are the killer. All you can do is test and test, code defensively and hope you've done the best you can. Testing is the big important part, it shows up a lot of the silly low level bugs that you can fix before release.
Some stuff will be just so obscure though that they won't become apparent until after release. There's so many different factors when it comes to computing that until you put it into the hands of a lot of people you're unlikely to get the full picture of the impact of your code.
I have to say though the last bit of the article isn't anything to worry about. It doesn't matter how many threads you add the basics of thread safe programming are still there. #bsod
10/21/09
10/21/09
10/21/09
10/21/09
I guess it because linux never crashes, also seeing only mac and Pc screenshots #bsod
10/21/09
10/21/09
Seriously? I thought that paper or human skin could stop an alpha? Now gammas... #bsod
10/21/09
10/21/09
10/22/09
And to you, icelight, another good point. #bsod
10/21/09
10/21/09
10/21/09
I use the Event Viewer on a daily basis in various versions of Windows as part of my job and 80-90% of the time, the error and the cause is right there. #bsod
10/21/09
10/21/09
10/21/09
10/21/09
10/21/09
10/21/09
the bad thing about computers is that they do exactly what you tell them to do. #bsod
10/21/09
10/21/09
when i say 'you' and 'tell them', i am indeed referring to the programmer, and the act of programming #bsod
10/21/09
10/21/09
and, by extension, the user is telling the computer to do something described by the programmer - they're telling the computer to do what the programmer told the computer to do, so in either case, anyone interacting with a computer in any way is essentially doing the telling. Just as an illiterate (the user) can perhaps form a basic sentence 'make an airplane', an engineer (the programmer) can take that telling and translate it into specific instructions, but it's still the illiterate (the user) who did the telling, who invoked the action - his choices are limited by his vocabulary and comprehension - in the case of a program, by the 'vocabulary' of the program, ie the list of possible commands to issue. if your engineer (programmer) is sloppy the plane might crash, which is not the illiterates fault - he had no hand in the specific instructions, other than setting the predefined action into motion. #bsod
10/21/09
10/21/09
well isn't that a given, now that YOU are here?
wait, ha ha, no it isn't.
:P #bsod
10/21/09
10/21/09
10/21/09
10/21/09
90 seconds later he was *this* close to downloading an obviously malicious exe from a flagged site.
i dont know what makes him so retarded in this regard, but god damn, he is. i keep telling him that always logging in as admin (with a blank/null admin password, BTW) and downloading random shit from random websites isn't a good idea, but he insists that "it's ok".
so he has a laptop that is almost unusable because it's been zombified. and motherfucker does his BANKING on that computer. if he wasn't broke, he soon would be.
so he's been looking at buying MY laptop off of me lately, but i have that feeling... that feeling like you would get if you had a vintage shelby mustang for sale that you garaged for 40 years and took care of and maintained... and a 16 year old kid wanted to buy it. you know that selling it to him is like getting paid to have someone destroy your baby, that the thing you respect and care about is going to be abused with no appreciation whatsoever.
10/21/09
"Why did my system crash?"
"What causes the blue screen?"
"Why did my hard drive fail?"
Sometimes we can answer the question, sometimes we have to be honest with the customer and explain there are a million ways a computer can fail. We might not know exactly why it happened, but we can fix it.
And, I sometimes mess with people.
customer: "why did my hard drive crash?"
me: "it detected pirated music and sent a tracker to the RIAA, and they hit the remote kill-switch. they do this so they don't spend a lot of money suing people anymore."
customer: "dang. I didn't know they could do that." #bsod
10/21/09
10/21/09
Microsoft even has a tool that you feed the memory dump into it and it will even tell you what file caused it.
Microsoft should really publish that info more.
10/21/09