Slashdot Mirror


Michi Henning on Computing Fallacies

Karma Sucks writes "Check out this summary of a keynote at Linux.conf.au by Michi Henning of CORBA fame. It really hits the nail on several points. I especially liked the point about people constantly rewriting letters in these modern times, as opposed to say 1945 where it just wasn't worth the pain of re-typing a letter. The only point that didn't made sense in this summary was the one about "source code being useless"."

228 of 559 comments (clear)

  1. Of course. by SuiteSisterMary · · Score: 3, Insightful
    source code is useless.
    "But wait!" you hear the OSS people cry. "If you have the source code, you can fix bugs!" "Well," I have to ask, with a rather pensive look on my face. "If the people who designed and wrote the software can't find the bugs, what makes you think that throwing somebody at it in their spare cycles is going to help? We want software that works, so we can do our business. Our business is not writing this software." From a business perspective, at least.
    --
    Vintage computer games and RPG books available. Email me if you're interested.
    1. Re:Of course. by coyul · · Score: 2, Interesting

      "Well," I have to ask, with a rather pensive look on my face. "If the people who designed and wrote the software can't find the bugs, what makes you think that throwing somebody at it in their spare cycles is going to help? We want software that works, so we can do our business. Our business is not writing this software."

      "Given enough eyeballs, all bugs are shallow."

      The idea is that if everybody gets to see the code, the problem will be obvious to somebody. It certainly stands a better chance of being found than if only the original coders (who might not see anything wrong -- after all, they wrote it that way in the first place) get to look under the hood.

    2. Re:Of course. by jidar · · Score: 5, Insightful

      "If the people who designed and wrote the software can't find the bugs, what makes you think that throwing somebody at it in their spare cycles is going to help? We want software that works, so we can do our business. Our business is not writing this software."

      Well that sounds good, but it's been proven wrong in practice.

      At this point, with all of the incredible software that has been produced by open source methods, I don't think it leaves people much room to attack the open source design philosophy. It clearly works and works well, it just works differently than people expect.

      --
      Sigs are awesome huh?
    3. Re:Of course. by taliver · · Score: 2, Insightful

      Sure, the very obvious bugs might be caught, but there's a catch:

      If software has bugs that are easy to see, and come up frequently, it's perceived as "buggy", and few people will download it, and fewer eyes will look for the bugs.

      If a bug is harder to reproduce, it probably doesn't come up very often, and not everyone will spend time looking for the bug. Hell, I'm in a research environment, I know how to code, and my KDE print daemon crashes everyday. I don't care enough to try to submit bug traq reports, or look at why it's crashing, I'm just going to hope that it magically gets fixed in the next release.

      Exactly how many people here have actually hunted through source code to find the one little bug that annoys them, like the fact that Konq occasionally ignores links, or that it's javascript interpretter is far from perfect. Source code is not the magic bullet, but I'll admit it's better than nothing.

      --

      I demand a million helicopters and a DOLLAR!

    4. Re:Of course. by nosferatu-man · · Score: 5, Interesting

      "Given enough eyeballs, all bugs are shallow."

      An absurd fallacy. Perhaps for fetchmail or hello, world! or other,
      similarly sized projects, but nowhere else. Debugging require not
      merely a pair of eyeballs, nor even crackerjack programming skills,
      but mostly an understanding of the problems and compromises that went
      into the creation of the software system in the first place.

      To produce better software, we need better programmers, and better
      tools, not meaningless platitudes about the business justification of
      Open Source licensing.

      Peace,
      (jfb)

      --
      To spur "enterprise Linux," Big Bang, the distributed two-phase commit.
    5. Re:Of course. by gmack · · Score: 5, Interesting

      Complete BS.. I've yet to see any testing that manages to find 100% of the bugs.

      Through my time as a sysadmin I've come accross bugs in both open and closed source software and have definatly come to appreciate being able to fix the bugs on my own.

      Example: Last weeks helpdesk software installation. The software was incompatable with qmail. Fix: 5 minutes. Any guesses how long it would have taken to get the closed source equivelant fixed?

    6. Re:Of course. by Daemonik · · Score: 2, Insightful
      The greatest benefit of open source code is that when a bug enevitably does show up, it can quickly be fixed without waiting for some uber corporation to:
      • admit there's a bug in the first place
      • see if they can wait and force you to upgrade the whole product to get this bug fixed
      • decide if you rank as a large enough financial interest, or if this bug will effect a significant number of users, to actually put an engineer on this bug for a few hours to create a patch
    7. Re:Of course. by nosferatu-man · · Score: 2

      I should point out that I do in fact believe in Free Software, and the
      distribution of source is an invaluable gift. But it's not going to
      make problems disappear without a reevaluation of the culture of
      software.

      Peace,
      (jfb)

      --
      To spur "enterprise Linux," Big Bang, the distributed two-phase commit.
    8. Re:Of course. by DrSkwid · · Score: 5, Insightful

      *sigh*

      source code isn't necessarily about bugs

      it's also about insulation from change or situations the author couldn't see, test, have predicted, have known about.

      I may never READ the source code for 99.9% of my apps but they day something get's changed and Eric's OSS projects fails I can go find o.ut why and fix it. Without the source I'm screwed.

      And as it happened I did exactly that yesterday when the plan9 imap file server didn't get along with Courier. By having the soruce code I was able to track down the problem to it being a wrong assumption in the code AND a config problem in Courier.

      If I'd had no source code I would have been screwed.

      So Mr Henning can't be that clever if he can't even see what the potential is

      He's making the classic mistake of saying something is worthless to everybody when he means it's worthless to him

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    9. Re:Of course. by Isle · · Score: 2, Insightful

      Another falacy:
      It requires "crackerjack" programming skills to do debuging and fixing bugs.
      - The most commons bugs are typos
      - The second most common are stupid ones
      - programmers think their own code is k33l, and QA is and will always be a joke

      More eyes always help, especially if the eyes can fix the bugs them selves.

    10. Re:Of course. by Bilestoad · · Score: 2, Funny

      "Given enough eyeballs, all bugs are shallow."

      "Given enough monkeys and typewriters, you have the complete works of Shakespeare."

      Of course the only problem is that you need the right monkeys. Too often the monkeys you need already have full-time jobs and are happily taking home lots of bananas. It might be that the monkeys with spare time just aren't capable...

    11. Re:Of course. by Jeremi · · Score: 3, Interesting
      "Given enough eyeballs, all bugs are shallow." An absurd fallacy.


      Care to back this up, say with some examples of projects where large numbers of people swarmed over the code and still couldn't fix the bugs?

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    12. Re:Of course. by Kaa · · Score: 2

      "Well," I have to ask, with a rather pensive look on my face. "If the people who designed and wrote the software can't find the bugs, what makes you think that throwing somebody at it in their spare cycles is going to help?

      "Well", answer I without a pensive look, "I can find that bug because it's breaking my system right now and I can reproduce it. If I can reproduce it, I can trace it, and watch exactly what's happening in a debugger, and fix this statement in the code where the programmer assumed that nobody would select options foo and bar, while setting qux to 42 at the same time."

      I am not going to be fixing bugs in other people's programs just so. I'll be fixing them when these bugs stare me in the face, and in these kinds of situations bug-hunting is not so terribly hard.

      --

      Kaa
      Kaa's Law: In any sufficiently large group of people most are idiots.
    13. Re:Of course. by Shadarr · · Score: 2, Interesting

      It won't eliminate all bugs in software, but what it does is enable programmers to fix the bugs that are the biggest impediment to their project. An example:

      The company where I work has a number of projects. One of them is a front-end, windows GUI. Another is a backend Java servlet. On the front end, we had to get our Viewer to work with a screen-reader so blind people can use it. The screen-reader is proprietary, and has bugs. We informed the maker of the screen reader of the bugs, but in the mean time had to put in all sorts of hacks to make our software avoid the bugs in the screen-reader. Also note that we informed them of the bugs almost a month ago and have not received a fix.

      The Java servlet runs on Tomcat, which is open source and has bugs. Our programmer was able to fix the bugs in Tomcat that prevented our program from working, submit them to the project and have a working copy within a week.

    14. Re:Of course. by notfancy · · Score: 2, Insightful

      "If the people who designed and wrote the software can't find the bugs, what makes you think that throwing somebody at it in their spare cycles is going to help? We want software that works, so we can do our business. Our business is not writing this software.

      Well that sounds good, but it's been proven wrong in practice.

      This may sound as a flame, but it's not. I am most definitely in disagreement with the hacker ethics. I believe that "hacker" is an euphemism for "lousy programmer". Most admit to not knowing what they are doing most of the time. Most brag about "proper indenting and commenting" of code to be the moral equivalent of wearing pink slippers and tutu in public. Many have no concept of personal hygiene, and so can't be expected to adhere to hygienic coding practices (strong typing, modularization...).

      The divinization of the hacker ethics seems to me to be a distinctly American phenomenon, and I think it is probably the worst aspect of the American computing scene/marketplace/you name it.

      Of course, some OSS is just great (to the top of my mind comes the *BSDs and almost anything by the Apache Project); but some OSS is just crap. This is of course a very general law (Sturgeon's Law, I believe), one that can't be expected to be circumvented by any amount of magic, not even by using Open Source processes and practices.

    15. Re:Of course. by dillon_rinker · · Score: 5, Insightful

      I'll take this in reverse...

      Our business is not writing this software.

      I work for a law firm. Our business is to produce legal documents and legal arguments. Our business is not accounting, yet we have accountants on staff. Our business is not records management, yet we have records management specialists on staff. Our business is not facility maintenance, yet we have facility maintainers on staff. Our business is not programming, yet we have programmers on staff.

      We want software that works, so we can do our business.
      All commercial software is broken in some way (exceptions number in the single digits). Source code hinders your ability to have software that works. It follows that source code hiding hinders your ability to do your business.

      what makes you think that throwing somebody at it in their spare cycles is going to help?
      We have 400 attorneys. A bug (misfeature, non-optimized routine, poorly designed UI, etc.) that costs us three minutes per attorney per day costs us $3000 daily. (average billing rate is $150/hr)It may be worth our while to hire a programmer at $50/hr to fix the problem. Without source code availability, we have no choice but to burn money on a daily basis.

      If the people who designed and wrote the software can't find the bugs
      The bug may be specific to the way we use the software, or it may be preventing us from using the software the way we want. Perhaps we want a dialog box organized in the way that is most efficient for us. Maybe a program has its data path hardcoded and we want to store data someplace else. One program we have produces a hash that is used for the filename; I'd like to see a differenct algorithm used (for reasons to complex to go into now.) I'm hardly a programmer (I know a bit of C, a bit of VB), yet I'm confident that I could, by studying code, determine if these changes are feasible and locate where code needed to be changed. A pro could be hired to validate my opinions (or deny them!); another pro could be hired to do the work.

      Here's another reason why source-code availability and the right to modify and recomile it is a good thing to have: companies go out of business. We use a program called Wealth Transfer Planning that is pretty cool; it automates the creation of wills, trusts, estate plans, etc. The company that makes it has disappeared. We are stuck with ALL our bugs and NO possibility of improvement to either the content or the engine.

    16. Re:Of course. by GSloop · · Score: 2, Informative

      But, you fail to see a significant point.

      I probably won't go looking through code unless I have a reason. The #1 reason would be a bug/feature that doesn't work right. So, I do a few searches, find no solution. Look at updates etc. still no joy. I crack open the code, review it, run my paticular bug through it, and bingo I find a bug. In OSS, it's then in my and everyone's interest to bring the bug to the attention of the maintainer.

      Being able to review the code that actually causes my problem, and having the problem in the first place is a massive leg up.

      I've had this problem on projects that I've worked on. We're working in a Delphi project right now. We bought the source to several tools we use, and we've found several bugs, and FIXED them.

      Without the source, we would have to interest the vendor in responding to the problem, (really difficult often!) explain the problem, (no easy task) help the vendor replicate it (don't even get me started) and finally get the patch from the vendor.

      So OSS and just plain having the source make lots of difference in fixing bugs!

      Cheers!

    17. Re:Of course. by Shotgun · · Score: 2

      Several replies, but none answer the question directly.

      "If the people who designed and wrote the software can't find the bugs, what makes you think that throwing somebody at it in their spare cycles is going to help?

      Because, it isn't until the software is tried on a different platform or within a different environment that the bug manifest itself. The bug would be there whether it was Open Source or not, but with Open Source we can actually have a hope of fixing it before our competition. Our business may not be writing this software, but sometimes if we want the right tool to do our job, we have to make them ourselves.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
    18. Re:Of course. by Pope+Slackman · · Score: 2

      Care to back this up, say with some examples of projects where large numbers of people swarmed over the code and still couldn't fix the bugs?

      Mozilla, anyone?

      C-X C-S
      Three years. Still buggy, still slow, still no release. But hey, we have themes!

    19. Re:Of course. by Shotgun · · Score: 2

      Debugging require not merely a pair of eyeballs, nor even crackerjack programming skills,but mostly an understanding of the problems and compromises that went into the creation of the software system in the first place.

      I've done formal software testing. What is more important than anything else is having enough different situations for a bug to manifest itself and then being able to isolate the piece of code involved. You do not have to have a complete understanding of an entire codebase in order to debug a specific problem. With OS, I can debug my specific problem, and you can debug yours. Then we both check-in our fixes. I never even see the problem you saw, and you never saw mine, and once we both upgrade neither we never will.

      Bugs are usually shallow if you have specific enough example situation for that bug to manifest itself. If you only have a team of 10 to consider the situations, they will be very busy and the bug reports pile deep. If you have exactly one bug to worry about, the pile is VERY shallow.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
    20. Re:Of course. by RovingSlug · · Score: 2

      It IS absurd.

      "People swarming over the code" sounds a lot more active than "Given enough eyeballs". So already you're asserting something different than the saying. Probaby if we get into it, we would come to the point where we say, okay not swarming, but a good solid code review and a lot of eyeballs. At that points, where's the magic? The eyeballs? Or the code review?

      I'd assert something like the "Mythical Man-Bug". A fallicy implying there's some number of bugs to be found per person. You get enough people, you'll find all the bugs. Riiiight. Just double the number of people on your project while you're at it, you'll be done in half the time.

    21. Re:Of course. by Sj0 · · Score: 2

      If software has bugs that are easy to see, and come up frequently, it's perceived as "buggy", and few people will download it, and fewer eyes will look for the bugs.

      BWAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA HAHAHAHAHAHAHAHAHAHAHAHAHA!

      LOL!

      Have you seen the state of the computing industry? Buggy, crappy software makes up a monopoly-scale market share!

      People are stupid. Tell them they want something, and they'll want it.

      --
      It's been a long time.
    22. Re:Of course. by Tony-A · · Score: 3, Interesting

      Building plans are worthless to most people. Most of the time. Still better if they exist.
      Two latent bugs. With the source, it's almost as good as if the bugs didn't exist. The overall effect is getting 5-nines reliability at a cost of 3-nines reliability. Also if you are facing a scissors/rock/paper scenario, any assumption you make will be wrong is some cases.
      For most people, most things, most of the time, source code is useless. For most people, 5-nines reliability is useless expense.

    23. Re:Of course. by Tony-A · · Score: 2

      I'd take odds on never.

      With Open Source and a bit of effort, it is possible to get pretty close to effectively 100% bug free. The remaining latent bugs are extremely difficult to find and can even be impossible to eliminate without introducing more bugs. You encounter a bug that no one else would encounter. Even if the patch to cure the bug you encounter creates seven latent bugs that you will not encounter, this is a good patch for you (only).

    24. Re:Of course. by geekoid · · Score: 2

      Well said.
      what /. needs is a "ditto" button. so I can see a post that I gree with, such as your, and just click ditto.
      it would be intersting to see the effects of that.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    25. Re:Of course. by istartedi · · Score: 3, Insightful

      Guys, guys, you're all missing the point. So is Henning. In response to the question "Is Open Source the solution or isn't it?" I answer with a resounding "Yes". :)

      Examples where the proprietary model has excelled: Highly optimized code (Intel compiler) User friendliness (MacOS, Windows) Timeliness (Sun's original Java implementation--was any OSS project working on xp GUIs before Java?).

      Examples where Open Source model has excelled: Portability (are there any platforms that don't support the JPEG libraries?) Endurance (LISP stuff from the 80s will never die). Security (OpenBSD or NSA's Linux).

      Examples where proprietary has failed: Ongoing access and support for legacy products (Where can I legally buy MS-DOS and get support for it?) Broken formats (WORD documents) Security (Outlook) Customer relations (product activation--no thank-you).

      Examples where Open Source has failed: As a business model (Loki) Time to market (HURD, where are you?) Political entanglements (Say "GNU" before everything or you are not my friend).

      When choosing, you have to look at the strengths and weaknesses and decide what is important to you. Sometimes that will lead to Open Source software as the correct choice. Other times it will lead to proprietary. If you are lucky you can mix-n-match That's why I love using MSVC (proprietary) to write Freeware (proprietary) that uses IJG code (Truly Free Open Source), and using the resulting app to generate frames that I pass through Gifsicle (GPL) to generate GIFs (proprietary format) to put on the Internet (Open Standards) that most people will view through IE (proprietary). And everybody is happy if they choose to be.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    26. Re:Of course. by geekoid · · Score: 2

      You no, if your attorney want to be silent parteners in a business that makes software as cool as the one your now using, let me know!

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    27. Re:Of course. by Tony-A · · Score: 2

      "Given enough eyeballs, all bugs are shallow."
      An absurd fallacy.

      Nope. You are assuming that's eyeballs just looking at the source without any runtime state information. You get everything arranged just so, and look at everything just so, and the deep bug materializes out of the mists and looks like a bug. This does take many eyeballs to stumble on the chance viewpoint that shows the bug as what it is.
      Debugging does not start with the source. It ends with the source. (assuming you actually want to fix the bug;)

    28. Re:Of course. by Zeinfeld · · Score: 2
      "Given enough eyeballs, all bugs are shallow."

      An absurd fallacy. Perhaps for fetchmail or hello, world! or other, similarly sized projects, but nowhere else.

      The cause of most longstanding security bugs is almost always a major error of design that is not easily corrected.

      Take for example sendmail and Outlook, two programs that have become the Typhoid Mary of security. The problem in both cases is a failure of code/data separation. Outlook encourages users to open random content sent from random addresses and we wonder why viruses are a problem. Sendmail has a crazy macro processing language built in that is completely unnecessary for managing SMTP, the numerous buffer overflows in this code only serve to hide the structural problem.

      The other problem that the talk highlights is that ideology is the cause of the problem and not the solution. sendmail has been opensource for almost twenty years and shows no signs of being fully debugged yet - and that despite the fact that it is an application whose requirements have decreased over time. Who cares about routing bang path mail or X.400 these days? The code to support that stuff should have been excised years ago.

      The reason I like source code is that it allows me to extend a program to do something I need it to do that it doesn't do yet. Even then I would much prefer a well written API to source code, but source code plus API plus documentation is best of all.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    29. Re:Of course. by Tony-A · · Score: 2

      Quibble on terminology.
      ... introduce a new bug.
      The bugs (plural) were always there. There was just no way that anyone "should" encounter them. There was no way that all the bugs could have been tested out of the system. The combination allows latent bugs to get together, come out of hiding, and become visible. Ideally, you fix both, but fixing either is enough to make the bugs go back into hiding.
      There is no such thing as a debugged program (except possibly something by Knuth;)

      You can't predict everything.
      You can't, but you need to. Open Source is a real effective and real cheap substitute for the difference.

  2. Where's this guy's asbestos suit? by wrinkledshirt · · Score: 3, Funny

    Fallacy 10: Open Source is the Answer

    - Economic model is doubtful

    - Source code is useless

    - Motivation for Open Source is inappropriate for most software

    - Nerd culture is counter-productive


    I'd like to see him come here and say that. ;)

    --

    --------
    Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...

    1. Re:Where's this guy's asbestos suit? by zangdesign · · Score: 3, Insightful

      I agree with those points for the most part (they may be overstated a bit much for my taste).

      The economic model is so far proven to work for only a few companies and not for the industry as a whole. I suspect that basing the industry entirely on service and support is going to drive the prices for those functions much higher and frustrate most users. By offering the program for free, most users are going to expect free support.

      Another relevant thought is that without closed-source companies to support the programmers who are donating software, how are these programmers going to survive? A recent article in the Register (http://www.theregister.co.uk/content/4/23935.html ) noted that most Open Source programmers are employed by closed source companies. If they damage their employer's ability to deploy software, what good does that do anybody?

      Source code IS useless if you don't have time to look over it or modify it. It only benefits the 5% or so that are actively involved in maintaining or modifying the code. The remaining consumers get absolutely zero benefit from it.

      I'm not sure I can argue either for or against the third point, except to say that once the money is removed from the equation, how do you force change without innovation? Ie., fixes instead of new features?

      The nerd culture IS counterproductive, since it emphasizes an antagonism toward those who run businesses (suits) and those who sell products (marketroids). In order for Open Source to succeed, there is going to have to be a meeting of the minds on a massive level, not just a few companies here and there.

      --
      To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
    2. Re:Where's this guy's asbestos suit? by mkoenecke · · Score: 2, Interesting

      I'll come here and say that, at least about one of the points: "Motivation for Open Source is inappropriate for most software." That is my main beef with open source advocacy: it will only produce good software that does things that *programmers* really want and need. Hence such things as Apache, whereas many Linux advocates see no need for a text processor more sophisticated than emacs. My main obstacle to moving entirely to Linux (other than games) is business applications, like Timeslips, Peachtree Accounting, Kleinrock's Tax Expert, and much other tax and legal software. Sure, I could find open-source alternatives *almost* as good, but that would entail reconfiguring my entire way of running my practice. Perhaps I should; but it is simply much more practical for a lawyer to use Windows and available Windows programs -- and I doubt that the open source community will produce a viable alternative soon. The bazaar does have its advantages; but it is not a replacement for the cathedral.

      --
      TANSTAAFL
    3. Re:Where's this guy's asbestos suit? by JoeBuck · · Score: 2

      Well, the economic model for open source is doubtful, under current conditions at least. I was a very early customer of Cygnus. We needed to pay them in part because g++ was so horrendously buggy in those days: it's easier to have a support business to support code that badly needs it.

      Source code isn't useless, but it is useless to many people (those without the skill to change it or the funds to hire someone to do so). It is very useful to folks like me. But most computers are embedded systems programmed in assembly language. How useful would the source code to your microwave oven be to you?

      The motivation for open source works very well for tools that the programmer himself/herself needs, for producing tools with rough edges that can be handled successfully by other programmers. It gets harder with applications; in this cases the only successful open source projects clone some proprietary design (the Gimp, Gnumeric, etc). The truly original open source creations, like Perl, Python, and Emacs, are environments built by nerds for nerds.

      The nerd culture can be counterproductive. Nerds focus on minutia and often don't see the big picture. In many cases, nerds find themselves working for someone who has the opposite limitation. This should be no surprise. Also, many programmers are the wrong kinds of nerds. Civil and mechanical engineers obsess on getting everything correct, because they are well aware that if they don't, people may die and careers may end. Too many programmers lack rigor and think of themselves as artists, not engineers, even if they use the term "software engineer" in their title.

      A key issue, that software is brittle and downright dangerous, is not addressed by either proprietary or open source software today. If we fix this by requiring proprietary software to have a warranty against severe defects, what happens with open source software, where the distributor cannot possibly provide a warranty?

      I'm afraid that Microsoft may start to get it about security before the open source movement does. If you think that the open source movement gets it, then why did the Debian project need to issue 81 security updates in 2001? Both Microsoft and Linux are putting out software that is too buggy, and the BSD world isn't as much better as they claim, despite better practices (code auditing is great, but a lot of work: move most of what Linux distributions call the system into "ports" and then the bugs don't count against you).

      I think that open source can work, but not in the current economic climate (native to the US, being forced on other countries through the GATT and the like), which elevates "intellectual property" to a universal value. A funding mechanism is needed. One possibility is that governments fund it. This would actually save taxpayers a lot of money, since governments are currenty paying Microsoft and the like hundreds of millions just for Office, and paying again every few years for upgrades. That would pay for a lot of full-time programmers.

    4. Re:Where's this guy's asbestos suit? by cduffy · · Score: 2

      Source code IS useless if you don't have time to look over it or modify it. It only benefits the 5% or so that are actively involved in maintaining or modifying the code. The remaining consumers get absolutely zero benefit from it.

      Not so.

      My company sells a distribution containing a bunch of open source code mostly written by other people, ported and tested against a wide variety of platforms, with some other changes specific to the market we sell to. There are other companies doing pretty much the same thing. Hence, there's competition between people maintaining and distributing this exact same code.

      In a closed-source world, a potential client would be tied to only one supplier for a given codebase. Once that client chose that supplier, they'd be wedded to it (us?) unless they chose to massivly modify their applications, development process, &c to deal with a change of platform. In the open-source world, our clients can change suppliers whenever they want to. The reason they don't is that we (have to!) provide better service and reasonable pricing. Hence, while the customer may never modify this code themselves, they're still all the better off for having source available.

      If that customer runs into a bug, they can pay us (or one of our competitors, or the original author, or one of their own engineers, or whoever) to track it down and fix it. If they want a new feature, the same. Hence, the customer truly is better off because source is available -- even if they never touch it themselves.

    5. Re:Where's this guy's asbestos suit? by cduffy · · Score: 2

      The whole argument about stereotypical OSS motivation being inappropriate is utterly irrelevant in a great many cases. That is to say: Quite a few of us (myself included) get paid to write open source software.

      Now, my company doesn't sell to desktop users, and there's pretty much no chance we'll ever find ourselves working on an accounting system (we build a Linux-based embedded OS distribution), but the point holds: People work on OSS for reasons other than their own entertainment.

      I can't see many folks willing to pay for an OSS alternative to Peachtree to be written from scratch, but I can certainly see potential sponsors (read: folks who want their own custom accounting software) paying for one of the existing (and admittedly sub-par) programs to be brought to the level of the current commercial competition, or at least to have all the features needed by said sponsor added. A few years ago I almost was involved in a project to build a point-of-sale system under similar terms. The ability to use preexisting OSS to speed the project was of sufficient benefit as to justify the associated license terms to the (proposed) backer.

      Which is to say... if it's cheaper to buy or hire your software built in the bazaar, why go to the cathedral? Certainly, right now you may be better off using Peachtree -- but don't count OSS out of the market permanently simply because it has no presence there now.

    6. Re:Where's this guy's asbestos suit? by cduffy · · Score: 2

      Source code isn't useless, but it is useless to many people (those without the skill to change it or the funds to hire someone to do so).

      Disagree. I get paid to write OSS for an embedded systems company (MontaVista). This model works out quite well for myself, my employer, our customers and our customers' customers (who see cheaper devices out the door with less development time) -- even though the last group may never need to see a line of code.

      Even our customers may never need to see this source (that's why they hire us!), but it's there if they need it (why have to phone their supplier if they can fix it themselves in 5 minutes?) and further it allows them to change suppliers if they're unhappy with their service (thus insuring our own honesty, that we price our product reasonably, &c).

      As for the objection that the distributor "cannot possibly provide a warranty", one of the services we provide is complete testing of our distribution. For a limited and tested set of what we provide, we can provide a warranty (can't say if we do -- I'm not sales or legal -- but we try to test to that standard). I'd hardly say that most commercial software vendors are any more prepared to do the same, anyhow. I agree, however, that it should be the consumer's burden to demand a warranty (and pay for one!) when they think it required. Forcing people to pay for services they may not need just doesn't Make Sense.

      I agree that it makes sense for the government (or any business which has high enough software licensing costs) to support OSS for their software needs. However, such a mechanism isn't so needed as you make it out to be -- those in the private sector, if they evaluate the situation honestly, will frequently find OSS development to be in their own best interests as well.

    7. Re:Where's this guy's asbestos suit? by geekoid · · Score: 2

      haha that's funny.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    8. Re:Where's this guy's asbestos suit? by zangdesign · · Score: 2

      The downside of this is that you are giving an advantage to your competitors by giving them the same codebase. Why would one aid a competing company - this does not make sense.

      If your company issues stock, are the various stockholders aware that you are, in effect, giving away a competitive advantage?

      --
      To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
  3. List of things developed with pre-1946 technology by sphealey · · Score: 5, Insightful

    Penicillin - 1920's technology
    Iowa/Yamoto class battleships - 1920's technology
    Apollo moonrockets - 1940's with a dash of 50's
    Polio vaccine - 1880's with a dash of 1940's
    Transistor - 1930's
    Bulk transport system, rail - 1860's
    Bulk transport system, car/truck - 1920's
    Airplane - 1910's
    Fast airplane - 1950's

    Yup, makin progress fast.

    sPh

  4. Re:I love Fallacy 10 by TrollMan+5000 · · Score: 2, Insightful

    What could be better capitalism than providing a quality product at no cost? The ultimate competition.

    Though at first appealing, it's economically impossible. There is a cost to everything, whether financial, labor or opportunity cost.

    There is no such thing as a free lunch.

  5. One size != all by SirSlud · · Score: 5, Insightful

    > Nerd culture is counter-productive

    Nerds are the computer equivilent of the Enos, the Yoko Onos, the Peter Gabriels .. very creative, with a propensity to desire to push boundries. Their influences may not be approrpiate for the masses, but they lay the frame work for those who compute and program (or write pop and rock) to achieve practical purposes. Practical people see no value in thinking outside the boundries of current methods, but are more than happy to stand on the shoulders of those that do (as well it should be.)

    Whats wrong with different people born for different goals? Even if you don't directly contribute the masses, most changes in fundemental social systems (and technical systems) starts with someone rejecting the norm. As well it should be. Leave them alone and let them nerd!

    --
    "Old man yells at systemd"
    1. Re:One size != all by km790816 · · Score: 4, Insightful

      Nerding is fine and good. I consider myself a nerd (some of the time). I like mountains of weird and crazy features and talk of obscure technical jargon.

      The point is when one is making software to be used by the masses, nerdyness is a bad thing. Nerds like lots of features, we like complexity, we like living in our little world and working on our little pet project without much care for what others want.

      This in general is BAD for most people, most of the time. They want something that works, that makes sense, that's easy and simple and gets the job done. They could care less about command line options, flashing text, and alpha blending.

      That's the point that was being made and it's a great one.

    2. Re:One size != all by curunir · · Score: 2

      That's what product development and product management are for.

      Without the nerds to come up with the new ideas, there'd be no new ideas. Saying that "Open source is not the answer" is incomplete. Open source may not be the answer to the question, "How do we make software that works for the masses?" but it is the answer to the question, "How do we come up with new ideas for what software should do?"

      Once those ideas have been thought up, someone less creative can digest them and decide what subset of the new ideas will work for the masses.

      --
      "Don't blame me, I voted for Kodos!"
    3. Re:One size != all by mgkimsal2 · · Score: 2

      I hope you don't mean 'Enos' from The Dukes of Hazzard...

    4. Re:One size != all by Witchblade · · Score: 4, Informative
      Fallacy 7: Programs are Getting Better
      - How often do you need to
      - perform a Fourier analysis?

      Several times a day, usually. How often do I need to email a document to more than one person? Almost never. One tool is not adequate for all people. This is a fact all to often overlooked in arguing for software applications as standards.



  6. I are an engineer. by testpoint · · Score: 5, Funny

    It really hits the nail on several points.
    I like my metaphores stirred not mixed.

  7. Good points! by MattRog · · Score: 5, Interesting

    Fallacy 9: Programming is About Date Structures and Algorithms

    I'll agree here, although I see it most in database design. With the advent of such super-fast DBs such as MySQL there has been a FLOOD of horribly written applications that utilizes them. For instance, you'll see every column defined as CHAR( 255 ), or every table prepended with AUTO_INCREMENT columns even when they are not necessary. Indexing is poor or non-existent, and tables are horribly in need of normalization.

    Some finer points in design; I see some stuff like this a lot as well:
    function bob( varlist ) { $var = $joe + 12345; return $var; }
    You're wasting memory and such for the variable declaration and assignment, simply return $joe + 12345;.

    Fallacy 12: We are Making Progress
    - Progress in quality assurance has been remarkably slow

    I used to work in QA for a software company and I wouldn't say that I was the worst programmer there, but I think the problem is that 90% of the QA staff WERE NOT PROGRAMMERS or didn't have access to the source. Basically, QA reports bugs, they go into the queue, and then a developer, if they have the time when compared to all their code development, meetings and such, may have a chance to get to the bug. It would be nice if the QA staff, who may have software programming skills, would be allowed to be developers as well (e.g. all the rights of a developer but QA is their main focus). They attend the same dev meetings and such which gives them the insight to the architecture to allow them to fix bugs which have been approved by management.
    So in effect, have two programming teams.

    --

    Thanks,
    --
    Matt
    1. Re:Good points! by BigZaphod · · Score: 2, Informative

      Some finer points in design; I see some stuff like this a lot as well: function bob( varlist ) { $var = $joe + 12345; return $var; } You're wasting memory and such for the variable declaration and assignment, simply return $joe + 12345;.

      I know that you are talking about (what appears to be) PHP here, but I thought I'd toss in my 2 cents. In compiled languages small differences like that don't matter. If your optimizer doesn't suck (and most don't, these days), it will reorder your code to be as efficient as it can get it to be, and that includes things like elminiating uneeded variables, etc. So maybe what you are seeing is developers used to working with compiled languages that include a good optimizer and like to go for good, clear code as a first rule of thumb. No, that doesn't make it right, but just something to be aware of.

    2. Re:Good points! by Kris.Felscher · · Score: 3, Insightful
      I disagree, somewhat. It is important to have programmers in a QA environment, but I find that it's just as important to have complete computer morons in there too.


      As a developer, I inherently know what NOT to do. A computer moron doesn't know these things, and will use it like the end user will. An experienced programmer will use my programs like I will, and will usually get the tough errors back to me. A computer moron will get the obscure ones back, and it tends to be those errors which make it through to the end user.

      --

      Kris Felscher
      We've got enough youth, how about a fountain of "smart"?

    3. Re:Good points! by Nicolas+MONNET · · Score: 2

      For instance, you

    4. Re:Good points! by MattRog · · Score: 2

      Correct, I didn't want to type a whole lot of C++ or whatnot, so I stuck to type-independant PHP. :D

      From talking to Zeev (author of Zend Engine) he said that there would be a slight performance hit to doing something like that (I assume it is as you said the reorg and such).

      My style of programming is to keep excessive things like that to a minimum because 10ms more might not seem like much until your program (or in this case, web page) is hit 100 times a second. :D

      --

      Thanks,
      --
      Matt
    5. Re:Good points! by MattRog · · Score: 3, Interesting

      Kris,

      I agree with you as well -- if I came across as 'QA should only be programmers' then I apologize; that was not my intent.

      QA is more than just 'poking' at the program and seeing if it breaks. It's authoring test procedures, finding new and interesting ways to break the program, interacting with other developers and management, and a whole lot more. As a programmer I know I hated to write test procedures -- it is very very boring and as the complexity of what you are testing increases linearly the complexity of your test procedure increases exponentially. :D However, there were guys there who, although they didn't know much about programming, wrote EXCELLENT and in-depth test procedures and saved my butt many a time. :)

      However, we'd write up bugs such as "Inserting 32 characters in field XYZ on form 123 causes program to crash" which, in the grand scheme of things, could be viewed as either a "Show Stopper" (highest priority) or a "Do We Care/When We Have Time" sort of a bug. Considering adding range checking to a form is trivial giving QA clearance to fix that would result in a much better program (again provided the QA developers are qualified) and give the regular developers more time (since we'd find 30 or so of these things on a single form) to fixing the hard-core bugs or developing new features.

      --

      Thanks,
      --
      Matt
    6. Re:Good points! by smileyy · · Score: 2

      And then you end up having spent 95% of your time optimizing things which were and never will be your code's bottleneck in the first place.

      --
      pooptruck
    7. Re:Good points! by Salamander · · Score: 4, Insightful
      Some finer points in design; I see some stuff like this a lot as well: function bob( varlist ) { $var = $joe + 12345; return $var; }

      That's only a "fine point of design" to a 15-year-old. No, scratch that; it's not design at all. Any decent or even semi-decent compiler or interpreter should be able to make that particular optimization all by itself. A real fine point of design is whether to use events or threads, update or invalidate, distance vector or shortest path, this class hierarchy or that class hierarchy, this module layering or that module layering...stuff that can't be automated or even delegated to an inexperienced programmer.

      It would be nice if the QA staff, who may have software programming skills, would be allowed to be developers as well (e.g. all the rights of a developer but QA is their main focus).
      ...
      in effect, have two programming teams.

      Dream much? Ever hear of specialization? You're right that QA tends to get the short end of the stick in a lot of ways. QA engineers should have some programming experience, should attend (some) development meetings, should have more authority wrt the disposition of bugs...but they should not be checking in production code. Good QA is hard work, requiring its own specialized set of knowledge and skills. Any QA engineer who's making (and, one would hope, unit testing) their own changes to the production code is not going QA, and QA needs to get done. Hire another developer or extend the schedule, but don't take good QA engineers away from the necessary task that they do best to have them do someone else's job.

      --
      Slashdot - News for Herds. Stuff that Splatters.
    8. Re:Good points! by MattRog · · Score: 2

      You don't have to optimize (e.g. remove bad code) if you do it right in the first place. :D

      --

      Thanks,
      --
      Matt
    9. Re:Good points! by EvlG · · Score: 2

      We should all remember the words of Knuth:
      "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil."

      At this point, code optimizers are good enough and work fast enough to make many of these optimizations unnecessary, even counter productive. As the parent poster said, these types of problems will not be the bottleneck anyways.

      Although this is a somewhat contrived example, in general it is better to develop code that is easy to read and maintain, especially when the compiler can optimize it.

    10. Re:Good points! by cduffy · · Score: 2

      Optimizing is more than removing bad code -- it's designing (or just applying) good algorithms. You can write the best linked list implementation in the world, but if what you needed was a hash table, your code won't be as fast as it should.

      Further, doing that kind of thing "right in the first place" isn't always possible, just as nobody can write a finished, publishable novel without going through several stages of drafts first. You know -- proof-of-concept, alpha, beta, and so forth. Trying to get every little bit right from the beginning means that nothing would get done, as opposed to first getting a version written that works (though it may not be fast), then finding the bottlenecks and attacking them.

      The "do it right in the first place" argument may apply to toy code, but certainly not to any project of significant size that needs to be out on a deadline.

    11. Re:Good points! by cduffy · · Score: 3, Informative

      QA is more than just 'poking' at the program and seeing if it breaks. It's authoring test procedures, finding new and interesting ways to break the program, interacting with other developers and management, and a whole lot more.

      Thank you!

      I'm (sort of) in my company's QA department, and get a whole lot of guff about it from the other engineers ("You're QA? Ewwww"). Thing is, QA doesn't need to be a bad job -- I've spent my last few years largely working on (nifty, new) automated testing tools, and love it. There's nothing quite so interesting as coming up for a test for something that on the surface doesn't look practical to test programmaticly, or putting together a home-grown piece of software that does a task in a massively cross-platform manner that comparable (expensive) commercial solutions could only do on one or two platforms.

      Now, writing loads of Expect scripts has never been my thing (that's what the /other/ QA guys do), and I'll probably find my way back into product development if I find that the other tools I build to no longer be in need of heavy development.

      Anyhow, I'm just glad to see someone putting QA in a light that reflects that it doesn't have to be a boring and tedious job done by those who don't have what it takes to be /real/ engineers. Thanks. :)

    12. Re:Good points! by Wesley+Everest · · Score: 2
      Amen. As a game developer, I do a lot of code that needs to be fast (as in 1ms can have noticeable effects in the game). Here's what I do:
      1. Come up with a clean design, and be aware of complexity for space and CPU time - like if you are doing it every frame, don't do an O(N^2) algorithm when N is likely to be on the order of 1000.
      2. Write the code in the cleanest way possible, and when there is a choice, prefer the cleanest way to the "fastest" way. If they are equally clean, go with the fastest. And of course, avoid anything that I know will pop up later on the profiler.
      3. Get the code working
      4. Profile the code to identify any hotspots.
      5. If the hotspots are very nasty, rethink the design. Otherwise, optimize the hotspots -- first by seeing if the slow code really needs to be called as often as it is. If it takes 1us, but is called a million times in a frame, hand-optimizing the assembly code will help much less than making it get called only a thousand times per frame. Of course, if the inner-loop does something really stupid and is 10 times as slow as it should be, then I'll fix it first.
      6. Only then, if the design is as it needs to be and can't be improved for speed, and the code needs to be called many times, and the inner-loop code doesn't do anything stupid, then I'll look into line-by-line optimizations, seeing if I can get the compiler to generate faster code (of course profiling after every change to make sure that it does indeed speed it up).
      7. And finally, though it almost never comes to this, I'll see if I can write better assembly code than the compiler.
      The main thing, though, is don't "optimize" code that doesn't yet fully work. You'll probably end up with something that is not only slow and broken, but also very difficult to debug.
    13. Re:Good points! by Tony-A · · Score: 2

      Good instincts.
      The wasted motion is bad. Not so much because of increased size and runtime, as it is distracting to understand the purpose and function of the code. What is this $var thing? Why is it called var and not something else? Whatever purpose var serves would be better served in a comment, methinks.
      The main advantage is that for the places where speed does matter, it's much easier to see what is going on without extraneous stuff. About 10 percent of the code actually matters. It doesn't take much garbage added for the noise to swamp the signal.

    14. Re:Good points! by Steveftoth · · Score: 4, Insightful

      Another point is that
      function bob( varlist ) { $var = $joe + 12345; return $var; }
      and
      function bob( varlist ) { return $joe + 12345; }
      might actually be the same number of operations. Not because of the compiler, but just because of the way that the machine works.

      Regardless, as said before, this kind of micro-optimizing is pointless and dumb. It is not programming it is coding. Coding is a mechanical process. Programming is an art. You can optimize your code, but it is almost imposiable to optimize an API. Designing APIs is where I think all modern languages have totatly failed us. It is way too easy to write a bad api with todays languages. I've had to implement too many crazy interfaces written by people who didn't think them through. I've also created interfaces that later I went back and scrapped because they were dumb. This is the way programming is and it doesn't make any sence.

    15. Re:Good points! by zulux · · Score: 2

      function bob( varlist ) { $var = $joe + 12345; return $var; }

      I write code all the time that has excess variables declarred - the help document the code. Consider:

      Efficient:
      function x( imput) { return gf(imput) + .02}

      Manintainable:
      funcion DetermineTaxRate ( City) {
      RTATaxRate = .02
      TotalWholesaleTax = RTATaxRate + CityTax(City)
      Return TotalWholesaleTax
      }

      A few well known variable names help with mantance. Computers are cheap - I'm not, so ease of mantanace is in my customers best interest.

      --

      Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

    16. Re:Good points! by WillWare · · Score: 3, Insightful
      It would be nice if the QA staff, who may have software programming skills, would be allowed to be developers as well (e.g. all the rights of a developer but QA is their main focus). They attend the same dev meetings and such which gives them the insight to the architecture to allow them to fix bugs which have been approved by management. So in effect, have two programming teams.

      The problem with this is that you really do want two different loci of responsibility for development and QA. You don't even want the two teams to have the same manager (or generally, the same chain of command) because that creates a conflict of interest for the manager. While wearing the DevMgr hat, he wants to get stuff out the door quickly, so he's rewarded for cutting corners when he puts on the QAMgr hat.

      It might work to do what you suggest, as long as the chains of command were kept distinct so only the people at the bottom of the hierarchy ever wore both hats. But do you really want to work for two bosses at the same time, and be answerable to both?

      Another possible model would be a "clean room" approach, where you're given read-only access to the source database, and you can tinker on your own machine. You can propose a specific change to the developer working on your bug, but he checks it in. Things are still sped up that way, and you avoid blurring the responsibilities.

      --
      WWJD for a Klondike Bar?
    17. Re:Good points! by Bodrius · · Score: 2

      I have to disagree with this.

      Sure, you may be wasting memory (if your compiler doesn't optimize it, which it should), but creating a variable in the stack that will die with the method call is worth it if it makes the code readable.

      Your example is trivial, but normally it's not so obvious. It's more :

      function bob(varlist) { $var = ($joe/$ed + 12345)%12; return $var/0.5 + $egads;}

      versus

      function bob(varlist) { return (($joe/$ed + 12345)%12)/0.5 + $egads;}

      Or something more subtle. It ends up being a decision on what the developer thinks will make be clear, and usually because $var is a name with an actual meaning the temporary variable is the best choice.

      It's silly to try to write tight code at the cost of unreadability. Now, if the temporary variables only create more confusion, by all means remove them, if it will improve readability.

      I do agree with the current carelesness in database design, but I think the bad habit is at least partially due to undue time pressure. A lot of times decisions made when prototyping end up in the final product, simply because CHAR(255) was the safe choice when the constraints were unclear or constantly changing, which is the norm.

      --
      Freedom is the freedom to say 2+2=4, everything else follows...
  8. frm the artical by Waffle+Iron · · Score: 5, Funny
    Back then it was okay to have 3 or so typos per page without re-typing the entire letter.

    but now is ok for ppl 2 put 42 typos in inrnet msg & hit submitt

  9. Windows for dummies. by www.sorehands.com · · Score: 5, Funny

    Well, that is redundant. But even so, it make me think of the book, "Sex for dummies" which gave me a whole new perspective on RTFM.

  10. Oh how right you are...except by Em+Emalb · · Score: 5, Insightful

    From the article:

    "The best UI people on the planet are those working in the car industry.
    We need to make it a criminal law to change certain API's. There are potentially
    huge impacts. When we produce a new drug, we can't just release it to millions of
    people without some sort of testing."

    yeah, but how long should the testing cycle be? For example, we hear all the time about drugs being recalled because of illnesses caused by its use. Beta testing is a great way to do this, however, even then you can't know until your program is running on a lot of machines in different environments, with different variables.

    So, what can you do? Well, you release the software after doing as much testing as possible, and wait to see the results...then patch, patch, patch..which is the way it's being done now. That's why early adopters know (or should know)what they are getting into, and why most of the companies I have dealt with, (running win2k) waited for SP2 to come out before upgrading.

    Or, you could establish some sort of body, like the FDA does, that tests the heck out of software for a while before shipping. Problem with that though, is that by the time it is approved, its obsolete.

    Other than that, this was a most excellent read.

    --
    Sent from your iPad.
    1. Re:Oh how right you are...except by i7dude · · Score: 2, Informative

      "The best UI people on the planet are those working in the car industry. We need to make it a criminal law to change certain API's. There are potentially huge impacts. When we produce a new drug, we can't just release it to millions of people without some sort of testing."

      i find the drug analogy a bit absurd...yes, UI's and API's should undergo rigerous testing, but when was the last time a person was killed by an underdevelopled and tested program??? there are some notable exceptions (like that xray machine a couple of decades or so ago that was giving radiation doses that were off by a factor of ten)....but buy and lagre people who grab the latest instant messenger beta dont have to worry about being physically hurt.

      drugs on the other had can KILL people if they are not understood and tested fully.

      maybe i'm missing the boat here but, i agreee with the idea...i just think the analogy is a bit much.

      dude.

    2. Re:Oh how right you are...except by Em+Emalb · · Score: 2

      yeah, the analogy was a little strong, but in this case, people can lose money, as opposed to their life. Now, that wouldn't bother me too much, as I would rather be alive and poor than dead and rich, but for others I can't speak.

      thanks,

      --
      Sent from your iPad.
    3. Re:Oh how right you are...except by tshak · · Score: 2

      If people want to spend 200% more and wait twice as long for new software to be released, then I'm all for increasing the development cycle for the sake of usability. The problem is, the market won't bear it.

      Also, the comparison to the car is very poor because the level of functionality that the car gives to the user is very minimal. It's kind of like comparing the XBox's UI to Windows'.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
  11. A similar reference by big.ears · · Score: 3, Informative

    If you found some of his earlier points interesting, you may want to read the 1995 book "The trouble with computers" by Tom
    Landauer. I think its kind of controversial, but he points out that a lot of the promised and perceived productivity gains due to computers have never come about.

  12. Source code *IS* useless ... by rlowe69 · · Score: 3, Insightful

    "The only point that didn't made sense in this summary was the one about "source code being useless"."

    Source code *is* useless to about 99% of the people that use the program. My aunt Benita isn't going to track down a Microsoft Word bug and fix it even if she HAD the source. She wouldn't care - she'd just wait for the update. So in that context, the source code is useless.

    Where the source code does become useful is in the hands of developers, but for users it's just another disk of stuff they get in the package that they'll never use.

    --
    ----- rL
    1. Re:Source code *IS* useless ... by The+Slashdolt · · Score: 2

      And even in the case of 80% (or so) of developers it's useless. For any given piece software that is sufficiently complex, it takes a lot of effort just to learn the code to be able to modify it. If you were given the code for ms word, how many developers have the time to go through it and attempt to modify it? Not many.

      My company recently ran into this same thing. We dedicated resources to looking into ways to make our java code more difficult to decompile. I brought up the fact that they were wasting their time. Why? Because our product is quite large. If someone were to decompile it they would spend months trying to document the overrall design and engineering behind it, to the point where they would be competent enough to modify it or use it. Even with complete documentation and source code, it takes a long time for someone to be able to grasp the whole system.

      --
      mp3's are only for those with bad memories
    2. Re:Source code *IS* useless ... by Jeremi · · Score: 2
      My aunt Benita isn't going to track down a Microsoft Word bug and fix it even if she HAD the source.


      True. But Aunt Benita might go to www.joescodefixingservice.com and pay Joe $50 to fix the bug for her, if she needed it fixed right away. Without the source code, she (and Joe) don't have that option.


      Imagine there was something wrong with your car's engine, and the only place that could fix it was Honda Corporate headquarters in Japan. Wouldn't you like to have the option to go to the local mechanic instead?

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    3. Re:Source code *IS* useless ... by rlowe69 · · Score: 2

      Where the source code does become useful is in the hands of developers

      Well then it's not useless. Make up your mind.


      I believe I did - my main point was that usefulness is all about context. Programs are made for end users and from their perspective, the source code is useless.

      There are a few people that have said that source code is useless even to developers, which I can see. Unless the documentation fairy has visited the company that produced the source and made absolutely superb docs, chances are you won't be able to make heads or tails of the code without a serious time investment. What percentage of developers have this amount of time to fix a bug that might be fixed in a service pack in a month or two?

      --
      ----- rL
    4. Re:Source code *IS* useless ... by rgmoore · · Score: 2
      Source code *is* useless to about 99% of the people that use the program.

      But it does not follow from this that source code is useless. If the value that you get from giving the code to the tiny fraction of people who will actually do something useful with it is larger than the cost of doing the distribution, then distributing it is worthwhile. Given the low cost of source distribution these days, that may make distributing worthwhile even if only one or two people will ever look at the code.

      Besides, users get value from having the source even if they never modify it. I find that it's very useful to compile programs for my system. They wind up being optimized for my processor and take advantage of the other resources that are on my system. This may not be a big thing, but there are certainly more people out there who compile than who write, and source availability helps them.

      --

      There's no point in questioning authority if you aren't going to listen to the answers.

    5. Re:Source code *IS* useless ... by 3-State+Bit · · Score: 2

      incidentally, did you ever come up with any interesting ways to make it more difficult to decompile your code?
      I'm thinking java probably doesn't compile variable names or anything into packages, and any systematic munging you do to the structure (reversing if statements or whatever) can just as easily be systematically unmunged...what is there that's easily obscurable?

    6. Re:Source code *IS* useless ... by cowens · · Score: 2, Informative

      Source code *is* useless to about 99% of the people that use the program.


      Bullshit, it is only useless if you consider direct action. Let us say that someone releases a program and there is a bug in it. 99% of the people could care less about the source code, since they can't understand it, but that last 1% looks at the source and fixes it and then rereleases it. All 100% benefit from the fix.
    7. Re:Source code *IS* useless ... by rlowe69 · · Score: 2

      Just because something is not usefull to everyone does not make it useless; you're just contradicting yourself.

      Any given thing is always going to be useless to someone. It is the context that matters.

      --
      ----- rL
    8. Re:Source code *IS* useless ... by Jeremi · · Score: 2

      I rather think the analogy does work, if you don't try to extend it further than how it was intended. You need the source code in order to fix bugs (no, binary hacking doesn't count).

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    9. Re:Source code *IS* useless ... by vrt3 · · Score: 2
      I believe I did - my main point was that usefulness is all about context. Programs are made for end users and from their perspective, the source code is useless.
      If there is a bug in the product and even only one developer takes a shot at fixing it, everyone profits from the bug fix. So it's not useless at all in my opinion, even if 99.99% of all people never even look at the source code.
      --
      This sig under construction. Please check back later.
  13. source code is useful to me by Dr.+Awktagon · · Score: 2

    Forgetting all the myriad reasons source code is useful, the one best thing about getting source code for your product is: it's the ultimate documentation for the program.

    I always look at the source code when trying to solve a problem. It's like a reference manual written in a terse language that doesn't slow me down.

    It's like including schematics with a piece of test equipment. Why bother with the manual when you can just look and see EXACTLY what that button does and how.

    Source code may not be useful to users of software, but to the coders and people doing the actual work, it is a tremendous productivity boost.

    1. Re:source code is useful to me by Frater+219 · · Score: 2
      Forgetting all the myriad reasons source code is useful, the one best thing about getting source code for your product is: it's the ultimate documentation for the program.

      Yes, exactly. Here's an example:

      My workplace is in the market for a new firewall. However, we have some staff who periodically need to do weird things with the network, and want to make sure that the firewall can be set not to interfere with them. Many commercial firewalls do particular classes of filtering (such as flood filtering, rejection of invalid packets, etc.) in a way which is not completely documented. So we can't tell whether they will interfere or not, or which functions we need to enable or disable in order to get them to work for our purposes.

      Enter OpenBSD. I am not the sort of person who usually reads kernel source -- whether on the job or for fun -- but I can pick up the kernel source for OpenBSD's pf packet filter and know (for instance) exactly which combinations of TCP flags it rejects as invalid. I can then look at a network dump and tell someone exactly what pf will do with the traffic represented there. I can, in short, prove that my firewall will or will not pass that traffic.

      I can't do that with a product that comes with nothing but a guide to "Basic Firewalling for the Beginning Networks Staffer" and a command reference.

    2. Re:source code is useful to me by Frater+219 · · Score: 2
      And if the kernel won't pass traffic it "should", or if you need a configuration option thaty doesn't exist you can write it yourself.

      Yes, of course. However, I was more interested in demonstrating the value of source to someone who not only doesn't edit the source, but doesn't even look at it 99.99% of the time: when I do need it, it's there.

      The other point I wanted to get across was that open-source systems (or, to be fair, source-available systems) have the possibility of provability. The behavior of a program is defined by its code, not its documentation. If a user comes to me and claims that my firewall is wrongly breaking his application, and I have the docs but not the source, my only response is, "Well, it says here in the docs that it drops 'invalid traffic', so your app must be putting out some of that 'invalid traffic' stuff, whatever that is." The source tells me exactly what is going on, so I can be confident first that I am telling the (useful) truth, and second that I can do something about it.

    3. Re:source code is useful to me by Tony-A · · Score: 2

      It's the exactly that matters.
      How could you precisely define what 'invalid traffic' is? Seems like something that would keep shifting with time.
      What's the difference between 3-nines and 5-nines, other than lots of money? 99.9% is the same!

  14. Re:I love Fallacy 10 by Hard_Code · · Score: 5, Insightful

    "Don't write software because 'it's cool'. That only leads to burnout. Write it for money. At least you get something back and don't ruin the market for the rest of us."

    Um, no, doing stuff you don't like to do just "for the money" is what leads to burnouts. Nobody ever says "Boy am I burned out playing around carefree...I gotta take a vacation and do some drudgery!". That said, the concepts of *sound design*, *quality*, *maintainability*, *lifespan*, etc., have to be built into the "programming curriculum". I mean, they don't just hand soldiers a bazooka and say "Ok, if you can pull the trigger, you're ready! Off you go!".

    --

    It's 10 PM. Do you know if you're un-American?
  15. Re:A Bit more than that by rlangis · · Score: 3

    No, it didn't make much sense...not to someone simply sitting down and reading it. However, if you were to imagine someone standing on a stage, going through slides, making quips or whatnot... Then it makes perfect sense. It reads like a presentation.

    As far as source code being useless... Let me ask you - how many times do you actually go through the code itself and change things? I would be willing to bet that most people here simply download, unzip, untar, make, make install and go on with their lives. If this is even 70% true, then actually *having* the source code IS useless. The only reason you have it is so that you can 'make install' to the path of your choosing. That, in and of itself, is not the reason the source code exists.

    Having said that, I disagree with his blanket argument. He should have quantified it somewhat, because some people *do* look at the source code. Some people *do* make additions, and some people *do* feel more secure having it available in case something goes awry. I certainly feel more secure knowing that there is a body of peers overlooking every code change that goes into Our Favorite Operating System (tm). Do I use it? Not usually - most of the time I apt-get install [the binary]. But I like having the *option*.

    --
    GIR: I'm going to sing the Doom song now. Doom doom doom doom doom doom de-doom doom doom doom doom doom doom...
  16. Re:I love Fallacy 10 by Rupert · · Score: 5, Funny

    Girls - don't have sex because 'it's cool'. That only leads to burnout. Do it for money. At least you get something back and don't ruin the market for us whores.

    --

    --
    E_NOSIG
  17. Nerd culture.... by Daemonik · · Score: 4, Insightful

    Nerd culture is counter productive??

    Hello?... 'nerds' are the whole impetus behind the electronics industry. Without nerds wanting to show off with faster processors, cooler video boards or better OS's a few billion dollar industries wouldn't exist today.

    Hell, Star Wars would have earned $1.50 at the theater without nerds creating the cult that propells it. Nerds created pong on a friggen mainframe just to goof off and sparked the video game industry, quickly gaining as the most widespread form of mass entertainment on the earth.

    I am nerd, hear me calculate!

  18. Re:A Bit more than that by jedidiah · · Score: 2

    Even if what you assume is true is: sourcecode is still quite useful. The tarball still remains the most effective package management system with much more sophisticated dependency management than any binary packaging system.

    This is why on even x86 Linux systems source tarballs are still used. They can be remarkably less trouble than binary packages for smaller applications.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  19. Old Outlaw Quote by XPulga · · Score: 2
    We need to make it a criminal law to change certain API's.

    If we make innovation illegal, only Microsoft will innovate.

  20. Re:I love Fallacy 10 by oGMo · · Score: 3, Insightful
    This is wisdom for the ages, here. Seriously. Don't write software because 'it's cool'. That only leads to burnout. Write it for money. At least you get something back and don't ruin the market for the rest of us.

    I am somewhat indignant at this remark. I write software because it is useful to me, and because I feel it might be useful to others. I release it as Free Software because I feel the this is the way people will get the most use out of it, and possibly improve it for everyone else, as well.

    As for Fallacy 10.2 and 10.4, it's easily shown to be invalid via counterexample. Linux, gcc, XFree86, etc., are all case in point here.

    Fallacy 10.3 is my own personal business. Who are you to tell me my motivation is inappropriate? I think the sole desire to make money is an inappropriate motivation. Should I tell you to stop writing software for money? Of course not.

    As for F10.1, I consider this highly irrelevant. I don't give two hoots about Open Source or Free Software as an economic model. (In fact, if my Free Software ruins your market, I'd be more than apathetic, I'd be somewhat gleeful. ;-))

    --

    Don't think of it as a flame---it's more like an argument that does 3d6 fire damage

  21. Interesting if debatable by Cato+the+Elder · · Score: 3, Interesting

    That's a really interesting summary of what looks like a talk I would have liked to have attended. Of course, a lot of the points were matters of opinion, and I disagree on some of them.

    Fallacy 1 (Computing is Easy) I think is spot on. I shudder when I see some of the "For Dummies" titles out there now.

    Fallacy 6 (Computers are Getting Faster), I would have to say I disagreed with him on. Sure, my desktop boots slower than my old 386 from 10 years ago. But my Handspring Visor has more memory and boots instantly. Web pages load faster with my DSL connection then they did over my modem (where could you get that 5 years ago?) Most of my compiles are shorter than they were 3 years ago. Sure, people tend to put bloat in, but Moore's law is still wining overall.

    This ones really a quibble, but a subpoint of Fallacy 7 asks "How often do you need to do a Fourier transform?" I don't know if it's need per se, but I kind of like some of the music visualizations that use a whole bunch of frequency domain stuff.

    One of the subpoints to Fallacy 13 (The Industry Knows where it's going) is
    "There haven't been any new ideas in a decade"
    My response
    "There is no new thing under the sun"
    --Ecclesiastes

    That said, he certainly seemed to bring up a lot of food for thought. Do you think he'd be willing to do a Slashdot Interview?

    1. Re:Interesting if debatable by rgmoore · · Score: 2
      One of the subpoints to Fallacy 13 (The Industry Knows where it's going) is
      "There haven't been any new ideas in a decade"
      My response
      "There is no new thing under the sun"
      --Ecclesiastes

      It's a flawed conclusion anyway. There have almost certainly been some great new ideas developed in the past 10 years. It's just that almost all really great ideas take a long time to get off the ground. The reason that all of the useful technology that we're using today is over 10 years old is because it almost always takes at least 10 years to go from good idea to good product. Take a look at how long it took the web, the GUI, or even the microprocessor to go from neat ideas to dominant technology. They all took a long time to develop into widespread use. I'm confident that there have been great ideas developed in the past 10 years, and by 2012 we'll be wondering how we ever lived without them.

      --

      There's no point in questioning authority if you aren't going to listen to the answers.

  22. Re:I love Fallacy 10 by Mike+Connell · · Score: 3, Insightful

    Don't write software because 'it's cool'. That only leads to burnout. Write it for money.

    Sounds ok, but s/cool/fun and I disagree completely.

    Don't do anything just because it's "cool". What kind of person does that? Some mindless MTV wannabee?
    OTOH, if it's fun, well, why not do it?

    Fun doesn't lead to burnout, it leads to well, children. erm, no, that's something else...

  23. Re:I love Fallacy 10 by Jeremi · · Score: 3, Insightful
    Don't write software because 'it's cool'. That only leads to burnout.


    Apparently you and I are very different people. I get burned out writing software for money. Writing software that is 'cool', on the other hand, is fun.


    At least you get something back and don't ruin the market for the rest of us.


    I get something back from my 'cool' software -- reputation and job opportunities. When I want a job with XYZ-Corp, I don't have to make do with just a (mostly unverifiable) resume; I can point them to places on the internet where my code is in use every day, let them download source code of my work and look at it for themselves, and send them the email addresses of my code's happy users. That way they know just what sort of programmer they will get for their money, and I get the job I want.


    As for "ruining it for the rest of you", tough shit. I bet you complained about the people in your college classes who set the curve on exams, too.

    --


    I don't care if it's 90,000 hectares. That lake was not my doing.
  24. Something to think about by AirLace · · Score: 2



    Fallacy 10: Open Source is the Answer
    - Economic model is doubtful
    - Source code is useless
    - Motivation for Open Source is inappropriate for most software
    - Nerd culture is counter-productive

    We write software for peer recognition. We write fancy structures because
    'it's cool', but not particularly useful.


    If this were a Microsoft developer conference, would you expect a keynote speaker to stand up in front of thousands of Microsoft employees and users and claim that Microsoft is a monopoly, produces insecure and unusable software and only cares about money, not its users? One would expect a security team (think 2-metres tall and muscular, not securityfocus) up on that podium to carry the infiltrant off stage pretty quickly. More likely, it just wouldn't happen. I'm certain Microsoft puts millions just into screening the opinions that are expressed during its conferences, written on its website or posted on Usenet by its employees.

    I think the Linux community's willingness to listen to criticism before (perhaps sometimes vehemently) counterarguing is one of its greatest strengths.

    I don't agree with what Michi says towards the end of his keynote, but I doubt the organisers of GUADEC will cause too much of a fuss about it (perhaps they will ask him once or twice if he _really_ thinks Open Source is no good for production software).

  25. Re:A Bit more then that by sphealey · · Score: 2
    Lie. Damn lie. Try it yourself, I just did - type a word document (doesn't matter how long, I tried it with just a couple of lines as well as several pages) with a mailto: in it. Size? 24K
    You must not have spent much time on the help desk in the last 3 years. It is quite easy to create a 100 word, 2MB MS-Word file. How? Dammed if I know - I never do whatever it is that otherwise ordinary humans do to make this happen, and working together we can never reproduce it. But it happens all the time.

    sPh

  26. Re:I love Fallacy 10 by debrain · · Score: 2

    Perhaps the cost of making money is devaluing the existing money. Perhaps the initial cost of creating money is the loss of the bartering system or freedoms associated with a non-monetary system.

    Who knows? Interesting thought to entertain, though.

  27. Re:A Bit more then that by jd142 · · Score: 2

    Wild guess, and if right I don't know why removing the link would fix it, but if fast save is on and you are doing a lot of revisions, deletions, etc., you can easily bump up a file's size because fast save never actually deletes any of the text you delete. Makes it easy to recover someone's first draft, which has been done.

    No way it should have been over 2 megs though.

  28. Source code is useless by mccalli · · Score: 5, Funny
    ...unless, of course, you either compile or interpret it into executable form and then use the resulting software tool to create lecture notes containing the text 'source code is useless'...

    Cheers,
    Ian

    1. Re:Source code is useless by Arandir · · Score: 3, Insightful

      I run two FreeBSD systems, one at home and one at work. Everything from the kernel to this browser was built from source code. Even the documentation was built from the original DocBook sources. The only things installed as binaries are Acroread and Realplayer.

      The source code is VERY useful to me, even though I haven't seen 90% of it. That's because I built my system optimized for the Pentium IV (Athlon at home). You just can't do that with a binary. In addition, I get to build certain packages the way *I* want them built. I love Dia but I don't use Gnome so I get to build Dia without Gnome instead of using the binary package which requires Gnome.

      I wouldn't even be running an X server on my workstation if it weren't for the source code, since XFree86 doesn't fully support my video card. But with a simple patch it works great. Yes, this patch could have been posted binary only, but how the hell would the poster know how I compiled my server? How the hell does he even know which OS I am using. Is he going to have a binary patch available for every possible combination of CPU and OS?

      I may never look at the source code for gcc, konqueror or XFree86, but I damn well want it available.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    2. Re:Source code is useless by Arandir · · Score: 2, Insightful

      Why bother to recompile all of x86 when you could have a simple binary patch that works for your vid card?

      Well, I would need a patch for FreeBSD optimized for the PIV. You got one? Yeah? Cool, now I'm running both Slackware and FreeBSD at home on a K7. Got patches for those as well? How many patches do you have? Really! Got any for XFree86-4.2.0 ready yet?

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    3. Re:Source code is useless by Arandir · · Score: 2

      I'd like to take a moment to point out that you're being untruthful. You had to download it, su to root, unpack it, fire up a command line, and then make install. And all that **after** you had installed all the right headers and libs and etc. That's far too much work, and not at all simple.

      Actually, my version wasn't that far off. Remember, I'm using FreeBSD. Here's the exact steps I need:

      % cd /usr/ports/x11/kde2
      % make install
      % exit

      Logging in as root is absurdly simple if you're running xdm/kdm/gdm. Firing up a terminal is also absurdly simple.

      Note that the above steps will automatically fetch, unpack, and patch the source code, and build, install and register the package, taking care of any dependencies along the way.

      Developers on that platform shipped binaries/packages that worked across **5** platforms, including windows.

      I'm assuming those packages contained the separate binaries for each platform. That's a workable solution. I will agree that the Unix world needs something like this.

      The reason, I believe, is that most *nix platform owners/developers/companies don't understand what it is to ship a USER application, as opposed to a NERD/GEEK app

      Until extremely recently, they never needed to understand the user, since they never sold anything to the user. Their customers were the sysadmins, hackers and geeks of the world. They did a damn fine job of marketing to them. Stuff is changing now, and I see lots of signs that Unix is changing as well.

      ---

      The title of this thread is "Source code is useless". I am merely arguing that source code is far from useless, and quite valuable. I have no intention of denying anyone the ability to install from binaries. Just don't take the source code option away from me.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
  29. wrong on all (most) counts by abde · · Score: 4, Informative

    Fallacy 1: Computing is Easy

    well, actually it IS easy to learn syntax. This fallacy is just sniping at inexperience. No one teaches you how to write great code, even the greatest C hackers learned their loops one at a time. And, most of the rationale behind spaghetti code nowadays is due to extreme commercial pressure, not any lack of aesthetic sense.

    - Teach Yourself C++ in 14 Easy Lessons
    - Brain Surgery in 14 Easy Lessons

    its completely arrogant to equate Brain surgery to C++. For one thing, lives are not at stake. This analogy is delusional with extreme grandeur.

    Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise

    As a matter of fact, they DO empower us. With Word I can do mass mailings in an hour, instead of all day. A great word processor will do a lot of the annoying things like spellcheck and thesaurus and automatic formatting of headings and footnotes and equations - which used to be a severe drain of time. A great spreadsheet lets you analyse numbers with impressive ease - ask any accountant how much the spreadsheet has transformed their parctice. This power of analysis has allowed professionals to actually expand their business instead of being mired down in drudgery.

    Fallacy 3: Computers Increase Productivity

    yes, they do, if used with discipline. See above. The idiots who waste all day adding sound effects are the same ones who in eth 40's used to while the day way lobbing sharp pencils into the ceiling. Procrastination has evolved with technology but is essentially the same.

    the point about typos in letters written in 1945 illustrates the opposite point.

    quote: "Nowadays, we rewrite the letter many, many times, changing fonts, format etc.
    We are no better off in terms of letters produced."

    really? you call a letter produced with no typos, "no better off" ? and all of the ways we can edit documents today, can be done effortlessly. The default templates that come with Word do all of this already. Its only the "power users" who seem to obsess like that, when people who actually use computers daily for their profession simply get the work done.

    Fallacy 4: Programs Help Their Users

    true, software companies try to ensnare their users. Also true that DVD makers try to snsnare their consumers, that groceries and airlines and car salesmen all use deceptive marketing, schemes, and even planned obsolescence to suck your wallet drier. You shoudl blame capitalism, not computers.

    Fallacy 5: If It's Graphical, It's Easy

    the vast majority of GUIs make simple tasks much easier. If you think that arcane text codes and comands are easier than just clicking the Underline button, then you're a /etc/conf hacker, not someone working in an office relying on Word to get the memo done.

    with a gui, you dont NEED to be a "sysadmin, programmer, typesetter, etc." to get work DONE. You just get work done. In a CLI you have to be all these things and more.

    also, the paperclip has NEVER interrupted me to tell me a joke. Document the allegation!

    Fallacy 6: Computers are Getting Faster

    yes, they are. NO software I can buy today can really tax my 2 GHZ Pc, not even the most bloated WINXP install. My Pentium DOES boot faster than my old 386, Word loads in a few seconds, my web page is limited by my dial in connection (which i am forced to use because of monopolies and lack of regulation in telecom, not because of any computer issue). Its obvious that a Pentium 4 compiles faster than a 486, and the programs of today have more functionality anyway. EVERYTHING took FAR LONGER 5, 10 years ago.

    Hardware is SO FAR AHEAD of software that only Id Siftware can really claim to have tested the metal. And can YOU tell the difference between 100 and 200 fps ? NO! stick your head out of the benchmark app!

    Fallacy 7: Programs are Getting Better

    Yes they are. True many obscure functionalities are barely used but they are there - and they barely slow things down in todays 2 GHz age.

    I dont buy the anecdote about a single hyperlink inflating a 800K document to 2.2 MB. I just tried it myself, but taking 800 K of raw text and pasting it into Word. Then i added a link. The file size difference is negligible, but dont take my word for it, TRY IT YOURSELF! And then stop propagating foolish incendiary lies.

    Fallacy 8: Programmers are Getting Better

    well, if they all bitch and moan like this, maybe this really is a fallacy. But, I doubt it. Most of teh programmers I know are able to switch between languages and adapt to different environments. Most old time programmers are surgically attached to the Language of Choice for them and will never change. Look at the quality of coding being done on the Linux Kernel, in Oracle's 8i, in Windows' .NET. These are true advances in computing complexity and it is a continuing process.

    BTW, ANY student who majors in CS will know what a core dump is, dont be alarmist. Any student who isnt CS, has no reason to know. So what?

    the jab about knowing how to write excel memos being a mark of qualification is just arrogant snobbery. And the average retention time is from the dotcom boom, it surely isnt true anymore. YOu have a problem with people cashing in on their skills while they could?

    Fallacy 9: Programming is About Date Structures and Algorithms

    this is an extremely provincial accusation - probably better to just nod and agree with you rather than set off a religious war.

    Agreed that programmers are not taught to design. Well, who taught you? If experience sufficed for you to become a self-declared expert, then it will suffice for others also.

    Fallacy 10: Open Source is the Answer

    The Answer? The Answer to what? with apologies to DOuglas Adams, first off you better figure out just what the Question is!

    --
    Don't blame me - I voted for Howard Dean. http://dean2004.blogspot.com
    1. Re:wrong on all (most) counts by abde · · Score: 2


      those are hardly "consumer" applications, though. You can always write code that brings ANYTHING to its knees, even the most hypothetical super cluster possible within the limits of heat theory and quantum mechanics. But the argument that the story put forth is that normal everyday programs run slower, which is simply not true.

      --
      Don't blame me - I voted for Howard Dean. http://dean2004.blogspot.com
    2. Re:wrong on all (most) counts by Derkec · · Score: 2
      Your first point is weak. In Software quality issues, lives are frequently at stake. Think medical software. Software in use in drug desing. Software running nuclear power plants. Software for air traffic controllers. Software calculating structural integretity of a proposed building being effected by an earthquake. He's right in the sense that it's time to wake up and realize that programming real applications can be a very serious task.

      I'll agree that he's wrong in a number of departments as well. Personally his suggestion that we put excellent programmers into QA. No way. What you need are people good at finding bugs and understanding how customers are likely to use the software. These people are frequently not programmers. Their career testers or tech support types with very good attention to detail He's right that bad programmers shouldn't join their ranks though. Frequentyl bad programmers write buggy code for the same reason they'd be bad testers - they don't pay close enough attention.


      Generally though, I think you were just a bit too aggressive in attacking him. For instance, fallacy 5, I agree with you that GUIs are generally easier but you don't need to be a programmer or sysadmin to user one. Moreover, the author's point is not that GUIs are bad but that just because your program has a GUI doesn't mean it's easy to use. Only careful ui design can get you to that point.


      Be a little more reserved please.

    3. Re:wrong on all (most) counts by Chris+Pimlott · · Score: 3, Informative

      I dont buy the anecdote about a single hyperlink inflating a 800K document to 2.2 MB. I just tried it myself, but taking 800 K of raw text and pasting it into Word. Then i added a link. The file size difference is negligible, but dont take my word for it, TRY IT YOURSELF! And then stop propagating foolish incendiary lies.

      My theory on that story -
      The email address hightlighting was set up to including changing them to a custom font. Word was also set up to embed custom fonts in documents. Thus when the only use of that font was deleted, the font wasn't included, explaining the 1.4M difference.

    4. Re:wrong on all (most) counts by Bruce+Perens · · Score: 5, Interesting
      Remember, this is one of the people behind CORBA. He would say source is useless. He wants a software world of black boxes connected together. Most people have accepted that this particular promise of OO programming was hype. He hasn't.

      Bruce

    5. Re:wrong on all (most) counts by TheAwfulTruth · · Score: 2

      Then reread that as "Software doesn't have to be brain surgery" but brain surgery is always brain surgery. The point IS VALID even if there are extreme case exceptions. Virtually all software is in no way life threatening. Sure those that ARE had better have some REAL engineers working on them. But it's not necessary to be a "brain surgeon" for nearly any coding task that exists.

      --
      Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
    6. Re:wrong on all (most) counts by TheAwfulTruth · · Score: 2

      Definately not. In fact computers have gotten SO fast these days that only those types of extreme cases are a problem. This is reflected in the slowdown of computer upgrading were seeing. There is less and less reason to upgrade to faster processors anymore for all but the most extreme computer users.

      --
      Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
    7. Re:wrong on all (most) counts by RickHunter · · Score: 2

      Fallacy 5: If It's Graphical, It's Easy

      the vast majority of GUIs make simple tasks much easier. If you think that arcane text codes and comands are easier than just clicking the Underline button, then you're a /etc/conf hacker, not someone working in an office relying on Word to get the memo done.

      with a gui, you dont NEED to be a "sysadmin, programmer, typesetter, etc." to get work DONE. You just get work done. In a CLI you have to be all these things and more.

      Umm... No, this fallacy is correct. GUIs take just as long to learn as command-linet ools do. A GUI won't magically make you into a sysadmin, programmer, or typesetter. It may make it seem like you can do all those things, but the resulting product is inevitably of lower quality. Even for mundane tasks, the GUI provides little that plain text does not.

      Icons, for example, were promised to revolutionize computer interfaces. No more would we ever need text. The user could look at an Icon and magically determine what it did. Unfortunately, this isn't true. All but the most common icons (new, open, save, and print) are virtually meaningless. Most users wind up using menus, which are not only text, but a particular variety of text presentation that has been around since the much-malinged days of the command line.

      In general, text can present ideas more clearly and compactly than images can. At best, images are useful as a suppliment to text, not a replacement.

    8. Re:wrong on all (most) counts by J.+J.+Ramsey · · Score: 2

      "Umm... No, this fallacy is correct. GUIs take just as long to learn as command-line tools do."

      However, GUIs require less outright memorization. If one has a rough memory of a app's GUI, one can use the visual cues of the GUI to fill in the rest.

      "Icons, for example, were promised to revolutionize computer interfaces. No more would we ever need text. The user could look at an Icon and magically determine what it did."

      Icons have their place. Text on its own is harder to scan and kind of blends together. Icons though are fairly distinct and can be scanned for more quickly.

      "images are useful as a suppliment to text, not a replacement."

      Agreed. Images, though, *are* a useful supplement.

    9. Re:wrong on all (most) counts by vrt3 · · Score: 2
      Fallacy 6: Computers are Getting Faster yes, they are. [...] Word loads in a few seconds[...]
      Wordperfect 5.1 did all I needed. it loaded in less than half a second on a 486, and in a few seconds on a lousy XT.
      --
      This sig under construction. Please check back later.
    10. Re:wrong on all (most) counts by RickHunter · · Score: 2

      Yes, but almost all modern GUIs attempt to use them as a replacement. Or as the primary, with text as the suppliment. That's one thing W2K/KDE/GNOME are doing right with their menus - the text with the tiny icon beside the text is much easier to use than just text alone or icons alone. It'd be a good thing if most functions were removed from the toolbars, since the marketing types can now put the pretty icons in the menus. (And yes, the marketing types were the ones driving the attempted switch to icon-packed toolbars)

      In fact, icons are pretty much the only part of a "GUI" that's graphical. The rest is just putting a nice image on top of an older interface concept. (Scrollbars, buttons, menus...)

      Also, note that most users eventually wind up using primarily the keyboard, even in a mouse-enabled interface. If the interface lets me (this is one thing I did not like about GNOME), I will use it exclusively.

    11. Re:wrong on all (most) counts by RickHunter · · Score: 2

      Hmm... That's something I hadn't previously considered. Though user preference is a big part of what interface they'll choose. Windows types don't like Mac or X interfaces, and vice-versa, because they're used to the way their old environment does things. They thus find the new one hard to use, because it doesn't conform to their preferences/expectations.

      So now, people have obviously been trained to prefer GUIs. And then, its possible they were drawn to it because it felt "new", or conformed better to their idea of what a computer should work right. Remember, too, that those interfaces were far simpler than modern ones.

    12. Re:wrong on all (most) counts by abde · · Score: 2

      Michi,

      Thank you for replying, and I apologise for confrontational tone. Part of your complaint is the oversimplification of computing - a thesis I share - which was why when I saw "Top 10 Fallacies" I reacted viscerally.

      That said, I still disagree with almost everything you said :)


      After 14 years of programming with C++, I still do not consider myself an expert. After more than twenty years as a computing professional, I still only know a tiny part of what there is to know about computing.


      Note that you listed the title of the hypothetical book as "Teach Yourself C++ in 14 easy lessons" - NOT "Become a C++ Expert in 14 easy lessons". You CAN learn enough C++ in 14 easy lessons to become quite good enough to become proficient enough to do tasks at hand. And in teh course of doing those tasks, you learn more as you go. That's how I taught myself C, Perl, HTML, CSS, and PhP. And I'm a physicist (of mediocre skill), not a CS guy.

      The analogy to brain surgery is simply wrong. There is simply no comparison. My objection to this fallacy is the implicit equivalence. You never addressed my point that brain surgery puts lives at risk - and keep in mind that computing, like science, is based on deductive reasoning and logic. Brain surgery on the other hand is a skill requiring copius memorization, fine motor control, and intensive training unlike anything you will find in CS. Its delusional to compare them.

      one last comment on this point. You said that "computing" (as a large field) is just as complex as brain surgery, and invoked the time for degree qualification as proof. Let me point out that your Fallacy equated C++ with Brain Surgery, not Computing with Brain Surgery. For the record, Brain surgery requires 4 years of med school, a SIX year residency, and optionally a three year fellowship:

      http://www.utmb.edu/surgery/Educat.htm


      Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise

      It takes a lot more than a good word processor to create a good document. Creating a good document requires two things:
      - Domain (in this case, typesetting) knowledge.
      - my word processor was unable to provide that content


      Unlike word processors of the past, today typesetting is in fact almost ludicrously easy compared to the past. Word comes with templates that are professionally designed, for legal, academic, office, and personal tasks (including a cool template for a Thesis which I modified for my own use). TO address each of the specific examples you gave, Word's templates already have correct kerning, layout, and choice of sans-vs-serif (font styles). With third party software like Endnote and MathType you have biblio and math features correctly done the right way according to all professional standards, with barely any effort at all (nothing comes close to these products on the Free Software side, btw). Spelling and grammar are a function of your education from middle school, and are not the fault of your computing platform or software, its unfair for you to take it to task.

      as for content, aren't you the one complaining that software does too much and that graduates have too much hand holding? Why do you want software to do your spelling and grammar for you? isnt it the responsibility of the user to do the content, or do you want your software to provide that to? its not clear what your problem is in this regard. Typewriters and Emacs suffer eth same problem as Word XP in this regard - and thats a good thing. Software is just a tool.


      Fallacy 3: Computers Increase Productivity

      What I pointed out here is that our programs have become feature-rich to the point where they completely overwhelm their users. Have a close look at the average word processor and multitude of feature that are in there.


      Have you used the software packages you are complaining about recently? Word 2000 onwards have "simplified" menus that only show the most common tasks - te ones that are used 90% of the time. The rich feature set is hidden from the user unti they actually want to access them. The Paperclip is actually a clever way for users to do more complex tasks because it allows natural language query. There are more man hours going in to commercial software usability on the closed-source side than I think the free software advocates realise, let alone acknowledge. I think this is a myth propagated by free software advocates which is simply untrue.

      as for displacement behavior, thats a self-discipline issue. If you can quite actual studies correlating increase in behavior with the increase in software feature sets as a CAUSAL relationship, then you will make me question my position. Note that just because A increases at the same time as B increases does NOT mean A caused B. The economy increased during the 90's and so did sexual activity among adolescents. That doesnt mean teen's sex drives fueled American capitalism. Invoking displacement is just a cop out, unless you can furnish actual data. Im not saying tha data doesnt exist, but no one will accept a part of your thesis based on teh assumption that its true. Burden of proof.. btw you and I both are throwing around percentages (5%, 90%, etc) but it would be instructive to actually have real data. That data exists, by the people who actually use it - Microsoft and Apple, especially.

      And later on you complain about UI issues - here you are complaining that there are too many widgets and too much functionality. So whats the solution? Are you recommending command line interfaces to stripped down software? And then you'll claim that such software makes users MORE productive? I sincerely believe that you have never used closed-source software in a business or academic environment, or you'd realise how absurd this idea is. If you have a coherent vision of what software Should Be Like, then present that.

      Computers DO increase productivity. Your arguments to the contrary are anecdotal, invoke scientific claims that you havent substantiated, and reflect an ignorance of the actual software itself which you could mitigate by sitting down and trying it out.


      Fallacy 4: Programs Help Their Users

      So, does this mean that we all should do the same thing? Two (or many) wrongs make one right? I don't think so.


      You'll have to find a non-capitalist market to pursue yoru ideal economic theory behind software marketing, because its just not realistic here. Consumers are more saavy than you realize. And your complaint is really that users are being marketed to with features they dont use - an allegation you have no data to support, aside from anecdotal evidence. The current M$ advertising scheme for XP is actually brilliant and its what consumers want.


      Fallacy 5: If It's Graphical, It's Easy

      The GUI I get with Windows does not make me a sysadmin ... and the GUI does not make being a sysadmin intrinsically easier.

      I'm way faster producing text draft with vi than with Word or Frame. As a text input and editing program, it is far less efficient than something like vi or emacs.


      I never claimed that a GUI makes you a sysadmin, or that a GUI being a sysadmin easier. I said that you dont NEED To have sysadmin-level familiarity with your OS to be able to perform complex tasks, if you use a GUI. A GUI simplifies certain tasks that are too complex for an average user in a CLI environment.

      Also, you second point illustrates yoru lack of experience with word processors. 90% of the time I edit text in Word, I dont even touch the mouse. If you use Word in "View: Normal" mode you will see exactly why (try it out). Text draft is just as easy in Word as it is in vi or emacs because the keyboard shortcuts to manipulate text blocks exist there also. The only vi functionality i sometimes wish for in word is dd and xx, but I cant get that almost as quickly by doing home-shift-up-arrow-delete. If you want to quibble about number of keystrokes, youre setting yourself up for a emacs-vs-vi flamewar, not a word-vs-free software one!

      I use vi whenever i open a terminal. I use Word for all document creation. I wouldnt use word to browse mailboxes or edit config files, but I would be equally foolish to use vi or emacs for word processing. Theres simply no comparison. The graphical nature of Word makes it imensely more powerful for word-processing applications (which include both text entry as well as layout).

      I accept your word on the Paperclip issue. My apology to you for insinuation otherwise. You do know that you can turn the paperclip off, right?


      Fallacy 6: Computers are Getting Faster

      I never said that everything was slower today.


      didnt you? "We have come along and destroyed all the gains we have made in hardware.". ALL the gains? Fallacy, computers ARE getting faster? These are strong statements. If you are now qualifying them, then you should edit your thesis accordingly with the appropriate qualifiers. In fact, computers ARE faster and the end user sees this manifest as increased power and functionality, as well as non-negligible speed. True the hardware requirements keep going up, but so does feature set. Remember back in Win 3.1 when you had to load a TCP/IP stack as third party software called "winsock" ? Remember before Win NT when "multitasking" met "close down your app to run another one or crash your pc" ?

      Your C++ compiler issue might simply be too much linking. Why dont you write the exact same code and use the exact same compiler on two systems, and then try the test again? And were the compilers writter ten years ago really better than the ones today? Are there really no additional features today that you think are worth including?

      sure, lots of software is bloated code. And lots isnt. That has ALWAYS been teh case - I have seen FORTRAN code dating back to the 70's that was ten times longer than it needed to be.


      Fallacy 7: Programs are Getting Better

      I think whether programs are getting better depends largely on the perspective of a particular person.

      Programs are getting more and more complex to use, harder to install, harder to uninstall, harder to keep up-to-date, are prone to virus infection, force me to keep buying bigger hardware all the time, often make it impossible to transfer customization to another computer running the same program, etc, etc


      now thats a reasonable statement, which disagrees with your original Fallacy statement.

      The litany of complainst you invoked above are NOT universal. And many of these problems are in fact masked from the end user. If you look at software today with an honest appraisal and in a real business environment (assuming a competent IT department also) you will find that most of these complaints are just anti-M$-derived FUD.

      anecdotal reminisces about DOS are one thing, but dont really serve the point one way or another.

      I apologise for calling your anecdote about the infalted word document a lie. I thought you were quoting as truth a myth you heard from someone else, not that this was your actual direct experience. Still, since you cant document or reproduce the anecdote, you have to admit its more likely that the problem was in something you did (such as turn on font embedding or somesuch) while you were tinkering around rather than a normal state of affairs. It is incendiary for you to insinuate that this is a routine occurrence (which you certainly did your best to imply).


      Fallacy 8: Programmers are Getting Better

      My thesis is that CS graduates are, on average, less qualified today than they used to be, especially when it comes to lower abstraction levels, such as hardware principles or assembly language, and theoretical computing, such as compiler construction or complexity analysis.


      In your first response above, you mentioned that CS is a vast and complex field. Let me assure you that JR Rutherford had a greater nmastery of physics in proportion to the entire field at eth time than Hawking does today. As any field grows, the amount that any one person can master remains constant in its size, but decreases in proportion to the sum total.

      It is great you could man troff but its not a big deal that CS graduates are learning HTML. Some CS graduates will focus on web infrastructure and others will focus on kernel hacking. Dongt underestimate teh value of a didactic education as compared to experience from the field - didactic learning formalizes and compresses the information and knowledge into a very short time frame. You can learn more HTML in a semester trhan you can in a year of hacking on your own, because the HTML class wont end with tables and frames. In a class you can cover advanced topics like XML, DTD defs, server-side scripting, client scripting, CSS, etc. That makes the difference between "My FIrst Geocities Page" and a true professional website.

      And if you know that you want to focus on web infrastructure, why should you take a course on computational theory, any more than someone who wants to focus on planetary sciences needs to take an entire class on astrophysical computation? Or do a surgery residency if you just want to practice pediatrics?

      Its a sign of maturation for the CS field. Embrace it, and get used to it. Its good for the CS industry, because specialization increases the knowledge boundary.


      We routinely ask programmers (especially graduates) to do things they are in no way qualified to do.


      doesnt this contradict teh "man troff" anecdote you gave? Are computer professionals expected to learn things on their own or not?

      this has been a fun conversation, and I appreciatee your taking the time. I didnt even finish responding to all your fallacies last time around, and im afraid ive spent too long on this round already. But maybe we can continue the conversation over mail if you are inclined. I look forward to meeting you again on slashdot fora :)

      Regards
      Aziz Poonawalla
      --
      Don't blame me - I voted for Howard Dean. http://dean2004.blogspot.com
  30. This document is a fallacy by Nicolas+MONNET · · Score: 4, Insightful

    He claims:

    99% of all documents are written to be printed on paper.

    Hell, no! 99% of documents (besides programs) I write are emails.

    I'm not nitpicking, this is a major flaw in the argument.

    1. Re:This document is a fallacy by DebtAngel · · Score: 2

      All of the project managers where I work print out most of their e-mail. At least they print out anything of any importance whatsoever.

      I do that at times too - its easier to scrawl notes on paper.

      --

      Is this post not nifty? Sluggy Freelance. Worshi

  31. Re:MS Paperclip by statusbar · · Score: 2
    • If you couldn't disable him, now that would be ethically wrong!

    No it wouldn't. Because you still have a choice to not use the software. However it would be ethically wrong if you did not have the right to choose a different software packages. Even then, the ethics are in the person who revokes your right.

    Software has no ethics, right or wrong. People do.

    --Jeff
    how much oil could a gargoyle gargle if a gargoyle could gargle oil?

    --
    ipv6 is my vpn
  32. Re:I love Fallacy 10 by Rupert · · Score: 5, Funny

    I hate Linux and Open Source in general with a passion

    Which makes your 680 /. posts all the more impressive. I mean, you despise Linux, perl, MySQL, and even SlashCode itself. You are surrounded by people who deeply and abidingly disagree with you. And yet you put up with all of this to bring us comments with titles like "erf" and "zerg".

    I salute you.

    --

    --
    E_NOSIG
  33. Complier Theory Lesson by UberQwerty · · Score: 2, Informative

    Some finer points in design; I see some stuff like this a lot as well:
    function bob( varlist ) { $var = $joe + 12345; return $var; }
    You're wasting memory and such for the variable declaration and assignment, simply return $joe + 12345;.


    Well, when you simply return $joe + 12345, the complier creates a variable of the same type as $joe, gives it the new value, and then returnes it, negating any hoped-for savings on memory.

    --


    PUBLIC SPLIT ON WHETHER BUSH IS A DIVIDER -CNN scrolling banner, 10/15/2004
  34. Re:You Fscking Morons by dj28 · · Score: 3, Insightful

    You got it backwards, moron. He's stating the Fallicies, and he states that Open Source is one of them. Good job making an ass of yourself though.

  35. What is obsolescence? by wayward_son · · Score: 2, Insightful

    It amazes me how quickly people that have anything to do with computers like to declare them obsolete.

    It reminds me of the guy who had an old 68k Macintosh running Word 5.1. He knew how to use it and it did everything he wanted it to do.

    One day the IT people at his company took his mac away and gave him a new PC because the mac was "too slow" Well, what happened?

    First of all, he was not familiar with the PC or with the new features availible in Word. Second of all, many of these new features were more annoying than useful, especially when the newer version of Word autocorrected something that didn't need correction. Also. considering that this new, more complex software is both more demanding of hardware and more prone to bugs, He found that his new system was slower than his old one and more prone to crashing.

    So, why again was that Mac obsolete?

  36. Re:I love Fallacy 10 by JohnDenver · · Score: 5, Interesting

    I have to agree somewhat with Fallacy 10


    Fallacy 10: Open Source is the Answer
    - Economic model is doubtful
    - Source code is useless
    - Motivation for Open Source is inappropriate for most software
    - Nerd culture is counter-productive


    It seems like he's trying to make the point that many open source developer's motivation is in the wrong place (making technically interesting, but not useful software), but he does a pretty horrible job conveying that with these bullets.

    While there are *some* (I'm not going to make up statistics) who do a pretty horrible job at making useful softwarebecause of poor motivation, there are also plenty of Open Source developers who's contributions to core technologies are VERY underappreciated because they were able to make the technology transparent.

    Unfortunately, he begins to make some good points about these issues.

    1. He right insofar as source code isn't everything and won't solve everything, but that hardly makes it useless.
    2. Yes the economic model is pretty doubtful at this point. Some have made it worked, others haven't. Some do it for profit, others as philanthropists, and others do it to set standards that will benefit a consortium.

    Personally, I think he's just beginning to hit the iceberg by pointing out these fallicies that many of us need to address, but he doesn't follow through with supporting arguments. Instead, it's as if he expects us to just "get it" because he "gets it".

    Maybe we can expand on his work and fill in some of the holes.

    --
    "Communism is like having one [local] phone company " - Lenny Bruce
  37. Fallacy 2 by ChristianBaekkelund · · Score: 5, Insightful

    "Computers Allow People to Do things They Could Not Do Otherwise"

    How is this a fallacy??...He cites perhaps the handful of examples in which it may NOT be true, but leaves out the seemingly unending numbers of examples in which it is in fact very true.

    - Telephone switching
    - All the sophisticated computers running those F16s we see in Afganistan
    - Power grid / sewage / water / gas control (in most areas)
    - The entire Internet
    - The level of visual effects in movies
    - Computer and video games
    - Thousands of different manufacturing processes that need to be computer controlled to get the level of accuracy needed
    - Protein folding research
    - and so on...

    1. Re:Fallacy 2 by Grail · · Score: 2, Interesting

      Telephone switching was once only achievable by having humans sticking plugs into sockets. Now we have complex robots (called "telephone exchanges") that do this for us.

      Someone had to know how to make an F16 fly. The computer doesn't just make it magically possible. What the computer does do is make it possible to perform all the real-time calculations that are required to get from "pilot moves joystick left" to the minute details of "adjust left aileron up 2 degrees, adjust right aieleron down 2 degrees".

      Utility services such as electricity, sewage, water and gas were supplied using human-controlled pipelines and valves long before computers came onto the scene. With the advent of modern technology, we just don't need to have a gas-company employee on every street corner ready to open or close the appropriate valves.

      The entire Internet could easily be implemented using humans instead of routers. Just don't expect latencies lower than three minutes, or data throughput higher than 200 characters per minute. The automation of the Internet allows much lower latencies and much higher throughput. There's nothing magical about the Internet - it's just lots of routers and switches operating in a predetermined fashion. Routers only make decisions based on a set of rules - they are not creative thinkers.

      I believe that what Michi is getting at is that computers allow you to automate repetitive tasks, and make calculations much faster than is possible for a human with a pen and paper, but they don't make you more creative.

      A computer cannot possibly make you know how to do stuff that you didn't know how to do. If you don't know how to write a prize-winning novel, a computer can't magically write one for you. All the computer can do is make it easier for you to store your ideas for the book, and keep track of all the different revisions of the book as you're writing it.

      Computers cannot replace the creative process. They cannot make design decisions. All they can do is automate repetitive tasks, and perform calculations much quicker than you can.

      All the examples you've given are samples of automation, not of creativity.

  38. Inmates Are Running the Asylum by Krelnik · · Score: 3
    I would like to call attention to the Useful Reading list at the bottom of the linked article. One of the books listed, "The Inmates Are Running The Asylum" is a fabulous book by Alan Cooper.

    If you have anything to do with designing any sort of interface to any sort of product (be it a piece of hardware, a piece of software, a widget, whatever), you should read this book. It will open your eyes.

  39. Re:A Bit more then that by thomas.galvin · · Score: 4, Insightful

    "The only point that didn't made sense in this summary was the one about "source code being useless"

    It would have been better, perhaps, to say "for most users, source code is useless."

    I remember when I was first getting started, and I head about Open Source. "Hey, cool, I can teach myself to write a word processor!" The truth, though, was that I couldn't. The code to any non-trivial program is going to be very hard to follow if you don't have someone walking you through it, or loads of time to work it through. And that's if you're a programmer. If you aren't, all the source code is good for is taking up space on your hard drive.

  40. His arguments don't apply to a lot of people by Dominic_Mazzoni · · Score: 5, Insightful

    While I think many of his fallacies have some truth to them (and I find them amusing), I think that his arguments only apply to business, or more specifically, they DON'T apply to a lot of areas where computers have revolutionized the way people do things, for example, in music composition, graphic design, scientific research, etc. - not to mention communication.

    Let's consider Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise. This is not a fallacy, it's true. As an amateur composer, I can compose and print a piece of music in a tenth of the time it would take me to do by hand. I am not taking advantage of any automatic composition or any silly A.I. technology. I'm just taking about using Finale 2000 to enter in the notes using my MIDI keyboard, edit them quickly with the mouse, and listen to the result through my speakers to make sure I didn't make any musical "typos".

    How about scientific research? Scientists now have amazingly powerful tools at their disposal. I know plenty of people who do need to perform a Fourier analysis on a daily basis (see Fallacy 7) and for people like this who are leading experts in Physics but know little about computers, a book like "Learn Matlab in 21 days" is all they need. I agree that you can't become a good DB programmer or QA person by reading a quick book or studing at DeVry, but most people who use computers aren't programmers and don't need to be.

    While we were taking about scientific researchers, clearly "Computers are Getting Faster" is NOT a fallacy for them!

    Finally, what about the Internet? Yes, the dot-com bubble bursted, but note that all major companies still have websites. It's silly to even consider a company not having one. E-mail definitely allows you to do things that weren't possible (or at least weren't realistic) before, like collaborate on a book or article with someone who lives halfway around the world.

    Also, statements like "Programmers are Getting Better" are hard to really analyze. One problem is that there are hundreds of times more programmers now than there were twenty years ago. As a natural consequence, the average level of expertise has gone down a lot. But the best programmers today are a lot better than the best programmers twenty years ago - because they're building off of the best ideas of the last twenty years. And there's no question that even below-average programmers are far more productive today than below-average programmers twenty years ago, simply because there are more high level tools available to them. People who write Visual Basic scripts for internal company programs may be very poor programmers, but if they can get the job done, who cares?

    < / RANT >

    Sorry. Computers have definitely made my life better, and have enabled me to do many things I never could have done without them, so I get upset when people try to argue that computers suck and that things are basically the same as they were before computers.

    1. Re:His arguments don't apply to a lot of people by TheMeld · · Score: 2

      Let's consider Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise. This is not a fallacy, it's true. As an amateur composer, I can compose and print a piece of music in a tenth of the time it would take me to do by hand.

      Aah, and in your own statement, you negate yourself! The initial statement says NOTHING about speed! You could still sit there with a piano, a pencil, and some msuical score paper and 'record' your music, then play it back reading from what you wrote and using the amazing technology known as a rubber eraser, fix your typos.

      I'm not saying that doing something orders of magnitude faster is not a big help, but you need to keep some perspective. The automation and speed of computers seems to me (and I'm guilty of this myself) to have encouraged sloppiness in many areas. His example of the letter that other people have attacked I think is misunderstood. The point he is trying to make is that with all the geegaws on word processors these days, people spend inordinate amounts of time worrying about trivia and end up writing beautiful (or horrendously ugly) letters with absolutely horrid content.

      Back to computers allowing people to do more things ...

      Your point about scientific research is very accurate, and is one of the few points where I think he is wrong. In my work, there are some things that I occaisonally do that a person could not do by hand within their lifetime, I think, especially not with any useful level of accuracy (http://www.ncbi.nlm.nih.gov/blast for an example) . However, the masses aren't doing this kind of thing with computers. They are using them mostly as glorified typewriters, post offices, and game cupboards. For businesses, add to that filing cabinets and adding machines.

      Related: The myth of the paperless office of the future: while some companies are finally getting on the ball and using computers to truly use less paper, most office use more paper because computers and printers make it easier to generate gobs of it.

      Computers certainly have aided some forms of progress, but one must not overlook the retrograde movements they've brought about, nor overestimate what they have really done.

      --
      -Cheetah
    2. Re:His arguments don't apply to a lot of people by TheAwfulTruth · · Score: 2

      Speed and ease of use are enablers. If thing X takes 10 times as long to do by hand as it does on the computer I may not be able to devote the time to it. So yes, using the computer allows me to do something I couldn't do otherwise. Price also comes into play. Talking about composing again, software is significantly cheaper than hardware and therefore may enable someone to compose/perform/mix and master a complete song in their own house that would have been completely impossible within a persons hobby budget using all hardware/non-computer solutions.

      --
      Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
    3. Re:His arguments don't apply to a lot of people by Dominic_Mazzoni · · Score: 2

      Maybe we're just arguing about semantics, but I still stand behind my original statement. I agree that just because you're building off the ideas of others doesn't make you any more able, but on the other hand, the best of the best will build off of the ideas of their predecessors and be able to do all they could do and more.

      I think that a college math major today is better at Calculus than Newton. That's not saying they're smarter, that they could have invented it, or that Newton wasn't any good, just that today's college students have the advantage of hundreds of years of synthesizing the ideas of Newton (and Liebniz) and they've been organized so well that someone can now learn it in a fraction of the time, and be more productive at it.

      So today's best programmers are better at programming - not because they have better tools (though that does help) but because they've learned from the mistakes of past programmers.

    4. Re:His arguments don't apply to a lot of people by Dominic_Mazzoni · · Score: 2
      OK, my example wasn't very well worded.

      But some things which were literally impracticle to do before are now possible, simply because computers do the dirty/boring work.

      Because I use the computer to help me compose, I can compose more quickly. The more quickly I compose, the shorter the initial idea -> feedback -> improvement loop becomes, so I progress as a composer more quickly. In my lifetime, I compose things I wouldn't have been able to otherwise without a computer there to speed up the process.

      If Beethoven had had a computer, he could have been a greater composer. Not because the computer would do anything he couldn't do - I'm assuming the music he would compose would be the same - but if he had been able to compose more quickly (i.e. more time composing, less time writing down) he could have expanded on his ideas even more, and pushed his ideas in directions he couldn't afford to do.

      Computers certainly have aided some forms of progress, but one must not overlook the retrograde movements they've brought about, nor overestimate what they have really done.

      No argument here. :)

    5. Re:His arguments don't apply to a lot of people by heikkile · · Score: 2
      As an amateur composer, I can compose and print a piece of music in a tenth of the time it would take me to do by hand.

      Composers like J.S. Bach could put up a cantata for every sunday and get it copied and practice with the singers and the orchestra, plus all the other stuff they did, weddings, funerals and private students etc.

      How many modern bands can produce a new album every week? Computers or no computers?

      --

      In Murphy We Turst

  41. Impractical Thinking != Visionary Thinking by larsal · · Score: 4, Insightful

    It's not counterproductive to have people pushing the envelope, it's counterproductive to have people outside of the mainstream dictating to those in it what their needs are.


    Despite advances in UIs, computers are still designed as general-purpose hobby devices, rather than for the specific functions for which the majority of their sales are used. When users complain that it doesn't make sense to have to log in to a system or to "start" a word processor, or to "double-click" to "open" a file through a graphical icon, they're simply told that they don't understand the technology. Same when they have to figure out [to avoid being scammed] what kind of RAM they need with their new P4 processors.


    The point is that for products to be useful and effective, they need to be designed with more consideration for the needs of the user; and much of the time, that which is "neat" to enthusiasts has held sway over design at the expense of what would be useful [see featurebloat].


    BTW: impractical thinking is not necessarily visionary. It might just be impractical.


    Larsal

    1. Re:Impractical Thinking != Visionary Thinking by SirSlud · · Score: 2

      I agree 100%. Thats what I said. I was only saying that just because nerdiness is bad for the masses, doesn't mean that nerdiness should be done away with. My point was that nerdiness is being utilized too close to the practical for-the-masses end of the business, but that it's still essential for the development of the industry; as it has been in all industries. Someone does something because they love it (which immediately makes it unsuitable for most people, since love is very personal, and can/should only be able to serve adjacent communities/ideologies), and then someone does something with it to make money from it.

      Thats the world we live in. Those who get paid, do so at the expense of being so creative as to be creating things that are appropriate for a popular mass.

      --
      "Old man yells at systemd"
    2. Re:Impractical Thinking != Visionary Thinking by arkanes · · Score: 2
      I find end users to be a much greater source of "featurebloat" than my own twisted desires. And when they complain about how basic computer operations work, which, in my experience, is quite rare - people generally accept them even if they have to learn it by rote - it IS valid to tell them that they don't understand the technolgy. Because the people in question don't have any better ideas, except that it should "know what you want". These are the same people who will keep the same car for 40 years, not because of emotional atachment, price, or reliability, but because they can't figure out, or are unwilling to figure out, how to drive a new one.

      The only instinctive interface is the nipple. All others are learned. Some people are less able to learn than others.

    3. Re:Impractical Thinking != Visionary Thinking by RickHunter · · Score: 2

      The problem is the idea that they don't need to understand the technology or the terminology. You can bet that secretaries in the past, while they may not have needed to know all the details of how their typewriter worked, knew the general principles. And, when something broke, they were at least able to give the repairman a general idea of what had gone wrong. As opposed to "My computer stopped working".

  42. History Repeats Itself by nanobug · · Score: 3, Informative

    Michi Henning has given his Computing Fallacies talk several times in various venues in the last few years.

    Slides and video from one of these (given on April 18th, 2000) are available here.

    He will probably continue to give his talk for many years to come, as it is unlikely things will change much in the short to medium term.

  43. Good point by Synn · · Score: 2

    It's sort of like the fashion industry, what the models wear on the runways isn't what you're going to buy in Sears, but it does set the "trend".

  44. Programs are all the same? by jmv · · Score: 4, Insightful

    There are good points but I've got a problem with what looks like the unwritten assumptions that programs are all the same and are targetted at the same people. Let's see who uses:
    -Word
    -Matlab
    -Apache
    -Linux/Embedded
    -AutoCAD
    ...
    While you (should) want to make Word as simple as possible, you want to let Apache users configure everything, you want to let people modify the source to Linux(Embedded) to exactly fit their needs. AutoCAD needs lots of features, but not necessarly source code ('cuz there are less programmers in mec. eng. than ee)

    So I'd add fallacy #11: Programs are all the same
    -Software management should be done the same way, regardless of the software being produced
    -All programs should focus on simplicity, not features

  45. Re:A Bit more then that by bofkentucky · · Score: 2, Informative

    its the fast save feature, turn it off, and file sizes shrink. A fast save apparently appends to the end of the original file with routing for where this and that section needs to go, in addition to the edits, its apparently not real efficent but it beats waiting for 10-20 seconds for msword to finish saving so you can shut down your system in MS marketing's eyes, dig around in options and you'll find a check box for it

    --
    09f911029d74e35bd84156c5635688c0
  46. Re:I love Fallacy 10 by Tassach · · Score: 5, Insightful
    Though at first appealing, it's economically impossible. There is a cost to everything, whether financial, labor or opportunity cost.
    You refute your own argument. The "cost" of Free software (actually, any software) is almost entirely labor costs -- paying the programmers. Once a piece of code is written, it can be duplicated infinately for near-zero marginal cost. Eliminate the labor cost, and the total cost of the software approaches zero.

    Money is not the only motivator for people to do work -- even skilled labor. Doctors who work in well-paid jobs in cooshy suburban hospitals routinely donate their efforts to free clinics and programs like Doctors Without Borders. Lawyers take on pro-bono cases for causes they believe in. Programmers write Free software. They all do this not for money, but for personal satisfaction, out of a sense of duty, or to gain experience they wouldn't get in their day jobs. Why do you feel it's appropriate to praise the doctors and lawyers who donate their hard-won professional knowledge to the world, but to deride and ridicule the programmers who do so.

    Consider this - a volunteer doctor or lawyer can only help one person at a time, whereas an infinite number of people can benefit from the efforts of a volunteer programmer.

    --
    Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
  47. Well... by virg_mattes · · Score: 2

    ...if spoilers and racing stripes are part of your car's user interface, I'd say you need some driving lessons, or a different car.

    Virg

  48. Re:I love Fallacy 10 by Rude+Turnip · · Score: 2, Insightful

    Why do certain members of the programming community think their industry is different or more special than others? Every industry has some equivalent of open source work and closed source work that both thrive.

    In my particular branch of financial services (business appraisal), the equivalent to open source would be all of the articles, books and speeches about newly discovered techniques, insight into court cases and mathematical formulas...in short, industrial infrastructure. Everyone in the industry utilizes and benefits from the sharing of information. And, the people that share this information, such as Shannon Pratt, gain tons of respect and are held in the highest regard.

    The equivalent to closed-source work in my industry would be actual valuation assignments. They have to be "closed" and not open for anyone to see due to the sensitive nature of the information we're working with.

    The funny thing is, we use all of our openly discussed ideas and techniques to create confidential work. Sort of like a BSD licensing system :-)

  49. Looking at it from the wrong decade by mblase · · Score: 5, Insightful

    I wonder just how far we've come in automotive technology since the 1950s?

    I mean, the cars don't actually go any faster. The speed limits aren't much higher, and if anything, the increased traffic makes us drive slower. Environmental improvements from catalytic converters and the like are nullified by the increased number of cars producing pollution. We add rear-window wipers and CD players, and instead of buying (or building) a more efficient vehicle we demand (and get) SUVs from every last manufacturer on the planet.

    So, are cars actually any better, when any technological improvements are effectively nullified by the people driving them?

    Well, yes, they are. Cars are more popular every decade because they're easier to use, cheaper to own, and more comfortable for everyone inside. They may not be "better" from a numerical perspective, but anyone driving a 2002 model right after driving a 1962 model will immediately notice the difference.

    Computers are the same way. The faster they get, the more we expect them to do. The more people that use them, the fewer things they are used for. Developers get sloppier about optimization and APIs get changed with every iteration of the OS. It takes longer to start up this year's computer as it did 1979's, and people still do the same basic things with them.

    But look at how much they've changed: graphical UIs make it easier for anyone to use a computer, instead of having to know what to type in at a text prompt. WYSIWYG doesn't happen 100% of the time, but 98% is a fair sight better than 0%. I may not get anything more interesting using a cable modem than I could using a 14.4 and a BBS, but at least all the commands are on screen instead of hidden behind a hundred scrolling screens of /help documentation.

    So people are using all this computing power for nothing more than playing video poker and typing papers. So what? 90% of the population never needed it to do anything more; at least in 2002, they can do it for a lot less money and with a lot less reading. Companies and users may throw away countless man-hours developing skins and pretty interfaces, but at least they're successful in making computers familiar, comfortable, and desirable to the common man.

    And besides, look at all the things we can do with a PC today that we couldn't ten years ago: access millions of pages of esoteric information online. Take photos digitally and organize them on CD-R discs, taking up 1/100th of the space for about the same cost. Listen to a thousand songs from a single digital jukebox, no vinyl or tape required. IM your mom across the continent without spending a penny on long-distance. Order anything from the Sears catalog without having to own the catalog. Find a new job. Locate a special interest group. Print a map. Comparison shop.

    Or, just write and print out your resume. But at least nowadays, as with Henry Ford's first cars, you're not stuck with "any color you want, as long as it's black."

  50. Re:A Bit more then that by JabberWokky · · Score: 5, Insightful
    The whole thing didn't make much sence if you ask me.

    Or if you ask me. This guy has a few interesting points and a bunch of useless or fundimentally flawed points.

    The one "decent" point is that people spend too much time dicking around with fonts and colors. But that's a problem that doesn't sit on a hard drive - it sits in the chair in front of the computer.

    Fallacy 1: Computing is Easy, he shows by pointing out that there are "Teach Yourself" and "for Dummies" books. These are merely titles. He then points out things like "Air Traffic Control for Morons" is silly. Yes, it is, if you're going to be a professional ATC. But then, if you're seeing if you're interested in the field, or possibly getting caught up on a new system, it makes sense. These are industry specific publications - grabbing a copy of New Riders "Essiental Python" won't teach you Python if you've never programmed, but it will get you going quickly if you've done C++, Perl, etc before.

    Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise This is not a fallacy. I don't have a typewriter, lightboard, razors, specialized photography equipment and a printing press. But I've used a multitude of layout programs and a printer, which is far cheaper and quicker to use. The fallacy he *is* showing is the concept of "Software automatically makes me an expert", which is not a common credo at all. In fact, most office workers will activly try to avoid learning new software because they don't understand that that field.

    Fallacy 3: Computers Increase Productivity

    Walk into an engineering firm or archetect firm and ask them if they want to go back to sketching blueprints. See if most small businesses have a CPA on hire anymore. He says: "It only took five hours to format this memo". If that's the case, the problem sits in the chair, not in the software. Your HR department should take care of that, not IT.

    Fallacy 4: Programs Help Their Users Which he then says is a false because they are only focused on upgrades, money and crushing the competition. And yet, later he'll say why open source is useless. Um.

    Fallacy 5: If It's Graphical, It's Easy CLI might be more "powerful" in the hands of a skilled user (I won't give mine up), but well done GUIs can be self explanatory (assuming you know the conventions of that UI). Again, he's phrasing this so it is self-fufilling. Of *course* there are lousy graphical interfaces out there. There are also quite a few easy ones. And I think the metaphor of windows is a very very good one in a computing environment when you are moving from task to task constantly (Letter, Email, Check the intranet for some numbers, back to the Email, task list, look up an phone number, make a call, pull up client records and make note, check email, write a letter). For very deticated tasks, it's less useful, but many real world users need to jump around in tasks. Even if it's a spreadsheet and solitare, as a receptionist listed as her "necessary applications".

    Fallacy 6: Computers are Getting Faster Computers are getting faster, the experience is not. On my Apple ][, I could turn it on and in a matter of several seconds, be typing in a word processor. But then, it didn't have spell checking, fonts, and I couldn't make a spreadsheet larger than something like 32x64. Humans can only work so quickly, so as long as the computer can keep up, the coders will add new features. There is the issue of "snappiness", but that's a feel issue less than a task speed issue.

    "We have come along and destroyed all the gains we have made in hardware" - no, we have leveraged them into more flexability.

    Fallacy 7: Programs are Getting Better

    He asks how often I make pie charts. Me? Very seldom. But for the guy down the hall who does financial pitches to clients, he really really needs that ability. How often do I embedd live info into a document? Not often - but the guy who manages the intranet does it all the time. How often do I perform a Fourier analysis? Pretty damn often - when I was in college. Had I gone into a different field, I would be stone dead if I couldn't.

    His wife was trying to save a 2.2MB for a 2 page Word document on a floppy disk. Plain text, default font, left aligned. There was one email address, underlined. After 17 minutes of searching, he found a way to turn off this email address highlight off. The document was then saved at 800KB.

    My comment: Then it wasn't plain text! We all *know* that Word's doc format sucks... so use something else (and yet open source has no advantages in creating sane standards).

    Fallacy 9: Programming is About Date Structures and Algorithms

    No... Program = Data Structure + Algorithms. Knowing how they work makes you a better programmer. Period. And Michi? I wrote a program using linked lists last week. Some of us do low level code for specific reasons.

    Fallacy 10: Open Source is the Answer I agree with this one - again, because he phrased it carefully. Open Source is an answer, not "the" answer.

    Fallacy 11: Standards all the Solution Right then, what is Corba?

    Fallacy 12: We are Making Progress If you bought the shite at the beginning, I assume this makes sense.

    Fallacy 13: The Industry Knows Where it is Goling Name an industry that does know what is in the future. Hell, name a *person* who is certain of the future and is not delusional.

    This guy is a twonk, and almost dangerous: The best UI people on the planet are those working in the car industry. And yet people die all the time because the controls for AC and radio are off to the side and different in each car. I get into a new car, and I have to play for a minute to figure out the lights, shifting, etc... and I just forget about things like cruise control unless I'm on a road trip - and then I ask.

    And finally, the biggest thing that shows what an idiot this guys is: We have to stop doing things just because they are fun. If you don't enjoy your activities and you aren't pursuing alternate activites, that's a pathalogical condition. You are mentally ill.

    Me? I enjoy my profession, *and* do the best damn job I can do to make powerful, easy to use and useful solutions for my users.

    --
    Evan

    --
    "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  51. Re:I love Fallacy 10 by kin_korn_karn · · Score: 2

    As for "ruining it for the rest of you", tough shit. I bet you complained about the people in your college classes who set the curve on exams, too.
    In point of fact, I was often the one who set the curve. Or there was no curve. Grades are inconseqential, anyway.

    Anyway.

    That comment was kind of self-indulgent, but if you were affected by it you'd say the exact same thing, unless you're Jesus himself who is perfect and has no faults.

  52. Auto-motives by virg_mattes · · Score: 2

    Actually, the design of most automobiles (and the operator interface) is controlled as much by legislation and safety concerns as by intuitive use. And as another point, yes, I did need to RTFM to drive a car. It was my driver's manual, so I could get a license. The point is that most automobiles are driven the same way, but to learn any of them, you must first learn one of them, which takes practice. The similarity among automobiles makes it easy to move from one to another, but if you insist that driving a car is in and of itself intuitive, I ask that you consider how someone who had never seen a car before would fare behind the wheel. For example, even if you told Ben Franklin what a car did, would he be able to tell without experimenting how to get it started, in gear, and moving in a non-hazardous manner? Probably not.

    Also, you aren't considering that many programs don't do the same things. To extend that to your car analogy, you'd have to say that the same controls that you use to drive a car should seamlessly translate to flying a plane or driving a submarine, as they are also vehicles. Again, once you learn one airplane, you can (at least marginally) operate most of them, but again, it's not intuitive or nobody would need a pilot's license. For humorous demonstration, imagine you're on a plane, and the pilot passes out. You get behind the controls, and when you raise the tower on the radio, they say, "Just land it! It's like falling off a log!" I think you can see my point.

    Virg

    1. Re:Auto-motives by virg_mattes · · Score: 2

      > But did you read it to learn how to operate the car or to learn the "rules of the road" in order to pass the test.

      No, but I did take lessons, which is functionally the same. Whether by lessons, reading or simply observing others do it, I still had to learn to start and operate the car.

      > My 5 year old knows how to enter, start and drive almost any car, even though he has never done it, read the manual or understod the rules of the road.

      Again, familiarity takes over. It's true he's never read about operating your car or done it, but it's a safe bet he's watched you and others do it (so he's learned it by watching instead of practicing, but still learned it) and also, how good a driver do you really think he'd be if he tried? Without practice, not good, I'd guess.

      > Did you need to RTFM in order to get out of a car, ever?

      Back to the Ben Franklin example. I've learned by watching that the handle will open the door when pulled, given that the door is unlocked. Without that foreknowledge, is an unmarked handle and door lock latch really intuitive to someone who hasn't seen them? Would a handle marked "door open" and a latch marked "door locked/unlocked" be clearer? Remember, when you discuss intuitive, it has to be easily discernable for users who have never been in the described situation.

      Virg

    2. Re:Auto-motives by dvdeug · · Score: 2

      Did you need to RTFM in order to get out of a car, ever?

      My friend has an old Beatle, that you have to hold the handle when closing the door or it will unlock. He was surprised when I got the first time; it took some of his friends a half an hour to figure it out.

  53. Re:I love Fallacy 10 by kin_korn_karn · · Score: 2

    enjoyment of work leads to lack of quality.

    Killing people is not enjoyable (for non-sociopaths) but our army is good at it. They see a greater good in wholesale slaughter. Sometimes there is, sometimes there isn't.

    If they enjoyed it, they'd be looking for the most enjoyable way to, for example, decapitate someone, instead of just making sure they were dead at the lowest loss of friendly life.

    use your imaginations, if you have them, to draw the parallels between programming and other vocations.

  54. Re:A Bit more than that by SilentChris · · Score: 2

    If you're going to tell me that a tarball beats an InstallShield, self-extracting exe that my grandmother can double-click to open and have automatically install pre-created binaries for her, you're sadly mistaken.

  55. Re:A Bit more then that by arkanes · · Score: 2

    This is fascinating, and perhaps should be published more widely - who knows, maybe it'll be the kicker to get people to stop using Word! *gasp!*

  56. Re:MS Paperclip by TeknoHog · · Score: 2
    If he annoys you, turn him off. If you couldn't disable him, now that would be ethically wrong!

    True.. but why, in the first place, is the software full of 'funny' things that serve no other purpose besides procrastination?

    Computers are here to get something done - whether that's actually doing a serious job or watching DivXs or playing games. One problem with fancy GUIs is that they distract people from the actual work. I'll rather watch movies in fullscreen with no visible widgets, why should office work be any more cluttered? (maybe because it's less important.. ;-)

    This extends outside computing, for example in the form of elevator music. It's absolutely annoying because I want to decide when and what music to listen to. It probably reduces peoples' ability to appreciate good music in proper situations, because their senses have been numbed by some marketing morons.

    Now it's interesting why PHBs would rather choose Windows, over a more calm and productive workign environment. Instead, you get Dilbertish things like:

    "Can you put a funny animation on this?"
    "Uh, it's a database, sir."
    --
    Escher was the first MC and Giger invented the HR department.
  57. Re:List of things developed with pre-1946 technolo by chazzf · · Score: 2, Insightful
    There is a fallacy in your reasoning here. These concepts are of that vintage, but the actual implementations are far more elegant.

    Penicillin - People still take drugs, but those drugs are magnitudes more powerful and complicated than penicillin

    Iowa/Yamato class battleships - The battleship as a ship-of-the-line was rendered obsolete in the 1940's. Those that serve today carry helos and guided missiles.

    Apollo moonrockets - They have not been utilized since 1974, with the Apollo-Soyuz test project. I will grant that NASA has lagged behind in space delivery systems.

    Polio vaccine - If it isn't broke don't fix it. However, new vaccines are coming along all the time.

    Transistor - Has been superceded by better technologies.

    Bulk transport system, rail - The main difference here is that the engines of today are vastly more powerful than those in the 1860's. There is no comparison between a 4-4-0 American-C and a Dash D9. None at all.

    Bulk transport system, car/truck - Same with above, plus the interstate system, created between the 1950's and the 1990's (yes, it was based on 1930's German tech, but it is better than the Autobahn).

    Airplane - Once again, the concept is there, but a whole host of innovations have been ignored. The airplane of 1910 bears little resemblance to the airplane of 2002.

    Fast airplane - Once again, vastly more advanced today. Try telling me that an F-86 Sabre has anything on an F-22 Raptor. Better avionics, superior engines, stealth....

    Personally, I would say we're making plenty of progress on these fronts.

    ~chazzf

    --
    No statement is true, not even this one.
  58. productivity and code quality by pmineiro · · Score: 2, Interesting

    i take issue with some of the sentiments here:
    ---
    Fallacy 3: Computers Increase Productivity
    - The sound effects in this presentation will make all the difference
    - It only took five hours to format this memo
    - The shading on this pie chart is simply superb - The icons on my desktop are lined up perfectly [sound of car screeching to a halt for each bullet point]
    ---
    well, people have a certain actions to choose from, and a certain amount of resources (time, etc.) to allocate. choosing not to work further on your presentation is one type of action to take. another is to gussy it up with wierd sound effects and alpha channels. clearly, what's going on is, there more value in continuing to gussying-up than to doing something else. so yes, computers have increased productivity, in the sense that the total value what the person can do in a day has gone up, BUT, people have very strange utility functions.
    ---
    Fallacy 5: If It's Graphical, It's Easy
    - Single click, double click?
    - Where is the #$%^@!! menu??
    - Which part of the UI does *not* do something?
    - With a GUI, anyone can be a
    - System administrator
    - Programmer
    - Typesetter
    - Accountant
    - Statistician
    - ...
    ---
    well, thanks to modern tools, very bad system administrators and programmers can be made into moderately bad administrators and programmers. this is a _huge economic boon_, since good system administrators and programmers are rare and expensive, and will only get better as the tools improve to the point where very bad is transformed into mediocre.
    my whole job is to make statistics and informatics tools for biologists (non statisticians, non computer scientists). yes it works, and it's a huge boon.
    ---
    Fallacy 6: Computers are Getting Faster
    - How long does it take for your PC to boot?
    - How long does it take to
    - start your word processor?
    - load a web page?
    - compile a program?
    - how long did it take
    - five years ago?
    - ten years ago?
    ---
    this relates to the presentation point above, but basically, the utility of booting faster than X is very low for most people, so computers settle upon the minimum and then stop improving that piece (just like a computer or tv or cd player or car cheaper than $Y is of little utility, so the cheapest computers/tvs/cd players/cars are always about the same price but have better technology.)
    ---
    Fallacy 10: Open Source is the Answer
    - Economic model is doubtful
    - Source code is useless
    - Motivation for Open Source is inappropriate for most software
    - Nerd culture is counter-productive
    ---
    but nerd culture is _motivated_, just by a different metric than money. because of that motivation, nerds will and have eventually realized that boring things like ease of use and installation make the difference between adoption and non-adoption of their favorite technology, hence gnome, kde, etc.
    it's an alternative economy, but it is productive, in some ways more productive than the mainstream economy.
    ---
    Fallacy 11: Standards all the Solution
    - Usable standards are created only years after the fact
    - Standards are foul compromises
    ---
    this is total crap. i'm sorry, but it is. standards need to be designed with extensibility and the next generation of standards in mind, but please. tcp/ip? a foul compromise? usable only years after the internet exploded? no ... it could be argued that tcp/ip was a major reason the internet could explode (the other being http, which has also undergone many revisions, but that's the beauty about a _standard_, people can start talking about _the same thing_.)
    more problems with this, but i'll stop here.
    -- p

  59. Re:I love Fallacy 10 by Pinball+Wizard · · Score: 4, Interesting

    If people who sell software for money want to continue to do so they have exactly one choice: pay the people who are willing to write software for free.

    The Harvard model(turning away qualified applicants because you have more applicants than slots to fill) ain't gonna cut it in the world of software. If the software industry expects to sell its wares, it damn well better hire all the qualified applicants.

    Elitism will not work. Because if people have the ability and the time, but no job, they will sit around making high quality software and giving it away for free. And that poses quite a little problem if you have a similar product and want to charge for it, now doesn't it?

    The current downturn in the computer industry is by far the worst I have ever seen. Ever since I can remember(back to the early 80's when PC's first arrived) the computer industry had always expanded and provided more jobs. Now its experiencing its first real downturn and you have a lot of skilled people without jobs. If those skilled people continue to produce software, but they give it away for free, that spells disaster for software companies who expect to sell their product for money.

    Open source software will indeed "catch up" to its commercial equivalents. I give KDE less than five years before it is equivalent or superior in every way to Windows. Same thing with the Open Offices, the databases, the programming languages, etc. The software industry has one choice - start paying open-source programmers or die.

    I'm not sure if our current economic model can deal with the situation of high quality products being given away en masse for free. I certainly don't see how the software industry can grow like it did in years past. Since the computer industry has led the economy for the last 20 years prior to the current recession, we may never see a recovery. Unless we revamp our current economic system to deal with the fact that what had previously been leading the economy into prosperity(software) is now being given away for free. Also, on a global scale we have to compete with entire economies of scale(China) that don't pay for software.

    --

    No, Thursday's out. How about never - is never good for you?

  60. I have to disagree by jandrese · · Score: 3, Interesting
    A lot of these "fallacies" are the types of things I see in joke emails. The problem is they're simply not true.

    Lets run down them quick:
    1. True, computing is not easy, especially if you are a programmer. However, for user applications it's frequently easy enough. How long did it take your mother to lean how to type a letter in Word? I bet it was less than a few minutes. More complex things may be beyond her, but for what she wants to do it's easy enough.
    2. False, but he's in the wrong context. Ask a meterologist if he'd like to run those weather simulations without a computer. As another poster noted, we are about twice as productive now as we were back in the 1940s.
    3. Vague. I'm not sure exactly what he's getting at here. I think he's talking about how software companies are unfriendly to their consumers by requiring them to buy upgrade products by not making their software forward compatable (IE you can't open a Word2000 document in Word 3). The software industry is somewhat unique in this field , so the comparision is not completely fair.
    4. True. GUI's do not make everything easier automatically, however a well designed gui will tend to be more intuitive than a well designed text interface, because we can pack more precise contextual information (make the widget buttons look like real life buttons for instance) into the graphical representation of the concepts we are trying to convay. They make ergonomic pointing devices.
    5. False. Even when you upgrade your software, it's generally faster than it was 10 years ago. People look through the past with rose colored glasses and forget that you had to wait half a second for the stupid menu to draw. Booting time is largely a function of how long you need to probe all that new hardware you didn't have 10 years ago, and to load a real operating system instead of DOS (which is no doubt what the speaker is referring to). The webpage example is particularly bad, as 10 years ago there was no such thing, and 5 years ago pretty much the entire web was slow (and your slow computer took forever to render even the simplist page). Compiling is definatly faster than it used to be too, but I havn't changed my compiler much over the years (still gcc).
    6. False, you may not need to animate fonts (what dose that even mean?), but my productivity is much better when I'm using vim instead of ed. Sure we don't have to create a pie chart, but it sure helps make the meeting go faster when you don't have to run through the major numbers and have something to point at. Where does that 99% statistic come from anyway? I havn't printed a document for work in ages. Nobody wants to get a paper copy of anything short anymore, they want it emailed to them the instant it's ready. Nobody reads long documents unless they really really have to, so there is little need to print out your documents. Caveat: I'm an engineer and write fairly techincal documents ment mostly for other engineers, I don't spend a lot of time "prettying up" my documents because it's useless.
    7. Kinda True, but the programmers don't have to be as "good" anymore. There are a lot of tasks out there that are execllent for mediocre programmers and their elite VB skills. Because our development environments (and laguages to a certain extent) have gotten so much better, we don't have to worry so much about hiring the rocket scientest types to design the "save as" dialog or the disk IO routines. This isn't to say there aren't a lot of really talented programmers out there, but there are more "fillers" as well. I'd say the average programmer talent is higher than it was a few years ago, simply because more people ARE taking formal education on programming. A few years ago it seemed like every other developer I met graduated with some weird degree like animal husbandry and then got a job programming. Also, experiance is the best teacher, and many of the beforementioned people are the master programmers of today.
    8. True. Data structures havn't changed much, because they do their job. People aren't really interested in fixing the array because it isn't broken. Also, some algorithms are about as good as they are going to get (and have been proven so), such as sorting, searching, etc... Was the speaker expecting someone to come up with a better Traveling Salesman by now? I think most great programmers have written assembly at some point because the great programmers are the old ones with lots of experiance. The old ones wrote assembly because that's all they had back then (or they come from a time where structured languages were still in their infantcy).
    9. False, I'd say most modern programmers can say Yes to the first one because they did it in school, but once they graduated they immediatly started using the toolkit like any normal person. I'd say yes to the second only if they're programming in C++ (not a safe assumption speaker!). What does HCI have to do with data structures and algorithms? Wouldn't the interface programmers be more interested in that? We were tought when to return bools and ints in school, thank you very much. Granted, C programmers have it easy (or hard depending on how you look at it) since they have no native bool type.
    10. False, Without open source practically none of my projects would have gotten anywhere (since I tend to work on nonstandard routing protocols and testing them in embedded enviornments). The Economic Model is doubtful in many ways (if you are going to try to make money off of open source at least), but you don't write open source software to make money. Having the source code has saved my butt a couple of times when tracking down very obscure bugs only brought forth by running nonstandard protocols (although they SHOULD work, sometimes they don't). The Nerd culture comment is too vague for me to say anything about.
    11. False, without standards we are left with the connector conspiracy everywhere. For many things, (networking, communication, HCI!) standards are they key to making the whole thing work. The last part is just a random insult.
    12. False, Progress in many areas is fast, other areas slow. You can't single out a few examples and say that everything is slow. PC OSes have become much much better in the past few years (especially on the Windows side). PC hardware is much easier to work with than it used to be (remember when you had to configure IO and IRQs manually and when you could accidentally fry the Motherboard by plugging in the power connectors backwards?). Remember when MacOS had no memory management to speak of? Remember when it was hard to network computers with TCP/IP? Remember when everyone was using their own standard for everything and nothing ever worked right if it wasn't plugged into the same brand of machine? Remeber when programmers had to write in assembly or even toggle the bootloader in on the front of the machine? Do you remember when the weatherman wasn't able to accuratly predict more than a few hours into the future? Remember carbourators? Don't you like your Tivo? Just because we don't write newer and better sort routines every year doesn't mean there isn't progress.
    13. True. The computing industry is very hard to predict. A lot of people were broadsided by the Web for instance.

    14. I have no idea what the 'Progress' is at the end. Apparently it's quite different from Progress? I guess I had to be there.
      I think the designers should focus on design and let everybody else do their job.
      Very very true that we need realistic growth expectations. Especially for startups. I remember an anecdote were AOL had figured a certain growth rate not factoring any sort of slowdown as they reach critical mass. They intened to account for something like 15% of the nations GNP by 2010.
    --

    I read the internet for the articles.
  61. Re:List of things developed with pre-1946 technolo by gilroy · · Score: 2
    • Integrated circuit: 1970s
    • Laser: 1960s
    • MRI: 1970s
    • Cellular/mobile (stationless) phone: 1970s
    • Widespread information-sharing network: 1970s
    • targeted cancer drugs: 1980s
    • global positioning system: 1980s
    • in vitro fertilization: 1970s
    • scanning tunnelling microsope / atomic force microscope : 1980s
    • high-temperature superconductors: 1980s
    • genome sequencing: 1990s

    We're doing OK. Sure, some of these things aren't commonplace market realities yet, but I don't want to hear it: If the Apollo program (moon landing: 1969) is accepted as "1940s" technology, then a gap of a few decades is apparently OK.


    Although it might be true that someone from 1950 could recognize more of life in 2002 than someone in 1900 could have of 1952, that's a temporary anomaly. In fifyy years, the world will look nothing like it does today. The past looks richer because you're far enough to see what turned out to be actually significant.

  62. Insurance by gmhowell · · Score: 4, Interesting

    Company I work for purchased a system in early 80's. Company was new. Who knew if it would last? This was pretty damned important software. So, the source went into an escrowed safety deposit box. They disappear or file bankruptcy, we get to open the box.

    Never had to use it, never wanted to use it. But it was there, and allowed us to pick something other than IBM (way too expensive at the time. Not sure if they even offer a similar product anymore.)

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
    1. Re:Insurance by gmhowell · · Score: 2

      Don't know. I think it was on some sort of tape. One of the first things to do at my new job was either make this company (that managed to stay in business) either do some things to their software to reflect changes in the industry (medicine) in the past 20 years, or find someone else. Tried the former for about one year, gave up, and found someone else.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
  63. Re:MS Paperclip by bluGill · · Score: 2

    Thats the problem. Clippy is an excellent idea, if it is implimented correctly. Help that knows how to do what you want to do, and helps you do it. Something to notice that you are doing something the hardway and point out the easy way.

    Insteady clippy is annoying. A failure of HCI, despite being a good idea. Not the first time though. Nobody would consider a talking car anymore, even though it could be useful to have your car talk. But fear of "a door is ajar" keep killing the idea before it starts.

  64. Re:I love Fallacy 10 by arkanes · · Score: 2
    Man, I think someone's got a dead end job and too much cynicsm. Personally, I ENJOY writing tight, fast, efficent code, and will, in my spare time, go over old code and see where I can clean some things up, maybe clarify a comment...

    You just are wrong in so many places... people who enjoy and time pride in thier jobs almost inevitably are better at them, because they put more effort into them, care about losing them, and don't look for things to keep them from working. Customer service is an excellent example, I know a couple people who actually enjoy working at the help desk. They're much more helpful (read: better at thier job) than the people who hate it and just try to get you to go away.

    As for the army... a great deal of conditioning goes into allowing soldiers to objectify enemies, allowing them to take pride and pleasure in killing without feeling the guilt that they would if they didn't have that. Even more so in the modern era of "technical" warfare.

  65. Value of source code by jms · · Score: 5, Insightful

    The public benefit of open source and free software has nothing to do with economics. It has everything to do with learning and progress, and free access to source code is the key to advancing past the current stagnant backwater that computer science has become.

    Let me explain.

    Imagine that you're a young student who wants to become a writer. You ask your teacher, "What do I need to do in order to become a great writer."

    Your teacher, if she has a bit of sense about her, will tell you to read all the works that you can, by the best writers, and learn from them. By recreationally reading and studying the works of great writers, as a young person, you will learn to recognize and understand, from experience, what differentiates good writing from bad writing. This is the educational process that, if you are both diligent and lucky, will turn you into a talented writer.

    Contrast this advice with the world of computer programming. In the world of software, programs are distributed as object code -- meaning that you can't learn from them by reading them. Plus, they contain "licenses" that proport to deny you the right to study them to learn from them. Any programmer who obtains surreptitious access to some major program's source code is running a serious risk of being unemployable -- as a legal liability.

    It is as if our original hypothetical budding author were told:

    "If you want to be come a author, you must be sure to never, ever read anyone else's books, especially popular books by great authors. The way to become an author is to wait until you are of college age, then enroll in a two year "writing school", where you will learn grammar and spelling, sentence structure, and then write a series of short essays. For your final project, you will write a single chapter of a book co-authored by the entire class. Once you are completed with this two year course, you will have your degree, and, having only studied textbooks, will be fully qualified and ready to join the workforce as a writer, uncontaminated by exposure to real-world writing experience.

    If this were the way we taught writing, then our novels would show the same lack of quality -- and lack of progress as our software does right now!

    So how do we fix this problem?

    I believe that the answer is to reform copyright law. The current system of closed source, proprietary programming technology -- and the lack of any noticable progress in the craft of programming -- reflects the complete failure of copyright law brought on by the extension of copyright protection to proprietary software.

    Patent and Copyright law are supposed to promote progress by placing the best examples of science and technology into the public domain, where they can be studied and learned from. If I want to learn about any physical science or engineering discipline -- if I want to catch up to the current state of the art, all I need do is go to the patent databases and -- right there, are thousands of examples of the latest, real-world scientific technology, written by actual scientists working in actual companies on actual products -- all there for me to study and learn from, and, 17-20 years after disclosure, to freely draw upon and use.

    This is the public benefit of the patent system -- the dissemenation of practical engineering and scientific knowledge. This is supposed to be the public benefit of the copyright system. Copyright is supposed to be a tradeoff. Copyright is supposed to provide monopoly benefits in exchange for publication -- public disclosure. This works just fine in the case of natural language writings, because the source code is the product, but not for object code, where the product can only, for all practical purposes, be used -- not studied and learned from.

    Copyright law could and should be used to leverage a similar public benefit, however, in the case of software, our legislators have completely missed the point of having copyright in the first place. The purpose of copyright is not to protect authors. The purpose of copyright is to create the next generation of authors -- to "promote progress" -- by encouraging the publication of works.

    Imagine an alternate universe in which copyright protection were only afforded to software that was distributed in conjunction with full, buildable source code. Companies would have to choose between copyright protection, and DRM protection, instead of the current dysfunctional system, where they are able to effectively obtain copyrights on works that are at the same time, in effect, trade secrets.

    In such an alternate universe, young programmers would start out as computer users. However, if they became curious about how their software worked, they would find the source code to their programs waiting for them.

    Like the young, would-be writer with a library full of books, they would have the entire world of software to read, study, analyze, and learn from.

    One objection to the source code requirement for copyright protection that I have heard is that it would encourage code theft. If companies distributed the source code to their products, I have heard it said, other companies will steal their work and incorporate it into their own code.

    The answer to this objection is that, under such a system, they would not be able to do that because it would be trivially easy to detect such theft. If I were to steal a portion of the Windows source code and add it to my program, then went to market my program, in order to obtain copyright protection, I would be forced to distribute my source code -- with the stolen Windows source code imbedded. Microsoft would discover it and shut me down.

    In this way, mandatory disclosure of source code would severely limit, or effectively end the practice of code theft. Who's to say who is stealing code today? It's nearly impossible to tell, when only object code is published.

    Fortunately, free software, and to a lesser extent open source software is bridging this gap. Yesterday's young budding software writers had little to work from. The new generation of young software writers -- and I am talking about high-school age students -- have the entire GNU/Linux/Gnome/KDE system to study and learn from. Free software is the only software that earns its copyright. It's the only software that "promotes progress", because it's the only software that can be freely studied by the general public. It's a functional replacement for the public domain that has been lost/destroyed by misguided, failed copyright law.

    In other words, just as having access to a library of great books is everything to a young, budding writer, having access to quality, real-world source code is everything to a young, budding programmer.

    In a certain sense, it's probably the only thing that really matters.

    1. Re:Value of source code by RickHunter · · Score: 2

      Simple solution to this problem: Don't allow copyright to apply to compiled/object code. Only allow companies to sell source code if they want to have copyright protection on their work. Remove some of the sillier statements about dervied works. And get rid of the current unlimited-duration copyright. Cut it back down to twenty years, or maybe even ten.

      After all, the point of copyright is to encourage authors to publish their works so that others may learn from them. Its not to give a company a huge pool of perpetual "intellectual property" (a term invented by, you guessed it, copyright lawyers to insure their future employment) from which to make money.

  66. Re:Car Industry? by bluGill · · Score: 4, Insightful

    But, the people that design and position the steering wheels, pedals, shifters, turn signals, gauges and door handles in such a way that *anyone* can go from one car to another without *any* difficulty or re-education

    The example I give is this: I once drove a friends car in the dark. I drove it on city streets for close to an hour before I realised the turn signal lever wasn't a lever, but a little switch on the dashborad. However that switch was right where my fingers expeced it to be, and worked just the like the turn signal lever of any other car I ever drove so I didn't know that it was a completely different implimentation!

    Unfortunatly not all things are like that. When I drive my dad's truck I often trun the headlights off on a rainy day, his headlights switch is where the whindshield whipers on most cars are.

  67. The problem with programmers. by nobodyman · · Score: 2

    Unfortunately, I feel that I must disagree with your take on the programmer mentality. I'd say that about 10% of programmers are the "pushing the envelope type", but the rest are the people that can't see the forest through the trees .

    I'm talking about the programmer who implements a super-fast piece of code for parsing a section of text for possible email addresses, but ignores the fact that my mother can't figure out how to turn off that "goddamn automatic underlining" feature in outlook/word/works.

    The truth is many, many programmers lack the vision to evaluate the end result of their work, or how their work interfaces with the end user. We are so focused on new features and new versions that we have wound up with software and hardware that ends up being a Swiss Army Knife From Hell, instead of being faster, more refined, less buggy, and easier to use. Microsoft Word is probably the worst offender of this -- its feature list is gigantic, it can do a billion things.. but it can't do *one* of those things very well.

    No, creativity and talent can't be taught, but we at least need to let these CS students know that they aren't writing code in a vacuum. How about, instead of the traditional "implement this data sructure" programming project, students actually make a usable program that involves these structures.

    1. Re:The problem with programmers. by SirSlud · · Score: 2

      Dude, I was saying that both kinds of programmers exist. I'm actually not very nerdy. I'm the guy who can see the forest. I like to make software that takes its context and environment into account. If something runs once a day, who cares if it takes 30 extra seconds to run if its 3 times easier to maintain and extend. If something is newbie-facing, make it easy to use. If something runs a ton and it doesn't need an interface, geek it up the ass.

      I'm only saying that those who can't see the context, that some of those people, still play valuable roles in trying out new things; 90% of their things might be useless, but 10% of those things might be amazing discoveries that no one would have tried, let alone thought of.

      I 100% agree with your comments on CS. I'm a self-taught C++/CORBA developer, designing everything from distributed apps to PHP apps. I understand my job is less about being a wiked ass coder, and more about being a good designer and having the neccessary judgement to pick the right tools and solutions for the job. I strip out pieces of code in our applications that are obsolete, to the complete horror of my manager, who can't see that forest. He doesn't understand that you dont code in a vacuum, and than you've GOTTA 'pay it forward' when designing and maintaining software.

      All these CS grads I work with ... well, lets just say that I call them 'cookie cutter grads'. They all think alike, and all they have are hammers, so to them, everything looks like a nail. This is why, despite less formal education, I've been more valuable in my employement positions than people who spent 4 years in CS in order to get to this salary level.

      Amen, you speak the truth. Just understand that my original post was more about the mis-direction of nerd resources - they arn't suitable for being close to the sales end of the development cycle, but that doesn't mean nerdiness still isn't required to advance the art and science of computer programming as a whole.

      As another poster noted, last years 9B dollar industry, the games industry, was started by programmers dicking around in a non-business oriented fasion.

      --
      "Old man yells at systemd"
  68. Sauce for the goose and gander by A+nonymous+Coward · · Score: 2

    Name ANY technology as far reaching as taming fire or the printing press.

    Name ANY cultural advance as far reaching as money, the alphabet, language.

    All advances build on previous advances. No advance is as simple and elegant as what it is built upon. That's how progress works.

    The steam engine was a remarkably simple advance, but Hero from the Greek/Roman era built the first prototype. The advances made from the early 1800s until the end in the mid 1900s were evolutionary, not revolutionary.

    Chemical rockets are amazingly simple in concept, and they build on the Chinese concept from 1000 years before. All advances since then are merely refinements.

    You can pick any period in history and say that following inventions were not as far reaching. Then compare that period to prior periods, and see if the prior inventions don't make later ones look like mere refinements.

    1. Re:Sauce for the goose and gander by mrseth · · Score: 4, Funny

      > Organized religion

      He said advance, not regress :)

    2. Re:Sauce for the goose and gander by Lips · · Score: 2, Interesting

      Fire is useful. But the most useful technology ever is agriculture. Agriculture allowed humans to spend less time on basic survival and more on things which allowed them to progress and develop other technologies. We were able to stop being nomad hunter gatherers and move to living in cities, thus the birth of "civilisation".

  69. zerg by Lord+Omlette · · Score: 2

    Does the subject of a post give you insight into a comment? It's useless, too bad I can't turn them off.

    My website's on linux, but god knows I would never maintain the box itself or telnet in or run it on my own machine.

    I don't put up with perl since I have PHP & ASP.

    I don't use MySQL but (true story!) I got modded down for telling people that I like mSQL.

    And whoa, get this, Slashdot is about more things than Linux & Open Source! Whodathunkit?

    --
    [o]_O
  70. Re:A Bit more then that by 3am · · Score: 2, Funny

    The only thing that it would cause is people demanding that MS make Word more secure. Word is like Herpes or fruit flies, it'll never go away.

    --

    A: None. The Universe spins the bulb, and the Zen master merely stays out of the way.
  71. You missed his point -- look for the forest by A+nonymous+Coward · · Score: 2

    A great word processor will do a lot of the annoying things like spellcheck and thesaurus and automatic formatting

    Exactly -- and those are not necessary. People used to tolerate typos because they read the message (the forest) and ignored the missing leaves (the trees). Now people fret about perfection in every little useless detail and forget to get the message itself as clear as possible. *That's* his point -- people take just as long to write a letter nowadays, and the letters aren't any clearer, in fact they are worse for all the formatting and useless decoration -- so where's the advance?

  72. Re:List of things developed with pre-1946 technolo by dillon_rinker · · Score: 2

    Bulk transport system, car/truck - 1920's
    The Roman roads would have sufficed, actually, so you're late by about two millenia.

  73. Point by Point by dbremner · · Score: 2, Interesting

    Fallacy 1: Computing is Easy
    Computer Science isn't easy, but overall computers have become much easier to use. Compare any modern PC with a PDP-11.

    Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise
    The World Wide Web, expert systems, natural language translation, mathematics, many forms of automation. All of these technologies have a long way to go, but are still useful. Cheap PC hardware lets me solve many mathematics problems without perceptible delay. It's possible to do video editing on a PC that would have required an SGI just a couple years ago. The typewriter has none of these capabilities. Computers cannot help those who are unable or unwilling to think, but intelligent people have benefited greatly.

    Fallacy 3: Computers Increase Productivity
    Of course they do, ever try managing a snailmail mailing list w/o mail merge? Consider all of the benefits of automation over the past 30 years. Thanks to Moore's Law, many applications no longer need to be written in C or assembly.

    Fallacy 4: Programs Help Their Users
    I would make the argument that many tools have gotten sufficiently powerful that programmers are no longer needed. Much of the tedium of early computer use has been automated away.

    Fallacy 5: If It's Graphical, It's Easy
    Please don't repeat the tired old saw about how CLIs are easy to use. A well-designed GUI is easier to use and has a shallower learning curve. Most of the flaws you are referring to are in Windows, classic MacOS was quite easy to use.

    Fallacy 6: Computers are Getting Faster
    Computers are getting faster and making a crack at Microsoft doesn't change this. How many current applications are now IO-bound instead of CPU-bound? How many desktop PCs have cycles to spare for RC5 or SETI@Home? Look at how many programs are written in interpreted or safe languages and compare to 10 years ago. Compilers are faster and generate better code. Even Microsoft OSes are reaching acceptable levels of stability.

    Fallacy 7: Programs are Getting Better
    I would argue that most desktop applications are close to feature complete. Those which aren't do improve with each release - Adobe Photoshop is an excellent example.

    Fallacy 8: Programmers are Getting Better
    Computer Science is still in it's infancy, but it's becoming more scientific every day. Even at the mediocre school I'm attending, writing a Unix kernel is required to graduate. I predict software engineering will become "real" in 50 to 100 years.

    Fallacy 9: Programming is About Date Structures and Algorithms
    What else would it be about? ADTs and object-oriented programming make complex tasks easier to deal with. Big O notation provides a means of evaluating performance of algorithms and shows you why you shouldn't use a bubble sort for a 1000 element array.

    Fallacy 10: Open Source is the Answer
    For some problems, it's a reasonable solution. For others, it's foolish. If an inhouse application costs development money, it may be advantageous to open source it. Source code is also useful when a program is EOLed by its developers.

    Fallacy 11: Standards all the Solution
    Standards may be foul compromises but they make cross platform development possible. Look at all of the different web servers, POSIX OSes, and C compilers out there and say that again with a straight face.

    Fallacy 12: We are Making Progress
    Yes we are. 30+ years after their invention, garbage collection, object-oriented programming, safe languages, and type checking are all generally considered good ideas. Functional programming shows a great deal of promise, and formal proofs are feasible for real world applications, e.g. Praxis' Spark95. Telelogic has an SDL to C translator that will produce C source code from a specification.

    Fallacy 13: The Industry Knows Where it is Going
    Does any industry? We've seen the second tech boom come and go, but overall software and hardware quality has been improving.

    --

    Life is a psychology experiment gone awry.
  74. Re:A Bit more than that by pivo · · Score: 2, Insightful

    Aside from the fact that I absolutely *loath* InstallShield, a binary no-brainer type installation is only better if it always works. If it doesn't, you're often out of luck.

    I just recently had to use Windows for the first time in about three years and I was amazed at how difficult it was to load up with software. Half the software packages I tried to install had problems. I called the vendor of the network card to tell them that their install failed. "Did you try un-installing then re-installing it?" I said that I did. "How many times?" they asked. In the two days it took me to get everything installed I think I spent 3/4 of the time waiting for the system to reboot. My vision of the painless life of a Windows user quickly vanished.

  75. Missing the Point by Vaystrem · · Score: 2, Interesting

    It seems that a lot of people are missing the point. These criticisms and suggestions seem to be directed towards the Extremely Computer Literateare and the lack of innovation in providing easy to use interfaces and significant improvements over traditional alternatives.

    A word processor today vs a word processor from X years ago.......? A spreadsheet is still a spreadsheet.

    I know I am going to get flamed for this and people will no doubt spout of examples of enlightened girlfriends & colleagues who were brought into the Linux fold and are quite comfortable in it.

    For me to have to compile something (in Linux) to install a program is utter and complete non-sense.

    I know many people who just manage to send e-mail and barely browse the web in Windows.

    The Source Code is irrelevant point refers to people like them, and me for that matter I think its cool that If i really wanted to i could see how everything came together but I really don't care, and neither does Joe Blow or Mary Smith.

    Linux Users & Computer guru's etc are in the extreme minority of computer users. Computers are designed by Computer people for computer people NOT for the Average human being. I think some people would be better off with Geos or some other restrictive GUI simply because all their choices are right there infront of them.

    I know many people who are better off with a Windows 3.x or DOS based system. Even if it is text commands there is a clear progression from point A -> B instead of having to sort through various menu's and procedures in a GUI.

    My 2 cents

  76. QA by dwk123 · · Score: 2, Insightful
    Sorry, but I gotta agree with him here for the most part, both in theory and practice.

    In theory, the notion of a non-programmer 'who is good at finding bugs' is great, but they rarely exist. For pure end-user apps, they might make up a portion of the QA team, but that's all.

    There are two major problems in practice. First is that the type of insight and analytic skills you need to do good QA work are pretty much the same as those needed to be a good designer/developer. You need to understand the 'task' at multiple levels, know how it relates to other aspects of the program, and understand the underlying technology etc. Generally, I can break the code 'finished' by junior programmers almost instantly - why? Because the combination of technical knowledge of how they probably attacked the solution along with domain knowledge of relationships/edge conditions etc is a powerful combination.

    Second is that respect for non-programmers by programmers is terrible. How many dev projects have you been involved in where the programmers ignore the stupid/wrong/annoying etc QA guys? Happens all the time. Moreover, when you do get a really good QA guy, what happens? - He gets lured into development because it's 'more important' and/or pays better. Thus, I really believe that Development and QA are really phases of a project that need the same basic skills, and should be addressed accordingly. In a perfect world where everybody did formal analysis, pre/post condition testing, automated edge condition unit testing etc some of this might change, but that'll never happen in my lifetime.

  77. Re:List of things developed with pre-1946 technolo by Rick+the+Red · · Score: 2
    > Bulk transport system, car/truck - 1920's

    I dare you to drive a 1920's model car exclusively for a year.
    Make it one of these or these, and you're on!

    --
    If all this should have a reason, we would be the last to know.
  78. I think your analogy is flawed.... by Deskpoet · · Score: 2

    Killing people is not enjoyable (for non-sociopaths) but our army is good at it. They see a greater good in wholesale slaughter. Sometimes there is, sometimes there isn't.

    Other than the above statement ruling out 90% of the video games out there, you're point still doesn't mesh with reality, or, at least, the justifications for *much* of our "reality".

    For example, the reason government exists, according to Hobbes, is to protect us from the war of all against all, from the violent nature of ourselves. This implies that government's purpose is to "civlize" our native desire to slaughter each other. Nietzche's (sic) ubermensch is "civilized" man's ultimate form, a form that transcends this bestial nature to become something actually worth existing. I'm sure there are other philosphers who've weighed in on this, but the point is we *do* like killing people and other species, and have from the get-go. (It's up to you to determine if this design is flawed or not.)

    In the context of the current discussion, "efficiency" in programming could easily be compared to "efficiency" in civilization: the myth of progress--or, more accurately, the myth of progress of value is the ruling paradigm that holds this species back, and the programming world in check.

    --
    "The more corrupt the state, the more numerous the laws."--Tacitus, The Histories
    1. Re:I think your analogy is flawed.... by kin_korn_karn · · Score: 2

      today's human has been socialized to abhor violence. that it's in our nature is the subject of most peoples' struggle with morality, and criminal psychology.

      Neitzche's ubermenschen can never exist as long as independent thought is still allowed and eugenics-type culling of the 'flawed' (those who don't transcend their animal natures) does not occur. It's also flawed to my spiritual beliefs, because the ubermenschen [must I always italicize this?] represent pure good, and if all are ubermenschen, then there is no balance. Too much good is just as bad for the world as too much evil. then again, it all becomes relative.

      anyway, back to programming. my point with all of this is that transcendence of greed in our world is counterproductive. You might have the moral high ground, but you'll die of starvation. employers and other manipulators will squeeze everything out of you. It's your right and responsibility to squeeze back. (think of a boa constrictor swallowing itself)

      There -is- no peaceful coexistence between management and labor. it will always be an adversarial relationship. To think any differently is to be naive.

  79. Programming is NOT about DS & A by Ars-Fartsica · · Score: 3, Interesting
    Come on now, when is the last time you wrote a data structure to store the primitive types of your language in a way that hasn't been done before?

    When is the last time you thought it necessary to analyze (algorithmically) code that you are writing?

    Its far more important to be very good in the programming language you have chosen and its libraries. Knowing how to write quicksort in your latest language is a dead skill - its already been done better by someone else, and added into the SDK.

  80. Cars by epepke · · Score: 2

    I have seen people cut across three lanes traffic to get off the road because they experienced one of Florida's famous cloudburst in a rental car and couldn't find the windshield wiper in time.

  81. What should be understood... by Danse · · Score: 2

    We have recognized that computers allow us to do things that we cannot do unaided. We've been steadily progressing along, creating more powerful computers, more powerful interfaces, and trying to basically put it all together so that it becomes intuitive. Yes, we still have a long way to go, but it's getting better all the time. Some day we'll arrive at the point where computers augment our abilities without hampering us or tying us down. Such wonderful things are never created overnight. So yes, he points out a lot of problems with computer usage today, but that's to be expected. What we have today isn't the goal. We're working towards something much better.

    --
    It's not enough to bash in heads, you've got to bash in minds. - Captain Hammer
  82. Re:OSS-haters using OSS by Lord+Omlette · · Score: 2

    "PHP is open source. I guess you're going to have to stop using it."

    I said I don't like Open Source, I didn't say I didn't use it. I use stuff I don't like all the time.

    "Slashdot used to have a lot of non-Free Software stuff on it. That seems to have gone down in the last few years."

    Funny, I have Linux stories turned off and there are 12 stories on the front page.

    "Unless you're saying that you post on Slashdot because you like Jon Katz?"

    I see you haven't looked at who I'm a fan of =)

    --
    [o]_O
  83. Margin of Scale by virg_mattes · · Score: 2

    Nice thought, but let's keep our perspective. As a percantage, how many brain surgeries involve life-or-death risks? It's very nearly all of them. How many programs can claim the same? It's rather closer to zero. Comparing the two is silly on the same level as comparing putting a Band-Aid on a ten year old's finger to brain surgery.

    Virg

  84. Computers don't guarantee productivity by rnturn · · Score: 2

    The lines:

    ``Nowadays, we rewrite the letter many, many times, changing fonts, format etc. We are no better off in terms of letters produced.''

    has been true since the earliest days of the PC. It's only gotten worse since everything's WYSIWYG. I recall reading a study -- got to be ten years ago -- that secretaries (it was OK to call them that back then) were spending a lot more time on each memo that they produced than they did when they were cranking them out with typewriters.

    It certainly hasn't freed people up to do more important work, either. So many folks are hung up on the eye-candy that word processors can generate that they lose sight of why the paper's being written in the first place. I always thought it about conveying imformation. But, now, it's pretty much a contest to see who can cram the most features into a single document. (Don't even get me started on emails with animated Powerpoint attachments announcing the monthly employee meeting -- complete with sliding and rotating titles. Ugh!)

    Heck back in the mid/late '80s I used to get in arguments with people over the format of reports (and theses) that people were submitting. Policy stated that computer generated output was acceptable. Even line printed output was acceptable (though not common). What was used to burn some people (myself included) was that some reviewers would give a nicely formatted, pretty font-filled report with, basically, fluff as content a higher mark than one that had excellent content but not as ``pretty'' a format. Form over content even back then. The Web is lousy with that nowadays but the problem has its roots from nearly twenty years ago.

    --
    CUR ALLOC 20195.....5804M
  85. Re:A Bit more than that by SilentChris · · Score: 2
    Any user who's new to a system will complain about difficulty.

    I personally have never had any issues with InstallShield. And for someone who apparently "hasn't been on Windows in 3 years", how can you form an accurate opinion on it. That's like me commenting on Apache, which I last used 3 years ago, as "slow".

    Further, I submit to you that any user without a CS degree is going to have a far easier time double-clicking a self-extracting installer, walking through a few dialog boxes, and (in a worst case scenario) dealing with an error message that says need to install the original program before upgrading; than working with a command-line interface, figuring out how to solve dependancies for source files (when, in reality, the designer should have just provided binaries for his popular Linux distro to begin with).

    You've obviously had little to no experience in the user-friendly world.

  86. Fallacy 14: Jaded People have More Insight by Thag · · Score: 2

    This reminded me of Clifford Stoll's second book, Silicon Snake Oil. Just one long one-sided gripe about how computers are bad, using straw man arguments to back up very questionable conclusions.

    From a modern journalist's standpoint, this might count as "having an angle on the story" or some such crap, but it really only makes the argument presented shallow and, since it is not based on facts, futile.

    Jon Acheson

    --
    All opinions expressed herein are my own, and not those of my employers, who are appalled.
  87. Re:A Bit more then that by JabberWokky · · Score: 2
    Make a list of everything you actually use the office suite for (if you use it) and then ask, does this merit a whole CD set to install?

    Depends - first off, MS's apps tend to have quite a bit of code with is just patches/more functional versions of system files. Quite a bit is also media files - clip art, yes, but also program icons, grammar rules, dictionaries, etc. Excel supports hundreds and hundreds of obscure functions, and Word has WordBasic.

    "But I don't use that", you might say. Well, you probably don't, but if you take everyone in a medium sized office (say, 600 people), then you'll find many many people consider the stuff you don't use to be absoluely essential for their work. Then expand it out to all offices in your field, and you hit some more of that stuff. As soon as you shift fields, you start grabbing big chunks of really obscure features.

    An insurance company used WordBasic to autogenerate explaination folders showing insurance providers what some questionable injuries were in a stadardized format. Jerry Pournelle, a professional author who types page upon page of straight text every day, asked Microsoft to add the "White text on blue, unformmatted" mode that is buried deep in the configuration panels of Word. Each feature has a user somewhere.

    And that, ladies and gentlemen, is why plugin archetectures and code reuse keeps popping up as a Good Thing. I've heard many times, although I have yet to verify it for myself, that Word (say, around 97 or so, at any rate) had all of Excel inside it, and when you embedded a spreadsheet, it didn't actually call Excel to edit it, but rather used its own internal code. Certainly that would add quite a bit of bulk to it.

    --
    Evan

    --
    "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  88. Running from the Asylum by virg_mattes · · Score: 2

    I agree that Cooper's book is worth a read, but I have to stop a little short of "fabulous" because of his problems with perspective. Understandably, he considers the user interface to be supreme, but he fails to see when usability isn't the most important consideration. The specific example he used was related to using an ATM. He states that the design of the interface is poor because he needs to enter all of the information necessary for a transaction, but if any of it is incorrect, the machine unceremoniously dumps him out and he needs to start again, rather than allowing him to correct what's wrong. Now it would seem he's right, but he doesn't consider that there's any good reason for this behavior, and in fact, it's done on purpose. The purpose is to maximize the inconvenience for someone who's trying to get money from the machine illegally, thereby either getting that person to give up the attempt, or to spend more time trying while the camera takes picture after picture of the criminal. However, because Mr. Cooper never considered why the machine does what it does, or can't imagine anyone using the machine differently than he does, he assumes that it's simply bad design. Many of his comments are on the mark, but while reading I suggest the reader look deeper into his experiences to see if there's more to the story than Alan notices.

    Virg

  89. Car Industry? by istartedi · · Score: 2

    The best UI people on the planet are those working in the car industry.

    OK, the "driving" part of the UI is OK, but most everything else is crap. 1985 Mustang: preset radio station by tuning radio, pulling out lever, and pushing it back in. The fact that I can still remember that is a strong indicator that this is a great UI.

    1986 Buick: This car had an electronic radio, so the pull-n-push idea would no longer work. Solution? Tune radio, press "set" button, push button. Not as satisfying as the old mechanical pull-n-push, but intuitive enough.

    1997 Buick: I have no idea. Honestly. I sat there in the care for half an hour yesterday and couldn't figure it out. There is an automated thing that will do it for you, which is supposed to be "easy". Just one problem: unless the radio can lock in on the station you want, it won't preset the station. Most of the stations I want (e.g., Anapolis based WHFS) have weaker signals and don't lock in. As a result, I have a dial full of crappy Top-40 presets. As far as I can tell there is no way to manually preset the stations. THIS SUCKS.

    This is just one little gripe. Don't get me started on "idiot lights". God forbid anyone should actually know what their water temperature is. They might actually take the car in for service before it overheats and scours the cylinder bores.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  90. Re:In reponse to your sig: by DrSkwid · · Score: 2

    For every complex problem there is a brilliant, simple solution which is just plain wrong.

    For every good idea there is a trite phrase that sounds clever but fails to address the issues.

    Unfortunately I evidence for my assertion. It's called plan9.

    http://plan9.bell-labs.com/plan9

    I'd be interested to hear your apraisal of the points of failure in the plan9 operating system and how superior the complicated microsoft & ibm solutions (DCOM & Corba) are to problem domain of distributed computing.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  91. Re:Car Industry? by istartedi · · Score: 2

    OK, before anyone else points it out, I know all radios are electronic. I mean to say that it had a "digital tuner".

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  92. Re:A Bit more than that by SilentChris · · Score: 2

    Naturally he assumes just because someone likes simplicity he's a "kid". Good call.

  93. Re:OSS Conflict of Interest by Sj0 · · Score: 2

    I hate to break this to you, but the "OSS model" was set up long before people started making a profit.

    Here's the model:

    1)I write a program. I think it's kind of cool, I release it for free.

    2)I include the source in the archive

    3)My involvement ends.

    --
    It's been a long time.
  94. Re:A Bit more than that by Chris+Burke · · Score: 2

    If you're going to tell me that a tarball beats an InstallShield, self-extracting exe that my grandmother can double-click to open and have automatically install pre-created binaries for her, you're sadly mistaken.

    If you mean "beats" as in "is easier to use" then, well yeah. But in pretty much any other category then, well, no.

    I find it sad that the only thing a lot of people seem to care about anymore is user-friendliness. Especially people who don't need user friendliness themselves.

    --

    The enemies of Democracy are
  95. Re:A Bit more then that by JabberWokky · · Score: 2
    I support almost all what MH says. I think that you should make an "effort" to understand what he is trying to say,

    I did. You're wrong too. The key here is the biggest problem lies not with the computer at all.

    Fallacy 1: Computing is easy. Book sellers try to sell books by any means. And one of them is to offer imposible things. "Teach Yourself C++ in 14 Easy Lessons", is a lie. Maybe "Small Introduction to C++ in 14 Easy Lessons". They say computing is easy, and it's not. But the books sell.

    Then the problem is with the publishers and the purchacers. It exists in all aspects of life - there are plenty of books that offer to fix your relationship (something that can't really be done with *any* book), lose weight or quit smoking, be happy, learn to sell music, learn to direct movies, and when you jump to textbooks, how to become a doctor or lawyer. Where is the computer related problem? Books are books.

    Fallacy 2: Computers Allow People to Do things They Could Not Do Otherwise. I think MH tries to say that software "sometimes" seems to promise that you will be able to write a good text without writing skills throu the use of Word X.

    I don't know of anybody who has ever said: "You know, I could write a novel, but my software sucks". Those few (very few) who do do not make the software at fault. The problem lies with their own expectations, not in some sinister "promise" of software. Very few people say that a microwave makes them a gourmet cook, just that it allows them to cook easily.

    Fallacy 3: Computers Increase Productivity. Sometimes increase "flashiness" more than productivity. Compare a notebook/blackboard presentation to a PPT one, which takes more time to prepare...?

    Depends on if you're giving the speech over and over again - plus, if you're typing it up for handouts anyway, it's easy to make the presentation an automated one. As an ex-teacher (one year), writing on a blackboard is a serious skill that needs to be developed. That's why many teachers use overhead projectors.

    Fallacy 4: Programs Help Their Users. Sometimes are more a hassle than a help...

    How? If you're gonna state that, back it up. And not with single, specific examples - general examples that apply to many aspects of computer use. I'm sure I could come up with many examples where computers have been misapplied in offices, but the general fact is that they allow for complicated, personalized tasks to be rediced to standardized, simple tasks that the next employee can pick up.

    Fallacy 5: If It's Graphical, It's Easy. You named it. A "well done" GUI is easy. He only tries to destroy the myth "Any GUI == EASY".

    Modern GUIs, in general, are easy. The point is moot, anyway... qwerty might not be perfect, but non-disabled people have no problems with it. GUIs might not be perfect, but non-disabled people have no problems with them. If Easy = everybody can use them, then they are easy. Look at a McDonald's keyboard for an example of how easy and pervasive icons are.

    Fallacy 6: Computers are Getting Faster. Sure the experience is not getting faster. Flashy animated menus and things like that keeps demanding more computing power. You know what, many software vendors (M$, for example) know that it is easier to sell you a new program if you also buy a new computer, so...

    Again, computers *are* getting faster - we're just loading more stuff on them. Maybe it should be rephrased - they are getting more powerful. Just like in the 1950s, when airplanes could carry 30 people, but stewardesses would punch holes in the floor with their heels, versus a few generations later, when they still carried 30 people, but were more sturdily built - the engines were more powerful, but the plane was beefed up with the use of those power, and the flights carried meals and snacks

    [I] would NEVER dare to call [him an idiot] to a so respected person, with so much experience and a large track record.

    You have never been to a university, have you? :) Throughout history, there are plenty of people with respect and volumes of published material who were just plain wrong. Via a bad case of tunnel vision, being surrounded by yes men, or simply just picking the incorrect answer.

    The statements that showed serious lack of connection to reality and human nature were the ones you didn't address - his last ones about "the Computer industry doesn't know where it's going". Well, *nobody* knows where *any* industry is going, and that uncerntity is proportinal to the number of technological breakthoughs that occur in that field. And breakthoughs in just about any field were made by people having "fun", figuring out a puzzle, or solving something that annoyed them.

    --
    Evan

    --
    "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  96. Re:A Bit more then that by Chris+Burke · · Score: 3, Funny

    Heh. I can imagine what that book looks like.

    "Teach Yourself C++ in 10 Minutes"

    Chapter 1: Minute 1:

    First, realize that if you really thought you could learn a programming language in 10 minutes, you're too stupid to be a programmer.

    Spend the remaining 9 minutes 40 seconds letting that sink in.

    Sucker.

    --

    The enemies of Democracy are
  97. Computer Science is not Engineering by JohnsonWax · · Score: 3, Interesting

    So, basically what Michi is saying is that Computer Science isn't having the day-to-day impact that it once did. Advances in data structures and algorithms aren't impacting the development of products like it once did.

    Computer Science now gets to join Chemistry, Physics, and Biology as science disciplines that can no longer handle their own engineering. Physicists don't design boilers any more, Chemists don't design refineries, and biologists don't build waste treatment plants. And computer scientists don't build operating systems well.

    Enter Software Engineers and Computer Engineers, who get to learn their stuff from the CS boys, but who focus on production, on tradeoff, on integration, on management. Its the engineers that push for legislation, that make sure that you have the education and experience to practice, and build systems that we are willing to call 'infrastructure'.

    What people need to clue into is that we have an industry that has hit the point where it needs to split and to recognize those that advance the theory and those that pave the roads.

  98. What Ifs by virg_mattes · · Score: 2

    Playing such scenarios has its value, but in realistic terms, the situation described happens only extremely rarely.

    Virg

  99. Re:WTF are you talking about? by Danse · · Score: 2

    I use both browsers every day. As far as loadtime is concerned, Mozilla is extremely quick when you use the "quickload" feature. It pops up about as quick as IE6 does. When it comes to rendering pages, Mozilla seems to be faster than IE6. It depends on the page, but I don't think IE6 does much of anything faster than Mozilla when it comes to rendering. I realize this is just anecdotal evidence, so if you have some hard evidence, then by all means, post it.

    --
    It's not enough to bash in heads, you've got to bash in minds. - Captain Hammer
  100. Hmmm.... how does religion fit into this theory? by A+nonymous+Coward · · Score: 2

    Or should I say "religi0n"?

  101. Re:$50/hr? No wonder you have 400 lawyers! by dillon_rinker · · Score: 2

    Of course. Programmers don't work ankle- and elbow-deep in excrement on a daily basis. Programmers ($50/hr ones, anyway) don't respond immediately. Nor do they resolve situations that drive to the heart of our instinctive aversion to uncleanness.

  102. where did this guy come from? by geekoid · · Score: 3, Insightful

    Fallacy 10: Open Source is the Answer

    - Economic model is doubtful
    Getting tired of hearing this. a bunch of people start companies using "open sourse" products, have no real business plan, then surprise surprise, they fail and some how open source is the fault. There are companies making money in the open sourse arena. Most companies fail, in any arena.


    - Source code is useless
    I'd like to see him say that after a vendor goes out of business and he has software that must be fixed, or he goes out of business.
    Or the vendor changeed its focus, and since you are tied to them, your company must change the way it does business.
    Say a lot of companies get surprised when MS finally discovered the internet, and they change there focus.
    - Motivation for Open Source is inappropriate for most software
    not sure what he means here. My motivation is 2 fold, improve my programming knowledge, make better code. I fail to see how that inappropriate.
    - Nerd culture is counter-productive


    yes, we nerds never ever produce anything, or start big companies *coughapplecough*.
    Pretty much every large computer company was started because by a nerd.
    As a matter of fact a can't think of any.
    Xerox was founded by a nerd, Apple, Microsft, IBM, Sun, etc. etc.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  103. What about fallacy 8: by ebyrob · · Score: 2, Interesting
    Programmers are getting better.

    I noticed you didn't touch that one. Perhaps you agree with Mr. Henning on this one point? He seemed to think great programmers have more short term memory slots. (of course, I have to guess his actual speech was much more responsible than these notes by themselves...)

    Speaking as someone who has more short term memory slots than anyone (except perhaps one person) I've ever met, I'd like to point out being a good programmer takes a lot more than just that. (Yes, I write assembly at the keyboard without any visible preperation, but that's beside the point) As for a "great" programmer, I don't think I've ever met one, and if I did, I'm not sure exactly how I'd know I had.

    1. Re:What about fallacy 8: by JabberWokky · · Score: 2
      Programmers are getting better.

      I noticed you didn't touch that one. Perhaps you agree with Mr. Henning on this one point?

      I just missed it somehow when I went through it. I also feel the notes don't really explain the position. I'd disagree, however - programmers are moving from science to technology, and then slowly to archetects. The early great minds (Turing, Knuth) invented, and the science was slowly turned into practice. Most hardware designers and most applicaton programmers are noew engineers - applying the known rules to achieve known results. After that, we move into the realm of archetects... creating elegant and beautiful simple solutions to complex problems. Most "killer app" programmers like Bricklin and Frankston, Berners-Lee, and personal favorites, Ritchie and Thompson.

      of course, I have to guess his actual speech was much more responsible than these notes by themselves...)

      To address this really quickly - I'm under the impression (not conviction) that the majority of these notes are from a powerpoint like presentation, and are bullet points that he wrote, maybe not word for word, but quoted fairly accurately. At one point in the notes, he mentions how the bullet points were presented... possibly. Or it may have referred to Mr. Henning's comments on how presentation software has excess features. Regardless, it looks like the notes covered actual speaking points. I'm commenting on the notes... but I think they appear to be well recorded.

      I may be wrong. Wouldn't be the first time, but then, I'm commenting on what was presented to me.

      --
      Evan

      --
      "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  104. Re:WTF are you talking about? by Pope+Slackman · · Score: 2

    Mozilla is at least as fast as IE6 now.

    Never has been in my experience. Maybe versus IE on Solaris, but sure as hell not on Windows.
    I've never benchmarked them, and I don't know why, but IE always "feels" faster under windows than Moz does. (Yes, I have used the most recent build.)

    Nevertheless, notice I was not saying "Mozilla suX0rs!", I was merely pointing out (sarcastically, I will grant you that) that large, active open projects can, and will, have bugs,
    bugs that potentially will take years to fix.
    Just like closed software.
    I like Mozilla, it might not be on par with IE yet (mostly speed issues) but it beats the living hell out of the festering pile of horseshit that is NS4, that's for sure.

    Your argument is lame.

    No, you just missed the point.

    C-X C-S

  105. Re:I love Fallacy 10 by Zeinfeld · · Score: 2
    I hate Linux and Open Source in general with a passion

    I hate the weenie aspect. There are plenty of OSS folk who are reasonable and knowledgeable. At one time I wrote a lot of OSS code.

    Then there are a bunch of maga-bores who have adopted OSS as their life message and religion. Talking to them is like talking to a born again Christian or a Taleban fanatic, everything comes back to their own all embracing pet theory. It is like talking to a Libertarian or a Marxist, they have an economic theory and it explains everything and what is more if you don't agree with them you are [damned to hell for eternity/ a legitimate target for murder/ a complete imbecile/ an oppressor of the masses].

    I don't think the talk was actually anti-open source, the guy took potshots at plenty of people's sacred cows. But the only one that slashweeniedom is going to talk about is OSS because it is soooooooo interesting

    The problem is with what the weenies think, the problem is weenieism. As Karl Popper pointed out most of the misery in the world is caused by people who have an absolute belief in their possesion of an absolute truth.

    I gave up on OSS once it became popular and the weenies moved in.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
  106. Re:List of things developed with pre-1946 technolo by yellowstone · · Score: 2
    Apollo moonrockets - 1940's with a dash of 50's
    Sorry, try again. The Apollo program could never have completed its mission without guidance computers.

    One of the most remarkable things about the space program is that when JFK announced that we were committing to "land a man on the moon and return him safely to the Earth", computers were far too bulky and unreliable for the job.

    It was only the development of integrated circuit technology during the 60's that made the guidance computer small (and reliable!) enough to go to the moon possible.

    If you think the Apollo program was cobbled together out of parts we already had in the 40's and 50's, you need to do some closer investigation.

    --
    150 Opening BINARY mode data connection for slashdot.sig (129323052 bytes).
  107. Re:I love Fallacy 10 by Zeinfeld · · Score: 2
    Elitism will not work. Because if people have the ability and the time, but no job, they will sit around making high quality software and giving it away for free. And that poses quite a little problem if you have a similar product and want to charge for it, now doesn't it?

    Not really, true elite programmers and system architects are very rare and their productivity is massively greater than that of a merely 'good' or 'average' hacker.

    If an elite programmer has a problem getting a job it is because they have a personality problem or a substance problem that is so extreeme they are not likely to offer much to an OSS collective either.

    That does not mean that there are no elite programmers doing OSS stuff, but most of the ones I know are doing OSS because they made a bundle from the dotcom boom and don't know what to do with the rest of their life.

    I don't think that mere incremental improvement of OSS products is going to threaten the paid software model. For MS Office to be displaced there has to be a discontinuous change, not an incremental one. Matching Word feature for feature as you suggest is a pointless waste of time. Mr Softy has shown that he knows how to win that game.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
  108. Re:I love Fallacy 10 by Zeinfeld · · Score: 2
    The Euro is gold-backed. The US dollar is not

    Wrong. The Euro is not gold backed. If it was it would not have collapsed in the year after introduction while the price of gold was rising.

    No industrialised country can function with a gold backed currency. In an industrialised country the economy expands with improved production over time. But the production of yellow metal is pretty constant. You have a quantity that has exponential growth tied to one that has only linear growth. The result is an economic slump.

    This is why Karl Marx wept when he heard of the '49 gold strike. The additional gold supply would allow the capitalist economies to expand and the revolution would be delayed for a decade or more. The theory of the inevitable communist revolution was based in large part on the belief that the gold standard was essential.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
  109. guess it depends on how you use it by markj02 · · Score: 2
    I have used typewriters. Believe me--Emacs+TeX is a lot more productive (though Word may not be). My computer does boot a lot faster than my computer did 20 years ago, and it runs a lot faster, too (though Windows seems to be getting slower and slower). 1G machines allow me to do things I couldn't dream of doing a decade ago. I'm using lots of nifty data structures and algorithms that weren't known even a decade ago.

    Mainstream software is perhaps getting worse, but if you know where to look, you can get software that works better, faster, and does more than anything previously available. Maybe Glynn is just buying the wrong software and hanging out with the wrong crowd. Or maybe he is just one of those glass-half-empty types.

  110. Not a fair comparison by Goonie · · Score: 2

    J.S. Bach didn't have to run a marketing campaign and tour 48 countries to launch his weekly cantata either.

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
  111. Re:I love Fallacy 10 by ichimunki · · Score: 2

    What a load. People who enjoy their work are more likely to take pride in the job at hand, and to *want* to do it correctly. Very important inputs for the productivity and quality equations.

    Besides, if the army's job is just "killing people" I'd have to say they suck at it. Six billion people on this planet and they only manage to kill a few thousand a year. That's pretty shitty performance, imho. Thankfully, the army's job is defending our nation from attack. On that score I'd say they're doing damn fine work. Not including the settlement of the west and the Civil War, we're talking, at worst, two major attacks in 200 years: Pearl Harbor and the WTC/Pentagon bombings. And from what I can tell, a good majority of the members of the military like, and take great pride in, their work: defending the nation.

    --
    I do not have a signature
  112. Re:I guess it was notes from a keynote... by JabberWokky · · Score: 2
    Anyone who has been at a Java Developers Meeting (just to name one) can say that. Sun, MS, Oracle, IBM will swear they know where they're going.

    Ever been to a finance company meeting? Ever read a farming equipment catalog? Every company pitches themselves as being either the solid foundation in the past for the future, or the innovative new guys who can create the future for their field. They all swear the future is in financing lump sums for structured payments, or new strains of rotation crops. It's really quite simple - what ever they own is the future. That's the attitude for sucess.

    --
    Evan

    --
    "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  113. Re:A Bit more then that by JabberWokky · · Score: 2
    I thought that's what OLE^H^H^HCOM or whatever was supposed to avoid.

    That's exactly why it was noteworthy.

    So what happens if I try to embed a Word document in an Excel spreadsheet cell?

    It loads Word... it was only Excel in Word that was stated to exist - probably due to problems with Excel not operating properly when embedded in Word.

    I'd love to see authoritative confirmation or denial of this old tale - remember, it only applies to Office 95 or 97 or so, and I can confirm that you can uninstall Excel and still edit embedded spreadsheets in Word... but that might be due to Excel DLLs left behind or something.

    --
    Evan

    --
    "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  114. Re:OSS Conflict of Interest by Sj0 · · Score: 2

    You'd be suprised what can be accomplished by individuals or small groups working outside of corporate influence.

    --
    It's been a long time.
  115. Re:notice the MS whores by Michi · · Score: 2, Insightful

    Hmmm... I think a big problem here is that my comments were taken somewhat out of context. This wasn't about blasting Open Source at all, but to simply illustrate that Open Source can't satisfy all of the world's software needs. A lot of code we need, such as aircon controllers, engine management systems, etc. is too specialized and not sexy enough to attract Open Source developers. So, such source will continue to be written for monetary compensation. Open Source is great -- without it, I wouldn't be able to run my business. But I thought it would be worthwhile pointing out that (like any other model), the Open Source model isn't without problems and that its proponents (just like its opponents) sometimes use arguments that don't stand up under closer examination.

    Cheers,

    Michi.

  116. Re:WTF are you talking about? by big_hairy_mama · · Score: 2

    At least when I go to bugzilla.mozilla.org and I can actually see the discussions the developers are having on the bug that I want fixed, I feel like something will get done. Even though I know that their resources are limited, so their response time might be a few months for non-critical bugs, at least they know about it.

    When I have a bug and call some 3rd-party tech support, and they tell me to reboot my computer and then give up, I don't have those assurances. For all we know, and for all we bitch and moan, Microsoft probably doesn't even *want* to fix many of the bugs in IE, such as those related to standards compliance. I *know* that the Mozilla people care, even if they can't fix everything immediately.

  117. Re:A Bit more then that by Chris+Burke · · Score: 2

    The whole self-help book industry is insane.

    Anyway, I still can't imagine those books sell. if their claim was true, 10 minutes is short enough that you could read the book while still in the bookstore. :)

    --

    The enemies of Democracy are
  118. Re:I love Fallacy 10 by kin_korn_karn · · Score: 2

    Today the US military's role seems to be purely "go where our interests are and blow shit up until warlord/dictator X bends over" In fact, thinking back through history, that's what every army's role has been, it's just that today with global communications more threats are detected and a nation's interests could be anywhere in the world.

    It's been my experience (note: my experience, YMMV) that nobody in the tech industry truly loves their jobs. The people I know that really love programming have never done it for a living. They've only done it as a hobby. It's the same with everything in the world - nothing that you do outside of your own volition is going to satisfy you.

    Furthermore, those people who program as a hobby do it in their own way. They don't have to follow a methodology, a design pattern, or document it if they don't want to. All of those [can] lead to professional-quality software that is more efficient and more robust, but they are not enjoyable. If a programmer enjoys that shit, then they're not really a programmer, they're an analyst.

    Programming for a living is a nasty business. I'm a Perl guy, I do enjoy working with Perl. Not as much as I enjoy playing music, or any of my other hobbies, but it's my least-painful marketable skill. Everyone is being seduced by the Sun hype and the Oracle/IBM/Rational hype machine to abandon traditional programming and buy $millions in CASE tools and RDBMS and app servers so that they can write everything in Java. I despise Java for both personal reasons and for its objectively observed flaws. If I want to work in the business, I'm going to have to get some kind of paper that says to people "he can do Java". Talking to more experienced programmers, it seems this happens about every 5 years in software - technology shifts and you immediately become obselete.

    I don't know how many other careers this applies to, but my gut feeling is that it's not many. The health care industry comes to mind.

    The only reason I'm even thinking of staying in the business is for the money. I'll never be able to have the level of "wealth" or the standard of living that I want without being in technology, even though I'll end up hating 1/3rd of my life, that is, the 8 hours/day I spend at work. Most people do, so I guess I should just stop whining.

  119. Re:Sloppy programming has cost lives by abde · · Score: 2


    in your (extreme) example, sloppy physics and dose calculations were the problem, not "sloppy programming".

    --
    Don't blame me - I voted for Howard Dean. http://dean2004.blogspot.com
  120. Re:not so sure by abde · · Score: 2

    By giving us superficially accessable functionality, they distract us from the underlying task/goal ... we have let the practical issues of computers blind us from the larger motivations - computers have become a world and a justification unto themselves... rather than more complicated solutions which is what we're getting, we really need simpler ones that get the job done.


    what rubbish! This is pure FUD. Define "the job" that needs to get done. The Job IS Betsy in Accounting.

    Give a concrete example of these mystical "larger motivations". What underlying task/goal have we been distracted from. Saving the world? World peace? end poverty?

    computers are just tools. Like a hammer. As far as I can tell, its precisely that complexity of computers that let us get the job done - otherwise the world be LESS complex today, not more, as computers have increased in complexity from the stone-age CLI days.

    --
    Don't blame me - I voted for Howard Dean. http://dean2004.blogspot.com