Slashdot Mirror


User: Chemisor

Chemisor's activity in the archive.

Stories
0
Comments
2,157
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 2,157

  1. Wrong kind of abstraction on Forget Math to Become a Great Computer Scientist? · · Score: 1

    The trouble with math-oriented computer scientists is that they abstract the wrong things. Yes, we need to create abstractions in programming; it is what our job is all about, but we abstract processes, not numbers. A mathematician thinks in terms of numbers and functions, which naturally helps in creating numeric algorithms. But they forget, or simply don't know, sitting in their ivory towers, that real programming does not involve any numeric algorithms. Number crunching is for research. Universities are full of scientists who do just that, getting numbers from experiments and writing numeric algorithms to make sense of those numbers. Outside the universities, nobody ever does that; if there are any numbers involved, we do it in Excel. So when you write software for anyone outside the academia, knowing lots of math to know how to invent new numeric algorithms is worthless.

    You will be creating abstractions in the real world, but they are different kinds of abstractions. These will not be based on numbers, but on processes and on structure. To make them you'll recognize similarities between functions or object arrangements and create abstractions to merge them. This is how you make small code. This is how you save time for others, who will be able to use your abstractions directly instead of writing lots of duplicate code or hundreds of special cases. Writing such abstractions requires a lot of skill, but that skill is not mathematical and someone who obsesses about math will not be able to create them correctly.

    Look at STL, parts of which are a shining example of uselessness. One of its core ideas is a collection of abstract algorithms into which we plug in our own functions. Sounds great to a mathematician, but a horrible idea in reality. First of all, we don't have functions; we have objects, and STL does not play well at all with objects and member functions. Anyone who tries, discovers how quickly their code becomes an unreadable bloated pig. Second, "plugin" functions generate bloat. Yes, the compiler can inline stuff, some of the time, but in most situations you end up with larger code then you would have otherwise. Mathematicians also have no experience with PLTs and have no frigging idea how huge those instantiated template algorithm names are and how much they add to disk space usage and application startup time. OpenOffice enormous startup time is largely caused by such things. Third, "plugin" functions don't fit into an object-oriented design. They just don't belong anywhere. An academic doesn't care about such things, since all he has is a few hundred vectors of floats, with no structure whatsoever. He doesn't have to maintain his code, he just throws it away when he's done with the current computation. In the real world, programs live for decades, and clarity of structure is paramount.

    It is the structural abstractions that are most common and most needed. Any programmer would be well served in developing the skill to do these properly, as only a few have that skill, evidenced by thousands of poorly designed projects on SourceForge. So screw the math and spend your time on learning design instead!

  2. Oh? And when did you last write any? on Forget Math to Become a Great Computer Scientist? · · Score: 2, Interesting

    > Good luck on doing a kernel, file system, network stack, crypto, image processing,
    > window manager, animation or 3D without math or algorithms.

    And when, may I ask, did you last do any of these things? Only a miniscule portion of us are working on the kernel, file system, or network stack (and none of them involve any math beyond simple algebra). Only one or two of us has ever written a window manager, and that's the way it should be. Only NSA people work with crypto on a regular basis; the rest of us just use premade libraries (made by cryptographers, who require years of practice to become good in their tiny little area of expertise). 3D is all done in hardware these days; software renderers went out of style in the last century and if you are still doing it, your software must be either really slow or running at 320x240. And as for image processing, most of us don't do that either, and when we do, we don't invent the algorithms; we ask mathematicians to do that.
    Face it, most of us write code that has absolutely no math in it (I don't count algebra - it's just the way you write code). We make user interfaces, write database queries, and, I am sorry to say, rewrite parts of application frameworks we don't like (and there are a lot of such parts). Instead of math and algorithmic theory, these tasks would benefit from knowing how to structure your code properly, how to ensure portability and ease of localization, and, most importantly, how to correctly think about object oriented design.

    > I look forward to reviewing some of this guys code.

    Yeah, do look forward to it, since you'll be waiting a long time to see anyone write an "algorithm". I haven't written one in years, and even then it was for a software renderer made for fun. Real programming is about arranging objects and the control and data flow between them, not about crunching numbers. Numeric algorithms only exist in academia and in a few specialized libraries that nobody wants to, or should, rewrite. Design is what programming is about and that is what programmers should know and be taught. Mathematicians be damned!

  3. Jumping to conclusions on FSF Rattles Tivo Saber At Apple · · Score: 4, Insightful

    > The DRM architecture in the iPhone takes away your freedom as an end user to
    > play around with FLOSS inside the firmware.

    Whoa there! FSF makes an accusation and you swallow it without question? There is no proof that there is any GPL software in the iPhone and until such proof becomes available, how are you any better than RIAA or SCO in assuming otherwise?

    > Or will manufacturer simply stop using GPL code at all and slowly switch to more
    > corporate-friendly instead of user-friendly license like BSD ?

    More likely they will simply continue making and using proprietary code. That's what I would do. Aside from really large projects like the Linux kernel, it is not that much more difficult to rewrite than it is to reuse. That's what salaried programmers are for and lots and lots of unpaid overtime. If they bark, we can always outsource to India.

  4. Just like RIAA on FSF Rattles Tivo Saber At Apple · · Score: 1

    Borrowing RIAA's tactics, we can now accuse people of violations and assume they are guilty until proven innocent. Of course, when RIAA does it, it's bad; but when FSF does it, it must be good.

  5. It isn't your business on FSF Rattles Tivo Saber At Apple · · Score: 2, Insightful

    > TFA only illustrate that, by using DRM and Trusted Computing,
    > Apple has taken away the freedom to tinker that the GPL was
    > supposed to bring for peace of code like WebKit and such.

    You are entitled to your opinion, but the iPhone belongs to Apple, not to you, and it is none of your business under what terms they decide to sell it. If you dislike the terms, don't buy it. Let the rest of us make our own decision.

  6. Why not just one chip? on Apple iPhone Dissected · · Score: 2, Interesting

    I wonder if some EE guru could answer me what might be a stupid question: what's the point of using a PCB these days instead of just putting everything on the same chip? I highly doubt that anyone would try to repair an iPhone by substituting some component. Hell, we don't even fix TVs any more. There might be some advantage to using a generic component, but once you are making a custom chip, it would seem to be no harder to merge all the others into it. With the architecture being mostly virtual, I doubt there would be any physical design revisions that could be corrected by revising the layout. So why the PCB?

  7. A long way off yet! on First Quantum Computing Gate on a Chip · · Score: 1

    > the result may pave the way for devices of double the size in the next year or two

    Well, at the current rate of progress, we might see a Quantum Pentium III in about 26-52 years, depending on whether its "next year" or "two". I might be dead of old age by then.

  8. Re:Teleporter death on Quantum Dots Might Be Key For Teleportation · · Score: 1

    > Consider this: Your body is constantly rebuilding itself with new and different
    > energy and disposing of the old parts. Whats the difference?

    Consider this: no matter how often you upgrade your PC, you can still run the same exact copy of Windows. When you understand that there is no difference between software running on hardware and a soul running in the brain, you'll know that no matter how much health food you eat, you can still end up in Hell.

  9. Re:DUH on When Does Technolust Become An Addiction? · · Score: 1

    Well, it used to be pounds of silver, but inflation has since lightened your load considerably. These days a million pounds only buys 12000 pounds or so, which, I admit, is still a bit much to carry.

  10. Recursive grep is also quite useful on Linux Programmer's Toolbox · · Score: 1
    When you have a large directory tree and constantly need to grep for stuff, you might find the following script useful. I wrote this last year after yet another round of typing complex find/exec commands. Basically, you give the script the search pattern just like to grep and it searches all source files in the current tree for it. Add the -v option and it automatically edits all the matches in vi.

    #! /bin/sh
    declare -i INREGEX=0
    declare -i LEDIT=0
    declare -a REGEX=
    declare -a GREPOPTS="-H"
    for i in `getopt -o vl -u -- $*`; do
        if [ "$i" = "--" ]; then
            INREGEX=1;
        elif [ "$i" = "-l" ]; then
            GREPOPTS="$GREPOPTS -l";
        elif [ "$i" = "-v" ]; then
            LEDIT=1;
            GREPOPTS="$GREPOPTS -l";
        elif [ $INREGEX = 1 ]; then
            if [ ! "$REGEX" = "" ]; then
                REGEX="$REGEX ";
            fi
            REGEX="$REGEX$i";
        fi;
    done
     
    if [ $LEDIT = 1 ]; then
        MATCHES=`find . \( -name '*.cc' -or -name '*.h' -or -name '*.c' -or -name '*.cpp' \) -exec grep $GREPOPTS "$REGEX" '{}' \;`
        if [ -z ${MATCHES} ]; then
            echo "No matches.";
        else
            vi ${MATCHES};
        fi
    else
        find . \( -name '*.cc' -or -name '*.h' -or -name '*.c' -or -name '*.cpp' \) -exec grep $GREPOPTS "$REGEX" '{}' \;
    fi
  11. Of course you can prevent it... on Virginia Tech Report Cites Privacy Law Problems · · Score: 1

    > You can't prevent this sort of thing. It really is impossible.

    You can prevent it if you know its cause. Unfortunately it is hard to make people understand something when their jobs depend on not understanding it.

  12. But we CAN do better! on Can Statistics Predict the Outcome of a War? · · Score: 1

    > Is that lots of people are going to suffer and die, and lots of money will be spent

    Not necessarily. Imagine how great it would be if everyone adopted this statistical model as the standard method of warfare. Suppose country A wanted to go to war with country B. A declares war on B. A and B both go to their computer labs and run simulations. If simulations predict that A will lose the war, B declares victory. If simulations predict that B will lose the war and B's simulations say the same, B will surrender. See how nice things are? Nobody has to get killed, there is no wasteful spending, and hell, we will not even need standing armies any more. If this is not a way to world peace, I don't know what could be.

  13. Re:Parents: on FCC Indecency Ruling Struck Down · · Score: 1

    How about not letting parents watch it? Every kid knows all the swear words by the age of six and I have never met one who was particularly offended by this. It's the parents who freak out and then pretend that if they "protect" their kid from bad language, he'll never hear it. They clearly have forgotten how they themselves learned all those words - from their peers in school. And yet, nobody runs massive nationwide campaigns in favor of preventing kids from interacting with other kids. Gosh, don't they know that peer influence is the root of all bad behaviour?

  14. Re:So now we're afraid of swearing on the internet on FCC Indecency Ruling Struck Down · · Score: 1

    Ask your kids. I'm certain they'll know.

  15. That wasn't what Solomon did on 'Eolas' Browser Plug-in Patent Case Rises Again · · Score: 1

    King Solomon offered to cut the baby in half to find out who the real mother was, since the real mother wouldn't do that to her baby. In this case the appropriate parallel would be to ban browser plugins to both Microsoft and Eolas. Since Eolas is little more than a PITA and doesn't have a product of any kind, they shouldn't be bothered by that at all, which by analogy with Solomon's decision would give the patent to Microsoft.

  16. Walking houses? on Robotic Ecologies · · Score: 1

    I can just see giant skyscrapers walking about in New York city, fighting sumo-style, squashing little people under their foundations. Now that would be a thrill!

  17. People never lived in caves on Creationism Museum Opening in Kentucky · · Score: 2, Insightful

    If you believe the Bible, people never lived in caves. Adam and Eve went straight to a bronze-age livestyle, raising crops and livestock, and living in more or less decent housing. If anyone in their time lived in caves, it would have been some poor stupid shmucks who had no idea how to build a house. (All normal people are born knowing things like that and can undertake great engineering projects like, say, a giant floating Ark, without much instruction) Surely, we can't expect stupid people like that to know how to paint, can we?

  18. Call your mother on Better Communication with Non-Technical People? · · Score: 1

    No, really. If you can explain to your mom how your exceptionally technical recommendations work, no PHB will be able to stand against you. As a bonus, mom might finally figure out that you are not twelve any more.

  19. Pi seconds on The Shape of the Future · · Score: 1

    Remember that Pi seconds is a nanocentury.

  20. What revenue? on Sun Says, "Compensate OSS Developers" · · Score: 1

    > developers create free intellectual property only to have others
    > scoop it up and generate huge amounts of revenue

    Anybody care to give an example of this happening? I am not aware of any free software that was "scooped up" and is now generating "huge amounts of revenue".

  21. We'll find out in a few years. on NASA Tackles Ethics of Deep-Space Exploration · · Score: 2, Informative

    Some are trying to find out.

  22. Re:Remember how evolution works! on Chimps Evolved More Than Humans · · Score: 1

    > please be aware that a person's intelligence is NOT inversely proportional to their appearance.

    My point was exactly the opposite; namely that I believe a person's good looks are directly proportional to his intelligence. You just have to have good taste to recognize it ;)

  23. Re:Remember how evolution works! on Chimps Evolved More Than Humans · · Score: 3, Insightful

    > being a brilliant and beautiful woman never helped me get laid.
    > Even though I am, if I may be frank, fairly good looking.

    Good looking to whom? All the intelligent women I've known seemed beautiful to me, and that even before I knew they were intelligent. Conversely, many famous women and beauty contest winners leave me baffled as to what is so great about them. My guess is that our standard of beauty is biased toward people of intelligence level equal to ours. In my experience, I can usually guess any person's approximate intelligence level simply from their appearance, and, as I have recently discussed in my journal, this measurement has a strong impact on whether I would wish to befriend them and, apparently, on my evaluation of the quality of their looks.

  24. You can just block them, you know... on Delete Cookies, Inflate Net Traffic Estimates · · Score: 1

    I don't delete cookies because I don't accept them in the first place. I explicitly allow the sites where I want to be tracked, of course, like Slashdot, but everywhere else the browser is set to block everything by default. If the site doesn't work without cookies, you can allow session cookies, which is usually enough. Or, just leave. There are likely to be plenty of other sites with the same information but without the stupid cookie requirement.

  25. Remember how evolution works! on Chimps Evolved More Than Humans · · Score: 4, Funny

    It should be remembered that in the context of evolution, "beneficial" always refers to an individual's ability to pass along his genes through reproduction. And, as most of Slashdot readers surely know from personal experience, larger brains and advanced cognitive abilities are not particularly beneficial in this task.