- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
"Those who can, do and those who can't MANAGE those who can" Ironic, eh?
Admin
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.
Admin
When he said, during the interview, "We treat everyone as equals here" I had no idea what he really meant.
Admin
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.
Admin
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.
Admin
Seriously? I've got nothing ...
Admin
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.
Admin
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..
Admin
Admin
@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.
Admin
Using dynamic code to remove the offending isEquals would have been equally hilarious.
Admin
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.
Admin
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.
Admin
The real WTF is the misspelling "Cicrumstances".
Admin
I am a developer; I also have an MBA. What does that make me?
Admin
You can't fix stupid.
Admin
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;
Admin
When dealing with stupid managers, Dilbert usually has the solution...
http://search.dilbert.com/comic/Only%20On%20Your%20Copy
Admin
A problem ;)
Admin
Admin
sounds like Vince has a crush on Dan
Admin
Admin
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.
Admin
Not even funny, it looks like Vince has some kind of mental problem. What did he say when asked about the breaking change?
Admin
Admin
a fool? wasting good money on an mba degree
Admin
I get excited when I see Remy Porter articles just for the source comments!
Admin
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.
Admin
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.)
Admin
That Equals method is completely correct. It just should not be queried at this very place where Vince keeps adding it.
Admin
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.
Admin
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.
Admin
Admin
Admin
Presumably just after you fly through the windshield of the oncoming vehicle.
Admin
Admin
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.
Admin
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.
Admin
Admin
I think this is the point where the person needs to be fired. And by "fired", I mean "by a firing squad".
Admin
There, fixed that for you.
Admin
all dashboards are equal but some are more equal than others
Admin
only as in "crush"ing his sould
Admin
Um... yeah... I'm going to need you to work on Saturday to get these TPS reports fixed.
Thanks.
Admin
Admin
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.
Admin
Why not? Two people may need to view the same data, but want to have it arranged differently for their own needs.
Admin
A pointy haired boss in training; or one that failed to prove his incompetence. You pick.
Admin
I just figured that, you know, when you can't fix the problem that really exists, then fix it elsewhere.
Admin
Proof that you can't fix stupidity