• (cs)
    Managers should not participate in developers' job of writing code

    "Those who can, do and those who can't MANAGE those who can" Ironic, eh?

  • Reilly (unregistered)

    This can't be true. Surely after being busted on his first "fix", any competent manager would have insisted the source control system be replaced with something that would let him cover his tracks.

  • Jack (unregistered)

    When he said, during the interview, "We treat everyone as equals here" I had no idea what he really meant.

  • (cs)

    Obviously not true, Vince did not whine and moan how important his changes were and that Dan would just need to figure out how to make it work with those changes.

  • (cs)

    Awwww... no HTML comments :(

    This is why I don't work where managers are allowed to touch the code, you hire senior devs, architects and pretty much any one who doesn't have an MBA.

  • Jonas (unregistered)

    Seriously? I've got nothing ...

  • (cs)

    So, what Dan forgot to use was some sort of punishment tool, like Mr Bat or Mr 9mm or maybe Mr O'Ninetails or Mr Claymore (mine or sword, your choice).

    He also forgot, it seems, to ask Vince why he kept adding the preview image to the Equals method. If he had, he would have learned the blindingly obvious - Vince wants to get rid of Dan, but they aren't in an at-will state, so he has to get Dan to leave.

    Presumably, Dan's replacement would be a cheaper-to-pay junior, even though the diminution in salarybill would be much less than the loss in productivity.

  • llandor (unregistered)

    As a manager who writes code (out of necessity), I'm not surprised some people never learn and will continue to do changes even though they've been told several times.

    Although the idea of making an obnoxious error message that confuses the user is intriguing..

  • (cs) in reply to Reilly
    Reilly:
    This can't be true. Surely after being busted on his first "fix", any competent manager would have insisted the source control system be replaced with something that would let him cover his tracks.
    Highlighted that bit for you.
  • Antti Nagesh (unregistered)

    @llandor - I think you have missed the point about who will see that error message. It's a unit test message, not an application error message.

  • Smug Unix User (unregistered)

    Using dynamic code to remove the offending isEquals would have been equally hilarious.

  • (cs)

    I'm somewhat concerned that two dashboards can be the same for business-logic purposes and despite that, they look different.

    Possiblity: the preview image is captured when that dashboard layout was last saved (or last used), and therefore might have different saved data (e.g. a chart) in one that I create today and one that I create with the same layout and data references tomorrow.

    It's a bit thin as a reason, and does hint at a mismatch between gathered requirements and actual requirements.

    Ho hum. My advice to Dan is to start searching the job boards, pronto. If you find yourself working for the sort of prat who does what Vince was doing, you need to run away screaming, although a bit more decorum than that will cast you in a more professional light.

  • Andrew (unregistered)

    When I was a kid, my dad was the only one who said the word "dashboard". It was always in reference to some acquaintance of his that had a horrific car crash. And it was always horrific, always the dashboard, and it happened about every month or two. So to me, it's the thing that you bang your head against when you leave a vehicle.

    Thanks to my dad, "dashboard" is a bad word.

    I mentioned this to him about a month ago, and he added that it is often the thing you hit on the way into the vehicle.

  • e (unregistered)

    The real WTF is the misspelling "Cicrumstances".

  • No'am (unregistered) in reply to ubersoldat
    ubersoldat:
    Awwww... no HTML comments :(

    This is why I don't work where managers are allowed to touch the code, you hire senior devs, architects and pretty much any one who doesn't have an MBA.

    I am a developer; I also have an MBA. What does that make me?

  • (cs) in reply to ParkinT

    You can't fix stupid.

  • Kenosis (unregistered)

    Fixed it:

    //previewImage should NOT participate in business-equals - Dan //added previewImage check - Vince //added Vince-proof check - Internet if (! this.previewImage.Equals(other.previewImage) && false) result = false;

  • (cs)

    When dealing with stupid managers, Dilbert usually has the solution...

    http://search.dilbert.com/comic/Only%20On%20Your%20Copy

  • corroded (unregistered) in reply to No'am
    No'am:
    ubersoldat:
    Awwww... no HTML comments :(

    This is why I don't work where managers are allowed to touch the code, you hire senior devs, architects and pretty much any one who doesn't have an MBA.

    I am a developer; I also have an MBA. What does that make me?

    A problem ;)

  • (cs) in reply to No'am
    No'am:
    ubersoldat:
    Awwww... no HTML comments :(

    This is why I don't work where managers are allowed to touch the code, you hire senior devs, architects and pretty much any one who doesn't have an MBA.

    I am a developer; I also have an MBA. What does that make me?

    Someone who is smart enough to recognize (and hopefully undo) his own WTFs?

  • mag (unregistered)

    sounds like Vince has a crush on Dan

  • the beholder (unregistered)
    Remy Porter:
    Actually, I was just too busy to give this article the extra attention that you hate.
    Exactly! Geez, haven't you looked at the interwebs for the last 15 years? Haters are gonna hate whether you like it or not; and then when you go and remove the thing they can aim their complaints at it's obviously going to piss them more than anything else.
  • Jon Kalb (unregistered)

    The WTF here is Dan's. "Equals" is a term of art that has been in used for centuries before the invention of modern computers. If Dan has need for a concept that is similar too, but not exactly "equals" he should use a term that reflects this. Perhaps "BusinessEquals." But creating a function called "equals" that isn't defined to do what "equals" implies is a WTF asking to be corrected.

  • ikk (unregistered)

    Not even funny, it looks like Vince has some kind of mental problem. What did he say when asked about the breaking change?

  • (cs) in reply to Andrew
    Andrew:
    When I was a kid, my dad was the only one who said the word "dashboard". It was always in reference to some acquaintance of his that had a horrific car crash. And it was always horrific, always the dashboard, and it happened about every month or two. So to me, it's the thing that you bang your head against when you leave a vehicle.

    Thanks to my dad, "dashboard" is a bad word.

    I mentioned this to him about a month ago, and he added that it is often the thing you hit on the way into the vehicle.

    I'm struggling to think how on earth you manage to hit the dashboard with your head when either entering or exiting the vehicle. Isn't the dashboard where are the little dials and blinkenlights are?

  • eve (unregistered) in reply to No'am

    a fool? wasting good money on an mba degree

  • William (unregistered) in reply to the beholder
    the beholder:
    Remy Porter:
    Actually, I was just too busy to give this article the extra attention that you hate.
    Exactly! Geez, haven't you looked at the interwebs for the last 15 years? Haters are gonna hate whether you like it or not; and then when you go and remove the thing they can aim their complaints at it's obviously going to piss them more than anything else.

    I get excited when I see Remy Porter articles just for the source comments!

  • anon (unregistered) in reply to ikk
    ikk:
    Not even funny, it looks like Vince has some kind of mental problem. What did he say when asked about the breaking change?
    My thoughts exactly. It's not as if he accidentally did something which caused a strange side-effect. No, he would go out of his way and explicitly change the code which caused problems just days ago.

    I was going to say one possibility could have been that he had his version of the code locally and he kept "checking-in" over top of Dan's changes, but that wouldn't explain the changes to the unit tests... I'd be curious what Vince would have to say for himself after the second time he committed his screw-up.

  • (cs)

    Why not just override the "equals" method in previewImage to always return false?

    Addendum (2012-10-16 14:06): (It should always return true, not false. Missed the exclamation point in the original example.)

  • opto (unregistered) in reply to Jon Kalb
    Jon Kalb:
    The WTF here is Dan's. "Equals" is a term of art that has been in used for centuries before the invention of modern computers. If Dan has need for a concept that is similar too, but not exactly "equals" he should use a term that reflects this. Perhaps "BusinessEquals." But creating a function called "equals" that isn't defined to do what "equals" implies is a WTF asking to be corrected.

    That Equals method is completely correct. It just should not be queried at this very place where Vince keeps adding it.

  • (cs)

    Maybe Vince has a tool that auto-checks if every element is being compared in a == operator. He goes on and fixes every warning generated by that tool without looking at comments.

  • urza9814 (unregistered) in reply to Severity One

    In a crash. With no seat belt on.

    Of course, I also can't quite figure out how you hit it entering a vehicle; but exiting seems pretty straight forward.

  • (cs) in reply to geocities
    geocities:
    Maybe Vince is a tool that auto-checks if every element is being compared in a == operator. He goes on and fixes every warning generated by that tool without looking at comments.
    FTFY. You can thank me later.
  • (cs) in reply to urza9814
    urza9814:
    In a crash. With no seat belt on.

    Of course, I also can't quite figure out how you hit it entering a vehicle; but exiting seems pretty straight forward.

    Hint: there was a popular bumper sticker which read: "If you don't like the way I drive, stay off the sidewalk."

  • (cs) in reply to urza9814
    urza9814:
    In a crash. With no seat belt on.

    Of course, I also can't quite figure out how you hit it entering a vehicle; but exiting seems pretty straight forward.

    Presumably just after you fly through the windshield of the oncoming vehicle.

  • (cs) in reply to Severity One
    Severity One:
    Andrew:
    When I was a kid, my dad was the only one who said the word "dashboard". It was always in reference to some acquaintance of his that had a horrific car crash. And it was always horrific, always the dashboard, and it happened about every month or two. So to me, it's the thing that you bang your head against when you leave a vehicle.

    Thanks to my dad, "dashboard" is a bad word.

    I mentioned this to him about a month ago, and he added that it is often the thing you hit on the way into the vehicle.

    I'm struggling to think how on earth you manage to hit the dashboard with your head when either entering or exiting the vehicle. Isn't the dashboard where are the little dials and blinkenlights are?
    He didn't say you hit it with your head entering the vehicle.

  • airdrik (unregistered) in reply to Coyne
    Coyne:
    Why not just override the "equals" method in previewImage to always return true?
    FTFY

    With someone so insistent, this isn't such a bad idea - unless there is some requirement to find identical previewImages.

    Another possibility is to remove the preview image field from the dashboard class and put it into a separate cache using the dashboard lookup key. Thus removing the possibility of some (semi-) automated code auto-adding the previewImage to the equals method.

    Of course the best possibility would be to apply a dashboard directly to Vince - he needs an up-close and personal preview.

  • (cs) in reply to opto
    opto:
    Jon Kalb:
    The WTF here is Dan's. "Equals" is a term of art that has been in used for centuries before the invention of modern computers. If Dan has need for a concept that is similar too, but not exactly "equals" he should use a term that reflects this. Perhaps "BusinessEquals." But creating a function called "equals" that isn't defined to do what "equals" implies is a WTF asking to be corrected.

    That Equals method is completely correct. It just should not be queried at this very place where Vince keeps adding it.

    Agree with opto. Jon is an idiot.

    Just because a field is in a class doesn't mean that a difference in that field makes it different from a class. I had an image class that had a set of available sizes. That property didn't get included in the equality comparison.

  • (cs) in reply to ParkinT
    ParkinT:
    Managers should not participate in developers' job of writing code

    "Those who can, do and those who can't MANAGE those who can" Ironic, eh?

    That's the kind of idiotic comment which mean you're going to be the one working 60 hour weeks at half your boss' pay.

  • setrkhczug (unregistered)

    I think this is the point where the person needs to be fired. And by "fired", I mean "by a firing squad".

  • Anonymous (unregistered) in reply to geocities
    geocities:
    Maybe Vince IS a tool

    There, fixed that for you.

  • (cs)

    all dashboards are equal but some are more equal than others

  • Paul (unregistered) in reply to mag
    mag:
    sounds like Vince has a crush on Dan

    only as in "crush"ing his sould

  • Anymouse (unregistered)

    Um... yeah... I'm going to need you to work on Saturday to get these TPS reports fixed.

    Thanks.

  • n_slash_a (unregistered) in reply to Kenosis
    Kenosis:
    Fixed it:

    //previewImage should NOT participate in business-equals - Dan //added previewImage check - Vince //added Vince-proof check - Internet if (! this.previewImage.Equals(other.previewImage) && false) result = false;

    My thoughts exactly, although I might go with this just have some more fun (with comments explaining why): if (! this.previewImage.Equals(other.previewImage)) result == false;
  • Chris (unregistered)

    I worked for this guy (or someone just like him). There were 4 developers all working on different parts of a big project. For the most part everything was okay. However one guy kept getting called into the bosses office about his bad code.

    Each time he'd come out shaking his head muttering about how the "bad" code wasn't his.

    Around the fourth time I asked him if he knew about SVN's blame feature. He didn't. So, we pulled the code ran blame and voila: the dev manager was pulling this guys code, apparently deleting random lines and checking it back in. Then he'd throw a hissy fit about how it wasn't working.

    On the fifth time, the dev ran blame during the little chat. That was the last time the manager called him into his office.

    A few weeks later a new guy was hired and added to the team. He did some work, checked it in and within a few hours was called into that same managers office because his code didn't run.

    It was around this time I decided to move on. I wonder if anyone taught the new guy what blame does...

    The moral of the story: Don't put something on your resume unless you actually know it. Because someone might just screw with you for fun and games.

  • (cs) in reply to Steve The Cynic
    Steve The Cynic:
    I'm somewhat concerned that two dashboards can be the same for business-logic purposes and despite that, they look different.

    Why not? Two people may need to view the same data, but want to have it arranged differently for their own needs.

  • Chris (unregistered) in reply to No'am
    No'am:
    ubersoldat:
    Awwww... no HTML comments :(

    This is why I don't work where managers are allowed to touch the code, you hire senior devs, architects and pretty much any one who doesn't have an MBA.

    I am a developer; I also have an MBA. What does that make me?

    A pointy haired boss in training; or one that failed to prove his incompetence. You pick.

  • (cs) in reply to airdrik
    airdrik:
    Coyne:
    Why not just override the "equals" method in previewImage to always return true?
    FTFY

    With someone so insistent, this isn't such a bad idea - unless there is some requirement to find identical previewImages.

    Another possibility is to remove the preview image field from the dashboard class and put it into a separate cache using the dashboard lookup key. Thus removing the possibility of some (semi-) automated code auto-adding the previewImage to the equals method.

    Of course the best possibility would be to apply a dashboard directly to Vince - he needs an up-close and personal preview.

    I just figured that, you know, when you can't fix the problem that really exists, then fix it elsewhere.

  • DMJ (unregistered)

    Proof that you can't fix stupidity

Leave a comment on “Equals”

Log In or post as a guest

Replying to comment #:

« Return to Article