Slashdot Mirror


The Whiz of Silver Bullets

ChelleChelle writes "In an entertaining yet well thought-out article, software architect Alex E. Bell of The Boeing Company lashes out at the so-called 'Silver Bullets' and those who rely on them to solve all their software development difficulties. From the article: 'the desperate, the pressured, and the ignorant are among those who continue to worship the silver-bullet gods and plead for continuance of silver-fueled delusions that are keeping many of their projects alive.'"

72 of 244 comments (clear)

  1. The Real Silver Bullet by MarkByers · · Score: 4, Funny

    Microsoft Vista! It's the silver bullet for everyone! Where do you want to go today? TM

    --
    I'll probably be modded down for this...
    1. Re:The Real Silver Bullet by smittyoneeach · · Score: 2, Funny

      You mean this stuff I've been quaffing for years is bogus? Piss!

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  2. Silver Bullet in a Concealed-Carry Revolver by Anonymous Coward · · Score: 4, Funny
    Consider the following scenario. You have told your boss, in total honesty, that your software code will need 8 weeks to complete. Your boss cuts your time to only 4 weeks and then pressures you by hinting that he may fire you if you do not comply with the new accelerated schedule.

    In this case, if you under 18 years of age, I recommend that you buy a box of silver bullets or just plain vanilla lead bullets. Put the bullets into your revolver. Hide the revolver in your jacket. Then, walk into your boss' office. Fire away. You will not be tried as an adult since you are not a legal adult. Better yet, after you reach the age of 18, your criminal record will be wiped clean.

    If you are over 18 years of age, you need to weigh the situation carefully. If you kill your boss, then you will definitely be tried for 1st degree murder. You may be eligible to submit a plea of insanity. Most states allow such a plea. Check with your lawyer before you start shooting.

    1. Re:Silver Bullet in a Concealed-Carry Revolver by Mjlner · · Score: 2, Informative

      "In this case, if you under 18 years of age, I recommend that you buy a box of silver bullets or just plain vanilla lead bullets. Put the bullets into your revolver. Hide the revolver in your jacket. Then, walk into your boss' office. Fire away. You will not be tried as an adult since you are not a legal adult. Better yet, after you reach the age of 18, your criminal record will be wiped clean."

      You don't live in the US, do you? In the US, persons under the age of 18 are tried, convicted and executed on a regular basis. Well actually, they aren't being executed until later on in life (nowadays), since the appeals process does take some time.

      --
      Lemon curry???
    2. Re:Silver Bullet in a Concealed-Carry Revolver by umghhh · · Score: 2, Interesting
      While walking the earth (and working for big corporations) I encountered countless technologies you can qualify as silver bullets. They all come wrapped up in shiny packages and beside obvious help in technical work are usually supposed to find cure for cancer, eliminate poverty and among many other things arange peace for the world. Alas I hardly remember what they are all about. But I recall two that managment team tried on us:
      1. faultless software policy
      2. 'no heroes' policy
      I am still waiting to see occurance of the first one and chief boss brave enough to properly implement the second even though attempts are constantlly made to down size, off-shore or tell a cleaning lady to do my job while swiping the floors etc. When one thinks of it - it is really a pity that so much effort to produce so many shiny tools and technologies go wasted all the time. I guess somebody makes healthy profit on our stupidity and/or indiferrence because I cannot explain why new ones are coming without a pause.
  3. Well... by Capt+James+McCarthy · · Score: 5, Insightful

    If Vendors would stop preaching that they are the next 'silver-bullet' then perhaps this would stop. It is not the techs who decides what comes in and what goes out. It is normally driven by cost. And when companies say they can do all of X,Y, and Z at a lower cost then any competitor, the IT department gets screwed, and management looks at them with wonder because they provided a 'silver-bullet' solution to them.

    --
    There are no loopholes. It's either legal or it's not.
    1. Re:Well... by archeopterix · · Score: 3, Insightful
      If Vendors would stop preaching that they are the next 'silver-bullet' then perhaps this would stop.
      This sentence might be true, but is meaningless. Vendors will do whatever sells. Period.
      It is not the techs who decides what comes in and what goes out. It is normally driven by cost.
      And this is what has to change. Saying that techs should make all the decisions is of course unrealistic, but in a sane company the management lets them evaluate the solutions before deciding.
    2. Re:Well... by ultranova · · Score: 4, Insightful

      Saying that techs should make all the decisions is of course unrealistic, but in a sane company the management lets them evaluate the solutions before deciding.

      Why ? Think about it from the management's point of view. The choices they face are:

      1. Listen to the your tech department and make a decision based on their (hopefully realistic) estimate. The company continues steadily onward and you get fired since you didn't manage to improve it, and therefore the stock doesn't rise enough to meet the stockholder's demands.
      2. Listen to claims you know full well are sweet lies and make estimates based on them. The company gets a hopelessly overoptimistic estimate on its future fortunes, the stock price goes up, and you get a fat bonus. When the lie is found out, you can claim that you were lied to and can't be blamed for anything.

      Which one should a sane manager choose ? Getting fired or getting a bonus ?

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    3. Re:Well... by zymurgy_cat · · Score: 2, Interesting

      If Vendors would stop preaching that they are the next 'silver-bullet' then perhaps this would stop.

      Actually, it would only stop if potential customers would stop believing in silver-bullets. I work in the specialty chemical industry. You would not believe how many times I have been asked for a 'silver bullet', even when I explain that said bullet is impossible because it violates one or more laws of nature. Vendors offer them because customers want them, reality be damned.

      --
      -- Fugacity: Confusing chemists since 1908
    4. Re:Well... by IMarvinTPA · · Score: 2, Insightful

      You're assuming the CEO isn't hopelessly naive. If he is, then you're still safe.

      IMarv

  4. Re:Bullets? by CRCulver · · Score: 2, Insightful

    At least XML works. Instead of technologies, I'd be much more critical of development techniques that are pitched as silver bullets, like Extreme Programming. Remember that? All the rage a few years ago, with even level-headed publishers like O'Reilly getting in on the action --they even released a pocket guide, come on, what is this, devotion on the level of Mao's little red book? -- it was supposed to solve bottlenecks in development and result in cleaner, more easily maintainable code. Instead, all it did was make people blow a lot of money on books, and slow down output because in the XP you're supposed to code with your annoying coworker right there next to you with all his backseat driving.

    If one codes in a way he's personally comfortable with, he can get the job done even if it involves a not globally ideal technology like XML, but when working methods are pushed down by above with no consideration for individual needs, that's dangerous.

  5. UML and managers by cerberusss · · Score: 4, Funny

    Overheard while doing an internship at Logica CMG:

    Manager: "This new project should be done with new project management methods, like UML"
    Senior: "Uuh, you do know that UML is a notation for diagrams?"
    Manager (irritated): "Yeah, of course I know that. You know what I mean!"

    --
    8 of 13 people found this answer helpful. Did you?
    1. Re:UML and managers by cryfreedomlove · · Score: 2, Interesting

      Many resumes I read these days proudly trumpet UML and RUP as a key skill. Those resumes cause me to either pass altogether on that candidate or grill them harder on fundamental computer science during the interview. Many of these folks can't tell me when to use a hash table vs a linked list. So, some hiring managers have not drunk the UML coolaid.

    2. Re:UML and managers by julesh · · Score: 2, Funny

      Is it just me who, if told to do some software projcet "using UML" that really wasn't appropriate for it, who would turn up to a meeting a few weeks later and say "What? You didn't mean User-Mode Linux?"

    3. Re:UML and managers by Prof.Phreak · · Score: 2, Interesting

      While most corps screw up with UML, that's only 'cause they don't use it properly. It's not about the ``UML'', it's about the process---and knowing how to draw boxes has nothing to do with knowing and following the process.

      I've been on many projects (and managed quite a few myself) that successfully used UML in requirements gathering (use cases---so business folks can sign off on them; leading to less problems later on), object modeling (database schema generation, php, c#, java, etc., code generation, ado code generation, etc., UI generation [similar to MS Access wizard forms]) and general documentation.

      On projects where I used UML, it becomes the -source- of everything. If you need to add an attribute (or field in a form), you change the diagram, not the source code. You then have tools (in my case, almost always written in Perl) that generate the source code from the diagram. UML in essense becomes the single place for all non-logic related changes (sorta like a visual domain language).

      Obviously there are still huge chunks of glue code that cannot be done in UML---but those can often be reused from project to project---so most DB/UI projects I do now basically involve creating a UML diagram, generating some code (with/without networking support, etc.) and playing with VisualStudio to tweak default generated forms to look nice. (and handling some exception cases that don't lend themselves to generation).

      You'd be surprised, but 95% of all database apps are exactly the same. Why bother hand-coding all that over and over again?

      Also, managing the HUGE number items (and changes) via UML is much easier than... well... with just about anything. Try managing 10 developers working on a single project without some coordination thingie like UML.

      The problems that most corps have with UML revolve around using UML just for documentation (that's an overkill, and will get out of sync). Also, non-programmers (``System Architects''---the non-techy types; or managers) tend to think they can build stuff with UML, and almost always get things very wrong.

      --

      "If anything can go wrong, it will." - Murphy

  6. Sorry, no sale :p by tibike77 · · Score: 3, Interesting

    As opposed to China or India, however, my outsourcing plan would focus on a small town in Romania - for it is only in Transylvania where the werewolf can be hired to work with an unrivaled vigilance to avoid the whiz of silver bullets.


    Sorry, I LIVE in a pretty small town in Transylvania (used to live in a slightly larger one), and software developers around here are all BUT immune to (the lure of such) silver bullets... ever heard of Cluj-Napoca or Baia Mare (or any of the software microbehemoths that start springing to life there) ?
    --
    By reading this signature you agree to not disagree with the post you just read.
    1. Re:Sorry, no sale :p by indifferent+children · · Score: 2, Insightful
      ever heard of Cluj-Napoca

      See, this is the problem with offshoring. It's not the quality of the foreign coders, it's the lack of a shared cultural context in which to collaborate. For instance, no American software company would put "Cluj" in its name.

      --
      Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
    2. Re:Sorry, no sale :p by acklenx · · Score: 2, Funny

      Of course not... they'll put the "Cluj" in the box and ship it!

      --
      Never let a mediocre career stand in the way of a good time
  7. Stop the BLAME GAME! by SerpentMage · · Score: 4, Interesting

    I will admit that people like to find silver bullets. BUT, and this is where I get annoyed. It is not just management that preaches silver bullets! How about those that preach Open Source will solve all problems? Or how about Ruby? What about Perl, Java, Linux? And we get annoyed when people don't listen to our "silver bullets."

    The problem here is that everybody has their own silver bullets, and if you don't happen agree then you think the other person is a bone head.

    So let's stop the blame game shall we.

    --

    "You can't make a race horse of a pig"
    "No," said Samuel, "but you can make very fast pig"
    1. Re:Stop the BLAME GAME! by mwvdlee · · Score: 4, Insightful

      I thinks most engineers are smart enough to understand there is no single solution to every problem. They may have biasses, but most damn well know that there are problems for which the other solution is best. What you are talking about is a vocal minority of zealots versus a very large majority that can't be bothered to deal with them. The problem is that, typically, engineers are the silent majority and managers are the vocal minority.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    2. Re:Stop the BLAME GAME! by DoofusOfDeath · · Score: 5, Funny
      How about those that preach Open Source will solve all problems? Or how about Ruby? What about Perl, Java, Linux?
      I agree with you 100%. Those people are just wrong-headed and can't be reasoned with. It's Python that accelerates software development.
    3. Re:Stop the BLAME GAME! by indifferent+children · · Score: 4, Funny
      It's Python that accelerates software development.

      In our shop, it's Java that accelerates software development, and I don't mean the programming language.

      --
      Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
    4. Re:Stop the BLAME GAME! by LWATCDR · · Score: 2

      You left out Ajax and Web 2.0

      People need to understand that good tools do not replace the craftsman.
      It is possible to write a good program in Visual Basic, Perl, forth, c, or even 6502 assembly.
      All good tools do, is make the work go faster. But there is a limit to even that. It takes time to care.
      I do think that some programing languages are better than others. I hated Forth, and I refuse to lean any language that is tied to one operating system. Those are my likes and choices. Unlike a lot of people I like Java I think it is the best solution for some of the tasks I do.
      I find Perl fast for quick and dirty programs and for quick CGIs.
      I use PHP for web applications but frankly I find it kind of finicky as far as compatibility between versions.
      c is c. It is simple and powerful but I really like objects.
      C++ is c with objects tacked on. Better than nothing but the lack of a root object that everything is a descendant of bothers me.
      Fortran, COBOL, and Basic I learned in college and high school. Not much use to me now. I do remember that I really didn't like COBOL.
      Pascal was the first programing language I learned and I really did like Modula-2.
      Maybe I will fall in love with Python or Ruby. Smalltalk interests me but it seems to be a bit of a walled garden like Java. Not really at home on the any OS.
      I would probably love Objective C on Mac 0S/X.
      I am afraid that we live in a imperfect world. No easy answers except good tools and hard work.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  8. Silver Bullets works just fine by lmoelleb · · Score: 2, Insightful

    There is abselutely no problem sticking to your silver bullet.... Instead of choosing the right tool for the task, choose the right task for the tool. This also ensures you don't waste your time with web development as there is no tool that is right for web development, just tools that suck slightly less than the others. :)

    --
    /Lars
    1. Re:Silver Bullets works just fine by John+Nowak · · Score: 3, Insightful

      All web development sucks if you consider the fact that ultimately HTML gets involved. Toss in CGI and/or Flash and you might as well just kill yourself now and get it over with.

  9. Bullets don't kill people... by PinkyDead · · Score: 5, Insightful

    ... - As the saying goes.

    The problem with Silver Bullets is not the bullet itself - but the idiot behind the trigger.

    Most of these Silver Bullets are great ideas, but give them to some moron who half knows how they work (and yet claims to be an expert) and they do the exact opposite of what they were intended to do, and because some PHB reads about in the industry pages, they just keep hanging in there like a millstone around our respective necks.

    For any technology you can see outstanding implementations. But for every one of those there are ten other complete disasters.

    And as the other saying goes - if you don't know who the moron is.....

    --
    Genesis 1:32 And God typed :wq!
    1. Re:Bullets don't kill people... by digitalgiblet · · Score: 2, Insightful
      The "silver bullet" approach makes perfect sense if you imagine for a moment that you are a manager trying to deal with software development. There is a 99% chance that you have a management background, not a technical one. There are exceptions, but even managers who had a technical background are unlikely to have an understanding of the current technical ecosystem.

      As a manager you are tasked with developing software quickly and cheaply. I liken it to being a farmer. You can till the soil, plant the seeds, and pull the weeds, but you have no control over the basic requirements for success. You can not make the sun shine or the rain fall. You are at the mercy of forces outside your control, yet your survival depends upon the outcome. The farmer prays for rain or does an elaborate rain dance totally naked while smeared with mud of different colors (FYI farmers in the US gave up on the primitive practice of irrigation years ago in favor of the mud-smeared-naked-rain-dance).

      As a manager you desperately look for something that will improve the odds of your survival. Since you cannot develop the software yourself, you try as hard as you can to find that silver bullet...

    2. Re:Bullets don't kill people... by jafac · · Score: 2, Insightful

      The basic source of this problem is "System Architects" - who, as part of their design methodology, avoid "implementing" (ie. looking at specific details of technology) in designing the system.

      (ie. "we'll build a steel buidling, because steel is good - and we'll fasten the steel beams together with nails, because our carpenters know how to use nails.")

      Then when it comes time to implement - the implementor starts the project already painted into a corner by the architect, and has to jump through all kinds of hoops via ugly hacks to get it to work.

      System Architects who ignore low-level implementation details, architect systems doomed to failure.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
  10. Untried bullets by Knick-Knack · · Score: 4, Interesting

    An interesting article but one should be wary of dismissing a silver bullet on the basis of poor application.

    My own experience of some of these bullets (UML, agile methods, etc.) within an organisation is that they get a small enthusiastic following who push it so far, implement maybe 20% of the technique then lose interest or regress under deadline pressure. They don't follow the bullet far enough to draw proper conclusions.

    I'm cynical about most bullets, but some catch the imagination. I'd just like to see one of them, just once, properly implemented.

    Incidentally, this isn't just an engineering article. Management suffers from the same tendency towards managerial silver bullets (and the same poor application). I guess many professions do.

    1. Re:Untried bullets by Saint+Fnordius · · Score: 2, Insightful

      In other words, the silver bullet is only useful if you have the right calibre gun.

  11. Webservices are todays silver bullets by Laz10 · · Score: 3, Insightful

    XML as the simple thing it is, works perfectly.
    And every body knows that XML itself is no longer a silver bullet. It is too natural and integrated to not use XML where it fits in.

    What I worry about is the huge stack of technologies that are currently being built on top of it.

    Webservices being the biggest of those and worse the stuff that goes on top of that:
    XML Schemas, WS-YouNameIt, BPMN, BPEL4WS

    It reminds me of a few years ago when choosing java for an enterprise project meant that you had to use EVERY component in the J2EE stack, so that every single class was a EJB and every single call was a remote call.

    Now most projects has learnt to stay away from the "classic J2EE" approach, but are instead falling for the next silver bullet which invites to make the excact same mistake using Web Services

    Webservices are great and has their uses, but I have seen projects that subscribe to the idea that every single component in the project should be a webservice and orchestrated by BPEL. Good luck.

    1. Re:Webservices are todays silver bullets by DrXym · · Score: 3, Interesting
      I wouldn't say XML is a silver bullet, but the act of forcing you to structure your data and use extremely robust libs to read / write it sure has its benefits. I wish in fact that all apps read and wrote their configs through common libs. Something akin to PAM, but for config files would be an enormous benefit to Linux where every app and its uncle seems to use a different format.

      Web services are probably being overtouted as a silver bullet, but the fact is that they serve a very useful purpose. I maintain a legacy app which uses ad-hoc XML over HTTPS. Since I have no idea what the format of the request and response is, I must constantly refer to the code to figure it out. I must also invent my own error responses if the format is incorrect. Web services mean I could just define the interface in WSDL (using WTP in Eclipse for example) and more or less forget about it. I can even use Axis or .NET's wsdl.exe to auto generate the stubs that make the call and just concentrate on the business logic. Bad calls throw a soap fault which is turned into an exception or whatnot by the client lib that makes the call. It doesn't make all my problems disappear, but it does mean I can be looking at the functionality of the app rather than wasting time rolling my own XML format.

      And even the ad-hoc XML over HTTPS is quite an improvement over what came before. Then you'd be talking about opening a port and defining the whole handshake and transfer of data using messages, complete with all the bugs and security issues that go with that. Standards are a great thing even if they initially seem confusing.

      Certainly any standard is open to abuse. I expect that anyone who has to deal with Microsoft's new Office format over XML will be in a world of hurt. But you have Microsoft to blame for that, not the standard.

    2. Re:Webservices are todays silver bullets by NotZed · · Score: 2, Interesting

      XML works perfectly? Only for some strange definition of "perfectly" I think.

      Yes sure, it works. It is an easy solution to various simple data-interchange-like problems.

      However, it is also bulky, inefficient and overly complex. Bulky - needs no explanation. Inefficient - parsing it isn't that trivial, and also applying schemas is expensive and complicated. Multiple levels of namespaces, and so on can lead to complex heirarchical data structures that need a load of work to make sense of.

      --
      _ // `Thinking is an exercise to which all too few brains
      \\/ are accustomed' - First Lensman
  12. Re:Bullets? by BMazurek · · Score: 4, Insightful

    XML works? Huh?

    XML is a data representation. It works? How does it work? By representing data?

    What else could work? S-Expressions? SGML? ASN.1? Flat text file?

    The data representation isn't solving the problem.

    XML, Extreme Programming, technique / technology of the week all are trying to do the same thing: help us manage complexity. Fred Brooks had a lot to say there. My favorite quote from the 'No Silver Bullet' essay:

    Software entities are more complex for their size than perhaps any other human construct because no two parts are alike (at least above the statement level). If they are, we make the two similar parts into a subroutine--open or closed. In this respect, software systems differ profoundly from computers, buildings, or automobiles, where repeated elements abound.
  13. TFA is shallow hogwash by Qbertino · · Score: 3, Interesting

    Oh, so buzzwords can be used to disguise laziness and bad implementation? Where's the news? Even in his satire of XML (and don't you think I'm a big XML fan) he shows that he doesn't understand.

    For one: 'utterance_in_a_state_of_speechlessness' should be 'utterance state="speechlessness"'

    And further: Using sophisticated design techniques doesn't replace the work, but it can help a piece of software reach it's maximum potential. On the inside of every shop there is a silver bullet: It's called education. A model doesn't replace programming and somewhere beyond the ususal CRUD there's allways work to be done on procedural details - that's where part of the fun in sw developement is. Every developer worth his money knows this. If he where ranting at academics, I'd understand, but as far as I'm conserned he's preaching to the choir.

    TFA is definitely not 'well-thought-out'. In fact it's a tad pointless.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:TFA is shallow hogwash by Idolatre · · Score: 2

      There's no "right" way to represent something in XML, it depends on your application's context. In some contexts, it may be perfectly valid to have different data types for utterance_in_a_state_of_speechlessness and utterance_in_a_state_of_happiness. I may have two different classes for representing UtteranceInAStateOfSpeechlessness and UtteranceInAStateOfHappiness (both inheriting from the Utterance base class) with different attributes specific to each type of utterance, and want them to be deserialized from XML to the right class. Or I may want spechlessness utterances to initiate a process that attempts to resolve the speechlessness problem, while happiness utterances are simply logged in a database (for the purpose of generating a monthly report of hapiness utterances) and acknowledged.

      Don't try to be too generic for your context, it would lead to:
      <message>
          <event>Utterance</event>
          <eventParam name="state">Speechlessness</eventParam>
      </message>,
      which would be the XML equivalent of having a std::vector<void *> (a typed container that holds untyped values). If that's then submitted to a generic DoAnything web service, it would then mean your web service will contain code to route that message to the right place, instead of letting the programming language/web server/integration engine route the request to the right class/orchestration based on method name and data type.

      It's fine to try to be as generic as possible, but the right balance between genericity and specificity is different from one context to another. So my idea of having two different data types for different states of utterances may just be additional overhead for some contexts, and then you would be right to have a generic Utterance class with a state and no subclasses.

  14. Fred Brooks original silver bullet paper by jonv · · Score: 5, Informative
  15. Re:Bullets? by Xiroth · · Score: 4, Insightful
    If one codes in a way he's personally comfortable with, he can get the job done even if it involves a not globally ideal technology like XML, but when working methods are pushed down by above with no consideration for individual needs, that's dangerous.
    Within reason, of course. If your code looks like this:
    if( yes->strong )
    yes->weak->run(fast);
    b = when->walrus();
    b.helloWorld();
    delete b;
    And it's suppose to be a generic method to manage mouse-clicks, the manager has some cause for complaint (and the rest of the team are likely looking to murder you the next time you nod off at your desk).
  16. Technoluddite? by SoupIsGood+Food · · Score: 4, Insightful

    Apart and aside from the fact he sees little or no value in things like objects or IDEs, he writes in an inpenetrable victorian style. It's either fine satire skewering the irony of luddite technologists, or the poor guy just doesn't have a clue how laughable his essay was.

    As he snarkily pooh-pooh's the distribution of realtime stock and financial data as a web service, it's probably the latter. I used to work for a company who ran their own ticker plant and had software on the desks of almost every stock broker, investment banker and forex trader on the planet. The client/server requirments of the system were immense. The client had to be maintained on Windows, Sun, Mac and was being slooooowly ported to linux, was fragile as hell and a pain to install and upgrade. The server was a farm of eight midrange Sun or AS/400 boxes, fed by redundant T1's from the ticker plant, and this would only accomodate two or three hundred users.

    Then we went to a web-based client, sort of like AJAX before people started calling it AJAX, and all the headache went away. It's not a small or trivial thing, and it radically changed the way business was done, and for the better.

    Just because it's new and has a buzzword doesn't mean it's a flash in the pan. The moral of the story is to use your judgement, and avoid formulas. Even tried-and-true ones. Silver bullets may not exist, but technology doesn't stand still, no matter how many hours you've sunk into learning emacs and gdb.

    SoupIsGood Food

    1. Re:Technoluddite? by Peter+La+Casse · · Score: 4, Insightful
      Apart and aside from the fact he sees little or no value in things like objects or IDEs

      How did "objects and IDEs don't solve every problem" turn into "objects and IDEs have little or no value"?

    2. Re:Technoluddite? by Jerf · · Score: 2, Interesting

      Just because it's new and has a buzzword doesn't mean it's a flash in the pan.

      Silver Bullet != !(Flash in the Pan).

      It doesn't look like the essay defines "silver bullet" and I don't have the original in front of me, but a Silver Bullet is a single methodology or technology change that by itself always results in an order-of-magnitude improvement, thus seeming to "slay" previously immortal beasts of problems.

      Fred Brooks never claimed there wouldn't be improvements, and there have been. But they always seem to start out looking like silver bullets, and end up being incremental improvements at best. Most things are actually steps backwards if applied to the wrong domain. (A Silver Bullet probably won't have a "wrong domain", although this point is debatable; certain it shouldn't have many.)

      Being a "flash in the pan" is even worse than not being a silver bullet, in that it implies it never had any real value at all.

      Also, while your web application specifically may have been an improvement, the idea that it's an improvement in general is debatable, let alone anything like a silver bullet. It improved your case simply by virtue of expanding your options, allowing you to adopt a model more suited to your domain, but there are cases where a web app would be a serious step backwards. I consider the attempt to build office suites for browsers a joke, for instance. Web apps are merely improvements in some ways at some times, not a silver bullet. (I realize you didn't directly make this claim, I'm just discussing it.)

  17. Re:Bullets? by vadim_t · · Score: 4, Insightful

    XML works by freeing you from the need to come up with your own format and a parser. So, flat files, for example. Most people use completely braindead formats for flat files, like each data item on a line with no indication of what it might be, reinventing .INI files, or the even less complicated key/value approach.

    That works, until you notice that it's not as easy as it seems. How do you represent arrays of data, or trees? Can you specify a string in Russian and have the parser not choke on it? What about Chinese? Can it handle Unicode? What if your format is "key=value", and the value contains a "=" or a newline? Can the key contain spaces? If you write "key = value", do the spaces get stripped or not? What if the first character of the value is a space?

    I've seen all sorts of horrible tricks to deal with those problems, like "key=value" where the value is encoded in hex or base64.

    XML is nice for that: The designers thought of all that already, designed it to be able to deal with all of them, and made parsers that work.

  18. Software development is a pathological case by Archtech · · Score: 4, Insightful

    There can be few examples of an advanced industrial activity in which the ultimate decision-makers know so little about the technology involved, and have so little respect for the opinions of those who do.

    "Hope springs eternal in the human breast" - indeed, in business (and especially sales) optimism is highly thought of, and realism often denounced as "cynicism" or "negative thinking". This is all very well in activities involving human beings, who can easily be manipulated through their emotions. However, it fails utterly when confronted with the cold, hard facts of the physical world.

    When someone seems to be unrealistically hopeful, we speak of "getting a reality check". In other words, finding our noses hard up against the brick wall of ineluctable, unarguable facts. The problem with most software development projects is that the ultimate decision-makers - those who have the gold and, therefore, make the rules - are very rarely able to get a reality check until the project runs out of time, money, or both. They are hopelessly ill-equipped to make reasoned, educated judgments based on the arguments presented by vendors, analysts, and their own technical staff. So it's hardly surprising that over-optimism tends to creep in.

    I have been giving talks about software engineering for about 20 years now, and I usually stress the fact that "there are no silver bullets". This warning is always greeted by vigorous nodding, knowledgeable smiles, and sometimes applause. Afterwards, I sadly feel, the people who have just agreed that there are no silver bullets go out into the exhibition hall or open their magazines, and resume... looking for silver bullets.

    Ultimately, I see just two ways out of this dead end. Either decision-makers take the time, trouble, and mental effort to learn the necessary basics about software development and maintenance. Or they start choosing technical managers and architects who really know their stuff - and trust them implicitly. As time goes by, I hope that both these things will happen more and more.

    --
    I am sure that there are many other solipsists out there.
  19. Re:Bullets? by tfinniga · · Score: 2, Funny

    As opposed to my generic walrus olympics opening ceremonies method?

    --
    Powered by Web3.5 RC 2
  20. Re:Bullets? by smittyoneeach · · Score: 2, Interesting

    Ok, so the syntax was standardized.
    XML says little of the semantics. This isn't evil in and of itself. The way it was marketed as a silver bullet, even though the semantic holes|canyons|abysses stretch wide, explains the backlash.
    What's good about XML, and I used to go to some government working groups about it, is that by calling everything "human readable text", there was much participation from people who otherwise wouldn't budge.
    The bad news, in the government case, is that homo bureaucratus realized that free transfer of information among agencies would mean a migration of the logic from people-ware to software. Realizing the ensuing threat to the rice bowls, the whole working group collapses in semantic wars. Shall we use attributes or nest entities? and so on.
    Once again, technology fails to overcome behavioral problems.
    What will succeed XML as a soteriological technology? Rails?

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  21. Re:Why 'silver bullets'? by Tim+Browse · · Score: 2, Informative

    Sheesh

    Kids today.

  22. Re:Bullets? by zootm · · Score: 4, Insightful

    I think you've essentially hit the nail on the head there. XML is excellent at what it does. However what it does is not "everything", and the "silver bullet" marketing (Java + XML = "Enterprise"!) surrounding it causes people to get upset, because that's not what it is.

    Marketing is, in general, really good at turning people against perfectly good technologies, because those in the know will always see through the lies, exaggerations and half-truths, but will then have a hard time conveying these to superiors or other colleagues who have had a little less experience and a glossy leaflet to gaze on.

  23. Re:Bullets? by Haeleth · · Score: 2, Insightful

    Glad to see you enjoyed the Kool-Aid.

    Can you specify a string in Russian and have the parser not choke on it? What about Chinese? Can it handle Unicode? What if your format is "key=value", and the value contains a "=" or a newline? Can the key contain spaces? If you write "key = value", do the spaces get stripped or not? What if the first character of the value is a space?

    Observe that all these things are problems that only arise if you have humans generating the data. If a program generates it, then you never get bogus spaces or text in an encoding the program can't handle.

    Guess what? XML is fragile when humans write it, too. What happens if they write a lowercase tag in uppercase? Or if they add a string in Chinese (Big5) to a file that's supposed to be encoded in UTF-8? Or if they forget a closing tag? If they write "<key> value </key>", will the spaces get stripped or not?

    Besides, who said anything about designing your own format and writing your own parser for it? It's not like the only ready-made, well-tested, well-designed libraries are XML-based.

  24. Re:Bullets? by cluckshot · · Score: 2, Insightful

    Ah Ha! My chance to get modded into oblivion by those who don't know anything!

    XML is a tagging system. It may be useful for the transmission of data between dissimilar systems but even there it is a crappy methodology. It bloats the data with massive tags, if you parse it in anything but a linear fashion, it becomes a recursive method to make processes take forever and isn't worth anything more than a flat file with a table at the top to tell you where things are. XML only handles ASCII and doesn't do that very well. In fact it really goofs up when you get down to numbers. Imagine 12 types of nodes! (Reality if you have run the parser) It isn't even logically linear in operation. XML eats internet bandwidth like it is going out of style.

    As to the "Silver Bullet" theory. Well XML is a whole lot better than a secret proprietary methodology, but that could have been solved by simply telling the file format.

    What is going on is something a lot of us older programmers have known for a long time. We see subsituted for skill, planning and ability for massive structures that eat memory, and they do the job, sometimes and slowly. I remember open discussions that memeory would eventually expand to the point that we didn't have to worry about it in programming. Of course that geometrically degraded the performance. Sure you have enough memory now but what are you using it for?

    --
    Never Politically Correct ~ I prefer the facts If you don't like what I say, get a life, or comment yourself.
  25. Re:Bullets? by vadim_t · · Score: 2, Informative
    You kidding? It's trivial to make a program that generates something it can't parse back. Want examples?
    void write_value(int handle, char *key, char *value) {
    /* this is stupid, but not that hard to find */
     
        char buf[1024];
        strcpy(buf, key);
        strcat(buf, "=");
        strcat(buf, value);
        strcat(buf, "\n");
        fwrite(handle, buf, strlen(buf));
    }
     
    write_key(h, "example", " 2+2=4\n4*4=16");
    Here you have a bit of code that very trivially writes something that can't be parsed back. Will the leading space be stripped? And even better, instead of that being written correctly, the data will be corrupted, with the first line being read normally, and the second being interpreted as key "4*4", value 16.

    Encoding issues work the same way. It's trivial to write any random \0 terminated junk. It's a lot harder to correctly parse it back. What if the key is made of multi-byte characters, one of whose bytes has the value 61 (ASCII for '=')? A naive parser made for ASCII will sometimes correctly retrieve the key and value from an unicode file, but choke on the lines including characters it incorrectly interprets.
  26. I've been in the business for nigh on 1/4 century by hey! · · Score: 5, Interesting

    I've seen programming paradigms come and go (structured programming). I've seen management techniques come and ago (PERT charts). I've seen technologies that had gone come back again (virtual machines) and even some that have gone come back (centralized computing services). If punch cards come back, I'm retiring to my cave.

    There is one thing that seems constant: The mix of successful, marginally successful, and just plain failed projects feels the same as ever, even though I'm positively sure that our knowledge of how to create software is much greater than it was.

    The glass half full aspect of this of course is that the sytems we are developing are far more powerful and complex than what we worked on in the early 80s. Back then many projects were just collections of utility programs that were invoked from the OS command line and ran top to bottom. Structure those programs, and the problem of how to create software is solved, see??? That's why structured programming was the silver bullet of the 70s and early 80s.

    Now, it's not uncommon for a "lowly" application programmer to have to deal with things like aynchronous processes, something that was the province of the lordly systems programmer back in the day. Ordinary applicaitons are as or more complex today than major systems were back then.

    The other thing that is constant is that some people get it, some sort of get it, and some don't get it a all. But the common shibboleths of our profession are freely available to all, level of englightment not withstanding. The difference is the lower the level of enlightenment, the more those things take on the role of totems and fetishes.

    I've been looking at jobs listings recently, and curiously they never seem to be looking for charactersistics that would demonstrate that somebody "gets it". I've seen things like "Must have three to five years of programming with Struts." Now I have nothing against Struts, but I can see nothing about Struts that would indicate you need three years of hard labor to be able to work productively with it. After all, the point of all these frameworks is to make things easier. I can see "must have thre years working with distributed transactional systems", or "must have three years of experience with security on web applications", or "must have three years of experience with designing user interfaces."

    I'd rather call things like the XML or web services craze "technology fetishes" than "silver bullets". A fetish is "An object that is believed to have magical or spiritual powers, especially such an object associated with animistic or shamanistic religious practices." Religious or technological, fetishes are for some aids on a difficult but rewarding journey, for others they're the promise of relief from hard work, thinking and risk.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  27. Re:Bullets? by gutnor · · Score: 5, Interesting

    Some time ago when SOA where the very new buzword, I've had an interview where the manager of the team asked me why I didn't put XML in big bold character in my resume next to Java, C++, ...

    For him, XML was sort of a religion. The ultimate "technology" (we were not talking about all the technos that comes with XML like XSLT, ..., just the plain XML) that allowed the world to see the light and embrace SOA/MDA design, the only god that can save our wicked developer soul. The whole interview was about my relationship with the XML and how its light shines upon me.

    Talking about XML as a "tool" was a blasphemy. I "learned" that the savior XML:
    - Saved us from the interoperability problem by allowing us to transfer data from and to any system
        transparently. Sure, you only have to transform the output of one application into the input of the second system.
    - Reduce coding problem ( using for example, the function "XML DoSomething(XML params)", so you can change the params without changing the interface and the doc (duh!) )
    - Reduce database problem ( storing XML as blob in the DB - no need to call the DBA when you change the data format )
    - Solve configuration problem ( now configuration file are in XML that means it is easy to understand )

    Thanks XML.

  28. Splendid stuff! by Rogerborg · · Score: 3, Funny

    Reading this article has instantly solved all of my project management problems!

    --
    If you were blocking sigs, you wouldn't have to read this.
  29. Silver bullet effect by chrism2202 · · Score: 2, Insightful

    When you find a silver bullet, you usually end up shooting yourself in the foot.

  30. Re:Current silver bullets by VAXcat · · Score: 2, Informative

    Just be glad you're not old enough to have gone through the fourth generation language management wars...managers were convinved by that hype that we could buy thes products and then we'd be able to get results by talking to the computers in English, just like the ones on the Enterprise in Star Trek. Instead, some incredibly resource wasting applications were produced, that had to be communicated with in a strange dialect of broken English - sort of a machine pidgin language...

    --
    There is no God, and Dirac is his prophet.
  31. It's People by xbytor · · Score: 4, Insightful

    The only true Silver Bullet is really smart people. I've seen it time and again. If a project absolutely positively has to get finished by a particular date, put the best people in your organization on the project and turn them loose. Even the mediocre people on the team will start performing well above their normal levels. I'm not saying that adding new tools and technology won't help. I'm saying that adding really smart people will do far more than tools and technology.

  32. Re:Bullets? by Richard+Steiner · · Score: 2, Insightful

    But XML is used in many situations where it isn't the best solution, like in system-to-system message formats where a simple delimited list of fields is far more efficient and at least as understandable to the trained eye.

    By using XML instead of something simpler, the size of each network message being passed is increased tremendously, and the amount of processing required to create and decode the message is increase considerably compared to a simpler format.

    Yes, the size can be decreased via compression, but then the messages become unreadable if you are tracing the connection somewhere in the middle (whereas a simple delimited message remains readable).

    --
    Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
    The Theorem Theorem: If If, Then Then.
  33. Silver Bullet Response Template by Greyfox · · Score: 2, Insightful
    $BULLET won't help you if your programmers are retarded.

    If that doesn't work move on to:

    $BULLET won't help you BECAUSE your programmers are retarded.

    If that still doesn't have any effect...

    $BULLET won't help you because your managers are retarded.

    For BULLET in "Structured programming techinques" "Top down design" "Bottom up design" "Object oriented programming" C++ java XML "six sigma" "agile (or extreme) programming" scrum

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  34. Re:Bullets? by vadim_t · · Score: 2, Interesting
    Hehe, that pretty much proves my point. Look what we're getting into: We've started from a simple format. However, it turns out the problem isn't that easy to solve after all. So now you're piling up ugly workarounds. By the end of the project, this part of the code is going to end up as an unholy mostrosity. Seriously, read the links on that page to see what a mess you can make when coming up with your own format.

    Your "~~~" idea doesn't even come close to solving the problem. It still won't help with newlines in the data, if the parser parses line by line. It still doesn't solve the problem of weird characters in the key, either. To really solve this problem you need to escape the sequences with a special meaning (which would involve lots of extra complexity for both writing and reading), or encode it as length/data pairs, at which point it stops being usable for humans.

    Now, in most projects, parsing configuration files isn't one of the primary objectives. If that's the case, why not just use an XML library, where all those issues have been dealt with already?

  35. Alternatives to silver bullets by ch-chuck · · Score: 3, Funny

    Other things to try are

    1) Stake thru the heart
    2) Garlic worn around the neck
    3) Holy water
    4) Crucifix
    5) Sunlight

    --
    try { do() || do_not(); } catch (JediException err) { yoda(err); }
  36. Re:I've been in the business for nigh on 1/4 centu by RetroGeek · · Score: 3, Insightful

    Amen!

    You are right on target. I have confused users with my creations for 2+ decades. I know over 10 languages, have been taught 15 or so, am currently conversant with about 3 (not counting markup constructions like HTML, XML, ...). I forget how many "methodologies" I have been exposed to.

    Heck, when I worked for "HAL" we had a week long course on methodology. If fully implemented with all the requesite documents at each stage, all you would have is a CD full of documents and no product (no time).

    I agree with you especially on job listings. These things are NOT written by the people who have a clue. They are more like shopping lists. HR asks for a skill set, some middle manager asks his workers what they know or are using (he doesn't know), that list is passed back, and HR tacks on 1-2 years for junior, 3-5 for intermediate, and 5+ for senior. And that is where you get silly things like "must know Java 1.4.02", like knowing 1.4.01 makes a person un-qualified. Yeah right.....

    And the constant chase for the next best thing (management and techies). Had a manager which took a course in Total Quality Mangement (TQM). TQM, it seems teaches constant positive feedback. So every week I would get a memo telling me how good I was. The breaking point came when he called me into the office and asked "So what good thing did you do this week?".

    Or the "Five Habits of Successful Suckers" series.

    Yeah, it's a rant. I am SO tired of this bullshit. Give me a job, let ME interview the customer, get the F out of my way and let me complete the work.

    --

    - - - - - - - - - - -
    I am a programmer. I am paid to produce syntax not grammar. Deal with it.
  37. Two unspoken words: agile and extreme by technoCon · · Score: 4, Insightful

    I enjoyed the snarky and smart tone of the article. And I largely agreed with everything he said. However, I implied from his remarks (and comments here) that he could count the Xtreme Programming and agile methods among the false promises of the silver bullet. And I have heard them referred to by people I trust as silver bullets.

    Before we start a religious war on whether XP/agile are silver bullets or not, let's step back and ask whether we're talking about different things. I think there is no silver bullet that will kill a software monster created by Big Up Front Design (BUFD).

    It's a good thing to put serious, deep thought into what must be done before one starts work. You have to do your homework and you have to write down everything you know for certain up front. Trouble happens because after some point up-front design becomes mere speculation. You have to somehow confirm early design decisions made when you're ignorant.

    In the old days before computers, Engineers built prototypes to do that. Nowadays, Engineeers (or the pointy-haired bosses who lead them) are addicted to the notion of "shipping the prototype."

    I personally favor the notion of capturing "user stories" because stories have a way of separating "what" from "how" and stories are an effective way to communicate pertinent details between customer and developer while skipping over one's ignorance.

    A trouble with BUFD is that it becomes a "proclamation" about software from the developer (or customer, depending upon the power-relationship). If we were gods, that would not be a problem, but we have limited knowledge and we have sort our our ignorance. But we're not and I think a "conversation" between the two is a more effective way to sort out what's wanted and what's possible.

    In a "conversation" the software monster never grows so big that the ammunition in our clip (UML, agile/xp methods, high-level languages, today's microsoft buzzword) can't kill it.

  38. Re:Bullets? by IMarvinTPA · · Score: 2, Informative

    So, you want to represent data, heh?
    Here are three choices I've gotten to work:
    JSON
    XML
    CSV
    Have you ever seen nested CSV files? They're truely bizzare to see, but if you have a sufficiently powerful parser, they can be read. New Line characters are to be record separators only when they are fully outside of quotes. Commas are to be used as field separators, only when they are fully outside of quotes. Quotes are to be used as content descriminators only when not doubled up.
    The closest thing to a CSV spec that I've ever found.
    My silver bullets of choice? Data encoding for transfer.
    My next favorite silver bullet set, Web Services.
    My other favorite silver bullet set, Programming Languages.

    IMarv

  39. Inability to deal with complexity by Aceticon · · Score: 2, Informative

    For a couple of years now, i've been entertaining the theory that a great many people in IT (especially managers) have trouble dealing with tradeoffs, side-effects and feedback loops whenever a choice has to be made on how the development process is to be setup/changed. The longer the chain of side-effects, the more complicated the feedback-loops or the less immediatly obvious the tradeoffs, side-effects or feedback-loops are, the more likelly they will be ignored or not understood.

    Hence the common practice (in some countries) of selling impossible deadlines to customers and then using overwork to (try and) achieve those deadlines (via the "tired developers make more bugs" and the "low morale" negative feedback loops, overwork usually leads to LONGER development times and a longer tail of bugfixing before the software is accepted for production).

    The same theory would also help explain the recurring reliance by some managers on the next "silver bullet" to solve all our problems - silver bullets are always sold as solving everything and having no downsides (thus no tradeoffs) and no side-effects (and thus no negative feedback loops).

  40. Re:Silver Bullets are just marketing by ZTiger · · Score: 2, Insightful

    Problem is "professionals" are often order about by the ill-informed that seem to be incapable of listening or understanding the professionals.

  41. Re:I've been in the business for nigh on 1/4 centu by hey! · · Score: 4, Insightful

    TQM, it seems teaches constant positive feedback.

    Actually, I remember the TQM craze well. However instead of learning about it from the trade rags, I decided to read Kaoru Ishikawa's book, "What Is Total Quality Control?: The Japanese Way". Dr. Ishikawa is the creator of the infamous "fish-bone" diagram.

    The interesting thing about Ishikawa's book is that if you had to boil it down, it wasn't about tricks that would magically give your products "quality". Oh, there are some chapters on how to understand what customers' real requirements are (thus the fishbone diagram). But they aren't the heart of the book.

    What the book really is, is a primer on character. And according to the book the bedrock characteristic of a quality producing organization is integrity.

    It does no good to understand customer requirements if you don't understand your own products and processes; and you will never understand those if you fear the truth and you discourage its spread. So the first thing you need to do is eliminate the culture of fear: fear of failure,mistakes, and plain old bad news. Once fear is eliminated from the organization, useful information begins to flow. In Ishikawa's vision of the quality organiation, fear of the truth is the greatest enemy: victory in competition goes to the organization that discovers and rectifies its faults the quickest.

    Which is why it is foolish to motivate with praise, particularly undeserved praise. I've never met an engineer worth his salt who really enjoys getting personal praise on more than a occasional basis. The good ones are more motivated with the prospect of becoming better. Praise has its uses; mainly to help maintain a realistically balanced view in the painful process of self improvement.

    Manufacturing is different than software development. But it is true that the integrity and fear play a huge part in determining software quality. Some day I will write a book: Why Good Engineers Write Bad Software. The number one reason has to be this: not facing reality. This leads to the number two reason: not doing what you know you should be doing.

    Both of these proceed from fear. A software development organization that eliminates fear eliminates the number one barrier to achieving its potential. In the end, the personal qualities of courage, compassion, and integrity that we bring to our work matter much more than any methodology.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  42. Re:I've been in the business for nigh on 1/4 centu by hey! · · Score: 3, Insightful

    Structured programming is gone? I hadn't noticed.

    It is no longer a fetish.

    How exactly would you phrase that in a job listing? "Only people who 'get it' need apply"? Determining whether somebody does in fact "get it" is clearly best left for interview.

    For examples, see my original posting. Let me give you an example of why the way job listing are usually written are broken.

    Suppose you use WebWork in your application. So you say, "Must have three years of experience with WebWork". Now you have three engineers. Engineer A has worked on a WebWork based application for three years, although he has mostly been coding business logic POJOs. Engineer B has five years of Struts experience, and in the last six months has converted an application from Struts to WebWorks in anticipation of WebWork becoming Struts 2. Engineer C has been programming Java MVC applications for the web for ten years. He lead the development of an in house MVC framework in 1998, and has periodically done evaluations of Struts and WebWork, but neither has enough of and advantage to convert from the in house framework.

    Under the criteria you have the job, only the least qualified candidate is going to get an interview.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  43. Re:Bullets? by Zerbs · · Score: 2, Insightful

    storing XML as blob in the DB - no need to call the DBA when you change the data format

    That's probably the worst reason to use XML. What makes a database powerfull is that it can represent all relationships of data, not just the primary hierarchy of the data. XML does have a purpose, when you need to represent hierarchical data in a non-propriatary format that needs to be human readable or easily transferred between systems. Storing XML in the database directly is like driving to work 40 miles on the highway in your hybrid car, yes it works, but you loose some of the advantages that way.

    --
    "22 astronauts were born in Ohio. What is it about your state that makes people want to flee the Earth?" Stephen Colbert
  44. Re:Bullets? by dindi · · Score: 2, Interesting

    Thank you ...

    coming from an other world, where 2400 baud modems were a luxory, I always get bothered while dealing with XML, and seeing that in most transactions, over 50% is the tags.

    Then people deal with the magic SOAP transactions, where they send 90%+ tags, and 2-3 short strings as the actual data ...

    On the other hand, implement a payment processing using
    a. SOAP requests
    b. some proprietary crap

    than you will thank God for XML .....

    I also have to mention that while XML seems like a bandwidth hog, there is little to complain about, when people are stuffig 1M+ size images on flash loaded sites, where they stream you mp3 by default on onLoad(), and force you to DL a new flash version for no reason whatsoever (flash 8 player is important for those menus, yeah) ...

    I also agree, that framing data in xml is a waste many times, but that is also the problem of naming ...
    In fact using tags like ThisIsTheFirstNameOfTheCustomeOfTheTransaction you can use "Name" or a1, then agree with the client later on )or before) what a1 is. Especially when that file has that 1000 times, that would save 2x100x bytesize("ThisIsTheFirstNameOfTheCustomeOfTheTrans action") during the transaction ...

    but hey, who cares when the hosting company gives 1000gig UL xfer a month and a dual proc with 2gig ram for $99-120 ...
    I personally do, but most people don't

  45. Don't forget "Meta" Silver Bullets !!! by MrData · · Score: 3, Insightful

    I am surprised Mr. Bell did not mention the latest wave in Software Development, "Meta" Silver Bullets, ie nebulous heuristics which are neatly packaged and given an MBA friendly label. Currently the mother-of-all Meta Silver bullets is "Agile Development" , which has only proven successful for the guys who write books about it and sell seminars on the subject.

  46. Solutions vs Tools by Oloryn · · Score: 2, Insightful

    I think a lot of this comes down to the 'solutions mindset' vs the 'tools mindset'. A 'Solution' is self-contained, operates itself, and requires little thought. A 'Tool', on the other hand, requires a wielder (or operator), may need other tools to be effective, and requires thought and skill to use.

    The problem is that computer technology, by and large, is much more a tool than it is a solution, while management tends to gravitate towards 'solutions'.

    Most 'silver bullets' are in fact useful tools, if treated as such. When treated as a solution, they always come up short, because no tool, by itself, is a full-blown solution. The result is that management ends up using and discarding one silver bullet after another, rather than concentrating on gathering a useful set of tools and a group of people capable of using them skillfully.

  47. It's the Programmers - not the Tools. by Moe1975 · · Score: 2, Interesting

    I believe military history and military science have something to help us illuminate this issue.

    I am a reader of military history, and I recall reading about the German 81mm mortar in WWII - about how the allies conducted studies into its design after the war, as they wanted to find out what the German "secret" for such an effective weapon system was . . . the secret was, there was nothing special about the 81mm mortar - its crews were simply well trained, highly motivated, and well led.

    The Germans did more with less, beat materially superior opponents consistently, and maintained tactical superiority up until the last moments of the war - I believe there is something to be said for all this (moral/political/personal opinions aside) and one of their core philosophies was that it's not the weapons, it's the men.

    Now, the historical points I have brought up are debatable, however, I am convinced that the fundamental idea stands:

    It's the Men, not the Weapons.

    MRH

    --
    SARAVA!