- 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
Wait wait wait! I thought the first rule of debugging was "You don't talk about debugging."
Admin
Rules of Debugging
Don't write bugs. Make them undocumented features.
In order, blame the keyboard, mouse, and compiler.
Ask a stranger to send you the codez, pls help????
Admin
No, anti-spammer, this isn't spam. It's just a short message with a URL tag in it.
Admin
Thought of that all by yourself, did you?
Admin
And the second rule is "YOU DON'T TALK ABOUT DEBUGGING!"
Admin
I've worked in large companies with source control, local development boxes, QA environments -- and engineers who thought they were above all that, and circumvented the system because what they were doing was too trivial to be considered a change.
"I didn't change anything" really means "I didn't change anything functional" which in turn really means "I didn't change anything that I believe would affect anything serious and I didn't want to bother with testing or documentation or (god forbid) a change request".
And while a good change control system would've at least revealed who changed the report in this instance, I've seen instances where the change control system didn't reveal who was to blame. There are often ways to conceal one's changes, and the one I see most often (which is never malicious, and never with the intent to deceive) is for a developer to be making an approved change and slip in another, unrelated change at the same time. While the change will be registered by the change control system, this can make it harder to hunt it down because you can't rely on the list of change requests that were incorporated, and there's often no way to detect this on audit unless the developer was conscientious enough to document the extra, unapproved changes somewhere (such as a checkin comment).
Admin
Admin
After a few weeks of him quietly doing this without telling any of us, we had a big production push. And suddenly he was finding issues he knew he had already fixed. He got pretty frustrated and announced in a team meeting that some ghost in the machine was rolling back his changes.
It took a good deal of round-table discussion to arrive at the fact that his edits, not being part of the source control files, were being overwritten when we published. :)
Happily, much has changed since those days -- including his penchant for doing edits to Production files on the fly.
Admin
But I didn't change a thing...REALLY!!!!!!
(I had a summer intern do it on the production system)
Admin
In response to all the comments along the lines of "why didn't they have SourceControl?" or "why didn't he look at SourceControl first?"
It's perfectly possible that they all used SourceControl - but since they worked onseparate projects and/or departments - the guy didn't have access to Herb's SCtrl repository/branch (or - even more scary - they used completely different SCtrl systems).
My impression of the story was actually that this was a fairly large company rather than a small one. I work at a huge bank - and have access to only a few other projects' Source Control branches within the overall repository. There are several good reasons for doing this sometimes - but most of the time it's just for stupid bureaucratic reasons ("Mr/Mrs/Mz Sr. security architect peon": hey if we restrict access to repository by specific teams, we can add it to our quarterly security objectives powerpoint... hey this sort of fits into SoX certification, right?... check -> !SOLID!)
So anyways, I can understand... If I have to research a problem that involves my app's communiation/interaction with a different app - I would not likely start with asking the other app for access to their source control. Of course it would be a logical place to start - but the pushback & stupid emails back'n'forth to get the access wouldn't be worth it. In most cases like this, it's just easier to walk over to the guys cube (with said cluebat) and 'look over their shoulder' until you spot the problem (assuming it really is in their system). Realize that sounds very inefficient - but hey so is writing new apps in COBOL on the backend, and we do that here as well...
Admin
Admin
Sounds like the day Obama took office.
Admin
Admin
Ultimate, it depends on what the definition of "is" is.
Admin
Admin
Admin
Admin
Admin
The 2006 rates are not useless if it's a 2006 report. After all, it's January, and they could want the report for 2006, not a few days into January 2007.
Admin
That's standard for support. Nobody ever changes anything, but strangely enough, things that worked before don't anymore.
Admin
Reminds me of last week.
Admin
I'm sure it's too complicated to have the year as an input?
Admin
Mustafa has to review them all.
Admin
Scary ... welcome to the modern world.
Two development labs thousands of miles apart ... different source control ... different build environments ... different spoken languages ... same program languages ...
Executive decision: The Elbonian developers have a product which does BlahDiBlah. The Dilbertian developers have a product which does not do BlahDiBlah. We want that product to have BlahDiBlah Goodness. There you go, problem solved, and it'll hardly cost a dime.
Management decision: The Elbonian product is a monolithic .EXE, so, the Elbonian developers will build a .DLL which contains BlahDiBlah. The Dilbertian developers will call the Elbonian .DLL. There you go, problem solved, and it'll hardly cost a dime.
Soon after: Dilbertian developers and Elbonian developers agree an interface for the .DLL. Life is good. Developers working at full steam. During integration test, QA are finding very strange behavior. New product runs but produces strange results, leaks memory, and other unpleasantries.
Sometime later: Dilbertian code developed using version X.Y of runtime libraries; correct behavior depends on verion specific peculiarities. Elbonian code developed using version Z.A of rintime librarues; correct behavior depends on version specific peculiarlities.
The unsurprising troubles: X.Y != Z.A
This isnt hypothetical. I work in the Dilbertian shop.
Admin
Things like this have been going on for as long as computers have existed. In days of old, the comment heard was "But I only changed one card" (referring to a single IBM card in the source deck). The proper response was "LOOK AT THAT CARD!!". It was always the correct response.
Yes, I was on both ends of this conversation, and I was fluent in IBM 029 speak.
Admin
No, that's Fight Club.
Admin
How do you know about Fight Club?!
Admin
So we have a new definition for change. Reminds me of the story about the dad and son who go into the public bathroom and use the urinal(s). Dad goes to leave the bathroom, son says 'but we have to wash our hands'. Dad replies 'we didn't use the bathroom, we don't have to'. New definition of 'use'.
Admin
Ohh, now I get it! I just saw it as one human about to beat up a bunch of other humans.
Admin
Agreed, I didnt see anything racist in that picture. And when someone pointed it out, I took a closer look, and if I were to guess where its from that guy with the bat is an israeli soldier, and the guys huddling before him are palestinian. Not so much racist as much as religion and stupid pissing contests on a "national" level with weapons. And running with that one, would african americans favor being mixed up with arabs? :)
Admin
Admin
I must say, old chap, I disagree. By the sound of it, this is a regular update - one that is regular enough to make a point of noting it in the revision log (probably have a process to do it), yet minor enough to not be considered a change (ie, changing 2006 to 2007 or something - or adding a couple of calculations, but he does say “I had to add the new rate calcs. Those change every year, you know!”). The fact that a couple of extra lines at the bottom of the file totally destroy the parser, though, is a little concerning - no "Error!! Bad File Format" or ignore the extra bits or anything???
Admin
I'm thinking it's a Tinnendo thing - you know, the game system(s) before the Pony Slaystation?
Admin
Brillant!!
Admin
Is it just me or is the end a bit of a nothing....
Herb denies making any change and then removes the two lines that Mike found.... I thought Mike would have removed the two lines (if we're removing not changing). Oh and then everyone was happy, and Mike learnt a new word.
(why does the spell checker think that learnt and misspelt are misspelt? It reminds me of a Simpsons episode: "Oh Homer, you are so learned...." H: "Learnt. The word is Learnt!"
Admin
Motorola?
Admin
I think you misspelled "crashes" there.
Admin
I wonder how his will pass the type check
Admin
Admin
Oh, come on! The Peaches & Herb thing was recent, about 1985 or so...
Admin
He didn't need to send it through QA anyway, It "wasn't a change" !!!!
Jeez, did you even read Herb's memo ??
Anyway, there is nothing wrong with STP Coding (Straight to Production), especially when it is only a end of year financial report. If there was, why would we have the STP Team? (PS I am not even kidding about the existence of the STP Team!)
Admin
Now that I think of it, these financial applications were actually just added to source safe in the last year, after being in production for the last 15 years. WTF's aplenty at my company.
Admin
Did anyone else notice that they've got rates that change every year, and they're hard-coded into the source program? Come on! We've got social security rates here, and they change every few years. They are stored in the database and the "administrator" menu has a page to change them. Of course, if the algorithm changes, call Mr. Rescue Man.
Admin
Perhaps I'm naive, but I thought that most 'Financial Apps' are hacks in Excel ie macros. This may be why they are rarely QA'd - This and the fact that they are often done by Financial Experts with Computer knowledge (read 'know where the on button is') rather than Devs.
Admin
The real WTF is the rates that change annually are hardcoded in the source instead of being stored in a configuration file or inputted as data.
CAPTCHA: duis
Admin
Admin
"if I were to guess where its from that guy with the bat is an israeli soldier," Incorrect - he is a Royal Marine Commando (i.e. British - he is carrying a SA80 assuatlt rifle , the Isralis us M16s) Therefore the Arabs in the Picture are Iraqis not Palistinians - and given that we are overrun by so-called "human rights" lawyers over here I doubt if he is going to randomly start beating them up - obviously this is some kind of police action in which subjects have been rounded up
Admin
I think the pencil's meant to be vertical...
Admin
Stating facts is still a valid past-time.
Admin
Ah, well, then its just another turf war between arabs where lately the western countries started meddling (dropping their own bombs and all). Heh. :) Either way, hard to see any racist signs in there truth be told.