• Nonagesh (unregistered)

    Let me show you something evil about GPL.

    For example, look at following strcpy code:

     while ((*dst++ = *src++) != '\0');

    Congratulations! Your mind is poisoned with GPL now.

    From this day, whenever you implement strcpy by yourself, it's GPL derived work.

    You must open source of your company software from now.

    Happy Nightmares.

    P.S. Just realized, in some schools people learn linux. Poor kids, forbidden from writing legal commercial software, forever! Ha ha

  • Nonagesh (unregistered)

    Hell, you can't ever legally copy arrays after reading this! LOL

  • (cs) in reply to Nonagesh
    Nonagesh:
    From this day, whenever you implement strcpy by yourself, it's GPL derived work.
    So it's never going to be an issue?
  • Foobar (unregistered)

    Only .Net has this kind of nonsense. While I do understand the usefulness of writing

    result = money1 + money2 + money3;

    as opposed to

    money1 = money1.add(money2.add(money3));

    Using == instead of .Equals is not good good OO practice... Especially if you already override the method. I tend to agree with The Architect about this one.

  • (cs) in reply to luis.espinal
    luis.espinal:
    Tennyson should have fired another salvo asking Teh Architect - "teh" intentionally spelled like that for this given case - for clarification of where that tribal knowledge failed to meet the bar in their specific case, in particular if the class was brand new and Tennyson was the only person using it.

    Unless the money is ridiculously good, or we have a family crisis that limits our walking-away options (God forbid), even in a shitty economy, there is (or should be) a limit on how much stupidity tea one should take as a professional, specially when the tea is being served by a sanctimonious asshole.

    Instein himself said there is no limit to stupidty in known and also unknown univers.

  • Lucent (unregistered) in reply to Foobar
    Foobar:
    Using == instead of .Equals is not good good OO practice... Especially if you already override the method. I tend to agree with The Architect about this one.
    He didn't say instead of Equals(), it was in addition to.

    And how often do you really find yourself checking for reference equality? The == operator should have always been an alias for Equals().

    Java didn't get it right and neither did Microsoft when they were making Java 2.0 aka MSJava aka .Net

  • Lucent (unregistered) in reply to Nagesh
    Nagesh:
    luis.espinal:
    Tennyson should have fired another salvo asking Teh Architect - "teh" intentionally spelled like that for this given case - for clarification of where that tribal knowledge failed to meet the bar in their specific case, in particular if the class was brand new and Tennyson was the only person using it.

    Unless the money is ridiculously good, or we have a family crisis that limits our walking-away options (God forbid), even in a shitty economy, there is (or should be) a limit on how much stupidity tea one should take as a professional, specially when the tea is being served by a sanctimonious asshole.

    Instein himself said there is no limit to stupidty in known and also unknown univers.

    Dip your dick in a blender and maybe we can have a finite universe some day.

  • Lucent (unregistered) in reply to ObiWayneKenobi
    jonnyq:
    GPL means that when you distribute your software, you have to show your code. If you're not distributing your software, no one gives a fuck.
    I don't think anyone gives a fuck in any event, besides some limp-dick kraut. Who cares if you violate the GPL? Can anyone prove it?
  • ಮಂಕಿ ಫೇಸ್ (unregistered) in reply to Nonagesh
    Nonagesh:
     while ((*dst++ = *src++) != '\0');

    Real coders would use:

     while (*dst++ = *src++);
  • Feargal O'Reilly (unregistered) in reply to Lucent
    Lucent:
    jonnyq:
    GPL means that when you distribute your software, you have to show your code. If you're not distributing your software, no one gives a fuck.
    I don't think anyone gives a fuck in any event, besides some limp-dick kraut. Who cares if you violate the GPL? Can anyone prove it?
    Did you just suggest that the subject of the above link is impotent? You need to be careful, you might find yourself the subject of a libel action. Just saying, you stupid cunt.
  • Foobar (unregistered) in reply to Lucent
    Lucent:
    Foobar:
    Using == instead of .Equals is not good good OO practice... Especially if you already override the method. I tend to agree with The Architect about this one.
    He didn't say instead of Equals(), it was in addition to.

    And how often do you really find yourself checking for reference equality? The == operator should have always been an alias for Equals().

    Java didn't get it right and neither did Microsoft when they were making Java 2.0 aka MSJava aka .Net

    Where did I mention that he said "instead"? I did say "instead". The == operator is not the same as the .Equal method, and if it would be the same, how would we check reference equality? When do I find myself checking for that? Well, not often, but if it would not be possible, it would sure be a pain not be able to.

    The == is supposed to check if both objects are the same, while "equals" should check whether they are equivalent. And this is consistent with the OO paradigm, where two objects are "equivalent" (equals) or the same (==). Both are different concept and cannot be aliases.

    Unless there is a === operator... then I would agree with you; == should be an alias to equals and === would be a reference equality.

  • Nonagesh (unregistered) in reply to frits
    frits:
    Nonagesh:
    From this day, whenever you implement strcpy by yourself, it's GPL derived work.
    So it's never going to be an issue?

    It is an issue, that was just one example, imagine that, open-source contains large subset of programming techniques.

    Effectively reading open sources ban you from commercially programming.

  • Nonagesh (unregistered) in reply to ಮಂಕಿ ಫೇಸ್
    ಮಂಕಿ ಫೇಸ್:
    Nonagesh:
     while ((*dst++ = *src++) != '\0');

    Real coders would use:

     while (*dst++ = *src++);

    Yes, but that was copy-past from some GPL source ^^

  • Rob (unregistered)

    So, I'm in a new country and currently unemployed. I've been toying with the idea of adopting this architect's persona and trying to B.S. my way into a high level architect or manager type position.

    Answer questions with vague, but really smart sounding stuff that means nothing. Like, 'Well, to be honest, I could sit here and tell you all about the difference between overrides and overloading; but that would be a waste of time. Instead, I'll tell you, in spite of what you might read in best-practices books, both are utter nonsense. I have extensive experience with both and I can assure you, there is no advantage to using them. I worked closely with a researcher who demonstrated, conclusively, they do nothing but introduce unneeded risk into the code base.

    If you want someone who will continue to make the SAME mistakes and blindly follow best-practice guidelines, the same guidelines that have an industry wide failure rate of 80% (either late or over budget) I'm not the guy you want to hire. But if you want a visionary who deliver ahead of schedule, under budget, with fewer defects than conventionally thought possible....I'm the man to hire.'

    I mean, sure, I might get laughed out of 9/10 interviews; but I only need to find one company who falls for my crap. Then I get a big fat salary and spend the first 6 months talking about how wrong everything is and how we need to change it. Then the next 6 months changing it in a meaningless way. Then, when we are behind schedule I explain that our hiring practices of the past are to blame and that our development staff is overpaid, under worked, and largely incompetent.

    Then, I use that as my opportunity to lay-off any voices of reason who might speak out against me.

    I mean, I could probably get paid, very well, for a year or two. After which, I'd have some great sounding experience and should have an even easier time doing it again in the future.

  • TK (unregistered) in reply to Nonagesh
    Nonagesh:
    frits:
    Nonagesh:
    From this day, whenever you implement strcpy by yourself, it's GPL derived work.
    So it's never going to be an issue?

    It is an issue, that was just one example, imagine that, open-source contains large subset of programming techniques.

    Effectively reading open sources ban you from commercially programming.

    Nice troll! But, I'll bite.

    If what you said was true, writing proprietary software for one company would ban you from ever writing any software (proprietary or otherwise) for any other company (or even yourself) in the future.

    Copyright doesn't work like this.

    You can re-write copyrighted software that you've previously written for another copyright holder in the past. You just cannot use the previous work as a reference as you do it. (No written notes, no cut-and-paste, no looking at the old code.) You are entitled to your memories of what you did in the past. Both the old and new works can be covered under different copyrights or different licenses.

    This also applies to code your coworkers wrote which you read in the past, or GPL'd code.

    I realize some people find GPL scary, but really, it's just copyrighted code with a very permissive license. More permissive then proprietary, but less then Public Domain or a BSD-style license.

  • Luiz Felipe (unregistered) in reply to Cat
    Cat:
    MWF:
    "Third-party libraries introduce unnecessary risk into projects," the Global Services Enterprise Systems Lead Architect – or, The Architect, as he preferred to be called – would often say. "If the library is closed sourced, then we will be unable to fix bugs. If it is open-sourced, then we will not only have another codebase to maintain, but it will introduce certain legal risks."

    This is actually fairly spot-on, when speaking generally.

    If there exists some third-party solution that exactly solves your problem, then they can be quite useful - assuming that the legal department okays the licensing agreement, of course.

    But it's not often the case that you can find some library out there that really does what you want. Too many times people want to pull in third-party libraries that offer nearly what they want. That leads to nothing but headaches - you spend lots of time creating workarounds to try and mimic the behavior you really want. On long-term projects, the time spent on workarounds often ends up being longer than the time it would have taken to just write what you needed in the first place.

    People also tend to pull in large third-party libraries for tiny bits and pieces (or libraries with massive, overly-complicated dependency chains), leading to application bloat that may cause problems if you need to maintain a small footprint.

    Then of course there are the times when the third-party library is distributed under some licensing agreement that is likely to cause conflict with the legal department; it would be better to check that upfront and consider the tradeoffs in time spent writing the functionality yourself versus time spent battling with legal.

    And then there's the ongoing maintenance. My company offers basically one software product (and a few ancillary products that expand our flagship product), and each successive version is forked off the previous. It's entirely possible (and in fact quite likely) that code we write today will still be in use decades from now.

    Will those libraries still exist then? Will those authors implement the features we need? Will the licensing still be acceptable? It's uncertain.

    So we do most of the work ourselves; it's very hard to get approval from Legal to use any third party software.

    The biggest exception is one company that offers a product that would be time-prohibitive to write ourselves (especially years ago, when we first needed this software), and we actually have a contract with that company that if they stop maintaining their product for any reason, the intellectual property rights become ours and we will take over development and support going forward.

    Wow. This preety solves most of "vendor lockin" problem.

  • Luiz Felipe (unregistered) in reply to TK
    TK:
    Nonagesh:
    frits:
    Nonagesh:
    From this day, whenever you implement strcpy by yourself, it's GPL derived work.
    So it's never going to be an issue?

    It is an issue, that was just one example, imagine that, open-source contains large subset of programming techniques.

    Effectively reading open sources ban you from commercially programming.

    Nice troll! But, I'll bite.

    If what you said was true, writing proprietary software for one company would ban you from ever writing any software (proprietary or otherwise) for any other company (or even yourself) in the future.

    Copyright doesn't work like this.

    You can re-write copyrighted software that you've previously written for another copyright holder in the past. You just cannot use the previous work as a reference as you do it. (No written notes, no cut-and-paste, no looking at the old code.) You are entitled to your memories of what you did in the past. Both the old and new works can be covered under different copyrights or different licenses.

    This also applies to code your coworkers wrote which you read in the past, or GPL'd code.

    I realize some people find GPL scary, but really, it's just copyrighted code with a very permissive license. More permissive then proprietary, but less then Public Domain or a BSD-style license.

    GPL is like copyleft. BSD is like anarchy.

  • Bacon (unregistered) in reply to Svick
    Svick:
    Иagesh:
    This is why operator overloading is sacred animal feces. Operators (+,-,=,÷ etc.) are nothing but syntactical jujubes. All serious programming should use proper method calls only. Just like Java.
    Math.Divide(
      Math.Plus(
        Math.Minus(b),
        Math.Sqrt(
          Math.Minus(
            Math.Times(b, b),
            Math.Times(4, Math.Times(a, b)),
      Math.Times(2, a))
    

    Would you prefer to write code like this?

    It's all fun and games until someone overloads the * operator on a vector.

  • Nonagesh (unregistered) in reply to TK
    TK:
    Nice troll! But, I'll bite.

    If what you said was true, writing proprietary software for one company would ban you from ever writing any software (proprietary or otherwise) for any other company (or even yourself) in the future.

    Correct, you can't write software in same field for another company. You have to change from game development to banking, for example

    You can re-write copyrighted software that you've previously written for another copyright holder in the past. You are entitled to your memories of what you did in the past.
    No, you can't. Ask your lawyer
  • Ag (unregistered)

    Bah, I get to work with experts who think they are too smart to be bothered by "industry standards" on a daily dase. Beat that, sucker!

  • L. (unregistered) in reply to Nonagesh
    Nonagesh:
    TK:
    Nice troll! But, I'll bite.

    If what you said was true, writing proprietary software for one company would ban you from ever writing any software (proprietary or otherwise) for any other company (or even yourself) in the future.

    Correct, you can't write software in same field for another company. You have to change from game development to banking, for example

    You can re-write copyrighted software that you've previously written for another copyright holder in the past. You are entitled to your memories of what you did in the past.
    No, you can't. Ask your lawyer

    This is wrong. Ask your lawyer ...

    Copyright is way more complicated than that, and in fact there's no black and white on that subject.

    There is no way anyone on earth can buy your ideas or your memories, the only things that can be copyrighted are things that can be copied, i.e. implementations or production methods - and those have to be detailed enough to be taken into account.

    Currently, you can see Apple suing and being sued by more or less everyone in the mobile field, and many lawsuits give many different results even on the same topic.

    Bottom line is there is no real way to prevent anyone from copying software for which you hold copyright, and there is no real way to prevent anyone from suing you if they feel like it, as long as they have the slightest - even if it's a nonsense - reason to.

    I.E. any of your previous employers / clients can try and sue you if you do anything remotely related to what you did for them.

    And most of the time those lawsuits should and will not succeed. They'll still cost you money and time though.

  • (cs) in reply to L.
    L.:
    Nonagesh:
    TK:
    Nice troll! But, I'll bite.

    If what you said was true, writing proprietary software for one company would ban you from ever writing any software (proprietary or otherwise) for any other company (or even yourself) in the future.

    Correct, you can't write software in same field for another company. You have to change from game development to banking, for example

    You can re-write copyrighted software that you've previously written for another copyright holder in the past. You are entitled to your memories of what you did in the past.
    No, you can't. Ask your lawyer

    This is wrong. Ask your lawyer ...

    Copyright is way more complicated than that, and in fact there's no black and white on that subject.

    There is no way anyone on earth can buy your ideas or your memories, the only things that can be copyrighted are things that can be copied, i.e. implementations or production methods - and those have to be detailed enough to be taken into account.

    Currently, you can see Apple suing and being sued by more or less everyone in the mobile field, and many lawsuits give many different results even on the same topic.

    Bottom line is there is no real way to prevent anyone from copying software for which you hold copyright, and there is no real way to prevent anyone from suing you if they feel like it, as long as they have the slightest - even if it's a nonsense - reason to.

    I.E. any of your previous employers / clients can try and sue you if you do anything remotely related to what you did for them.

    And most of the time those lawsuits should and will not succeed. They'll still cost you money and time though.

    I rather think this is also dependent upon the country you live in.

  • Roman (unregistered) in reply to Luiz Felipe
    Luiz Felipe:
    TK:
    Nonagesh:
    frits:
    Nonagesh:
    From this day, whenever you implement strcpy by yourself, it's GPL derived work.
    So it's never going to be an issue?

    It is an issue, that was just one example, imagine that, open-source contains large subset of programming techniques.

    Effectively reading open sources ban you from commercially programming.

    Nice troll! But, I'll bite.

    If what you said was true, writing proprietary software for one company would ban you from ever writing any software (proprietary or otherwise) for any other company (or even yourself) in the future.

    Copyright doesn't work like this.

    You can re-write copyrighted software that you've previously written for another copyright holder in the past. You just cannot use the previous work as a reference as you do it. (No written notes, no cut-and-paste, no looking at the old code.) You are entitled to your memories of what you did in the past. Both the old and new works can be covered under different copyrights or different licenses.

    This also applies to code your coworkers wrote which you read in the past, or GPL'd code.

    I realize some people find GPL scary, but really, it's just copyrighted code with a very permissive license. More permissive then proprietary, but less then Public Domain or a BSD-style license.

    GPL is like copyleft. BSD is like anarchy.

    GPL is like "freedom". BSD is freedom.

  • just me (unregistered) in reply to Roman
    Roman:
    Luiz Felipe:
    TK:
    Nonagesh:
    frits:
    Nonagesh:
    From this day, whenever you implement strcpy by yourself, it's GPL derived work.
    So it's never going to be an issue?

    It is an issue, that was just one example, imagine that, open-source contains large subset of programming techniques.

    Effectively reading open sources ban you from commercially programming.

    Nice troll! But, I'll bite.

    If what you said was true, writing proprietary software for one company would ban you from ever writing any software (proprietary or otherwise) for any other company (or even yourself) in the future.

    Copyright doesn't work like this.

    You can re-write copyrighted software that you've previously written for another copyright holder in the past. You just cannot use the previous work as a reference as you do it. (No written notes, no cut-and-paste, no looking at the old code.) You are entitled to your memories of what you did in the past. Both the old and new works can be covered under different copyrights or different licenses.

    This also applies to code your coworkers wrote which you read in the past, or GPL'd code.

    I realize some people find GPL scary, but really, it's just copyrighted code with a very permissive license. More permissive then proprietary, but less then Public Domain or a BSD-style license.

    GPL is like copyleft. BSD is like anarchy.

    GPL is like "freedom". BSD is freedom.

    freedom is anarchy

  • just me (unregistered) in reply to L.
    L.:
    Nonagesh:
    TK:
    Nice troll! But, I'll bite.

    If what you said was true, writing proprietary software for one company would ban you from ever writing any software (proprietary or otherwise) for any other company (or even yourself) in the future.

    Correct, you can't write software in same field for another company. You have to change from game development to banking, for example

    You can re-write copyrighted software that you've previously written for another copyright holder in the past. You are entitled to your memories of what you did in the past.
    No, you can't. Ask your lawyer

    This is wrong. Ask your lawyer ...

    Copyright is way more complicated than that, and in fact there's no black and white on that subject.

    There is no way anyone on earth can buy your ideas or your memories, the only things that can be copyrighted are things that can be copied, i.e. implementations or production methods - and those have to be detailed enough to be taken into account.

    Currently, you can see Apple suing and being sued by more or less everyone in the mobile field, and many lawsuits give many different results even on the same topic.

    Bottom line is there is no real way to prevent anyone from copying software for which you hold copyright, and there is no real way to prevent anyone from suing you if they feel like it, as long as they have the slightest - even if it's a nonsense - reason to.

    I.E. any of your previous employers / clients can try and sue you if you do anything remotely related to what you did for them.

    And most of the time those lawsuits should and will not succeed. They'll still cost you money and time though.

    copyright != patents. These are two quite different sets of laws with different domains.

    You cannot have a copyright on a production method. You have a copyright on the document describing the production method, if you wrote it, but not the method itself. If you want to protect your production method, you need to patent it. Copyright applies to a specific work, patents to a specific method of solving a problem.

    Theoretically, you do not need "apply" for a copyright; all your work is copyrighted by default (though it might be hard to defend without special measures).

    Copyright protects you from someone copying your work, or deriving a new work from it. It (again, theoretically) does not protect you from someone re-creating your exact same work, as long as she can prove she didn't derive her work from yours (whatever that means). In addition, there is the concept of "fair use" which is supposed to allow you to copy parts of a copyrighted work without permission, under certain conditions.

    Patents are an entirely different beast. You pay $$BIG_BUCKS to get the patent, but the protection is much stronger. It's issued on the method, not the work (so it's much more generic), and contrary to copyrights, nobody is allowed to re-invent your patented method. Neither is there any "fair use" clause. Everybody else either gets your permission to use your patented method, or has to find a different solution to the same problem. You found the solution first (again theoretically...), so you decide who is allowed to use it.

    Most of those big law suits are about patents, not copyrights; though I think Apple is also suing for plagiarizing their iPhone design (which might be copyright or trade mark law).

  • JonB (unregistered) in reply to Nonagesh

    Apparently they actually use:-

    /* Copy SRC to DEST. */ char * strcpy (dest, src) char *dest; const char *src; { reg_char c; char *__unbounded s = (char *__unbounded) CHECK_BOUNDS_LOW (src); const ptrdiff_t off = CHECK_BOUNDS_LOW (dest) - s - 1; size_t n;

    do { c = *s++; s[off] = c; } while (c != '\0');

    n = s - src; (void) CHECK_BOUNDS_HIGH (src + n); (void) CHECK_BOUNDS_HIGH (dest + n);

    return dest; }

    It's also LGPL'd which doesn't have the onerous restriction you're referring to and so misunderstand.

  • (cs)

    Please note that if your patent is required for actual operation, such as Samsung's patents on 3G technology, you cannot refuse a competitor a license, and you have to offer it at reasonable terms.

    As for the iPad's design, a Dutch court recently ruled that because it was so minimal and generic, that a competitor would have to artificially cripple his product in order not to copy the design, and that this was unreasonable. So Apple's "design genius" was used against itself.

  • EatenByAGrue (unregistered)

    On the name Tennyson, that was clearly just a setup for this:

    Half a line, half a line, Half a line onward, All in the pile of dung Codes the six hundred. "Refuse the bug reports! Break the logic!" he said. All in the pile of dung Codes the six hundred.

  • (cs) in reply to just me
    just me:
    freedom is anarchy

    That is mostest dumbest stetment I herd in hole of my life.

  • Иagesh (unregistered)

    Copyright for software is like having copyright for schematic diagrams. It doesn't make much sense, really.

  • Whoa (unregistered)

    So, you're saying that if person wrote code for company A, then wrote similar code for company B, that's not copy? Even with similar lines of code, may be just swapped around or with variables renamed. Even more, executable binaries will partially match.

    If you say that doesn't count, all we need is tool capable of shuffling and scrambling GPL sources to purify them!

  • L. (unregistered) in reply to Severity One
    Severity One:
    Please note that if your patent is required for actual operation, such as Samsung's patents on 3G technology, you cannot refuse a competitor a license, and you have to offer it at reasonable terms.

    As for the iPad's design, a Dutch court recently ruled that because it was so minimal and generic, that a competitor would have to artificially cripple his product in order not to copy the design, and that this was unreasonable. So Apple's "design genius" was used against itself.

    On the other hand, I do not find that the new galaxy tab looks like iCrap, and clearly everyone by now must have realized how much this is a fight to slow Samsung's time to market more than anything - the "protecting intellectual property" part is total bullshit on this. Especially when they talk about touch gestures ... I'm pretty sure 99.99% of these can be found in sci-fi books or movies that largely predate Apple's "revolutionary ideas". Either way, death to Apple and glory to Samsung --

  • L. (unregistered) in reply to Whoa
    Whoa:
    So, you're saying that if person wrote code for company A, then wrote similar code for company B, that's not copy? Even with similar lines of code, may be just swapped around or with variables renamed. Even more, executable binaries will partially match.

    If you say that doesn't count, all we need is tool capable of shuffling and scrambling GPL sources to purify them!

    precisely . there is no way to copyright code properly . and most code can be refactored in a better version which could in no way breach copyright on the older version.

    Any employer or client who asks otherwise is just being unreasonable ... you're the coder, you're entitled to full use of your own brain (even if you don't quite do that ;) ) and memories and experience - that is not something anyone can buy (I'd sell it for a f*ton though).

    The only memories you aren't allowed to "publish" are those related to NDA's and that's all.

    I.E. You can write a webmail client for company X for 200k, and then go write another webmail client for company Y for 200k and it will be perfectly legal even if there's a fair chance the second will almost be a clone of the first, except for a few upgrades and maybe look-and-feel.

  • L. (unregistered) in reply to Whoa
    Whoa:
    So, you're saying that if person wrote code for company A, then wrote similar code for company B, that's not copy? Even with similar lines of code, may be just swapped around or with variables renamed. Even more, executable binaries will partially match.

    If you say that doesn't count, all we need is tool capable of shuffling and scrambling GPL sources to purify them!

    besides .. if it worked then I could sue anyone writing an array-to-query function in any language ... and I would then be conter-sued by half the programmers in the world, etc.

    Captcha : "esse" -> Write some essays (southpark)

  • futbol (unregistered) in reply to L.
    L.:
    I.E. You can write a webmail client for company X for 200k, and then go write another webmail client for company Y for 200k and it will be perfectly legal even if there's a fair chance the second will almost be a clone of the first, except for a few upgrades and maybe look-and-feel.

    Exactly. This is why companies put in non-competes and try to keep you from going to a competitor for a year, in hopes that you will have "forgotten" the structure and logic by the time you're eligible to work on a similar project

  • (cs) in reply to Foobar
    Foobar:
    Only .Net has this kind of nonsense. While I do understand the usefulness of writing
    result = money1 + money2 + money3;

    as opposed to

    money1 = money1.add(money2.add(money3));

    Using == instead of .Equals is not good good OO practice... Especially if you already override the method. I tend to agree with The Architect about this one.

    result = money1.add(money2).add(money3);
    is a little better.
  • Reynard (unregistered)

    I used to work for a twit like this. He would propose some patently ridiculous mish-mash of ideas and then defend it on the grounds that all of the common and obvious reasons why anyone with any sense would object to it as blazingly idiotic belonged to the groupthink of religion-struck zealots and dull bureaucrats - none of which could possibly apply to a true creative innovator such as himself...

  • Ol' Bob (unregistered) in reply to A Gould
    A Gould:
    trtrwtf:
    Code Slave:
    There should be a rule that when your title includes "Architect" you should no longer be laying hands on code (much like a building Architect never picks up a hammer).

    Of course, the counter example is when a coder says "We should do <idiot idea>, because it's Best Practices" to a more senior person and then can't tell them who says so or explain why it is "Best Practice".

    "Laying hands on the code"? What is he, a faith hacker?

    OK, now I have the urge to spend the rest of my day walking up to co-workers' desks, laying hands on their machines and shouting "Let your Spreadsheet.. be HEALED!".

    I do this with printers all the time although your version is a bit verbose. I just place my hand(s) on the afflicted machine, bow my head reverentially, and shout "HEAL!!!". Works wonders.

    :-)

  • Ol' Bob (unregistered) in reply to Nagesh
    Nagesh:
    boog:
    Tennyson should have fired back saying "inconsistent behavior of the == operator among value types creates an unnecessary risk".

    I wonder if The Architect would have explained to him that some unnecessary risk is acceptable.

    Witout unecesary risk, there is no return.

    There is no unnecessary risk. Only unnecessary architects.

    :-)

  • Ol' Bob (unregistered) in reply to Svick
    Svick:
    Иagesh:
    This is why operator overloading is sacred animal feces. Operators (+,-,=,÷ etc.) are nothing but syntactical jujubes. All serious programming should use proper method calls only. Just like Java.
    Math.Divide(
      Math.Plus(
        Math.Minus(b),
        Math.Sqrt(
          Math.Minus(
            Math.Times(b, b),
            Math.Times(4, Math.Times(a, b)),
      Math.Times(2, a))
    

    Would you prefer to write code like this?

    Wow! That's uglier than Lisp!

  • (cs) in reply to Jens
    Jens:
    Over*load* ==?? Really?

    Um, yes?

  • trollsolo (unregistered)

    Damn. Misread as Tribble Knowledge. Great Disappointment.

  • lokey (unregistered) in reply to The Undertaker
    The Undertaker:
    The Undertaker:
    Andrew Norman O'ther:
    Svick:

    Would you prefer to write code like this?

    If he was alive today, Mr Pythagoras would be spinning in his grave.

    What? Alive? In his grave?
    Please, show some sensitivity. I had a son that was alive in his grave, and let me assure you: it is no laughing matter.

    So why did you put him there?

  • (cs)

    This seems like a pretty minor WTF.

    Maybe this is influenced by the fact that I've only programmed in Java, where "==" always compares references. I don't actually see much of a reason to stray from that. Rather than forcing people to check documentation, why not keep things simple? "==" always compares references, and equals() compares values (whenever sensible).

  • Cody (unregistered) in reply to Code Monkey

    Truth be known - this was probably just a nice way of telling a stupid developer to stop touching stuff - because everything he touches he breaks! No one would tell a solid developer not to change something like this - NO ONE...

  • ccj (unregistered)

    "According to Microsoft's own standards and practices..." That's reason enough NOT to override (FTFY) operator ==. Further, what developer would ever, ever expect == to compare value by default in a reference-based language? The article states that Money objects are 'effectively' value-based, but assuming this is managed-memory .NET cr@pware, Money objects' identifiers will have to be, in reality, references. Given that, operator == should absolutely return the reference address whereas .Equals() should be overridden to compare values. Overriding operator == to compare values for Money class reference identifiers is tantamount to redefining NULL or main

  • pharmacepticacom (unregistered)

    erectile vasectomy https://www.pharmaceptica.com/

  • pharmaceptica.com (unregistered)

    sildenafil 100mg tab https://pharmaceptica.com/

Leave a comment on “Tribal Knowledge”

Log In or post as a guest

Replying to comment #:

« Return to Article