Slashdot Mirror


Computer Voodoo?

jbeaupre asks: "A corollary to 'Any sufficiently advanced technology is indistinguishable from magic' is that sometimes users have to resort to what I call 'computer voodoo.' You don't know why it works, you barely care how it works, but you find yourself doing the strangest things because it just seems to work. I'm talking about things like: smacking a PC every 5 seconds for an hour to keep it from stalling on a hard drive reformat (with nary a problem after the reformat); or figuring out the only way to get a PC partially fried by lightning to recognize an ethernet card, after booting into Windows, is to start the computer by yanking the card out and shoving it back in (thereby starting the boot processes). What wacky stuff have you done that makes no obvious sense, but just works?"

4 of 686 comments (clear)

  1. Re:For most problems... by QuantumFTL · · Score: 5, Insightful

    That has to be about the most insightful thing I've ever seen here on Slashdot. And, of course, you got modded funny.

    Actually, to be honest, I find that creating an incentive for the user to understand the technology is a much better long run solution. The average person nowadays can accomplish an awful lot with a very basic, approximate functional understanding of the system. Unless there is some reason that they need to learn the details, they will likely never do so.

    The truth is that this does not merely apply to "lusers," but to many of the most brilliant programmers you'll find. How many programmers know the deep details about the electronics that make up the processor? Or about the connection between doping, band-gap effects, and statistical mechanics that regulate the real-world execution of logical operations? I have dual degrees in Physics and CS, yet I would not include myself in that category.

    I think what we need is users that aren't necessarily "theoretically" educated (this can, in practice, be quite useless), but rather have the appropriate metaphors (pipes, not tubes) to understand the majority of what to do in a given situation. Know what different symbols and actions connote, and where to find help (besides just asking the "computer guy").

  2. Re:Walk into the room by Alfred,+Lord+Tennyso · · Score: 4, Insightful

    Or they've been skipping some step that they figure is useless and they're sure they've done already but it didn't help. When demonstrating it for the techie they throw that step in just to save time. They're certain that when it doesn't work the techie will tell them they missed a step and make them do it all over including that step; it still wouldn't work and it would be a waste of time.

    Except that the step WAS crucial, and now it works. They had some other problem, and they'd fixed it, but now by skipping that step they still get the problem.

    I wish I could attribute that just to dumb users, but I've made that mistake myself. "Yes, I TRIED rebooting the router... oh, it worked this time. Never mind."

  3. Re:For most problems... by honkycat · · Score: 4, Insightful

    I know where you're coming from, but I disagree somewhat. I don't think understanding the physics of the semiconductors is terribly important unless you are actively working on engineering better chips. It's intellectually interesting (to some), but it's really of very little value when it comes time to program.

    Even understanding the architecture of your processor is only of value to some programmers. For most, it's better to understand the programming model for the particular language being used and tailor your program to that abstraction. Trying to apply knowledge of the low-level architecture in high-level programming is a recipe for over-optimization, especially if that code ever gets ported to another architecture.

    Now, in the latter case, I will grant that it's indispensible to have learned the details at least one computation architecture through and through at some point. It almost doesn't matter what it is, since it's the process of stepping back and thinking about how to construct machines that compute that is the enlightening bit. It's really astonishing how "dumb" the logic behind a really "smart" processor can be. However, day-to-day, it's very rare to actually need to apply details for the specific machine you're using.

    If you're writing DSP code or other real-time embedded stuff, this is obviously different, but that's a very small subset of all programmers.

  4. Re:Not sure how it works... by cowbutt · · Score: 4, Insightful
    Roadmaster has the explanation bang on the money in his post.

    The only thing left to add is that doing

    dd if=/dev/zero of=/dev/hdb bs=10485760
    should be significantly quicker.

    Oh, and the other thing is that, these days, I tend to run badblocks' write-test on new drives, in an attempt to get the drive to remap any failed or marginal blocks before putting Important Information on them.