- 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
Admin
No developer should be allowed to push ANYTHING directly to production, NO MATTER WHAT.
When I came on full time at the last company I worked for, there were very loose policies about who could update production clients.
Before I started working there, my boss would regularly push the current state of what was in CVS (ugh CVS, a WTF in and of itself) up to production, with results ranging from calls from clients inquiring if an issue they were experiencing was a bug to the full brunt of 6 client's rage being directed at the support team.
Within about 3 months of me coming on we had a solid set of rules in place that prevented anyone (even my boss) from updating production environments outside of our regularly scheduled release process. The only exception was when there was a critical bug that needed to be fixed right way. Even then, we deployed to our staging environment and had QA test the change (in fact, I generally enlisted the rest of the developers to help test in the staging environment as well if it was a high priority bug fix). Either way, we NEVER deployed a feature change directly to production. And even once everything was tested and ready to go, I had to get (verval) approval from 2 different departments to push the fix.
After our rules were in place, if someone had done something as stupid as pushing the changes they were working on directly to production they would have received a reprimand the first time. The second time, they would have been fired.
Oh, and the second WTF is using CVS. I phased out CVS at the same company within 3 months as well. We converted to SVN and never looked back. SVN might not be perfect, but it's better than CVS in every way.
Admin
The more I read about this, the more I want to study MUMPS.
Just to say I did.
Admin
We had one of those.
Notice the past tense.
He wrote an app (mistake one - giving him the developer app) that was meant for one subsidiary of the company. Which was then set as the standard for the rest of the company (mistake two).
So he was developing and maintaining this thing (mistake three) as requests came to him. No review, no documentation (mistake four).
Since he had wormed his way into directly reporting to the CTO (mistake five) he thought he was invulnerable (mistake six).
New application development manager meant he reported to her instead. New application architecture manager meant a slight overlap. New app arch manager was visiting to see what this guy did and asked 'Can it do this?'.
Answer was "Of course!" and the guy changed it, in production, right there. Last and final mistake.
It took a little while for the paperwork to get done but as of that moment he was effectively fired. But it took a lot of years and new management for that to happen. Otherwise he would still be here happily doing whatever he wanted to 'his system'.
We're still working on the hard line between developing and promoting but it's getting much better. And no one misses the guy, believe it or not. ;)
Admin
That, good sir, is a giant crock of shit.
Admin
What the hell is a database review?
Admin
With Tyson's performance, I'm surprised he wasn't spitted, possibly in the eternal flames of the rotisserie.
Admin
TRWTF is that you consider PHP and Apache modern technology.
Admin
Really? I'd love to hear the argument that supports that...
If it's in use as widely as PHP and Apache are, it's a modern technology. At the very least, much more so than MUMPS...
Admin
(a) Because you just now blinked instead (for one usage of "just"). (b) Because, irrespective of your undoubted grammatical and/or spelling talents, the qualifications for becoming an English professor differ in several marked and unconnected ways. (c) Because you'd have been an incompetent, untenured, moron ... oh, wait, there's no shortage of those. Go ahead. (d) Because you can almost certainly earn more money as a code monkey (for another usage of "just"). (e) Because you have to ask nicely first. Also, the bad man might say no.
Or, even worse, "Mumps."
We need to lose this "grammar nazi" thing. Typically, it's nothing to do with grammar. Invariably, it involves neither dun-coloured shirts, nor some bizarre adherence to 1930s political philosophy, nor a desire to invade Easternn Europe and to clean out all the Jews and Gypsies.
I am open to correction on this point.
Meanwhile, there's nothing wrong with being punctilious. It's one hell of a step better than being plain ignorant.
... and I thought that everybody knew that you don't deep-fry burgers. You deep-fry mars bars. Sheesh! It's no wonder kids these days are out of work.
Admin
How much is Tyson been paid? I could figure out castle in a week or 2.
Where do I send my CV?
puts on Flame proof suit, after admiting to been a MUMPster :D
Admin
Cool...so COBOL can be still considered modern. Let me dust the cobwebs off of my resume.
mp
Admin
au contraire. Organizations such as this tend to have a lot of Tysons around.
Let's assume that there's this system that keeps track of jet engines (where they are, When they've had their various maintenance cycles, how many miles they've flown, when they're due for parts replacement, etc). Call this system JeTrack. Now suppose there's this guy, let's call him TSGT Tyson who's been with the Air Force for 15 years and has developed JeTrack from scratch to replace the old punched-card based system.
The air force is not in the IT business, they don't really care about methodology. The only thing they care about is about the planes flying and not bursting into flames. That means that the air force needs JeTrack to fly. And if JeTrack is anything like CASTLE, then some Colonel who runs an IT outfit cannot guarantee that JeTrack will work without a hitch if TSGT Tyson goes.
Whatever ill will and slight damage Tyson causes, the Colonel will deal with it, because JeTrack must be kept running 24/7 at all costs.
The colonels come and go Tyson stays, and nobody messes with him.
Note: the particular system is entirely imaginary.
Admin
Admin
The problem is that if Tyson is fired, then the application becomes unmaintainable. Nobody else understands it.
Fire Tyson and you'll have to hire extra people to try and understand this huge hideous blob of code he wrote. That will cost more.
Thus, Tyson has made himself unfirable.
The only way out is to assign a team to developing a complete replacement from the ground up. And make sure Tyson doesn't know about it. Ideally, have them at a different office. Even that, however, is still more expensive than just continuing the status quo.
Admin
That would be 400-ish years ago.
Admin
What's wrong with CVS that SVN fixes?
The only advantage I see to SVN is the rename/move directories/files. The sysadmin can already do that in CVS.
Does it handle binary data in a clearly superior way?
Is it as easy to use as CVS with Tortoise?
I'm in a small shop. CVS already exists. I'm always looking for things that improve productivity, but I'm against changes for changes sake.
I suppose that last paragraph's purpose is to indicate I'm curious, not trying to start a flamewar.
Admin
TRWTF is that you and some others seem to have some odd problem with PHP and Apache.
If PHP is good enough for sites like wikipedia and facebook that have millions of hits a day then as far as I'm concerned it probably has the capability of meeting the needs of just about anything out there.
I personally see no need to spend several thousand dollars on Windows Server and SQL Server licensing fees when a simple Apache/Mysql/PHP setup that costs nothing will do perfectly fine.
Admin
Admin
Personally I too have made the moved away from CVS to SVN about 4 years ago already. I realize 4 years is a long time and things may have, and probably have changed. However back then I did experience occasional repository issues.
Twice I had to recover the CVS repository from a backup because it got messed up somehow. Before someone suggest it may have been caused by a harddrive problem or some such, in each case it was a completely different system with a different repository with no relationship whatsoever between the two.
The second time was what broke the straw and made me look elsewhere and lead me to SVN.
Honestly I have to say I don't regret it at all. I can literally say that in the past 4 years of me using SVN it has been completely trouble free for me. I haven't looked back.
Another thing that I never liked about CVS is that you had to tell it what type of files are binary and text. SVN you don't. So in that sense, I would say that SVN handles binary in a superior way. Again, don't know if this has changed in CVS in the meantime.
As far as Tortoise goes, SVN has tortoise available for it as well and it works extremely well.
Just my 2 cents
Admin
Admin
Exactly. In the real world, the aviation industry is stuck on Ada.
Admin
Seriously, what kept them back from firing him (perhaps many years ago)?
Admin
shh.
Admin
Yeah... how's your recruitment doing these days ?
Admin
Now, as long as the business care about pass data, it's not easy to find reliable way to port the system to other languages/databases either.
That's why Tyson is in the position to fireback without the fear of being fired, and partially the reason that he doesn't want the grabage part of the system be cleaned up. (I suspect that he wish anyone be hired to investigate possibility of migration for the system to shake their head and say such complex (or in different terms, chaotic) system has very high risk of failing in one way or another when migrating, so better keep using it until it breaks.
Admin
It is if they can't spell!
Admin
What job did Bryan (from A Case of the MUMPS) end up getting?
Admin
Ask Tyson what would happen to his company if he died in a car accident tomorrow.
Risking the entire company and everyone else's jobs for his own misguided sense of job security is extremely selfish and antisocial.
Admin
"Nobis": latinorum, translate as "we".
CYA
Admin
So we're in agreement. Tyson should be fired. (Wood fired, for that smokey flavor)
Admin
I'm pretty sure you are able to combine those two interests...
Admin
Binary data: yes, it stores changes to binaries as deltas against the original, drastically reducing disk space requirements.
Ease of use: There's a TortoiseSVN. You also get a web interface more-or-less included - this would require you to install and configure separate software with CVS.
Moving directories/files: The admin can do it in CVS but the whole point of an application like CVS is that you don't touch the filesystem itself. As soon as you do this, the risk of making a mistake and damaging the repository goes through the roof. The obvious solution is to eliminate any need to do this.
Atomicity: An SVN commit either completely succeeds or it completely fails. If, for instance, your PC bursts into flames halfway through a CVS commit, you've got to lock access to the repository while the admin tries to figure out exactly where in the process of doing the commit things went wrong. With SVN, the commit would simply fail.
Admin
The real WTF is your doomed career. And your face.
Admin
The real WTF is that some idiot felt it acceptable to print out stacks of wanky Javascript before the HTML headers.
I'd have deleted that too.
Admin
FTFY.
Admin
Admin
USAF Goal: 27,800 Actual: 27,848
Air National Guard Goal: 8,548 Actual 10,749
Air Force Reserve Goal 6,963 Actual 7,323
Admin
Mmm, yeah, that would be great.
Admin
Admin
The product was created for deployment to exactly one environment but the app got popular and needed to be able to deploy to another environment. So the original developer (OD) decided to copy-paste because it was the quickest way. (and I can understand the decision) But then a 3rd environment was requested, a 4th, a 5th... and the OD merrily continued doing what he had always done before.
Admin
You are right, but amazingly you still have morons who think the original bible is the King James one... ;-)
Admin
Unlol, poser.
Admin
WTF METER: [...................................] <-zzz _ Front Page->
Admin
Admin
Admin
Admin
Let me be the third to add my voice to the growing chorus...
What's wrong with CVS, that SVN fixes! Ah, but they can't really do that at all. When you move or rename a file in the repository, you actually break your history, because the file's history goes with it to the new location. So if you try and roll back your working copy past the change point, you still get the file in the new location instead of where it actually was at the time you've rolled back to. Yet all the makefiles and stuff will still point to its original location, i.e. when you check out an old version, you will have broken the build, because what you get out of the repository won't be what you had actually put into it at the time. To me, that's a definition of repository corruption. SVN does it for real: it records the change of name/location as a delta to the repository, so that when you check out the old version of the source, what you get is what you were actually getting at the time and it all still works as it did back then. Yep, as the other poster mentioned. It's smarter about spotting binary data, and smarter about handling it as well as smarter about delta-ing it, as it keeps a mime-type for each file rather than just text/binary. http://tortoisesvn.tigris.org/ I understand your worries, but SVN addresses them well. First off, it's designed to be conceptually similar to CVS, and uses familiar(-ish) command line syntaxes, so the process of adoptation really isn't too hard for the end users. Secondly, the "cvs2svn" script is very stable and well-refined these days, and will automate converting your repository, including generating a synthetic history of svn commits to preserve the original history of your files in CVS. At the last place I worked, we switched from CVS to SVN around 18 months ago, and the transition was seamless. So the benefits of SVN (and atomic commits make branching and merging a whole lot smoother, BTW, it's not just for when the commit fails half-way through) are available at a relatively low cost in time and effort IMO. Hope you found all the answers useful.Admin
Admin
In the long run, it will cost less to replace him with someone who knows how to stage, test and get approval for changes.
I was part of a team to replace an AS400 system which was maintained by a part-time contractor. He wasn't helpful at all beyond telling us that it "converted orders into SAP iDocs" since he thought it was his job security. This was highly unprofessional and got him fired at which point I got a copy of the source code.