• (cs) in reply to Anonymous
    Anonymous:
    First rule of debugging: Look at source control, see what changed.

    Second rule of debugging: Always assume what other developers tell you is pure bullshit. Look at the code and see for yourself.

    No source control? Then you failed the first rule of software development: Always use source control.

    If I had a dime for every time I heard, "that interface method never does X," but then it turns out that sometimes it really does do X (and even Y, Z, and washes your windows), I'd have a handful of dimes.

    Wait wait wait! I thought the first rule of debugging was "You don't talk about debugging."

  • blah (unregistered)

    Rules of Debugging

    1. Don't write bugs. Make them undocumented features.

    2. In order, blame the keyboard, mouse, and compiler.

    3. Ask a stranger to send you the codez, pls help????

  • (cs) in reply to Deviod
    Deviod:
    Code Dependent:
    Mike also learned a very different definition for the word “change” that day.
    Hopefully, here's how he learned it.

    ['img] White redneck with gayishly small bat and racist context/text[/img]

    Yepp, that is really relevant to the story and context. Funny--.
    Glad you liked it. Here, pick the cluebat of your preference.

    No, anti-spammer, this isn't spam. It's just a short message with a URL tag in it.

  • Populus (unregistered) in reply to SSDD
    SSDD:
    Herb is a total idiot.

    Thought of that all by yourself, did you?

  • Murdog (unregistered) in reply to merpius
    merpius:
    Anonymous:
    First rule of debugging: Look at source control, see what changed.

    Second rule of debugging: Always assume what other developers tell you is pure bullshit. Look at the code and see for yourself.

    No source control? Then you failed the first rule of software development: Always use source control.

    If I had a dime for every time I heard, "that interface method never does X," but then it turns out that sometimes it really does do X (and even Y, Z, and washes your windows), I'd have a handful of dimes.

    Wait wait wait! I thought the first rule of debugging was "You don't talk about debugging."

    And the second rule is "YOU DON'T TALK ABOUT DEBUGGING!"

  • Calli Arcale (unregistered) in reply to Beaker
    Beaker:
    Bull. I've worked in small companies (less than 20 employees TOTAL, a fraction of which are developers) and they've all had source control, local development boxes, and QA environments.

    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).

  • TMG (unregistered) in reply to Jabrwock
    Jabrwock:
    TMG:
    I have to call shenanigans on this story merely by premise...

    Every software developer I know understands what a change is

    You'd be surprised. I've run into the "I didn't change a thing" ranging from "I really didn't change anything" to "I changed a few settings" to "I installed totally different software" from support staff, developers, customers, etc.
    Which is why I went on to elaborate (which you didn't quote). If he didn't know what a change was, then why did he update the change-log? It wasn't like it was an accident to update it, as even skilled developers who know they should update it often forget.

    Ryan:
    TMG:
    I have to call shenanigans on this story merely by premise...

    Every software developer I know understands what a change is and it's damn-near impossible to get more than half of them to remember to update a change log every time.

    You have read the stories on this site before, haven't you?

    You also didn't quote the portion that summed up what I was trying to say. See above.

  • (cs) in reply to Calli Arcale
    Calli Arcale:
    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.
    There's a troubleshooter on our team ("Technical Consultant II" officially) who was resistant to change when we first started using source control, many moons back. He didn't want to be bothered with learning the software, so when he needed to make a "trivial change", he would remote into the web servers, change the file attribute from read-only to read-write, make his edit, and change the attribute back.

    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.

  • TheCPUWizard (unregistered)

    But I didn't change a thing...REALLY!!!!!!

    (I had a summer intern do it on the production system)

  • gb (unregistered)

    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...

  • (cs) in reply to morry
    morry:
    "My team has been doing reconciliations on these numbers for a week now!"

    "noticed a three-day old comment at the top"

    Something don't add up here. And Herb needs an atomic wedgie.

    Three days may become a week or even a month, depending on how much pressure Katrina wants to put on Mike. Heck, I wouldn't be surprised if she she said her team have been wasting their time with a bogus report before 2006.
  • Herohtar (unregistered)
    Mike also learned a very different definition for the word “change” that day.

    Sounds like the day Obama took office.

  • (cs) in reply to Code Dependent
    Code Dependent:
    Ozz:
    Code Dependent:
    Lars Vargas:
    Herb: Peaches is not going to be happy.
    Showing your age there, old man.
    And therefore, by extension, so are you...
    Wow, nothing slow about you but your name, and that's Lightning.
    speaking of which, anyone else catch the FNM reunion concerts this year? they opened with 'reunited'
  • Zost (unregistered)

    Ultimate, it depends on what the definition of "is" is.

  • (cs) in reply to morry
    morry:
    "My team has been doing reconciliations on these numbers for a week now!"

    "noticed a three-day old comment at the top"

    Something don't add up here. And Herb needs an atomic wedgie.

    Accountants are on a three day week?
  • (cs) in reply to Code Dependent
    Code Dependent:
    Glad you liked it. Here, pick the cluebat of your preference.

    No, anti-spammer, this isn't spam. It's just a short message with a URL tag in it.

    And out of all those, you chose the one with the white guy about to beat up a bunch of brown people?

  • (cs) in reply to Bappi
    Bappi:
    Code Dependent:
    Glad you liked it. Here, pick the cluebat of your preference.

    No, anti-spammer, this isn't spam. It's just a short message with a URL tag in it.

    And out of all those, you chose the one with the white guy about to beat up a bunch of brown people?
    Nope. I chose the one in demotivational poster format, with text that was applicable to the situation. You chose to see a white guy about to beat up brown people. Try not to project your own issues onto other people.

  • Pestulant (unregistered) in reply to Populus
    Populus:
    SSDD:
    Herb is a total idiot.

    Thought of that all by yourself, did you?

    Cluebat

  • John (unregistered) in reply to Null
    Null:
    nonny nonny:
    Wait, I'm confused.

    So the rate calcs are supposed to change every year. It's a few days into January of 2007 and the rate calcs were, therefore, changed.

    And the solution was to roll back that change?!

    Yeah. That was a WTF moment for me too.

    So now they have correctly calculated reports, but for 2006 rates...which are completely fscking useless.

    Surely he just debugged the rate change?

    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.

  • RBoy (unregistered) in reply to Jabrwock
    Jabrwock:
    TMG:
    I have to call shenanigans on this story merely by premise...

    Every software developer I know understands what a change is

    You'd be surprised. I've run into the "I didn't change a thing" ranging from "I really didn't change anything" to "I changed a few settings" to "I installed totally different software" from support staff, developers, customers, etc.

    That's standard for support. Nobody ever changes anything, but strangely enough, things that worked before don't anymore.

  • Andrew (unregistered) in reply to Anon
    Anon:
    It's like you opened a portal to my life

    Reminds me of last week.

  • (cs) in reply to John
    John:
    Null:
    nonny nonny:
    Wait, I'm confused.

    So the rate calcs are supposed to change every year. It's a few days into January of 2007 and the rate calcs were, therefore, changed.

    And the solution was to roll back that change?!

    Yeah. That was a WTF moment for me too.

    So now they have correctly calculated reports, but for 2006 rates...which are completely fscking useless.

    Surely he just debugged the rate change?

    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.

    I'm sure it's too complicated to have the year as an input?

  • Some Wonk (unregistered) in reply to Null
    Null:
    Why does every comment take three attempts with the "submit" button?

    Mustafa has to review them all.

  • Anonymous Coward (unregistered)

    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).

    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.

  • Herby (unregistered)

    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.

  • nonny nonny (unregistered) in reply to merpius
    merpius:
    I thought the first rule of debugging was "You don't talk about debugging."

    No, that's Fight Club.

  • Hank Yarbo (unregistered) in reply to nonny nonny
    nonny nonny:
    No, that's Fight Club.

    How do you know about Fight Club?!

  • Barbara (unregistered)

    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'.

  • yo mamma (unregistered) in reply to Bappi
    Bappi:
    Code Dependent:
    Glad you liked it. Here, pick the cluebat of your preference.

    No, anti-spammer, this isn't spam. It's just a short message with a URL tag in it.

    And out of all those, you chose the one with the white guy about to beat up a bunch of brown people?

    Ohh, now I get it! I just saw it as one human about to beat up a bunch of other humans.

  • duis (unregistered) in reply to Code Dependent
    Code Dependent:
    Bappi:
    Code Dependent:
    Glad you liked it. Here, pick the cluebat of your preference.

    No, anti-spammer, this isn't spam. It's just a short message with a URL tag in it.

    And out of all those, you chose the one with the white guy about to beat up a bunch of brown people?
    Nope. I chose the one in demotivational poster format, with text that was applicable to the situation. You chose to see a white guy about to beat up brown people. Try not to project your own issues onto other people.

    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? :)

  • xeno (unregistered) in reply to Null
    nonny nonny:
    Wait, I'm confused.

    So the rate calcs are supposed to change every year. It's a few days into January of 2007 and the rate calcs were, therefore, changed.

    And the solution was to roll back that change?!

    null:
    Yeah. That was a WTF moment for me too.

    So now they have correctly calculated reports, but for 2006 rates...which are completely fscking useless.

    Surely he just debugged the rate change?

    Calendar Year !== Financial Year. It varies by locale and company practice. You guys not programmed with money before?

  • Charlie (unregistered) in reply to TMG
    TMG:
    I have to call shenanigans on this story merely by premise...

    Every software developer I know understands what a change is and it's damn-near impossible to get more than half of them to remember to update a change log every time. That's why we use version control. A non-developer just doesn't understand the importance of a change-log; on top of that, if he doesn't think he's changing the file, why would he update it? Anyone who would reliably update a change-log would know what "change" means.

    Captcha - paratus A good thing to be, for certain.

    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???

  • Yoshi (unregistered) in reply to Ozz
    Ozz:
    Code Dependent:
    Lars Vargas:
    Herb: Peaches is not going to be happy.
    Showing your age there, old man.
    And therefore, by extension, so are you...

    I'm thinking it's a Tinnendo thing - you know, the game system(s) before the Pony Slaystation?

  • Paula (unregistered) in reply to teh jav
    teh jav:
    Null:
    Why does every comment take three attempts with the "submit" button?
    The code for this forum was written by Paula.

    Brillant!!

  • Johnno (unregistered)

    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!"

  • Hello Moto.... (unregistered) in reply to Anonymous Coward
    Anonymous Coward:
    > 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).

    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.

    Motorola?

  • Synchronos (unregistered) in reply to Anonymous
    Anonymous:
    but then it turns out that sometimes it really does do X (and even Y, Z, and washes your windows

    I think you misspelled "crashes" there.

  • ClaudeSuck.de (unregistered) in reply to Bill Clinton is the Man
    Bill Clinton is the Man:
    Herb === aTotalDick

    I wonder how his will pass the type check

  • Mr.'; Drop Database -- (unregistered) in reply to HVS
    HVS:
    CHANGE = Modify line DELETE = Remove line ADD = Insert line
    What about rearranging lines? Needs SWAP.
  • Roy Underthump (unregistered) in reply to Code Dependent

    Oh, come on! The Peaches & Herb thing was recent, about 1985 or so...

  • mark (unregistered) in reply to Hubert Humphrey
    Hubert Humphrey:
    It's a mid-sized non-software company. They probably don't have this fabled "QA" that you speak of.
    Anonymous:
    TRWTF is that the guy was allowed to change code directly on a production server, without passing through Dev/QA first. Especially on something as critical as accounting.

    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!)

  • anonymous (unregistered) in reply to Beaker
    Beaker:
    Bull. I've worked in small companies (less than 20 employees TOTAL, a fraction of which are developers) and they've all had source control, local development boxes, and QA environments.
    My company has around 50 people, 4 developers. We have source control and local development boxes, but our financial applications (which I have no part in thankfully) have no testing/QA environment. Most changes to these applications are released directly to production right after they are made, hopefully after being tested by the developer that made the changes, but that's never a guarantee.

    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.

  • (cs) in reply to pitchingchris

    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.

  • Boogie (unregistered) in reply to anonymous
    anonymous:
    Beaker:
    Bull. I've worked in small companies (less than 20 employees TOTAL, a fraction of which are developers) and they've all had source control, local development boxes, and QA environments.
    My company has around 50 people, 4 developers. We have source control and local development boxes, but our financial applications (which I have no part in thankfully) have no testing/QA environment. Most changes to these applications are released directly to production right after they are made, hopefully after being tested by the developer that made the changes, but that's never a guarantee.

    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.

    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.

  • Anonymous (unregistered)

    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

  • v.dog (unregistered) in reply to Null
    Null:
    Why does every comment take three attempts with the "submit" button?
    It has to be on your end. Alex didn't change a thing
  • Geoffey Sturdy (unregistered) in reply to duis

    "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

  • (cs) in reply to Zach
    Zach:
    Null:
    pitchingchris:
    the first paragraph is horrible to read with redundant phrases and grammar errors. I don't expect an article to be perfect, but somebody please read them at least once or twice..
    Clench a pencil between your buttocks while reading, it helps.

    Nope, still painful to read. But I did get a nice colored pencil out of the deal!

    I think the pencil's meant to be vertical...

  • Alex (unregistered) in reply to Populus
    Populus:
    SSDD:
    Herb is a total idiot.

    Thought of that all by yourself, did you?

    Stating facts is still a valid past-time.

  • cogo (unregistered) in reply to Geoffey Sturdy
    Geoffey Sturdy:
    "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

    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.

Leave a comment on “But I Didn't Change a Thing”

Log In or post as a guest

Replying to comment #:

« Return to Article