- 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
I wonder how he would react if someone got so fed up that they shit on his shingle.
Admin
"As their app neared completion, a whole new set of requirements came in."
<tmbg>But that's when all my troubles began.</tmbg>
Admin
Sounds like most DoD contractors I know and/or work with. Unaware of modern tools, modern development practices, or even common sense approaches on how to develop things. And this is 10 years later. Heck, at least those guys are allowed to check into source control. Have it, can't use it.
Admin
This is bullshit - if you don't update before a commit and your working copies are out of date, then CVS will abort the commit. The almost unprecedented mention of something positive about VSS, and the fact this came from an MS related forum suggests this is some form of astro-turfing.
Addendum (2008-06-17 10:21): And having checked the CVS docs, it supports file locks as I thought.
Admin
I'm no fan of VSS but I'd worry about someone who found that part of the system to be the obstacle!
Admin
The Shingle notwithstanding, in 1986, I worked on something that automated scanning pages of (military) technical documents, programmatically decomposing each page into its component parts, reconstructing it via (SGML) markup, and storing the whole thing elctronically. It worked pretty well, and using the best hardware at the time, fully scanned, analyzed, disected and stored the source page image into a DB in about one minute.
The military contractor I worked for was doing massive F15 upgrade contracts, and would not let us market the product because it was outside our charter. Our contract was winding down, and at the time, the government had said no more massive contracts to one vendor.
The government representatives wanted my product as it would save months of lead time for document upgrades. No matter, it was outside our corporate charter. Three years later, the contract ended, we had no new work, and the place collapsed.
Admin
Bah, at my workplace we have the shingle implemented in Oracle Forms. Just 20 or so easy steps, and you have an (unenforced) lock on any file!
Admin
If they had to plan out several projects, each requiring its own shingle, would they then have a case of the shingles?
Admin
Exactly how the hell does UPDATE before COMMIT delete everything? I always update before commit, to avoid partial commits when a file is out of sync (although that is much less of a problem since I use SVN).
Admin
Perhaps 8 years ago...
Admin
Losing your code through an "oops" of source control is a rite of passage.
Admin
The story's second half is nonsense. I don't know how the developer managed to wipe his local changes, but it doesn't work in the way the story suggests. On the one hand, CVS doesn't allow checking in if the repository version is newer than the local version. On the other hand, uncommitted local modifications are retained during update.
Or was 1998's CVS that different/broken compared to later versions?
Admin
A load of crap, that's what this is.
Let's just assume that you CAN do an update on newer files and revert them to the old ones in the repository, how would issuing a commit directly after the update mess up everyones files? Since there are no changes to commit since the update, there would be no change in the repository. And even if you would be able to recommit the data with a new version number, people could not overwrite the stuff with older stuff, since it would then be outdated.
It's just a bunch of nonsense. It contradicts the 'CV' part of 'CVS'.
Admin
I said the same thing when I read that. The only way I can see that sort of thing happening is if Mark were to have edited the file before doing a "cvs edit" on it first. On a unix system he would have had to ph*ck with file permissions to do that (which is sometimes ok, if you know what you are doing - I'm running with scissors). On a windows system, who knows?
Still the WTF is at the root of the tree (Mark).
Admin
Gotta agree with the "bullshit" call on this one.
If you have local changes waiting for commit, an update will either:
Under no circumstances will CVS delete your local changes.
Admin
I did work on a project once where the "source control system" was a bunch of post it notes. They were stuck on a whiteboard and each one had the name of a file written on it.
When you wanted to edit a file, you took the post it off the board and stuck it on top of your monitor. When you were done, you put it back.
It actually worked surprisingly well, although there were only two developers so it wasn't stretched. And of course it gave us no revision control or anything else helpful.
Admin
Oh, I see the WTF. A shingle, especially a used one, is rather unwieldy, and would have a tendency to crumble when picked up. Plus, it's rather easy to counterfeit -- just go to Home Depot and buy another one. Well, that is, if it's an asphalt shingle -- that crucial piece of information was left out of the story. A cedar shingle might work better.
Admin
I think he meant that the developer had forgotten to do that. Thus all updates in between were lost after dev#2 committed his work to the CVS.
Admin
Wait ... you mean there's no source control plug-in available for Notepad?
Damn -- another business opportunity lost.
Admin
TRWTF(tm) is that they're using CVS.
Admin
Admin
Except that also won't cause a problem, unless the CVS of 1998 was braindead.
Admin
This is nothing but Microsoft funded anti-CVS propaganda!
CVS was designed to specifically prevent this sort of thing happening
Admin
Of course CVS won't delete your local changes (although you're missing out the cvs mangle -- oops, "cvs merge" -- command).
Once you bring in Source Control, though, you bring in Process. All sorts of unexpected things can go wrong with Process.
My last (web) project involved working from home. "How would that work?" they asked. "Um, Subversion," I said. "I'll help you set it up."
Now, ignoring the minor glitch that the Sysadmin insisted on installing it on a server behind the firewall and not giving me direct access to it, this worked quite well. Two or three times a day I'd have to field calls as to why "Subversion is broken!" and demonstrate that, in fact, it wasn't. The other programmer was an excellent human being, and we finally got The Process working.
Right up to the point where they hired an external auditor who "corrected" the Subversion configuration, to the point where it didn't work.
"Subversion is broken!" a hysterical series of calls ensued, all the way up to Upper Management. (Upper Management in a ten-person company is a Big Deal.)
It took us two days to figure out between us that the external auditor had copied the entire repository to one side and disabled all access bar HTTP/Apache, because that's all he was used to.
Figuring out how to get everything back together again was a bit of a pain, and while we were doing that the project collapsed, because we weren't delivering agiley code fast enough. Which, incidentally, was the one thing that the external auditor was brought in to ensure.
Oh for a shingle. Or at least a knobkerrie to beat the useless dingbat auditor to within an inch of his miserable little consultant life.
Admin
Well, shingle is no better than any version control system with locks, be it VSS, RCS or CVS. That said, from the horror stories about Visual Source (Un)Safe[1], and from experience with painful merging and branching in CVS (unless wrapped in tons of script like OpenOffice.org development[2]) version control systems in 1999 were not very easy to use.
Nowadays it is much better (Subversion, Bazaar-NG, Mercurial, Git,...)
Admin
Everybody, at some point, accidentally stomps out new code with some sort of user error by way of source control. The real WTF was that Mark was too much of a d'bag to let anybody use source control when they clearly needed it.
Admin
In 1998, CVS worked exactly as it does today, so the problem as described in the article cannot have occurred an described.
For an excellent overview of reasons why you should not touch SourceSafe with a 10-foot pole, see: Visual SourceSafe: Microsoft's Source Destruction System
Admin
Admin
Auditioning for that writer spot on 24? "The image contained a worm-virus!!!!!, Everyone reboot your ports and unplug your sockets! I'll normalize the router!"
Admin
I think "Mark" was actually SpectateSwamp.
Doesn't know what he's doing.
Prefers to use "Simple" software
Uses stones to solve his problems.
Admin
Gentlemen, please check if you have the shingle before posting.
Thank you.
P.S. I am a fan of locks (not a fan of VSS though) and I am scared to death of merge.
Admin
Anyone ever used Serena Dimensions? The way if was configured on one very large project I worked on, an Update would wipe all local changes, even if you had explictly checked a file out... (so yeh, even though dimensions knew you had checked the file out, it would still overwrite it for you)
It also couldn't do Delta updates... Subversion was out of the question as it was 'open source' and potentially buggy (unlike the heap of junk we had to use)
Ohh and updates / commits were not transactional either, being the network was slow and the lack of delta updates it would take 1-2 hours to do a get-latest... during which, you might get 1/2 of another developer's commit (with 70 developers on the project, this was highly likely)
And this wasn't a tin pot company that couldn't afford decent change control software, chances are if you live in the UK you shop there on a regular basis.
Admin
At least that way, you get to use worthwhile tools like emacs ediff, rather than relying on CVS for a 10,000 file project, some of which has been created on Windows, some of which has been created on Unix, and (for all I know) some of which has been created on Macs.
I speak from experience, here.
Admin
Damn it Chloe, What have I told you about opening personal emails at work?
Upload the coordinates to my PDA and I will deal with him within the hour.
Admin
Actually, you HAVE to update before commit in CVS. And no, update never deletes any local changes - the worst thing that can occur is lots of merge conflicts.
Sounds like made up story for me.
Admin
You might have missed where the article bashes SourceSafe much worse than CVS.
Admin
How dare a purveyor of quality adult rubber knick-knacks screw me around like this?
Oops. That was "Serena Dimensions," wasn't it? I'll go back and check the label.
Admin
The Real WTF is that there was no need to get rid of the shingle in the first place. In fact, the shingle is probably the most scalable form of source control known to modern man. Here's how it works:
Each library gets its own shingle. Preferably made of a different material but you can paint them unique colors if you want. When you want to work on a library, you see if its shingle is available and pick it up if it is.
Each library gets its own bell, too (maybe a gong, depending on region). After you're done with a library, you walk its shingle over to the bell, and strike it once. Each bell has a unique sound, and over time the other developers will know which sound corresponds to which library. The bell lets everyone know you're done with a library, so everyone needs to get latest from the file server.
Of course, shingles and bells are fragile things, so it's recommended that at least 1 "backup" shingle and bell be stored in an off-site facility in case of emergency.
Admin
They should have told Mark that CVS was the "Concurrent Versioning Shingle" ...or the "e-shingle". Maybe he would have accepted it then. :)
Admin
Admin
Oh the pain and itch of shingles......
Admin
What happens when two developers get to the shingle at the same time and there is a fist fight over custody? :)
Admin
Oddly enough, I worked at a company a while back that was pitching to do some consultancy work with Ann Summers....
Other than the hilarity of a large box in sitting in the corner of the board room labeled' COCKS' in marker pen, it turned out that their best selling product is AA batteries, they make an absolute ton of cash from AA batteries...
An expensive ecommerce guided search / nav engine to do all the cross selling turned out to be pointless, you could pretty much hard code the product pages 'Also recommended, 48 pack AA batteries'.
Admin
We definitely need a photo of the shingle.
Admin
Not being a CVS user, I wondered why they would have lost data. The story implied CVS doesn't actually work.
Admin
painful in the sense you have to pay for it, I guess.
Admin
Single-track railways use shingles to make sure head-on collisions don't occur. OK, they don't call them shingles but the driver of a train entering a single-track section has to be in possesion of a physical object before he/she can proceed. It's worked well for 150 years or so!
Admin
IHNTA,IJLS "the source-control shingle was pushed to its limits"
Admin
Admin
Should be featured :D