• RandomDreamer (unregistered)

    Woot Second

    No it's not important to easily keep track of code changes and revert to previous code versions. What a WTF

  • Pingmaster (cs)

    I think I would have up and left about 2 minutes after the comment about code reading like a sentence...2 minutes being the amount of time it would take me to stop laughing at him.

  • WhiskeyJack (cs)

    Yay, a happy ending.

  • Chandler (unregistered)

    Honestly, this almost could've come from my last job. New graduate is hired to do .NET work for a guy named Gary. During which time the client company wants ?p_id=4442 to look like /products/roof/rooftool.aspx.

    Except, that company actually handled things right. It embraced real databases. It embraced correct methodology. I'm so glad I didn't have to put up with a WTF boss.

  • Gio (unregistered)

    The "Don't Cook comment implies that that the waitress got the patrons the beers w/o keying them into the computer system (she probably just asked the bartender for them).

    Later on, she put them into the system so that the customers could be billed, but since drink requests are routed to the bar the waitress had to let the bartender know not to actually port the beers ... so she used the "Do Not Cook" button on the terminal.

  • BobB (unregistered)

    I remember having a mentor in college that I would work under during the summer. My mentor's big thing was the Nassi-Shneiderman Diagram... I hated those things. However, EVERYTHING had to be represented by an NS Diagram, no matter how small or big or difficult to read they became. Cause, well, that's how its done in the 'real world'.

    Been in the workforce since 2001 (Solaris box in 01, baby!) and I've yet been asked to make an NS diagram for anything. I've not even seen one. I still hate those things.

  • Tobias (unregistered)

    The real WTF is that the Irish Girl is gone.

    And that the Disclaimer "This Article was posted before" is just copied without modification from "Jurassic Programmers".

  • Leak (cs) in reply to Gio
    Gio:
    The "**Don't Cook** comment implies that [major snippage for great justice]
    Of course the real WTF here is posting a comment under the wrong article...
  • Been There Too (unregistered)

    I have been in this situation too where the boss insists on not using anything OO and always using global variables and such.

    Also, our source control system (which the boss said was easier than using software) was to do EVERYTHING on the development box and was to yell out to the other people in the room "Hey, I am working on this file".

  • Gio (unregistered) in reply to Leak

    Yea, I'm a dummy :(

  • Been There Too (unregistered) in reply to Been There Too

    Oops. By Development box, I mean really meant the deployment box where everything goes in the end.

  • Pyro (unregistered)

    Kinda makes you wish for a sudden flood to wash away stuff that doesn't belong in ivoy towers, doesn't it? :)

  • pitchingchris (cs) in reply to Gio
    Gio:
    The "**Don't Cook** comment implies that that the waitress got the patrons the beers w/o keying them into the computer system (she probably just asked the bartender for them).

    Later on, she put them into the system so that the customers could be billed, but since drink requests are routed to the bar the waitress had to let the bartender know not to actually port the beers ... so she used the "Do Not Cook" button on the terminal.

    I think this comment was intended for the earlier article, not this one.

  • Alcari (unregistered) in reply to Been There Too
    Been There Too:
    Also, our source control system (which the boss said was easier than using software) was to do EVERYTHING on the development box and was to yell out to the other people in the room "Hey, I am working on this file".
    Ah yes, I've experienced a similar system. Stand in the hallway and shout "Is anyone using Randomfile176b.xxx?", wait for 5 seconds and if nobody responded, it was safe.
  • pitchingchris (cs) in reply to Been There Too
    Been There Too:
    I have been in this situation too where the boss insists on not using anything OO and always using global variables and such.

    Also, our source control system (which the boss said was easier than using software) was to do EVERYTHING on the development box and was to yell out to the other people in the room "Hey, I am working on this file".

    I've heard all of them before... people against OOP. I just ignore them. Their lack of OOP means lack of scalability, without making the right building blocks, you just make it harder on yourself to manage the application.

    Addendum (2008-03-20 10:51): And Don't even get me started on the lack of source control. Without the proper tools, you're just hurting yourself. Anybody remember what it was like without source control ? Always hand merging files. Or not allowing access to things... Its a wonder anything ever got done.

  • sinistral (cs) in reply to BobB
    BobB:
    I remember having a mentor in college that I would work under during the summer. My mentor's big thing was the Nassi-Shneiderman Diagram... I hated those things. However, EVERYTHING had to be represented by an NS Diagram, no matter how small or big or difficult to read they became. Cause, well, that's how its done in the 'real world'.

    I had to do those for a software engineering class in college myself. The group I was in called them Nasty Spiderman drawings. This was before the advent of Visio, so we drew them in the DOS version of TurboCad and had them "plotted" to a dot matrix printer. Ahh, I still remember how long it took for the printing to finish, because it was essentially rendering the output to the printer. When I upgraded my computer to an AMD DX 40 Mhz (which should tell you something about when this was) it was much faster. I still remember what a pain it was to nest things and the redraws that a simple change could cause.

    I've never seen them since, myself.

  • DeLos (cs) in reply to RandomDreamer
    RandomDreamer:
    Woot Second

    No it's not important to easily keep track of code changes and revert to previous code versions. What a WTF

    I am a firm believer that the correct spelling (and more l33t) is w00t. Otherwise, if you use o's I think you should have to write it whoot and then it just looks lame.

  • Maj najm (unregistered) in reply to DeLos
    DeLos:
    RandomDreamer:
    Woot Second

    No it's not important to easily keep track of code changes and revert to previous code versions. What a WTF

    I am a firm believer that the correct spelling (and more l33t) is w00t. Otherwise, if you use o's I think you should have to write it whoot and then it just looks lame.

    We Owned Other Team. ;)

  • ssprencel (cs)

    This story actually made me sad because it reminds me so much of what I go through every day. I guess it's time to brush up that resume.

  • Groovejet (unregistered)

    That reminds me when I arrived at my job when I finished university and asked in a very naive way to the guy who was supposed to be the "expert" of the company if the web applications that we develop follow web standards and how he answered "Of course we do!". It didn't take too much time to see that he had no clue about web standards.

    Hopefully he does not makes any choices on the department where I am working (Although some of our projects use a "framework" he made that makes us create a lot of classes called "Factory", "Facade", etc).

  • Skizz (cs) in reply to DeLos

    Wouldn't 'People against OOP' be POOP?

    As for Nassi-Shneiderman diagrams, I recently saw some educational software (can't remember exactly what) that used this notation. The software allowed the user to build up behavioural systems using a drag-drop interface. It looked like an intuitive way to build up a simple program.

  • Alex Media (cs)

    Hmm, sounds like the same Gary who wants to frame everything to me...

  • dkf (unregistered) in reply to pitchingchris
    pitchingchris:
    I think this comment was intended for the earlier article, not this one.
    Way to go, Sherlock! Not much escapes you, does it?
  • Jay (unregistered) in reply to pitchingchris
    pitchingchris:
    And Don't even get me started on the lack of source control. Without the proper tools, you're just hurting yourself. Anybody remember what it was like without source control ? Always hand merging files. Or not allowing access to things... Its a wonder anything ever got done.

    Every place I've worked it seems like there are some programmes who insist on circumventing the source code control. They'll check things out for "browse only" or whatever the equivalent is, then make the file writeable and work on it. Or they'll check it out, then check it back in, and then work on it. And when I ask they say they were just playing with something experimental and didn't want to tie it up, or that as they weren't the original author or they're just a junior programmer they thought they weren't worthy to officially check it out, etc. Yes, very humble and all that, but YOU BROKE THE SOURCE CODE CONTROL SYSTEM!!

  • hobart (cs) in reply to Pingmaster
    Pingmaster:
    I think I would have up and left about 2 minutes after the comment about code reading like a sentence...2 minutes being the amount of time it would take me to stop laughing at him.

    Out of all of the dumb things going on there, I don't think that's particularly bad. Sure, it's taking the "self documenting code" idea a little far, but I'm not sure it's particularly harmful.

  • Dhericean (unregistered) in reply to pitchingchris
    pitchingchris:
    And Don't even get me started on the lack of source control. Without the proper tools, you're just hurting yourself. Anybody remember what it was like without source control ? Always hand merging files. Or not allowing access to things... Its a wonder anything ever got done.

    There is a very interesting description by "Mr" Mike McShaffry in his book "Game Coding Complete" of the shenanigans for I think Ultima's 6/7 which involved finding who currently held the Flame of ... whatever bit you needed (I believe a file card) and copying the relevant file off their machine onto a floppy and taking it and the card to yours.

    He does also note that he gained a sort of notariety as the only person who could pull together all the files onto one machine properly and get it to build (continous integration is your friend ... honest).

  • 404 Name Not Found (unregistered) in reply to Jay
    Jay:

    [...] They'll check things out for "browse only" or whatever the equivalent is, then make the file writeable and work on it. Or they'll check it out, then check it back in, and then work on it. And when I ask they say they were just playing with something experimental and didn't want to tie it up, or that as they weren't the original author or they're just a junior programmer they thought they weren't worthy to officially check it out, etc. [...]

    The real WTF here is using a non-concurrent system that locks files which are "checked out". Concurrent systems, which advises of conflicts and allows you to merge changes in, are much better. Plus - nobody can "break" the system by checking it out browse-only or whatever, since nothing ties up the files.

    Just my 2 cents, but it seems like the real problem here is the system locking code files being changed, and not programmers circumventing it.

  • theabbas (unregistered)

    Ha, ha, ho. This comment is meant to fool would be hackers; and ain't gonna read like no dang sentence.

  • Someone You Know (cs)
    Alex:
    "I'm going to take you all under my wing," Gary told Chris and two new hires also fresh out of college. "But I expect that, when you're in a position to do so, you'll mentor at least three others yourself."

    Call the FBI; it's a pyramid scheme!

  • SomeCoder (unregistered) in reply to 404 Name Not Found
    404 Name Not Found:
    Jay:

    [...] They'll check things out for "browse only" or whatever the equivalent is, then make the file writeable and work on it. Or they'll check it out, then check it back in, and then work on it. And when I ask they say they were just playing with something experimental and didn't want to tie it up, or that as they weren't the original author or they're just a junior programmer they thought they weren't worthy to officially check it out, etc. [...]

    The real WTF here is using a non-concurrent system that locks files which are "checked out". Concurrent systems, which advises of conflicts and allows you to merge changes in, are much better. Plus - nobody can "break" the system by checking it out browse-only or whatever, since nothing ties up the files.

    Just my 2 cents, but it seems like the real problem here is the system locking code files being changed, and not programmers circumventing it.

    Well, I won't disagree with you exactly but I've been BURNED by SVN's merging functionality so locking files isn't necessarily a bad thing. I don't even know how, or what we did wrong (I'm sure it was more user error than SVN's fault but still) but we lost about 4 hours worth of work due to a completely messed up SVN merge (and as I recall, we couldn't rollback for some reason). If we had file locking, the problem wouldn't have occurred.

    There are pros and cons to both ways.

  • DoctorFriday (cs)

    After I read:

    RDN is a free magazine for influential readers that provides insight into Microsoft's plans, and news on the latest happenings and products in the Windows development marketplace.
    I always end up thinking "So the readers are the ones who provide the insight into Microsoft's plans? ORLY!?" How about instead:
    RDN is a free magazine for influential readers and provides insight into Microsoft's plans, and news on the latest happenings and products in the Windows development marketplace.
  • theabbas (unregistered)

    After thinking about it, I'd go and do a find replace reactor thus making

    thefiles theresult

    become

    /* the / files / the */ result

  • Thuktun (unregistered)

    Ha, ha, ho?

  • dkf (unregistered) in reply to SomeCoder
    SomeCoder:
    we couldn't rollback for some reason
    Well there's a big fat WTF all by itself...
    SomeCoder:
    If we had file locking, the problem wouldn't have occurred.
    Instead, you have the much more common problem of someone getting the lock and then going on holiday for several weeks, so blocking everyone else. (And if you allow busting the lock, guess what? Everyone busts the lock all the time and you've got the worst of all worlds.)
  • Mark (unregistered)

    Way to much like my first job. Scary.

  • snoofle (cs) in reply to Tobias
    Tobias:
    The real WTF is that the Irish Girl is gone.

    And that the Disclaimer "This Article was posted before" is just copied without modification from "Jurassic Programmers".

    Oh for God's sakes, she's right here

  • Thuktun (unregistered) in reply to SomeCoder
    SomeCoder:
    Well, I won't disagree with you exactly but I've been BURNED by SVN's merging functionality so locking files isn't necessarily a bad thing. I don't even know how, or what we did wrong (I'm sure it was more user error than SVN's fault but still) but we lost about 4 hours worth of work due to a completely messed up SVN merge (and as I recall, we couldn't rollback for some reason). If we had file locking, the problem wouldn't have occurred.
    You admit it may have been user error, but you still ascribe the problem to SVN?

    Three words: fear, uncertainty, and doubt. FUD.

  • ssiguru (unregistered)

    "Server Side Includes are much better than User Controls"

    • have to agree with that (at least in some cases). And you don't need to process pages with aspnet_isapi.dll to make them work, so static html pages will be processed somewhat faster. Oh, and CSV files... they had to change them to XML
  • SomeCoder (unregistered) in reply to Thuktun
    Thuktun:
    SomeCoder:
    Well, I won't disagree with you exactly but I've been BURNED by SVN's merging functionality so locking files isn't necessarily a bad thing. I don't even know how, or what we did wrong (I'm sure it was more user error than SVN's fault but still) but we lost about 4 hours worth of work due to a completely messed up SVN merge (and as I recall, we couldn't rollback for some reason). If we had file locking, the problem wouldn't have occurred.
    You admit it may have been user error, but you still ascribe the problem to SVN?

    Three words: fear, uncertainty, and doubt. FUD.

    I'm sure it was user error. That doesn't mean I'm not gun shy and if the program allows you to commit a user error like that, there are issues.

    So the next time you write some code for 4 hours straight to meet a deadline, I want you to delete it and all the backups, code repositories, etc. Then see how you feel about it.

    dkf:
    SomeCoder:
    we couldn't rollback for some reason
    Well there's a big fat WTF all by itself...
    SomeCoder:
    If we had file locking, the problem wouldn't have occurred.
    Instead, you have the much more common problem of someone getting the lock and then going on holiday for several weeks, so blocking everyone else. (And if you allow busting the lock, guess what? Everyone busts the lock all the time and you've got the worst of all worlds.)

    I've worked in places that use file locking source control. We have had to break a file lock occasionally but it's NEVER become an all out "Well I'll just break this because I feel like it." Maybe I've just worked with people that weren't morons but I've never had that problem.

    I am NOT saying that file locking is the answer but I'm just saying that it does have it's purpose. Truth be told, my favorite system is probably SVN though I don't trust the merging capabilities of it, user error or no.

  • PerdidoPunk (cs) in reply to Pyro
    Pyro:
    Kinda makes you wish for a sudden flood to wash away stuff that doesn't belong in ivoy towers, doesn't it? :)

    Kinda makes you wish you never left said tower :)

  • pitchingchris (cs) in reply to Jay
    Jay:
    Every place I've worked it seems like there are some programmes who insist on circumventing the source code control. They'll check things out for "browse only" or whatever the equivalent is, then make the file writeable and work on it. Or they'll check it out, then check it back in, and then work on it. And when I ask they say they were just playing with something experimental and didn't want to tie it up, or that as they weren't the original author or they're just a junior programmer they thought they weren't worthy to officially check it out, etc. Yes, very humble and all that, but YOU BROKE THE SOURCE CODE CONTROL SYSTEM!!

    Easy answer for that... Don't use Visual SourceSafe. Use Subversion. Then you can all check out your own copy and its like have a private repository. Course, if you modify the same location in the same file, you will have to merge them together, but I'd rather use the tools than to do it by hand. Someone with decent knowledge of how to use SVN will be able to work productively without breaking anything. And if you do break something, its easy enough to revert your changes and try again.

  • T604 (unregistered) in reply to SomeCoder
    SomeCoder:

    I am NOT saying that file locking is the answer but I'm just saying that it does have it's purpose. Truth be told, my favorite system is probably SVN though I don't trust the merging capabilities of it, user error or no.

    I don't trust any auto merging period. But really any decent source-control client should let you compare and manually merge the changes before committing.

  • TheRider (cs) in reply to SomeCoder
    SomeCoder:
    ...though I don't trust the merging capabilities of [SVN], user error or no.
    I wouldn't either. Merging has always been risky business and needs to be closely watched. You may give the automatic tools a try, but at least double-check before checking in merged files.
  • pitchingchris (cs) in reply to T604
    T604:
    I don't trust any auto merging period. But really any decent source-control client should let you compare and manually merge the changes before committing.

    I agree. Some clients simply change your working directory. Then you can review conflicts, verify that it merged like you wanted to, and select sections for each version to include if absolutely necessary.

  • TN (unregistered)

    twitch-twitch

    I'd have... issues... with Gary. I'd have serious issues with Gary.

  • TheRider (cs) in reply to pitchingchris

    I worked with the CVS/SVN method of "keep hacking and merge when necessary" for years and very rarely did the need to merge come up. Every merge operation was undertaken very cautiously.

    For the last three years I was forced to use the "lock the file, it's mine until I feel like it" method with a fully integrated configuration-management,-project-management-and-version-control tool. It was living hell for us developers. Because the back-end database wasn't maintained properly, every check-out operation took close to a minute. Us Java folks were constantly checking out files (or drinking coffee because of the waiting times). We kept complaining to the server operators, but they told us for months that they were "afraid of breaking productive operations". Even telling them we WERE NOT productive BECAUSE of that didn't help. Good golly.

    Futhermore: The tool wouldn't allow intermittent changes (developer A does task X on file F, dev B does task Y on F, then dev A does bugfix for task X on file F) on the grounds that a "closed" task couldn't be reopened and required another "bug-fixing task". This lead to us defining a single "Development for Version 2.1" task (and so on) that all devs used to check out files. We would mention the real task in the check-in comment only.

    I once heard from the person responsible for bringing that tool (Serena Dimensions by the way) into the company, that the greatest feature of it was that when building a product, the configuration manager could choose which finished tasks were brought into the build and which ones were "left out". I almost went through the roof when I heard that. How blind can anybody be to real life? Such a thing would NEVER work out.

    But this turns into a rant against Dimensions. Other "pessimistically locking" version management tools might do better, but then, I don't know any.

  • DHager (unregistered) in reply to DoctorFriday
    DoctorFriday:
    After I read:
    RDN is a free magazine for influential readers that provides insight [...]
    I always end up thinking "So the readers are the ones who provide the insight into Microsoft's plans? ORLY!?" How about instead:
    RDN is a free magazine for influential readers and provides insight [...]

    Really? Huh. I believe the relevant clue is that you're supposed to notice the verb tense of "to provide".

    One magazine provides things. Many readers provide things.

  • pitchingchris (cs) in reply to TheRider
    TheRider:
    "afraid of breaking productive operations". Even telling them we WERE NOT productive BECAUSE of that didn't help. Good golly.

    Whos productivity... Locking files just kills productivity. If they mean production code, than, use branches and a concurrent system. There also should be at least some minimal isolation by whats being built internally and whats being put into production.

  • savar (cs)
    Instead of just sitting around and figuring out what to do -- like he and his new coworkers were now doing -- they had to "task things out" and "assign" individual items to one another using some stupid "issue tracking" software.
    Haha, issue tracking software? In college? Did Chris go to Devry or ITT?
  • DeLos (cs) in reply to Maj najm
    Maj najm:
    DeLos:
    RandomDreamer:
    Woot Second

    No it's not important to easily keep track of code changes and revert to previous code versions. What a WTF

    I am a firm believer that the correct spelling (and more l33t) is w00t. Otherwise, if you use o's I think you should have to write it whoot and then it just looks lame.

    We Owned Other Team. ;)

    2 things:

    1. Shouldn't it be wpot? We Pwned Other Team?
    2. I still support the l33t speak convention of turning O's to 0's. w00t!

Leave a comment on “Making a Difference”

Log In or post as a guest

Replying to comment #:

« Return to Article