• Here's a nickel, kid... (unregistered) in reply to Technical Thug

    echo "

    Technical Thug:
    oh, nevermind me, i suck.
    " >> /etc/qotd

  • Here's a nickel, kid... (unregistered) in reply to MichaelWH
    MichaelWH:
    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.

    This. This!

    I fucking HATE the "RTFM" crowd. How about making your software suck less instead of documenting its black hole-like suction in a CYA move?

    I agree. Hit the man page instead.

  • (cs)

    The real WTF is what my RSS reader did to the title.

  • (cs) in reply to MichaelWH
    MichaelWH:
    I fucking HATE the "RTFM" crowd. How about making your software suck less instead of documenting its black hole-like suction in a CYA move?

    Why should software work around idiot users who can't be bothered learning about the tool they are about to use? If you buy a screwdriver to try and force nails into some wood, is it the designers fault you're doing it wrong? If you didn't ask someone who knows or do some other research, you're just an idiot for expecting the tool to know what you meant.

  • highphilosopher (unregistered) in reply to Nuthin

    This is what happens when you try to use the AgileWaterfall development method. Basically, you gather your product requirements in an agile fashion, but make your developers develop in a waterfall fashion. You get poorly implemented functionality that could really use refactoring.

  • Coward (unregistered) in reply to chris

    OUT!!!!! OUT!!!! GET OF MY HEAD!!! AHHHHHHHHHH!

    chris:
    Easy, open all the projects on a "real" server first. Or basically any machine you're not going to turn off or crash.
  • RandomUser423659 (unregistered) in reply to Bim Job
    Bim Job:
    RandomUser423659:
    ...it is rarely constructive. Try a blog.
    What, you mean blogs are constructive? Dear me. Send us a list, why don't you. <blather>...</blather>
    Yep. Yep. Knew as soon as I hit Submit it needed more editing. Oh, the remorse of an unregistered commenter.

    Seems most people understood what I meant, though.

  • (cs) in reply to Mogri
    Mogri:
    Demaestro:
    WTF TheDailyWTF?

    The "greater than" < symbol is breaking your rss title.

    Perhaps ">" would have been more appropriate.

    You mean the "less than" symbol?

    Math: It works.

    Maybe they read right to left? :)

  • Zygo (unregistered) in reply to MichaelWH
    MichaelWH:
    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.

    This. This!

    I fucking HATE the "RTFM" crowd. How about making your software suck less instead of documenting its black hole-like suction in a CYA move?

    Who said that "feature" of CVS was documented? Sure, it's an obvious result of the implementation details, but I'm pretty sure I've never seen it written down in a manual anywhere.

  • (cs) in reply to Bim Job
    Bim Job:
    Zygo:
    Doesn't Pirate Bay have three times that number of unique peers?
    Arrr, matey, there ye'd be wrong. Anywise, I'd never be tempted to peer. Never has been, never wooden (apart from me big toe -- blasted off by a drone, damn me whiskers).

    "Pieces of 2^8! Pieces of 2^8!"

    Damn me tooth-pegs, if those Mohammedan scoundrels from Tunis don't have a fair point. A fool I was, a fool I was, to teach Polly her nominals...

    She'll be starting CompSci 301 at Stanford next semester. I understand it's an excellent college, and won't give anybody a failing grade.

    Even if they're a parrot.

    ...pink_fairy?

  • Steve-O (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.

    I thought the exact same thing right away.

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

    I thought the exact same thing right away.

    Most CAD software licenses on a per-seat basis (or per-token) - that's a pretty expensive workaround. (maybe it's worth it to allow concurrent editing)

  • (cs) in reply to Zygo
    Zygo:
    Who said that "feature" of CVS was documented? Sure, it's an obvious result of the implementation details, but I'm pretty sure I've never seen it written down in a manual anywhere.

    We're talking about someone copying their sandbox, making edits in the "new" sandbox, and doing a check-in from that sandbox, right?

    What else would a cvs ci do? If you are using any version control software, you must realize that doing a commit involves changing things somewhere else. You might not know exactly where that change is happening, but if you don't, you probably shouldn't do it.

  • (unregistered) (unregistered) in reply to Technical Thug
    Technical Thug:
    Demaestro:
    WTF TheDailyWTF?

    The "greater than" < symbol is breaking your rss title.

    Perhaps ">" would have been more appropriate.

    And they didn't use ♥ or ♡ or ❤.

    Unicode is so cool, I can't wait until we support it.

    Yeah, I can't wait to send in-game-chat messages with Unicode in Duke Nukem Forever over IPv6 on my quad-core BeBox running Hurd.

    Also, CAPTCHA:eros on a post about ♥s

  • Zygo (unregistered) in reply to Technical Thug
    Technical Thug:
    Zygo:
    Who said that "feature" of CVS was documented? Sure, it's an obvious result of the implementation details, but I'm pretty sure I've never seen it written down in a manual anywhere.

    We're talking about someone copying their sandbox, making edits in the "new" sandbox, and doing a check-in from that sandbox, right?

    Almost. They copied part of one project's sandbox into another project's sandbox, then (presumably) did a commit from the root of the sandbox. This (on days when CVS is working) causes a single CVS commit to make changes in two different repositories.

    Technical Thug:
    What else would a cvs ci do? If you are using any version control software, you must realize that doing a commit involves changing things somewhere else. You might not know exactly where that change is happening, but if you don't, you probably shouldn't do it.

    Git doesn't work that way if you copy a subdirectory of a project. To git, the new subdirectory is simply a bunch of untracked files (including .git and all the git metadata), which you can add to the parent project if you like. A git submodule can be used if you want a crude approximation of the CVS-style behavior.

    Subversion fails to recognize the copied subdirectory because its metadata doesn't match the parent's metadata. To Subversion, the new subdirectory is an untracked directory, but attempts to add the directory to the parent fail because it already has subversion metadata for another repository. Either way, you're not going to be committing changes to the subdirectory from the parent directory and ending up in the CVS mess. SVN does provide something called externals which gives a good approximation of the CVS-style behavior.

    Both Git and Subversion have the advantage over CVS that naive file copies might miss the metadata directory and avoid all of these headaches. CVS's metadata is in a directory named "CVS", which tends to get caught in wildcard expansions more often than ".git" or ".svn". git allows you to put its metadata in a completely arbitrary location relative to your working directory, which means it can be out of the way of your recursive copying activities.

  • slebetman (unregistered)

    TRWTF is people saying that the engineers should use "real" source control systems (CVS, VSS, Clear Case etc.) when it is clearly stated in the story that they have been using source control (probably VSS from the description) and they are STILL using source control. What, do people have reading comprehension problems or do people just read the first and last paragraphs these days (wouldn't surprise me, most of the recent articles read better that way).

  • (cs)

    Wow. That client/server design is reeeeeeeeeeeally old. Filemaker did that. Still does, or you can shell out for the Server and it will share out files for you without that insanity. Oh, and it's quite clear who's server with what permissions.

  • Ouch! (unregistered) in reply to slebetman
    slebetman:
    TRWTF is people saying that the engineers should use "real" source control systems (CVS, VSS, Clear Case etc.) when it is clearly stated in the story that they have been using source control (probably VSS from the description) and they are STILL using source control. What, do people have reading comprehension problems or do people just read the first and last paragraphs these days (wouldn't surprise me, most of the recent articles read better that way).
    But they should use real source control systems. For example darcs, git, mercurial, subversion (in alphabetical order), certainly not VSS.
  • foxyshadis (unregistered) in reply to Zygo
    Zygo:
    Technical Thug:
    What else would a cvs ci do?

    Git doesn't work that way if you copy a subdirectory of a project. To git, the new subdirectory is simply a bunch of untracked files (including .git and all the git metadata), which you can add to the parent project if you like. A git submodule can be used if you want a crude approximation of the CVS-style behavior.

    Subversion fails to recognize the copied subdirectory because its metadata doesn't match the parent's metadata. To Subversion, the new subdirectory is an untracked directory, but attempts to add the directory to the parent fail because it already has subversion metadata for another repository. Either way, you're not going to be committing changes to the subdirectory from the parent directory and ending up in the CVS mess. SVN does provide something called externals which gives a good approximation of the CVS-style behavior.

    I was going to reply along these lines, good summary. The failure comes from the user just blindly assuming something (although in hindsight I'm sure it made sense - we all do things like that eventually), and from the software blindly assuming a rare corner case (because it is an implementation detail, not a thought-out feature).

    SVN just throws an error and makes you do the right thing. Git does the least destructive thing. CVS chooses the most destructive. For everyone who says know your software, how often do you dissect the source of every feature before you do anything?

  • Falcon (unregistered)

    Also, the lack of commands/settings to set up and select a "server" could have tipped them off to the fact that something was NQR.

  • Clive (unregistered) in reply to foxyshadis
    foxyshadis:
    SVN just throws an error and makes you do the right thing. Git does the least destructive thing. CVS chooses the most destructive. For everyone who says know your software, how often do you dissect the source of every feature before you do anything?

    Don't need to dissect the source or understand the feature. Doing a commit at the root without checking what it's going to do is bad practice. My rules are diff everything (where possible), make sure you know exactly what's going in - and that includes checking for files you didn't mean to change. This catches bits like debug code left in etc. And put a worthwhile comment in - not only does it help people in the future, it forces you to think what you've done, and hopefully hence why you did it.

    'Course the world is full of useless people and people with no discipline - they're going to screw up whatever you give them...

  • Rabiator (unregistered) in reply to Bim Job
    Bim Job:
    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?)
    About the alternative: Yes, that's better because you can a) copy the files back for checkin b) check in first, then check out to the new location

    A bit more hassle, but less likely to bite a newbie in the ass.

  • sprezzatura (unregistered)

    Thank God for Aardvark! I can blast away that annoying animated advertisement on the left and concentrate on the article.

    I have nothing against static advertisements. There is, however, a special circle in Hell for the marketing genius who thought that constantly trying to grab my attention by distracting me, was a brilliant advertising innovation. Now that's a WTF.

  • ClaudeSuck.de (unregistered) in reply to RayS
    RayS:
    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...

    Great, that made my day lol

  • ZeroPoint (unregistered)

    This sounds like Microsoft Access file sharing!

  • random user reply (unregistered) in reply to RandomUser423659

    Possibly the best post in this context possible. Very deep insight in this oh so enlightend time we live in indeed. Thank You! (No sarcasm intended.)

  • (cs) in reply to sprezzatura
    sprezzatura:
    There is, however, a special circle in Hell for the marketing genius who thought that constantly trying to grab my attention by distracting me, was a brilliant advertising innovation,
    child molesters, and people who talk at the theatre.
  • HP Laserjet 2000 (unregistered)

    I've actually used this software extensively, starting with the crappy ‘99SE version, through the crappy DXP version of 2005 and recently the crappy 2012 version. Did I mention it is craptastic? Here’s why.

    1. It's bloated beyond belief. A reasonably-complex project can easily use up 300MB of RAM once opened, and it’s not hard to collect 100s of projects after a decade of work. This is why all projects can’t be opened locally at the same time – there isn’t enough RAM in any one computer to hold it all, let alone enough processing power to be of use.

    2. Graphics support is a constant issue as new chipsets emerge, so it's a lottery if the fancy 3D features on one computer will work on another. So your brand new 4GHz quad-core machine may not be as useful as slow 5-year old PC that’s been thoroughly tested.

    3. Each project creates multiple backup copies of itself on every Save – so on the “History” subfolder is a mess of e.g.:

    File.~(1).pcb.zip File.~(2).pcb.zip File.~(3).pcb.zip File.~(4).pcb.zip

    And so on. At least it’s semi-understandable. This is actually an improvement on the ‘99SE backup method, which was:

    Backup of File.pcb Backup of Backup of File.pcb Previous Backup of File.pcb Backup of Previous Backup of File.pcb

    And so on, all in the same folder as the actual “File.pcb” being worked on.

    1. Internally the project structure can include files of: PCBs, schematics, Excel spreadsheets, CAD layouts, embedded source and assembler code, FPGA simulations, components libraries, physical images, Word documentation. Newbies who haven’t spent a decade using the software usually blink in disbelief.

    2. Last I checked, a single-user license (“1-seat”) costs about US$6,000. I didn’t want to ask what a 3-seat license cost.

    3. The 2005 version (mentioned in the article) finally allowed one to use Subversion – 5 years too late – or failing that, CVS or (ugh) MS VSS. It will probably be 2020 before it gets git support, long after the VCS community has moved onto something new. Bonus feature: as one works on mainly binary files (wrapped up in a proprietary database format) it inherits all the ugliness of working with binaries in SVN. Extra bonus: Before 2005 there was just no VCS support at all.

    But the real WTF is this: it's a better product than most of the competition! We are so screwed.

    P.S. Sorry for the 4-year reply... clicked on Random Article and got here.

Leave a comment on “We <3 Concurrent Engineering”

Log In or post as a guest

Replying to comment #:

« Return to Article