• SkaveRat (unregistered)

    [insert some funny comment, refering to the content of the article]

  • TheFourDutchmen (unregistered) in reply to SkaveRat
    SkaveRat:
    [insert some funny comment, refering to the content of the article]

    Not enough wall-to-wall sunshine in that comment

  • (cs)

    They should've gotten Visual SourceSafe...

  • chris (unregistered)

    Easy, open all the projects on a "real" server first. Or basically any machine you're not going to turn off or crash.

  • (cs)

    i guess the workaround for the server/client thing would be to open the first project on, i don't know, a server. but the magic cookie? that's just crazy.

  • (cs)

    How on earth someone designed this thing and thought "yeah, that's a good approach"?

  • (cs) in reply to steenbergh
    steenbergh:
    They should've gotten Visual SourceSafe...
    IBM Rational ClearCase
  • Keebler (unregistered) in reply to SkaveRat
    The Magic Cookie

    Mmmmmm, magic cookie.....

  • (cs)

    Great, they invented a single-source randomly distributed peer-to-peer file server system.

    Let's hope Microsoft don't pick up on this and have the first person in the office in the morning running the mail server under their copy of Outlook...

  • Ilyak (unregistered)

    The real wtf is that electrical engineers do not have their VCS.

    They also use opaque binary formats for their, what we'd call, sources. Gross!

  • Brett Allen (unregistered) in reply to Kiss me I'm Polish

    Someone who thought Vista was a good operating system for CAD?

    One of the most resource intensive applications I've heard of, I figured they would have stuck with XP...

    I am a Vista lover, but I do recognize it's downfalls.

  • (cs)

    Forget source control software. They should set up an entire office somewhere in the middle of the country to handle source control. when someone wants to work on a file they initiate a request for the file, by fax of course. The checkout department will then mail them out a disc with the file on it. once the designer is done working on the file they mail it back to the checkin department who will send send it to the merge department via inter-department mail. Once this is done the file can be sent to the history department where the hardcopy will be filed away in a cabinet somewhere.

  • (cs)

    Epic!

  • (cs)

    Oh, and I have to post each of my comments three times, only the third succeeds. WTF?

    counter++; if (counter % 3 != 0) return crypticErrorMessageWhichTriesToBeFunnyWhichIsAFailureOfItsOwn();

  • Anonymous Coward (unregistered)

    There is bad design, really bad design and then you have incompetence. Guess in which category that concurrent strategy falls...

  • (cs) in reply to Brett Allen
    Brett Allen:
    I am a Vista lover, but I do recognize it's downfalls.

    That reminds me of myself. I love being stung by mosquitoes, but I do recognize it's downsides as well.

  • Anonymous Coward (unregistered)

    Samo is correct. Having figured this out previously, and skipping to the last section, I must say, this is the first article I've read where the only response I can muster is, "WTF!?"

  • (cs) in reply to Anonymous Coward
    Anonymous Coward:
    Samo is correct. Having figured this out previously, and skipping to the last section, I must say, this is the first article I've read where the only response I can muster is, "WTF!?"
    You mean I didn't need to throw my eye into that lake just to get the WTF? ahh well inner site isn't such a bad thing...
  • Nuthin (unregistered)

    You think this is bad? CVS works the same way: if you copy a directory from your local working repository to a different location on disk, edits to that other location show up in the main repository. I found this out the hard way when I reused a substantial portion of code in a new project, only to have the engineers on the older project cussing at me for breaking older code. The worst part? My new changes weren't committed to the new repository, either, so neither codebase worked.

  • (cs)

    I was going to post a comment, but SkaveRat turned his computer off.

  • Anonymous (unregistered)

    You see this crap all too often, generally as a result of a software company writing a product that they have absolutely no in-house use for. If you don't use your own product you're never going to discover all the usability issues. However, in this case you would have thought that someone would have raised a red flag. It's not like it was one of those "looks good on paper" ideas - it was clearly unworkable even at the design level.

  • (cs) in reply to Anonymous Coward
    Anonymous Coward:
    Samo is correct. Having figured this out previously, and skipping to the last section, I must say, this is the first article I've read where the only response I can muster is, "WTF!?"
    You've not been reading very long I take it. They come up reasonably often.

    To be fair, sometimes the WTF is that people think this is material worth discussing…

  • (cs) in reply to Nuthin
    Nuthin:
    You think this is bad? CVS works the same way: if you copy a directory from your local working repository to a different location on disk, edits to that other location show up in the main repository. I found this out the hard way when I reused a substantial portion of code in a new project, only to have the engineers on the older project cussing at me for breaking older code. The worst part? My new changes weren't committed to the new repository, either, so neither codebase worked.

    Yes, been there, seen that. I can't thank god enough that I went on vacation during those three weeks when my co-workers found out about cvs directories.

  • Bim Job (unregistered)

    Well, it's certainly an, ahem, innovative enterprisey solution. I've never yet come across a system that combines the complexity of a server-client application with the complexity of a peer-to-peer application, and yet manages to be neither. The "magic cookie" is just the icing on the cake. Now they've managed to add NTF-like insanity to an already doomed architecture.

    Nothing much new there, really. As usual, some twerp in IT procurement on a six-figure salary plus bonus has bought in to worthless bit-rot software without instituting a proper technical review.

    What worries me, though, is this: "[The new version had] bells and whistles they were salivating for. Aero-style interface... improved Vista compatibility... improved sub-menu item spelling... fewer registry conflicts..."

    The only part of this that makes any sense whatsoever is "fewer registry conflicts," and even that's a meaningless comparative.

    Personally, I reserve my saliva for something either digestible or feminine. Or, as Code Dependent would probably add, both.

  • Harrow (unregistered) in reply to galgorah
    galgorah:
    Forget source control software. They should set up an entire office somewhere in the middle of the country to handle source control. when someone wants to work on a file they initiate a request for the file, by fax of course. The checkout department will then mail them out a disc with the file on it. once the designer is done working on the file they mail it back to the checkin department who will send send it to the merge department via inter-department mail. Once this is done the file can be sent to the history department where the hardcopy will be filed away in a cabinet somewhere.
    See, that's how these multi-user enterprise projects get in trouble -- you think you have a finished design, but you leave out one little vital specification, then when you deploy to the real world, it's worse than failure.

    In this case, your design will collapse under any serious usage volumes because you have not insured that the checkout department and the history department each have their separate own wooden tables.

    -Harrow.

  • Bim Job (unregistered) in reply to Bim Job
    Bim Job:
    Well, it's certainly an, ahem, innovative enterprisey solution. I've never yet come across a system that combines the complexity of a server-client application with the complexity of a peer-to-peer application, and yet manages to be neither. The "magic cookie" is just the icing on the cake. Now they've managed to add NTF-like insanity to an already doomed architecture.
    Ummm ... that's NFS-like insanity. Not that it really matters.
  • Al (unregistered) in reply to Nuthin

    Well, not as bad as having it the other way round, I guess. One of the older versions of CVS I've seen deleted every local file on checkout if some file in repository was set to read-only (I do not know if it still does in the current version, as it is long ago ...). The real WTF was not CVS, but a project member not reading the CVS manual, manually copying his file read only into the repository. Luckily, this was at times when we did a university project with students, which i maintained as tutor (yep, the student didn't pass :-) ).

  • Richard (unregistered) in reply to ubersoldat
    ubersoldat:
    Nuthin:
    You think this is bad? CVS works the same way: if you copy a directory from your local working repository to a different location on disk, edits to that other location show up in the main repository. I found this out the hard way when I reused a substantial portion of code in a new project, only to have the engineers on the older project cussing at me for breaking older code. The worst part? My new changes weren't committed to the new repository, either, so neither codebase worked.

    Yes, been there, seen that. I can't thank god enough that I went on vacation during those three weeks when my co-workers found out about cvs directories.

    This seems like its own WTF -- "know your tools". Either do a cvs export to get a clean copy of the source without the CVS metafiles, or clean the CVS metafiles out of the source code after you copy it. I'd call the cussing justified.

  • Wheaties (unregistered) in reply to Richard
    Richard:
    This seems like its own WTF -- "know your tools". Either do a cvs export to get a clean copy of the source without the CVS metafiles, or clean the CVS metafiles out of the source code after you copy it. I'd call the cussing justified.

    Agreed. Know your tools. This company found out all about their tools and the absolutely attrocious design. Hell, you could do something better by using a work-around in a document management software hack.

  • Linfag (unregistered) in reply to chris
    chris:
    Easy, open all the projects on a "real" server first. Or basically any machine you're not going to turn off or crash.

    Oh, do they make a Linux version of the product?

  • Fast Eddie (unregistered) in reply to Evo
    Evo:
    Brett Allen:
    I am a Vista lover, but I do recognize it's downfalls.

    That reminds me of myself. I love being stung by mosquitoes...

    Hey, Who doesn't?

  • Billy (unregistered)

    TRWTF is how they are able to access the production "server" through a demo room.

  • NC (unregistered) in reply to Nuthin

    Changes do not happen under CVS unless you invoke 'commit'. And you aren't going to change the working respository from a different directory unless you have confused 'cp' with 'ln'. My guess is you copied, but goofed and made the edits and commits while PWD=old_project_directory. You would not have been the first programmer to make this error, nor the first to not be able to admit error.

  • (cs)

    Rule # 1 - you can't win Rule # 2 - if you think you're winning, see rule #1 Corollary to rule #1 - unintended consequences will bite you in the a$$ ever time.

  • tetsu (unregistered) in reply to galgorah

    and on that cd, a Magic Cookie that bypasses all the departments and directly modifies the source.

  • NC (unregistered) in reply to NC

    On further thought, the problem was that you copied the CVS directories along with source code. The CVS/Repository file has a link to the project. You ended up with a second local repository pointing to the old project after the 'cp -r' command, not a local repository pointing to the new project.

    There is a WTF here about insufficient training on CVS. Even though it's pretty simple to use, it isn't so simple you can be totally ignorant about how it works.

  • Peter (unregistered) in reply to Kiss me I'm Polish
    Kiss me I'm Polish:
    How on earth someone designed this thing and thought "yeah, that's a good approach"?
    Designed? You think this was actually designed?
  • (cs) in reply to Brett Allen
    Brett Allen:
    Someone who thought Vista was a good operating system
    Indeed, WTF?
  • Jay (unregistered)
    Richard:
    ubersoldat:
    Nuthin:
    You think this is bad? CVS works the same way: if you copy a directory from your local working repository to a different location on disk, edits to that other location show up in the main repository. I found this out the hard way when I reused a substantial portion of code in a new project, only to have the engineers on the older project cussing at me for breaking older code. The worst part? My new changes weren't committed to the new repository, either, so neither codebase worked.

    Yes, been there, seen that. I can't thank god enough that I went on vacation during those three weeks when my co-workers found out about cvs directories.

    This seems like its own WTF -- "know your tools". Either do a cvs export to get a clean copy of the source without the CVS metafiles, or clean the CVS metafiles out of the source code after you copy it. I'd call the cussing justified.

    Yeah, like I once bought a car where it turned out that when you turn on the radio, the car automatically turns left. After the accident I complained to the dealer, but he just said, "Hey, you should know your car."

    Moral: If your software behaves in non-intuitive and destructive ways, blame the user.

  • Oren (unregistered) in reply to galgorah
    galgorah:
    Forget source control software. They should set up an entire office somewhere in the middle of the country to handle source control. when someone wants to work on a file they initiate a request for the file, by fax of course. The checkout department will then mail them out a disc with the file on it. once the designer is done working on the file they mail it back to the checkin department who will send send it to the merge department via inter-department mail. Once this is done the file can be sent to the history department where the hardcopy will be filed away in a cabinet somewhere.

    funny, but with the magic cookie all you have to do is mail them the project file. merge is done... well.. auto-magically. and history - who the hell needs it?

  • (cs) in reply to Fast Eddie
    Fast Eddie:
    Evo:
    Brett Allen:
    I am a Vista lover, but I do recognize it's downfalls.

    That reminds me of myself. I love being stung by mosquitoes...

    Hey, Who doesn't?
    Err... umm... ahh... I'd bet my rent money that none of you has ever been "stung" by a "mosquito."

  • Zygo (unregistered) in reply to Anonymous Coward
    Anonymous Coward:
    There is bad design, really bad design and then you have incompetence. Guess in which category that concurrent strategy falls...

    Actually, after incompetence, you have malice. Just sayin'.

  • Bim Job (unregistered) in reply to Jay
    Jay:
    Yeah, like I once bought a car where it turned out that when you turn on the radio, the car automatically turns left. After the accident I complained to the dealer, but he just said, "Hey, you should know your car."

    Moral: If your software behaves in non-intuitive and destructive ways, blame the user.

    Well, then you're a big fat loser for not suing the manufacturer, the car dealership, or possibly the technician who wired up the radio. Or maybe you should have compensated for the skid by using that round thing in front of you.

    Just possibly, you're making this up in the hope of winning a competition for Least Stupid Sophomoric Argument 2009.

    On the other hand, anybody who recursively copies a bag'o'bytes from one place to another without considering the consequences deserves to get burned, because they just don't have a clue how computers work. I'm not defending CVS in general, by any means, but surely you should be aware of the fact that it comes complete with its own meta-data? (A questionable decision, to be sure; although the alternative is to hide the meta-data elsewhere, in which case you copy the files but you can't check the result in. Feel any better about that?)

    Bottom line is, 99% of humanity buys a car. One hundred years or more have gone in to making cars as idiot-proof as possible. It's still an ongoing process.

    Maybe 1% of humanity uses a source-control system. Thirty years or so have gone in to making source-control systems useful. And we still have VSS.

    There's a qualitative difference here, and if you can't see it, you shouldn't be allowed near anything beyond the level of a pony and trap.

  • (cs) in reply to Jay
    Jay:
    Richard:

    This seems like its own WTF -- "know your tools". Either do a cvs export to get a clean copy of the source without the CVS metafiles, or clean the CVS metafiles out of the source code after you copy it. I'd call the cussing justified.

    Yeah, like I once bought a car where it turned out that when you turn on the radio, the car automatically turns left. After the accident I complained to the dealer, but he just said, "Hey, you should know your car."

    Moral: If your software behaves in non-intuitive and destructive ways, blame the user.

    That's an absurd analogy. A closer one would be that you hit the gas and rammed into a wall, failing to hit the brake pedal.

    When using a source control system like cvs or svn, there's obviously some magic that ties it back to the main repository. Knowing the tools of source code control should be required in CS courses.

  • Clive (unregistered) in reply to NC

    This CVS failure is confusing me - not helped by people using confusing words for bits of it.

    Repository = the main lump of CVS with all the ,v files on the server. There's one of these between everybody in a simple case.

    Sandbox = local checked out files where you work, with the CVS/Entries, Repository and Root files in it.

    There shouldn't be a "local repository".

    But yeah, copying the sandbox and wondering why commits there magically affect the bits they're committing to strikes me as a bit dumb...

  • (cs) in reply to ContraCorners
    ContraCorners:
    Fast Eddie:
    Evo:
    Brett Allen:
    I am a Vista lover, but I do recognize it's downfalls.

    That reminds me of myself. I love being stung by mosquitoes...

    Hey, Who doesn't?
    Err... umm... ahh... I'd bet my rent money that none of you has ever been "stung" by a "mosquito."
    They did some cross-breeding of mosquitoes and bees; they can sting now too.

  • analrapist (unregistered) in reply to Anonymous Coward
    Anonymous Coward:
    There is bad design, really bad design and then you have incompetence. Guess in which category that concurrent strategy falls...
    What do you mean "which"?
  • analrapist (unregistered) in reply to Linfag
    Linfag:
    chris:
    Easy, open all the projects on a "real" server first. Or basically any machine you're not going to turn off or crash.

    Oh, do they make a Linux version of the product?

    Ever heard of Wine?
  • (cs)
    improved sub-menu item spelling

    Er... so they fixed spelling mistakes and that's a great feature? I LOVE IT! I wonder if I could sell a new version with that.

  • Zygo (unregistered) in reply to NC
    NC:
    On further thought, the problem was that you copied the CVS directories along with source code. The CVS/Repository file has a link to the project. You ended up with a second local repository pointing to the old project after the 'cp -r' command, not a local repository pointing to the new project.

    There is a WTF here about insufficient training on CVS. Even though it's pretty simple to use, it isn't so simple you can be totally ignorant about how it works.

    CVS is pretty simple, period. It was initially built as a bunch of shell wrappers around rcs. You could learn most of its implementation in an afternoon (assuming that 'rcsdiff' is a black box, and ignoring the network protocols that don't use NFS or similar). Unfortunately, there's a price to be paid for the implementation simplicity: a real nasty mixture of data and metadata in every single working directory.

    CVS is very challenging for the new generation of developers who expect their tools to do everything for them without understanding the implementation details. Kids these days expect directories to implement a "copy" method that performs a recursive deep copy of objects in a directory, without thinking about things outside the directory that might be holding references to things inside the directory and vice versa. Of course, more experienced developers understand that files are not objects (no matter how much pseudo-object-orientation you cram into the OS's file browser UI), and you treat them as such at your peril.

Leave a comment on “We <3 Concurrent Engineering”

Log In or post as a guest

Replying to comment #:

« Return to Article